При поднятии новой периферийной базы или обновлении узлов распределенной информационной базы (РИБ) в конфигурации «1С:Розница 2.2» администраторы и разработчики часто сталкиваются со сбоями. База может отказываться принимать изменения конфигурации, выдавать ошибки неуникальности элементов или зацикливаться на отложенных обработчиках обновления ЕГАИС.
Рассмотри подробно причины возникновения этих проблем и разберем практические варианты их устранения.
При выполнении обмена данными платформа «1С:Предприятие 8.3» строго проверяет уникальность свойства ИмяПредопределенныхДанных. Если в центральной и периферийной базах дублируются предопределенные элементы (например, в справочнике драйверов оборудования или видов оплаты), при попытке вызова метода Записать() возникает исключение.
Проанализируем порядок действий для устранения этой ошибки:
ИмяПредопределенныхДанных у дублирующегося элемента, после чего провести повторную синхронизацию.Сбои при обновлении версий с 2.2.5/2.2.6 до 2.2.7.23 нередко связаны с критическими ошибками платформенных обработчиков БСП и подсистемы ЕГАИС. В частности, релиз 2.2.7.23 содержал известные ошибки зацикливания процедур заполнения протокола обмена (ошибки 00-00133748 и 00-00133722).
Разберем по шагам правильный порядок обновления релиза:
Если периферийная база находится в нерабочем состоянии и штатный обмен не проходит, можно прибегнуть к процедуре временно отключения главного узла.
Выясним алгоритм действий:
ПланыОбмена.УстановитьГлавныйУзел(Неопределено);
.cf центральной базы нужного релиза.
ГлавныйУзел = ПланыОбмена.Розница.НайтиПоКоду("ЦБ"); // Указать код главного узла
ПланыОбмена.УстановитьГлавныйУзел(ГлавныйУзел);
При переходе на новые версии библиотеки ЕГАИС система выполняет фоновую конвертацию старых данных. Процедуры вроде РегистрыСведений.СтатусыДокументовЕГАИС.ОбработатьДанныеДляПереходаНаНовуюВерсию или ИнтеграцияЕГАИСРТ.РассчитатьСтатусыОформленияДокументов могут уходить в бесконечный цикл или выдавать ошибку при наличии некорректных или поврежденных документов.
Рассмотрим варианты решения данной проблемы:
Вариант А. Проверка и исправление документов ЕГАИС
Часто причиной зависания становятся документы Остатки ЕГАИС или ТТН с нестандартными актами расхождений. Очистка или коррекция проблемных документов ЕГАИС на копии базы позволяет обработчику завершиться корректно.
Вариант Б. Обход ошибки через безопасную обработку исключений
Для продолжения работы системы можно временно обернуть выполнение процедуры конвертации данных в блок безопасной обработки. Для этого в соответствующем общем модуле обновлений или процедуре обработки данных добавляется безопасный перехват:
Попытка
// Штатный код конвертации данных ЕГАИС
Исключение
ТекстОшибки = ПодробноеПредставлениеОшибки(ИнформацияОбОшибке());
ЗаписьЖурналаРегистрации("ОбновлениеЕГАИС", УровеньЖурналаРегистрации.Ошибка,,, ТекстОшибки);
КонецПопытки;
Подобный подход позволяет завершить основной процесс обновления информационной базы, записать сведения о проблемных документах в журнал регистрации и в дальнейшем исправить их вручную.