Как исключить документ из обмена данными по правилам Конвертации данных (КД)?

Программист 1С v8.3 (Обычные формы) IT и автоматизация бизнеса
← На главную

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

Исключение документа через Правила выгрузки данных (ПВД)

Если обмен настраивается с помощью конфигурации «Конвертация данных 2.1», основным инструментом для управления выгрузкой самостоятельных объектов являются Правила выгрузки данных (ПВД).

Рассмотрим по шагам, как выключить выгрузку конкретного документа:

  1. Откроем правила обмена в конфигурации «Конвертация данных».
  2. Перейдем на вкладку Правила выгрузки данных.
  3. Найдем в списке нужный документ, который не должен передаваться при обмене.
  4. Установим для соответствующего правила флажок Отключить.

Также отменить выгрузку объекта на этапе выполнения правил можно программно. Для этого в обработчике Перед выгрузкой соответствующего ПВД или Правила конвертации объектов (ПКО) указываем конструкцию:

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

После этого данный документ перестанет выгружаться как самостоятельная сущность при формировании файла обмена.

Ограничение выгрузки связанного документа по ссылке

Проанализируем частую ситуацию: даже после отключения документа в ПВД он всё равно может попадать в базу-приемник. Это происходит в тех случаях, когда на данный документ ссылается другой выгружаемый объект (например, он указан в реквизите или табличной части другого документа или справочника).

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

  1. В обработчике Перед выгрузкой в ПКО данного документа прописать отмену: Отказ = Истина;
  2. В Правилах конвертации свойств (ПКС) у родительских объектов отключить выгрузку конкретных реквизитов, ссылающихся на этот документ, либо сбросить правило конвертации для данного свойства.

Управление регистрацией изменений в планах обмена

Выясним причину, почему одного лишь отключения правил выгрузки может быть недостаточно для оптимизации обмена. Когда документ отключается в ПВД, сама платформа 1С продолжает фиксировать его изменения в таблице регистрации планов обмена. При любой перезаписи или проведении документа в базе-источнике создается запись о его изменении, что приводит к замусориванию таблицы регистрации и замедлению работы обменов.

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

  1. Изменение состава плана обмена в Конфигураторе:

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

  2. Программное отключение авторегистрации при записи:

    В модуле объекта или в подписке на событие ПередЗаписью отменяем регистрацию в получателях обмена:

    Источник.ОбменДанными.Получатели.АвтоЗаполнение = Ложь;
  3. Настройка Правил регистрации объектов (ПРО / ПРД):

    При использовании конфигурации БСП и КД 2.1 создаются правила регистрации объектов. В них настраиваются гибкие условия и отборы (по дате, организации или реквизитам). Если объект не удовлетворяет отбору ПРО, запись в таблицу регистрации изменений не создается вовсе.

Особенности исключения объектов в Конвертации данных 3.0 (EnterpriseData)

Посмотрим, как аналогичная задача решается в современном формате обменов EnterpriseData в Конвертации данных 3.0. В этой версии концепция ПВД не используется, а обработка данных выполняется через Правила обработки данных (ПОД).

Для отмены отправки объекта в КД 3.0 используется обработчик При отправке, где прописывается отказ от выгрузки:


Отказ = Истина;
// Или использование специального флага отмены
Сообщение.Отмена = Истина;

Таким образом, для полного исключения документа из обмена необходимо не только снять его выгрузку в правилах (ПВД/ПКО), но и позаботиться о предотвращении регистрации его изменений в плане обмена.

← На главную