← На главную
При выполнении обмена данными между конфигурациями (например, «Управление торговлей» и «Розница») пользователи и разработчики часто сталкиваются со сбоем выгрузки или загрузки XML. Ошибка выглядит следующим образом:
{Обработка.ОбменДаннымиXML.МодульОбъекта(12846)}: Тип не определен (СправочникСсылка.КлассификаторОрганизацийЕГАИС)
Или аналогично при выгрузке документов:
{Обработка.ОбменДаннымиXML.МодульОбъекта(12966)}: Тип не определен (ДокументСсылка.ТоварноТранспортнаяНакладнаяЕГАИС)
Проанализируем техническую причину этой неполадки и разберем по шагам несколько эффективных способов решения проблемы.
Техническая причина ошибки на уровне платформы
Ошибка возникает в обработке ОбменДаннымиXML (или КонвертацияОбъектовИнформационныхБаз) при исполнении встроенной функции платформы Тип("ИмяТипаМетаданных"). Если указанный в правилах обмена объект метаданных отсутствует в текущей информационной базе-приемнике или источнике, функция возвращает значение Неопределено. Дальнейшая попытка передать это значение в алгоритмы обмена приводит к остановке процесса.
Основные причины расхождения типов:
- Разница в релизах конфигураций: В новых версиях программ фирмой 1С были переименованы или изменены некоторые объекты ЕГАИС (например,
КлассификаторОрганизацийЕГАИС переименован в КлассификаторОрганизаций).
- Различный состав метаданных: В устаревших конфигурациях (например, «Розница 1.0») метаданные для работы с ЕГАИС отсутствуют либо существенно отличаются от структуры в «Управление торговлей 10.3».
- Ограничения базовых версий: В базовых конфигурациях нельзя внести изменения в структуру метаданных через Конфигуратор, чтобы вручную добавить отсутствующий объект.
Способ 1. Обновление конфигураций и экспортирование правил из общих макетов
Первое, что необходимо сделать — привести информационные базы к актуальным релизам, поддерживающим необходимые форматы обмена.
- Обновим конфигурацию-источник и конфигурацию-приемник до последних доступных версий.
- Перейдем в конфигурацию «Розница» (или базу-приемник), откроем ветку метаданных Общие -> Макеты.
- Найдем макет, содержащий правила обмена с «Управление торговлей» (обычно называется
ПравилаОбмена_УТ_Розница).
- Сохраним макет в отдельный файл с расширением
.xml.
- В настройках узла плана обмена укажем использование загруженного из файла правила обмена.
Способ 2. Корректировка правил через «1С:Конвертация данных 2.1»
Если используется доработанная конфигурация или типовые правила содержат ошибки несовпадения наименований, отредактируем правила конвертации объектов:
- Выгрузим актуальную структуру метаданных обеих конфигураций в файл XML с помощью обработки
MD832Exp.epf (или MD82Exp.epf для обычных форм).
- Откроем конфигурацию 1С:Конвертация данных 2.1 и загрузим полученные структуры метаданных для источника и приемника.
- Загрузим действующие правила обмена.
- Обновим описания метаданных в правилах. Наполним сопоставления с учетом переименованных объектов (например, укажем соответствие старого названия
КлассификаторОрганизацийЕГАИС новому КлассификаторОрганизаций).
- Если объект полностью отсутствует в базе-приемнике, перейдем к Правилам Выгрузки Данных (ПВД) и Правилам Конвертации Объектов (ПКО) и установим флаг Отключить или пропишем в обработчике события
Перед обработкой следующую строку:
Отказ = Истина;
- Сохраним обновленные правила конвертации в XML-файл и загрузим их в настройку синхронизации данных.
Способ 3. Использование обработки «Универсальный обмен данными в формате XML»
Если обмен требуется выполнить разово или учет ЕГАИС в базе-приемнике не ведется, выгрузку можно сделать в обход штатных механизмов планов обмена:
- Откроем обработку
УниверсальныйОбменДаннымиXML.epf.
- Укажем путь к файлу правил обмена.
- На вкладке Выгружаемые данные найдем дерево правил выгрузки.
- Снимем галочки с объектов ЕГАИС (
ТоварноТранспортнаяНакладнаяЕГАИС, КлассификаторОрганизацийЕГАИС, КлассификаторАлкогольнойПродукцииЕГАИС).
- Выполним выгрузку данных только по стандартным справочникам и документам (Номенклатура, Контрагенты, Накладные).
Способ 4. Точечная замена имен типов в XML-файле правил
В случаях, когда ошибка вызвана исключительно переименованием справочников или документов в новом релизе, допустимо исправить имена типов прямо в файле правил:
- Откроем XML-файл правил обмена в текстовом редакторе (например, Notepad++).
- Выполним поиск по строке с выданной ошибкой (например,
СправочникСсылка.КлассификаторОрганизацийЕГАИС).
- Заменим имя типа на актуальное имя объекта из метаданных базы-приемника (например,
СправочникСсылка.КлассификаторОрганизаций).
- Сохраним изменения и повторно загрузим правила в базу.
Важно: Данный способ следует применять с осторожностью, так как при изменении состава реквизитов объекта простое переименование типа в файле может привести к ошибкам заполнения свойств при загрузке.