Dev ›
Аварийное завершение при обмене риб ›
#1
04.07.22 10:29
Есть полный обмен между двумя базами БИТ.Финанс для БП 3.0 Центральная база файловая, подчиненный узел серверная.
Обмен доработан т.о., чтобы из центральной обратно не выгружались данные:
Процедура ПриОтправкеДанныхПодчиненному(ЭлементДанных, ОтправкаЭлемента, СозданиеНачальногоОбраза)
ПланыОбмена.УдалитьРегистрациюИзменений(ПланыОбмена.бит_Полный.НайтиПоНаименованию("Периферия"), ЭлементДанных);
ПланыОбмена.УдалитьРегистрациюИзменений(ПланыОбмена.Полный.НайтиПоНаименованию("Перефирия"), ЭлементДанных);
ОтправкаЭлемента = ОтправкаЭлементаДанных.Игнорировать;
КонецПроцедуры
Если в обмене участвуют ручные операции (документ Операция бух), то при загрузке в центральный узел 1с вылетает с аварийным завершением. В журнале регистрации ничего не пишет, только то, что последний объект - журнал проводок.
Заходим в базу - в журнале есть проводки с пустым регистратором (<Объект не найден>) для ручных операций (бывает и других документов, но если обмен не содержит ручных операций, а только документы других типов и их движения, то проходит успешно). Пока боремся тем, что дозагружаем операции с помощью выгрузки/загрузки xml. После того, как регистраторы загружены, пропускаем один номер сообщения (то же самое сообщение будет загружаться с ошибкой и после дозагрузки) и обмен выполняется успешно.
Как предотвратить аварийное завершение? Сообщения содержат всю необходимую информацию, и если бы проходили до конца, битых ссылок бы не возникало.
Куда вообще можно посмотреть?
Пожалуйста, не надо писать, что риб зло, что эта обратная затычка ужас что. Что есть, то есть.