При настройке или использовании типового обмена данными между конфигурациями 1С:Розница 2.2 и 1С:Управление торговлей 3.1 (в том числе локализаций для Казахстана) пользователи часто сталкиваются с аварийной остановкой процесса. Программа выдает диагностическое сообщение: Ошибка в базе-корреспонденте: {Обработка.КонвертацияОбъектовИнформационныхБаз.МодульОбъекта(8442)}: Тип не определен (СправочникСсылка.УпаковкиЕдиницыИзмерения). В этой статье мы подробно разберем, почему возникает эта ситуация, и как ее исправить, опираясь на практический опыт решения подобных инцидентов.
Для начала проанализируем техническую сторону вопроса. Ошибка происходит в универсальном механизме обмена данными, который базируется на Библиотеке стандартных подсистем (БСП). Система пытается программно получить тип объекта метаданных по его строковому имени, используя встроенную функцию Тип().
Рассмотрим фрагмент кода, где обычно происходит сбой:
// В модуле обработки КонвертацияОбъектовИнформационныхБаз
СтруктураСвойств = Менеджеры[Тип(ТипИсточника)];
Если переменная ТипИсточника или ТипПриемника содержит строку "СправочникСсылка.УпаковкиЕдиницыИзмерения", а в текущей конфигурации справочник с таким именем отсутствует (например, он был переименован или удален в новом релизе), функция Тип() возвращает Неопределено. Это приводит к тому, что обращение к коллекции Менеджеры вызывает исключение, и обмен прерывается.
Почему справочник «исчез»? В старых редакциях УТ и Розницы справочник упаковок и единиц измерения часто назывался именно УпаковкиЕдиницыИзмерения. В процессе эволюции конфигураций разработчики 1С перешли к более сложной структуре, разделив упаковки номенклатуры и базовые единицы. В современных версиях этот справочник может называться УпаковкиНоменклатуры, а старый тип остается только в «памяти» настроек обмена или правилах.
Как показывает практика, чаще всего проблема кроется не в самих правилах обмена (файле XML), а в накопленных данных о сопоставлении объектов. Проанализируем ситуацию: если ранее обмен работал, а потом перестал, значит в базе накопились записи, ссылающиеся на старые метаданные.
Выполним следующие шаги для исправления ситуации через регистр сведений:
Соответствия объектов информационных баз.СправочникСсылка.УпаковкиЕдиницыИзмерения, это и есть источник проблемы.Важный момент: такие записи могут появиться, если в одной из баз обновление конфигурации прошло успешно, а во второй базе (корреспонденте) еще остались ссылки на старую структуру. Очистка регистра разрывает порочную связь с несуществующим типом.
Если очистка регистра не помогла или ошибка повторяется немедленно, необходимо проверить сами правила обмена. Рассмотрим ситуацию, когда правила (файл CorrespondentExchangeRules.xml) содержат жесткую ссылку на старый справочник.
Ранее мы видели пример структуры правил в формате XML:
<Группа>
<Код>УпаковкиЕдиницыИзмерения</Код>
<Наименование>УпаковкиЕдиницыИзмерения</Наименование>
<Источник>СправочникСсылка.ЕдиницыИзмерения</Источник>
<Приемник>СправочникСсылка.БазовыеЕдиницыИзмерения</Приемник>
</Группа>
Разберем по шагам, как исправить правила:
СправочникСсылка.УпаковкиНоменклатуры).Однако помните, что ручная правка правил — это крайняя мера. Первым делом всегда стоит проверить наличие обновлений для обеих конфигураций, так как разработчики 1С выпускают актуальные правила вместе с релизами программ.
Иногда ошибка возникает из-за того, что в очереди на выгрузку «зависли» объекты, которые были зарегистрированы к обмену еще до обновления конфигурации. Проанализируем, как очистить очередь регистрации:
Регистрация изменений для обмена (входит в состав БСП).Единицы измерения или Упаковки.Это поможет, если система пытается отправить данные об объекте, структура которого изменилась, и приемник не может распознать старый формат типа.
Рассмотрим еще несколько важных аспектов, которые могут влиять на стабильность обмена:
Кэш метаданных: 1С кэширует структуру конфигурации для ускорения работы обмена. Если вы обновили программу, но ошибка Тип не определен сохраняется, попробуйте очистить серверный кэш (если база клиент-серверная) или удалить базу из списка и добавить ее заново (для очистки локального кэша).
Версии БСП: Обмен между Розницей и УТ сильно зависит от версии встроенной Библиотеки стандартных подсистем. Если одна база обновлена до последнего релиза, а вторая отстает на несколько лет, типовой обмен может работать некорректно. Старайтесь поддерживать актуальность обеих баз одновременно.
Особенности локализаций: Для пользователей в Казахстане (УТК и РТК) важно помнить, что релизы выходят с задержкой от российских версий. Если вы используете «универсальные» правила из интернета, они могут быть рассчитаны на более новую структуру метаданных, которой еще нет в вашей локализованной версии. Всегда проверяйте соответствие имен справочников в вашей конкретной конфигурации через дерево объектов метаданных в конфигураторе.
Подводя итог, можно сказать: наиболее эффективным и быстрым решением является анализ и очистка регистра соответствий объектов. Это позволяет устранить конфликты типов без необходимости глубокого погружения в разработку правил обмена в Конвертации данных.