Как исключить подгрузку нежелательных документов-оснований в КД 2.0 при переносе из УТ 10.3 в УТ 11.4

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

При выполнении миграции данных между конфигурациями, например, при переходе с Управление торговлей 10.3 на Управление торговлей 11.4, часто возникает необходимость ограничить перенос старых документов или их реквизитов. Рассмотрим ситуацию, когда при переносе Приходных кассовых ордеров (ПКО) в целевую базу пытаются загрузиться документы-основания за прошлые периоды, которые не должны присутствовать в новой базе.

Анализ проблемы и методы фильтрации

Зачастую разработчики пытаются ограничить перенос данных на уровне ПКС (правил конвертации свойств). Например, прописывая условие в событии Перед выгрузкой:


Если ЗначениеЗаполнено(Источник.ДокументОснование) Тогда
    Если Источник.ДокументОснование.Дата < Дата(2020, 01, 01) Тогда
        Значение = "";
    КонецЕсли;
КонецЕсли;

Однако, как показывает практика, простой очистки значения Значение = "" бывает недостаточно, если в целевой базе УТ 11.4 данный реквизит является обязательным для заполнения или если логика ПКО (правила конвертации объекта) жестко завязана на поиск по объекту-основанию. Также попытка использовать Отказ = Истина в событии ПКС может вызвать критическую ошибку, так как система прерывает процесс выгрузки свойства, но не отменяет ожидание объекта на стороне загрузки.

Комплексный подход к отладке

Разберем, на что следует обратить внимание, если стандартные методы фильтрации не приносят результата:

  1. Проверка метаданных: Проанализируйте, не является ли документ-основание обязательным в УТ 11.4. Если это так, попытка передать «пустое» значение приведет к сбою при записи документа. Возможно, потребуется пересмотреть структуру данных или правила поиска.
  2. Каскадные ошибки: Как показал наш опыт, проблема часто кроется не там, где мы ее ищем. Если при загрузке возникают ошибки, связанные с Видами номенклатуры, Организациями или Статьями движения денежных средств, они могут блокировать процесс создания документа целиком.
  3. Проверка правил конвертации объектов: Обязательно убедитесь, что для всех связанных объектов (справочников и документов) выбраны корректные ПКО. Даже если логика фильтрации даты верна, некорректное ПКО для справочника может спровоцировать сбой всей цепочки загрузки.

Пошаговый план устранения ошибок

Если вы столкнулись с «необъяснимыми» ошибками при переносе документов, воспользуйтесь следующими рекомендациями:

Шаг 1: Изоляция проблемы. Попробуйте временно исключить правило для реквизита ДокументОснование. Если ошибка исчезнет, значит, проблема действительно была в заполнении или поиске этого объекта.

Шаг 2: Проверка логов обмена. Включите режим отладки в Конвертации данных 2.0. Просмотрите протокол обмена: на каком именно ПКО происходит прерывание процесса. Часто сообщение об ошибке указывает на Вид номенклатуры или Организацию, что является сигналом проверить именно эти справочники.

Шаг 3: Пересмотр логики исключения. Вместо удаления значения в ПКС, рассмотрите возможность использования параметров обмена. Вы можете передать дату отсечения через параметры и использовать ее в Перед выгрузкой для всего ПКО документа. В таком случае, если документ не проходит по дате, он не будет выгружен вовсе:


// В событии Перед выгрузкой ПКО документа
Если Источник.Дата < Параметры.ДатаОтсечения Тогда
    Отказ = Истина;
КонецЕсли;

Этот подход более надежен, так как предотвращает попытку загрузки «проблемного» документа в целевую систему, исключая возникновение конфликтов ссылочной целостности или обязательности заполнения реквизитов.

Заключение

Основной урок, который мы вынесли из данной ситуации: при возникновении «странных» ошибок при переносе между УТ 10.3 и УТ 11.4, не ограничивайтесь анализом одного конкретного свойства. Всегда проверяйте корректность ПКО для второстепенных справочников, которые могут быть задействованы в механизме заполнения документа. Часто решение лежит в исправлении ошибки в правилах для, казалось бы, не связанных объектов.

← На главную