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