Центр Диагностики & База Системных Ошибок

Решения для Windows Server, Active Directory, 1С, СУБД, Linux, Cisco, MikroTik и IP-телефонии.

⚠️ Важная информация Все материалы, инструкции, команды и скрипты предоставлены исключительно в ознакомительных целях. Их применение может повлиять на работу операционной системы, баз данных и сетевого оборудования. Перед выполнением действий обязательно создайте резервную копию. При отсутствии необходимой квалификации обратитесь к ИТ-специалистам.

Отладка правил конвертации данных (КД 2): трассировка обмена

Обновлено: 16.09.2026  ·  Официальная база знаний

Симптомы ошибок при выгрузке и загрузке данных XML в 1С

При выполнении обмена между разнородными конфигурациями (например, УТ 10.3 -> БП 3.0) процесс выгрузки прерывается аварийно с выдачей сообщений: Ошибка в обработчике события ПередВыгрузкойОбъекта, Поле агрегатного объекта не обнаружено или данные переносятся с искажением реквизитов.

Событие в окне обменаКонтекст ошибкиПричина
Ошибка при вызове метода контекста (ВыгрузитьПоПравилу)Обработчик ПКО / ПКО_ПослеЗагрузкиПопытка обращения к реквизиту, отсутствующему в исходном объекте источника
Тип не определенКонвертация свойств (ПКС)Несоответствие имен типов метаданных в конфигурациях источнике и приемнике
Зависание процесса выгрузкиВыгрузка движений регистровНеоптимизированный запрос внутри циклического обработчика ПКС

Пошаговый процесс отладки правил обмена в Конфигураторе

  1. Включение режима генерации отладочного модуля в обработке:
    • Откройте обработку «Универсальный обмен данными в формате XML» (V8Exch83.epf).
    • Перейдите на вкладку «Выгрузка данных», укажите путь к файлу ваших правил конвертации (.xml).
    • Перейдите на вкладку «Настройки для разработчика» (или «Отладка выгрузки»).
    • Установите флаг «Включить режим отладки обработчиков».
  2. Генерация модуля отладки:
    • Нажмите кнопку «Сформировать код обработчиков» и скопируйте созданный текст в буфер обмена или сохраните в файл.
    • Откройте конфигурацию информационной базы источника в режиме Конфигуратор.
    • Создайте внешнюю обработку (или откройте модуль внешней обработки отладки ОбработкаДляОтладкиВыгрузки.epf), вставьте сгенерированный код в модуль объекта обработки.
  3. Установка точек останова (Breakpoints):

    В тексте вставленного кода найдите проблемное правило, например событие ПКО_ПередОбработкой_Номенклатура, и поставьте точку останова клавишей F9.

  4. Запуск процедуры трассировки:
    • Запустите 1С в режиме «Отладка» (F5).
    • В обработке универсального обмена поставьте флаг «Использовать внешнюю обработку с кодом обработчиков» и укажите файл вашей обработки.
    • Нажмите «Выгрузить данные». Выполнение прервется в конфигураторе на точке останова, позволяя исследовать переменные ОбъектКоллекции, Параметры, Отказ через табло (Shift+F9).

Совет разработчику: Для быстрой отладки без конфигуратора используйте метод вывода сообщений Сообщить("Текущее значение: " + Строка(Значение)); непосредственно внутри тела обработчиков в конфигурации «Конвертация данных 2.1» с последующим пересохранением файла правил.

Практический опыт инженера: Практика ITSTM: Избегайте выполнения тяжелых запросов к базе внутри событий 'ПередВыгрузкойСвойства' (ПКС). Если в выборке 10 000 строк, запрос выполнится 10 000 раз, повесив процесс. Делайте один пакетный запрос в событии 'ПередКонвертациейОбъекта' и кэшируйте данные в структуре Параметры.

Частые вопросы (FAQ)

В чем разница между обработчиками ПКО и ПКС?

ПКО (Правило Конвертации Объекта) описывает сопоставление и логику переноса документа или справочника целиком. ПКС (Правило Конвертации Свойства) управляет логикой заполнения отдельного конкретного реквизита или табличной части.

Как принудительно пропустить выгрузку объекта по условию?

В теле обработчика ПКО 'ПередВыгрузкой' напишите условие и установите флаг Отказ = Истина; (например: Если Источник.ПометкаУдаления Тогда Отказ = Истина; КонецЕсли;).

Где взять последнюю версию обработки «Универсальный обмен данными XML»?

Актуальная внешняя обработка поставляется в составе шаблона конфигурации 'Конвертация данных' и лежит в каталоге: AppData\Roaming\1C\1Cv8\tmplts\1c\Conversion\<НомерРелиза>\.

Можно ли выполнять отладку правил загрузки (приемника)?

Да, алгоритм полностью аналогичен: флаг отладки включается на вкладке 'Загрузка данных', после чего модуль отладки внедряется в базу-приемник.