![]() |
|
Копия базы по одной организации с обновлением раз в неделю | ☑ | ||
---|---|---|---|---|
0
Господин ПЖ
25.05.17
✎
11:55
|
Кто и как такое делал?
Т.е. есть базу УПП на одном сервере, в ней условно 30 разных организаций. Нужна на другом сервере такая же база, но с одной организацией. Обновляемая периодически накопленными изменениями из рабочей. РБД + план обмена "по организации"? |
|||
1
Aleksey
25.05.17
✎
11:57
|
это вопрос или утверждение?
|
|||
2
Aleksey
25.05.17
✎
11:58
|
Как вашей фантазии удобно. Можно РБД. Но при большом объеме он будет сильно мешать параллельной работе пользователей
Можно и скрипт который раз в неделю автоматом развернет копию |
|||
3
Господин ПЖ
25.05.17
✎
11:58
|
(1) вопрос
|
|||
4
Fragster
гуру
25.05.17
✎
11:59
|
(2) не будет
|
|||
5
Aleksey
25.05.17
✎
11:59
|
можно обработкой тупо за период, или анализирую ЖР
можно средсвами скулЯ репликацию настроить (теоретически) |
|||
6
Aleksey
25.05.17
✎
12:00
|
(4) Почему? Не ужели таблица изменений теперь не одна общая на весь вид, а на неё можно наложить шибкие блокировки?
|
|||
7
Господин ПЖ
25.05.17
✎
12:00
|
>Но при большом объеме он будет сильно мешать параллельной работе пользователей
каким образом? база с одной организации - "витрина" для аудита, в ней активной работы не будет |
|||
8
Господин ПЖ
25.05.17
✎
12:01
|
>можно средсвами скулЯ репликацию настроить (теоретически)
репликация вмешивается в состав полей + придется самому отвечать за целостность на уровне каждой таблицы - это гимор |
|||
9
Aleksey
25.05.17
✎
12:02
|
Мне в БП 2.0 пришлось отказаться от этой идеи так как работа одного пользователя по организации А блокировала работу других пользователей. И чем дольще небыло обмена, тем чаще возникал конфликт блокировок (т.е. чем больше было зарегестрированных изменений, тем хуже). Особенно актуально было в отчетный период когда каждый бухгалтер проводил документы за квартал по своим фирмам
|
|||
10
Aleksey
25.05.17
✎
12:02
|
(7) см (9)
|
|||
11
Fragster
гуру
25.05.17
✎
12:11
|
блокировка таблицы изменений происходит в момент ВыбратьИзменения. Да, если настроена выгрузка раз в минуту, а обратной загрузки нет - будут проблемы. Если же сделать нормальное расписание, то всё будет ОК. Например сценарий обмена через вебсервис с моментальной загрузкой ответа для снятия с регистрации только что выгруженных данных.
|
|||
12
Господин ПЖ
25.05.17
✎
12:14
|
(11) а когда событие ВыбратьИзменения наступает? при формировании выгрузки? или в момент регистрации тоже?
|
|||
13
Господин ПЖ
25.05.17
✎
12:17
|
>если настроена выгрузка раз в минуту
пока идея была раз в неделю на выходных. такое "расписание" будет приводить к блокировкам? |
|||
14
Aleksey
25.05.17
✎
12:17
|
(11) не только. При загрузки подтверждения она блокируется (ичищается), при выгрузки данных она блокируется (записывается код базы куда ушли данные)
Т.е. по факту практически с момента начало обмена и до окончания. И даже если сделать раз в минуту, ты тупо будешь мешать работать, т.е. у пользователей восстановление последовательности или групповая обработка будет вылетать из-за ощибок блокировок. |
|||
15
Aleksey
25.05.17
✎
12:19
|
(13) Обмен ВСЕГДА блокирует данные. А вот насколько у вас за неделю у вас вырастит обмен и как он будет влиять на параллельную работу - пробуй. Вполне возможно что ты с толкнешься с этой проблемой раз в год, после полной перепроводки базы.
|
|||
16
lodger
25.05.17
✎
12:20
|
а если как Поп учил? три раза.
первый цикл обмена - все нужные к обмены данные перешлются. второй цикл - все изменения подтвердятся третий цикл - все блокировки сняты, изменений с последнего цикла нет. |
|||
17
Господин ПЖ
25.05.17
✎
12:20
|
>Обмен ВСЕГДА блокирует данные
в момент обмена? в этот период в рабочей базе никого не будет |
|||
18
Aleksey
25.05.17
✎
12:22
|
(16) как 1с узнает список объектов между щагами?
|
|||
19
Aleksey
25.05.17
✎
12:23
|
Есть конечно вариант грузит апельсины бочками, т.е. порциями например не более 50 объектов. Но в типовой это не предусмотрено, и нужно быть готовым к объект не найден, обо движение может быть загружено сейчас, а документ идёт в следующем пакете
|
|||
20
Fragster
гуру
25.05.17
✎
12:24
|
(14) если пользоваться методом ПланыОбмена.ЗаписатьИзменения то оно будет блокировать. Если написать немного побольше кода, то время блокировки будет минимальным. Собственно, и удаление строк и простановка номера сообщения почти не занимают времени. В самом простом варианте (который, например, не используется в БСП) блокировка будет от начала выгрузки и до конца, но так уже никто не делает. При использовании БСП проблем не будет.
|
|||
21
Aleksey
25.05.17
✎
12:26
|
(20) Я описываю сейчас с тем с чем столкнулся в типовых решениях 1с. Понятно что можно написать самописку, которая будет правильно и порциями грузить обмены. Или к примеру разбить обмены на несколько - отдельно справочники, отдельно документы, и т.п.
Думаешь что ТС, возьмет и с нуля грамотно напишет обмен, или тупо возьмет типовой? |
|||
22
lodger
25.05.17
✎
12:28
|
(18) ты не понял. проводить полные циклы обмена подряд. несколько раз, пока выгружаемое сообщение не будет содержать NULL.
|
|||
23
lodger
25.05.17
✎
12:29
|
+(22) это делается раз в неделю\день когда активной работы нет.
у меня такой порядок обмена мобильных бд(на ведре и иос) с основной. |
|||
24
Aleksey
25.05.17
✎
12:29
|
(17) у каждого вида объекта есть своя таблица изменений. Т.е. одна общая таблица на все документы поступления или на весь регистр накопления "остаткиТМЦ".
Т.е. у примеру вася пишет приход по складу "Транзит". А петя делает расход со склада "основной". Формально это два разных склада и можно реализовать паралельное проведения блокируя только остатки по определенному складу. Но так как таблица изменений общая то и Вася и Петя нарвутся на блокировку ибо попытаются писать в одну общую таблицу |
|||
25
Fragster
гуру
25.05.17
✎
12:32
|
(24) нет, там еще есть "регистратор"
|
|||
26
Fragster
гуру
25.05.17
✎
12:32
|
а для ссылочных данных - ссылка. для независимых РС - комбинация измерений "основного отбора"
|
|||
27
Aleksey
25.05.17
✎
12:33
|
(23) Я пытаюсь донести мысли, не о том что проблема будет именно с обменами. Так как раз то просто сделать регламент и крутить ночью когда никого нет.
Я столкнулся с тем что когда таблица изменений, где 1с хранит данные для обмена пухнет, то возникают ошибки блокировки на ровном месте. Доходило до того что если даже я один в базе и нет обменов и перепровожу документы то возникает блокировка. Лечилось прогоном обмена В случае ТС, если данных будет немного, он вполне возможно и не увидит этого |
|||
28
Fragster
гуру
25.05.17
✎
12:34
|
так что даже два документа по одному складу не заблокируют друг друга из-за таблицы изменений, даже без отбора по узлам. если же с отбором по узлам (непересекающиеся обменданными.получатели), то еще лучше.
|
|||
29
Aleksey
25.05.17
✎
12:35
|
(25) и не только, но не суть https://its.1c.ru/db/metod8dev#content:1798:hdoc
|
|||
30
Fragster
гуру
25.05.17
✎
12:35
|
"Доходило до того что если даже я один в базе и нет обменов и перепровожу документы то возникает блокировка"
настало время офигительных историй, как одна транзакция блокирует сама себя |
|||
31
Aleksey
25.05.17
✎
12:37
|
(28) Ну хз, у меня умудрялись блокировать работу по разным организациям.
А если в базе был ИП - это вообще вешалка, там блокировки были и без планов обмена и таблиц изменений, ибо косяк в реализации регистов накопления для ИП |
|||
32
Aleksey
25.05.17
✎
12:38
|
(30) не транзакция, а именно изменения. Я хз как так 1с смогли сделать в типовых, но я сейчас рассуждаю как пользователь, и говорю то что вижу, а не как программист, который писал этот код в типовых
|
|||
33
Fragster
гуру
25.05.17
✎
12:42
|
(32) ой, всё!
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |