← На главную
Разбор причины возникновения ошибки
При адаптации правил обмена в конфигурации «Конвертация данных 2.1» (например, при переходе с выгрузки из «Бухгалтерии предприятия 1.6» на «Бухгалтерию предприятия 3.0») часто возникает ошибка вида Тип не определен (СправочникСсылка.ДолжностиОрганизаций).
Выясним причину такого поведения. Даже если в основном правиле конвертации объектов (ПКО) тип источника был изменен с СправочникСсылка.ДолжностиОрганизаций на СправочникСсылка.Должности, обработка «Универсальный обмен данными в формате XML» может продолжать выдавать ошибку при попытке чтения правил. Это происходит из-за того, что платформа 1С выполняет динамическую валидацию всех описанных в правилах типов метаданных источника. Если в структуре правил осталась хотя бы одна ссылка на объект, отсутствующий в текущей базе-источнике, загрузка правил блокируется полностью.
Основные места хранения неактуальных типов
Рассмотрим, где именно могут скрываться неисправленные ссылки на старый тип данных:
- Правила конвертации свойств (ПКС) других объектов: В кадровых документах, авансовых отчетах, начислениях или других справочниках реквизиты могут продолжать ссылаться на старый тип источника. Автоматическая замена типов при изменении ПКО не затрагивает уже созданные ПКС в других правилах.
- Правила выгрузки данных (ПВД): В окне настройки ПВД объект выборки может продолжать указывать на устаревший тип справочника или документа.
- Составные типы данных: Если реквизит имел составной тип, старый тип мог остаться отмеченным флагом в списке допустимых типов источника.
- Программный код обработчиков и алгоритмов: Явные обращения по имени типа в событиях («Перед выгрузкой», «При выгрузке») или в разделе «Алгоритмы / Запросы».
Пошаговые способы решения проблемы
Проанализируем практические варианты устранения ошибки и очистки правил обмена от неактуальных метаданных.
Способ 1. Проверка и исправление ПКС во всех правилах конвертации
Разберем порядок действий непосредственно в интерфейсе конфигурации «Конвертация данных 2.1»:
- Выгрузим актуальную структуру метаданных из базы-источника с помощью обработки
MD83Exp.epf и загрузим её в КД 2.1 для конфигурации-источника.
- Проанализируем список ПКО и проверим все документы и справочники, в которых встречается данный реквизит (например, документы приема на работу, кадровые перемещения, увольнения).
- Откроем правила конвертации свойств (ПКС) для реквизита должности в каждом объекте и заменим тип источника с
СправочникСсылка.ДолжностиОрганизаций на СправочникСсылка.Должности.
- Пересохраним правила обмена и повторим загрузку.
Способ 2. Поиск устаревшего типа через XML-файл правил
Если визуально найти все вхождения в дереве правил сложно, воспользуемся текстовым поиском по сохраненному файлу правил:
- Сохраним правила обмена в XML-файл.
- Откроем полученный файл в текстовом редакторе (например, Notepad++).
- Выполним поиск по подстроке с именем удаленного типа:
ДолжностиОрганизаций.
- Определим конкретные блоки
ПКС, ПВД или текстовые обработчики, где фигурирует старое имя.
- Вернемся в «Конвертацию данных» и внесем исправления в найденные элементы.
Способ 3. Отладка процесса загрузки правил
Посмотрим, как определить точное место сбоя с помощью отладчика платформы 1С:
- Откроем базу-источник в режиме «Конфигуратор».
- В меню «Отладка» выберем «Настройка остановки по ошибке» и активируем параметр «Останавливаться по ошибке».
- Запустим базу в режиме «1С:Предприятие» и откроем обработку «Универсальный обмен данными в формате XML».
- Начнем загрузку файла правил. При вызове ошибки отладчик остановит выполнение на строке кода обработки. По значениям переменных и стеку вызовов можно легко определить, при чтении какого именно свойства или правила происходит сбой.