Как убрать регистрацию документов при обмене УТ 11 и БП 3.0?

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

При настройке типовой синхронизации данных между конфигурациями 1С:Управление торговлей (УТ 11) и 1С:Бухгалтерия предприятия (БП 3.0) часто возникает необходимость исключить определенные документы из обмена. Например, документы Списание безналичных ДС и Поступление безналичных ДС должны оформляться в бухгалтерской программе отдельно и не должны выгружаться из торговой базы.

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

Выясним причину: почему документ продолжает регистрироваться

Проанализируем работу механизма обмена данными в 1С. Выгрузка объектов состоит из двух независимых процессов:

  1. Регистрация изменений: при проведении или записи документа платформа проверяет правила регистрации объектов (ПРО) и при необходимости добавляет ссылку на объект в таблицу зарегистрированных изменений плана обмена.
  2. Конвертация и выгрузка данных: во время сеанса синхронизации платформа берет зарегистрированные объекты и преобразует их по правилам конвертации объектов (ПКО/ПОД).

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

Решение 1. Корректировка Правил регистрации объектов (ПРО) в «1С:Конвертация данных 2.1»

Рассмотрим основной и наиболее правильный способ настройки через специализированную конфигурацию «1С:Конвертация данных 2.1».

Проанализируем последовательность действий по шагам:

  1. Перейдем в режим конфигуратора или пользовательский интерфейс УТ 11 по адресу НСИ и администрирование — Синхронизация данных — Настройки синхронизации данных.
  2. В настройках нужного узла обмена выгрузим на диск текущие Правила регистрации объектов (ПРО).
  3. Запустим конфигурацию 1С:Конвертация данных 2.1 и загрузим выгруженный XML-файл правил регистрации.
  4. В дереве правил регистрации найдем нужный документ (например, Списание безналичных ДС или Поступление безналичных ДС).
  5. Откроем обработчик события Перед обработкой для данного правила регистрации и добавим следующий код:

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

После этого сохраним правила в XML-файл и загрузим их обратно в УТ 11 через форму настройки синхронизации (команда Загрузить правила регистрации объектов).

Теперь при проведении новых документов платформа выполнит обработчик правила регистрации, увидит флаг Отказ = Истина и не станет добавлять объект в очередь обмена.

Решение 2. Очистка ранее накопленных изменений

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

Чтобы убрать уже зарегистрированные объекты из очереди выгрузки, выполним очистку штатным инструментом:

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

Решение 3. Отключение авторегистрации через расширение конфигурации

Если нет возможности использовать конфигурацию «1С:Конвертация данных 2.1», проблему можно решить с помощью расширения конфигурации. Такой подход позволяет сохранить основную конфигурацию на полной поддержке.

В расширении можно перехватить событие перед записью документа и программно очистить список получателей обмена:


&Перед("ПередЗаписью")
Процедура Расш1_ПередЗаписью(Отказ, РежимЗаписи, РежимПро проведения)
    Источник.ОбменДанными.Получатели.Автозаполнение = Ложь;
    Источник.ОбменДанными.Получатели.Очистить();
КонецПроцедуры

Использование свойства ОбменДанными.Получатели.Автозаполнение = Ложь предотвращает авторегистрацию объекта во всех планах обмена при его записи и проведении.

Таким образом, комбинируя настройку правил ПРО в КД 2.1 и очистку состава отправляемых данных, можно полностью исключить ненужные документы из процесса синхронизации между УТ 11 и БП 3.0.

← На главную