При настройке типовой синхронизации данных между конфигурациями 1С:Управление торговлей (УТ 11) и 1С:Бухгалтерия предприятия (БП 3.0) часто возникает необходимость исключить определенные документы из обмена. Например, документы Списание безналичных ДС и Поступление безналичных ДС должны оформляться в бухгалтерской программе отдельно и не должны выгружаться из торговой базы.
Однако простое редактирование файла правил выгрузки в текстовом редакторе или установка флагов отключения не дают нужного результата: при проведении документа платформа всё равно регистрирует его в плане обмена. Разберем по шагам, почему так происходит и как правильно отключить регистрацию объектов.
Проанализируем работу механизма обмена данными в 1С. Выгрузка объектов состоит из двух независимых процессов:
Если изменить только правила конвертации или попытаться откорректировать XML-файл вручную в блокноте, регистрация документа на уровне платформы продолжит работать. Документ будет попадать в список зарегистрированных изменений. Чтобы полностью исключить объект из обмена, необходимо скорректировать именно Правила регистрации объектов (ПРО).
Рассмотрим основной и наиболее правильный способ настройки через специализированную конфигурацию «1С:Конвертация данных 2.1».
Проанализируем последовательность действий по шагам:
Списание безналичных ДС или Поступление безналичных ДС).
Отказ = Истина;
После этого сохраним правила в XML-файл и загрузим их обратно в УТ 11 через форму настройки синхронизации (команда Загрузить правила регистрации объектов).
Теперь при проведении новых документов платформа выполнит обработчик правила регистрации, увидит флаг Отказ = Истина и не станет добавлять объект в очередь обмена.
Обратим внимание на важную деталь: изменение правил ПРО действует только на будущие события записи и проведения. Документы, которые уже успели зарегистрироваться до загрузки новых правил, останутся в очереди обмена.
Чтобы убрать уже зарегистрированные объекты из очереди выгрузки, выполним очистку штатным инструментом:
Регистрация изменений для обмена данными).Списание безналичных ДС).Если нет возможности использовать конфигурацию «1С:Конвертация данных 2.1», проблему можно решить с помощью расширения конфигурации. Такой подход позволяет сохранить основную конфигурацию на полной поддержке.
В расширении можно перехватить событие перед записью документа и программно очистить список получателей обмена:
&Перед("ПередЗаписью")
Процедура Расш1_ПередЗаписью(Отказ, РежимЗаписи, РежимПро проведения)
Источник.ОбменДанными.Получатели.Автозаполнение = Ложь;
Источник.ОбменДанными.Получатели.Очистить();
КонецПроцедуры
Использование свойства ОбменДанными.Получатели.Автозаполнение = Ложь предотвращает авторегистрацию объекта во всех планах обмена при его записи и проведении.
Таким образом, комбинируя настройку правил ПРО в КД 2.1 и очистку состава отправляемых данных, можно полностью исключить ненужные документы из процесса синхронизации между УТ 11 и БП 3.0.