При настройке правил обмена в конфигурации «Конвертация данных» (КД 2) нередко возникает ситуация: правила выгрузки и конвертации объекта настроены корректно, файл выгрузки XML содержит все необходимые строки регистра, процесс загрузки завершается без ошибок, однако в базе-приемнике целевой независимый регистр сведений (например, СоответствиеНоменклатурыЕГАИС или СоответствиеОрганизацийЕГАИС) остается пустым.
Разберем основные причины такого поведения и пошаговый алгоритм поиска и устранения проблемы.
Прежде чем менять правила обмена, убедимся, действительно ли данные отсутствуют в таблице базы данных. Довольно часто в типовых конфигурациях список регистра в интерфейсе не отображает строки из-за особенностей логики форм:
Откроем Консоль запросов и выполним прямой запрос к реальной таблице базы данных:
ВЫБРАТЬ
РС.*
ИЗ
РегистрСведений.СоответствиеНоменклатурыЕГАИС КАК РС
Если запрос возвращает строки, значит, данные успешно загрузились, а проблема кроется исключительно в настройках видимости и отборах формы в пользовательском интерфейсе.
Если запрос показал пустую таблицу, проанализируем параметры используемой внешней обработки загрузки данных (УниверсальныйОбменДаннымиXML):
УниверсальныйОбменДаннымиXML могут некорректно обрабатывать свойства записи для объектов, у которых в метаданных установлен специфический режим записи.Выясним причину на уровне правил конвертации объектов (ПКО) в «Конвертации данных»:
Номенклатура, ОрганизацияЕГАИС, АлкогольнаяПродукция) установлены флаги «Поиск».Проанализируем ссылки, входящие в состав измерений регистра:
ПустаяСсылка.Если предыдущие шаги не выявили ошибку, подключим отладку обработчиков в базе-приемнике:
ПриЗагрузке или ПослеЗагрузки вызовем запись в технологический журнал или журнал регистрации для контроля передаваемых данных.ПередЗаписью или ПриЗаписи для набора записей регистра). В типовых решениях модуль набора записей может содержать программный контроль заполнения реквизитов, который очищает некорректно заполненный набор без генерации исключительной ошибки.
// Пример проверки структуры набора в обработчике "ПослеЗагрузки" ПКО регистра:
Для Каждого Запись Из Объект Цикл
Если Не ЗначениеЗаполнено(Запись.Номенклатура) Тогда
ЗаписьЖурналаРегистрации("ОбменДанными", УровеньЖурналаРегистрации.Предупреждение,,,
"Пустая ссылка в измерении Номенклатура при загрузке записи ЕГАИС!");
КонецЕсли;
КонецЦикла;
Последовательно проверив структуру полей поиска в ПКС, режим записи наборов в обработке и наличие скрытых отборов в интерфейсе базы-приемника, вы гарантированно восстановите корректную загрузку независимого регистра сведений.