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

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

При создании правил обмена в конфигурации Конвертация данных 2.0 часто возникает задача оптимизации передаваемых данных. Разработчики стремятся к тому, чтобы справочники не выгружались «постоянно» или целиком, а передавались только в составе тех документов, в которых они используются. В этой статье мы подробно разберем, как реализовать этот механизм и избежать появления битых ссылок в базе-приемнике.

Понимание принципа работы правил конвертации

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

Чтобы справочники передавались только при необходимости, мы должны сделать следующее:

  1. Удалить ПВД для справочников, которые не должны передаваться отдельно.
  2. Настроить ПКС (Правила Конвертации Свойств) для реквизитов документа.

Шаг 1: Работа с правилами выгрузки данных (ПВД)

Для предотвращения избыточной регистрации справочников в плане обмена, первым делом проверьте список ваших ПВД. Если для справочника «Номенклатура» или «Контрагенты» создано правило, которое принудительно регистрирует все изменения этих данных — удалите его. Отсутствие ПВД — это главный инструмент, который «запрещает» объекту самостоятельно инициировать обмен.

Шаг 2: Настройка правил конвертации свойств (ПКС)

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

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

Шаг 3: Настройка режима выгрузки в правилах регистрации

Одной из частых проблем является избыточность регистрации. В Конвертации данных 2.0 важно корректно использовать настройки регистрации объектов. Рассмотрим, как проанализировать и настроить переключатели:

Если вы столкнулись с тем, что справочник всё равно пытается выгрузиться, проверьте обработчики в Правилах регистрации объектов. Убедитесь, что вы не используете принудительную регистрацию объектов через ПланыОбмена.ЗарегистрироватьИзменения() для каждого элемента справочника при его записи.

Для настройки «выгрузки по необходимости» рекомендуем использовать встроенные свойства плана обмена и отбор. Если объект не зарегистрирован в таблице изменений, он не попадет в пакет обмена. Но, как только документ, в котором этот объект используется, попадет в выборку для обмена, система «подтянет» и связанный справочник.

Пример логики проверки настроек:


// Проверяем, что в ПКС документа правильно указано правило для реквизита
// Если ПКО не указано, при выгрузке может возникнуть ошибка или битая ссылка
// Убедитесь, что для ПКС установлена галочка "Получать из входящих данных" 
// или указано правило, по которому будет найден объект в базе-приемнике

Как избежать битых ссылок

Битые ссылки возникают, когда объект в базе-источнике есть, а при загрузке в приемник он не был передан. Это происходит по одной из двух причин:

Рассмотрим подробнее работу с Поиском объекта. В ПКО справочника установите флаг Искать объект приемника. Это позволит системе при передаче ссылки не создавать дубль, а найти уже существующий элемент в базе-приемнике. Если объект не найден, система создаст его на основе данных из документа.

Итоговый алгоритм действий

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

Помните, что Конвертация данных 2.0 — это инструмент, который требует строгой дисциплины в настройке ПКО. Если вы четко опишете связи между свойствами документов и объектами справочников, потребность в прямой регистрации справочников исчезнет сама собой.

← На главную