При использовании распределенной информационной базы (РИБ) в конфигурации 1С:Управление торговлей 11.4 администраторы и разработчики могут столкнуться со сбоем обмена данными. Ошибка возникает в момент чтения файла сообщения обмена в центральной базе при получении данных из периферийного узла. В журнале регистрации или окне ошибки отображается следующее сообщение:
Ошибка при вызове метода контекста (ПрочитатьИзменения): Ошибка при выполнении обработчика - 'ПередЗаписью': {РегистрНакопления.РасчетыСПоставщиками.МодульНабораЗаписей(67)}: Поле объекта не обнаружено (СтруктураВременныеТаблицы)
Проанализируем причины возникновения этой неполадки и разберем по шагам все варианты ее решения.
Выясним причину, почему возникает сбой. При штатном проведении документа поступления в узле РИБ система формирует движения по регистру накопления РасчетыСПоставщиками. В процессе проведения менеджер документа инициализирует служебную структуру ДополнительныеСвойства, куда помещается СтруктураВременныеТаблицы.
Однако при считывании файла обмена изменения записей регистра загружаются напрямую. В типовом коде модуля набора записей в обработчике ПередЗаписью происходит обращение к полю СтруктураВременныеТаблицы через точку без предварительной проверки режима загрузки данных (ОбменДанными.Загрузка). В результате платформа выдает исключение, так как при загрузке изменений через РИБ дополнительные свойства документа не заполняются так же, как при интерактивном проведении.
Рассмотрим самое быстрое программное решение, которое позволяет устранить ошибку без ожидания полных обновлений. Для этого необходимо добавить проверку режима загрузки данных в обработчик события ПередЗаписью модуля набора записей регистра накопления РасчетыСПоставщиками.
Выполним следующие действия в режиме доработки или с помощью расширения конфигурации:
РасчетыСПоставщиками.ПередЗаписью.
Если ОбменДанными.Загрузка Тогда
Возврат;
КонецЕсли;
Благодаря этому коду платформа пропустит вычисление логики проведения при считывании файла изменений РИБ, и загрузка набора записей завершится успешно.
Посмотрим на решение проблемы штатным путем. Ошибка в обработчике набора записей является известным багом ранних релизов УТ 11.4 и ERP. Фирма «1С» выпустила исправление в последующих релизах программы.
11.4.3.126 и выше).В некоторых случаях даже после обновления конфигурации обмен может продолжать сбоить из-за накопившихся битых ссылок или повреждения индексов таблиц. Разберем по шагам порядок проведения регламентных работ:
После проведения комплексного тестирования и исправления целостность структуры данных восстанавливается, и обмен файлами РИБ начинает проходить без ошибок.