![]() |
|
РИБ - ошибка синхронизации | ☑ | ||
---|---|---|---|---|
0
Елена Троянская
08.02.16
✎
11:23
|
Добрый день!
В центральный узел внесли изменения конфигурации: элемент справочника не записывается, если не заполнен реквизит. В переферийный узел пришли изменения конфигурации и данные. Изменения конфигурации записались, данные записаться не могут -где-то попался такой недозаполненный элемент. Бекап периферийной базы есть на момент до принятия изменений конфигурации (т.е. само ошибочное обновление уже получено). Что можно сделать в данной ситуации, чтобы синхронизировать базы? |
|||
1
Serg_1960
08.02.16
✎
11:26
|
Выявить и ззменить в центральной базе данные, в которых "где-то попался такой недозаполненный элемент"(цы) и повторить обмен.
|
|||
2
Елена Троянская
08.02.16
✎
11:28
|
(1) Т.е. первое обновление переферийного узла в пользовательском режиме "недоустановится", и установится изменение конфигурации БД второе?
|
|||
3
Елена Троянская
08.02.16
✎
11:29
|
Там, скорее всего, придётся конфигурацию менять
В принципее, можно только данные поменять Если только данные - точно прокатит? |
|||
4
Serg_1960
08.02.16
✎
11:31
|
Да. Центральный узел, не получив ответа от переферийного узла, повторно отправит изменения конфигурации, которые будут "игнорированы".
На будущее: когда вносите в конфигурацию такого рода изменения, то не забывайте добавить в обработки обновления свою процедуру контроля и изменения данных "задним числом". |
|||
5
Елена Троянская
08.02.16
✎
11:33
|
(4) Т.е отправлять только данные. Спасибо.
|
|||
6
Serg_1960
08.02.16
✎
11:39
|
Неправильно поняли. В риб-базе регистрируются изменения данных - это Вы знаете. Термин "данные", в контексте этой темы, - это не только объекты конфигурации (справочники, документы и т.д.), но и сама конфигурация(метаданные).
Регистрацией изменений объектов Вы можете управлять, регистрацией изменений метаданных - нет. Платформа следит за идентичностью конфигураций и изменения конфигурации будут постоянно добавляться в сообщения обмена, не зависимо от вашей воли, до тех пор, пока подчиненный узел не сообщит об их принятии. |
|||
7
Cyberhawk
08.02.16
✎
11:42
|
В общем случае не рекомендуется реализовывать какие-нибудь проверки для режима загрузки (ОбменДанными.Загрузка = Истина)
|
|||
8
Елена Троянская
08.02.16
✎
11:43
|
(6) Я о том, что сейчас можно в центральном узле поменять ошибочные данные, и заново отправить в периферийный, при этом конфигурацию центрального узла не менять, и периферийная база это сможет принять. Верно?
|
|||
9
hhhh
08.02.16
✎
11:43
|
(5) надо сделать внушение вашим быдлопрограммистам. Данные, которые пришли с обменом они должны записываться всегда, просто запись элемента, там да, можно проверять реквизит, заполнен - не заполнен.
|
|||
10
Serg_1960
08.02.16
✎
11:45
|
+(6) Когда подчиненный узел получит изменения метаданных - будет выполнено сравнение и объединение. Если различий в конфигурациях невыявлено, обмен продолжит свою работу по обработке объектов. Т.е. обмен пройдет "до конца".
(7) +1 (9) Не стоит так резко :( Все ошибаются - это не смертельно. Главное не поврорять эти ошибки:) |
|||
11
Serg_1960
08.02.16
✎
11:47
|
(8) Верно. Взаимный обмен Вы произведете. Но прошу прислушаться к (7) и внести коррективы в конфигурацию.
|
|||
12
Елена Троянская
08.02.16
✎
11:49
|
(10) Спасибо!
(11) Да, естественно, коррективы будут внесены, сейчас первостепенная задача - провести обмен. |
|||
13
Serg_1960
08.02.16
✎
11:55
|
(и на будущее, просто информация) В риб-базе, когда вносишь изменения в конфигурацию центрального узла, нужно не забывать простую истину: базы подчиненных узлов -автономны(!) и продолжают работать на "устаревшей" конфигурации. Что это значит? Обратным обменом могут поступить такие данные, которые "противоречат" вашим внесенным изменениям.
|
|||
14
Елена Троянская
08.02.16
✎
12:41
|
(13) Именяют этот справочник только в ЦБ.
В целом - понятно. |
|||
15
Фрэнки
08.02.16
✎
12:49
|
(14) на будущее, есть возможность при записи объекта с установленными реквизитами выполнить проверку на заполненность значений реквизитов программным способом. А в вашем конкретном случае установлена проверка средствами Платформы, которые работают всегда, а не только тогда, когда есть код проверки в модуле ПередЗаписью
Поэтому, если уж очень хочется поставить жесткую проверку средствами Платформы, то предварительно нужно весь состав объектов проверить и перезаписать под эти условия, а затем уже менять конфигурацию. Причем, это не только в случае РИБ, но и вообще. |
|||
16
Елена Троянская
08.02.16
✎
13:05
|
Проблема синхронизации решена, большое спасибо всем ответившим!
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |