Имя: Пароль:
1C
1С v8
РИБ - ошибка синхронизации
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
Проблема синхронизации решена, большое спасибо всем ответившим!