Как исправить ошибку «Тип не определен» при обмене данными в 1С?

Программист 1С v8.3 (Обычные формы) 1С:Управление торговлей Торговля и дистрибуция
← На главную

При выполнении обмена данными между конфигурациями (например, «Управление торговлей» и «Розница») пользователи и разработчики часто сталкиваются со сбоем выгрузки или загрузки XML. Ошибка выглядит следующим образом:

{Обработка.ОбменДаннымиXML.МодульОбъекта(12846)}: Тип не определен (СправочникСсылка.КлассификаторОрганизацийЕГАИС)

Или аналогично при выгрузке документов:

{Обработка.ОбменДаннымиXML.МодульОбъекта(12966)}: Тип не определен (ДокументСсылка.ТоварноТранспортнаяНакладнаяЕГАИС)

Проанализируем техническую причину этой неполадки и разберем по шагам несколько эффективных способов решения проблемы.

Техническая причина ошибки на уровне платформы

Ошибка возникает в обработке ОбменДаннымиXML (или КонвертацияОбъектовИнформационныхБаз) при исполнении встроенной функции платформы Тип("ИмяТипаМетаданных"). Если указанный в правилах обмена объект метаданных отсутствует в текущей информационной базе-приемнике или источнике, функция возвращает значение Неопределено. Дальнейшая попытка передать это значение в алгоритмы обмена приводит к остановке процесса.

Основные причины расхождения типов:

  1. Разница в релизах конфигураций: В новых версиях программ фирмой 1С были переименованы или изменены некоторые объекты ЕГАИС (например, КлассификаторОрганизацийЕГАИС переименован в КлассификаторОрганизаций).
  2. Различный состав метаданных: В устаревших конфигурациях (например, «Розница 1.0») метаданные для работы с ЕГАИС отсутствуют либо существенно отличаются от структуры в «Управление торговлей 10.3».
  3. Ограничения базовых версий: В базовых конфигурациях нельзя внести изменения в структуру метаданных через Конфигуратор, чтобы вручную добавить отсутствующий объект.

Способ 1. Обновление конфигураций и экспортирование правил из общих макетов

Первое, что необходимо сделать — привести информационные базы к актуальным релизам, поддерживающим необходимые форматы обмена.

  1. Обновим конфигурацию-источник и конфигурацию-приемник до последних доступных версий.
  2. Перейдем в конфигурацию «Розница» (или базу-приемник), откроем ветку метаданных Общие -> Макеты.
  3. Найдем макет, содержащий правила обмена с «Управление торговлей» (обычно называется ПравилаОбмена_УТ_Розница).
  4. Сохраним макет в отдельный файл с расширением .xml.
  5. В настройках узла плана обмена укажем использование загруженного из файла правила обмена.

Способ 2. Корректировка правил через «1С:Конвертация данных 2.1»

Если используется доработанная конфигурация или типовые правила содержат ошибки несовпадения наименований, отредактируем правила конвертации объектов:

  1. Выгрузим актуальную структуру метаданных обеих конфигураций в файл XML с помощью обработки MD832Exp.epf (или MD82Exp.epf для обычных форм).
  2. Откроем конфигурацию 1С:Конвертация данных 2.1 и загрузим полученные структуры метаданных для источника и приемника.
  3. Загрузим действующие правила обмена.
  4. Обновим описания метаданных в правилах. Наполним сопоставления с учетом переименованных объектов (например, укажем соответствие старого названия КлассификаторОрганизацийЕГАИС новому КлассификаторОрганизаций).
  5. Если объект полностью отсутствует в базе-приемнике, перейдем к Правилам Выгрузки Данных (ПВД) и Правилам Конвертации Объектов (ПКО) и установим флаг Отключить или пропишем в обработчике события Перед обработкой следующую строку:

Отказ = Истина;

  1. Сохраним обновленные правила конвертации в XML-файл и загрузим их в настройку синхронизации данных.

Способ 3. Использование обработки «Универсальный обмен данными в формате XML»

Если обмен требуется выполнить разово или учет ЕГАИС в базе-приемнике не ведется, выгрузку можно сделать в обход штатных механизмов планов обмена:

  1. Откроем обработку УниверсальныйОбменДаннымиXML.epf.
  2. Укажем путь к файлу правил обмена.
  3. На вкладке Выгружаемые данные найдем дерево правил выгрузки.
  4. Снимем галочки с объектов ЕГАИС (ТоварноТранспортнаяНакладнаяЕГАИС, КлассификаторОрганизацийЕГАИС, КлассификаторАлкогольнойПродукцииЕГАИС).
  5. Выполним выгрузку данных только по стандартным справочникам и документам (Номенклатура, Контрагенты, Накладные).

Способ 4. Точечная замена имен типов в XML-файле правил

В случаях, когда ошибка вызвана исключительно переименованием справочников или документов в новом релизе, допустимо исправить имена типов прямо в файле правил:

  1. Откроем XML-файл правил обмена в текстовом редакторе (например, Notepad++).
  2. Выполним поиск по строке с выданной ошибкой (например, СправочникСсылка.КлассификаторОрганизацийЕГАИС).
  3. Заменим имя типа на актуальное имя объекта из метаданных базы-приемника (например, СправочникСсылка.КлассификаторОрганизаций).
  4. Сохраним изменения и повторно загрузим правила в базу.

Важно: Данный способ следует применять с осторожностью, так как при изменении состава реквизитов объекта простое переименование типа в файле может привести к ошибкам заполнения свойств при загрузке.

← На главную