Как исключить объекты из обмена данными в 1С?

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

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

Использование дополнительных свойств объекта

В типовых конфигурациях 1С механизмы регистрации изменений работают через подписки на события. Многие из них проверяют наличие специальных флагов в ДополнительныеСвойства записываемого объекта. Чтобы запретить регистрацию объекта в текущем сеансе, можно использовать следующий программный подход.

Перед тем как вызвать метод Записать() для объекта, необходимо внедрить признак отключения механизма регистрации. Разберем этот пример:


// Перед записью объекта
Объект.ДополнительныеСвойства.Вставить("ОтключитьМеханизмРегистрацииОбъектов", Истина);
Объект.Записать();

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

Настройка правил регистрации объектов (ПРО)

Более профессиональным и гибким способом является использование файлов правил регистрации (ПРО). Это позволяет управлять обменом без внесения изменений непосредственно в код конфигурации. Давайте разберем этот процесс по шагам:

  1. Зайдите в настройки синхронизации данных в пользовательском режиме.
  2. Выгрузите текущие правила регистрации объектов (обычно это XML-файл).
  3. Загрузите полученный файл в обработку «Конвертация данных» (версия 2.1 или 3.0).
  4. В правилах найдите нужные объекты метаданных и установите для них условие, при котором регистрация не выполняется.
  5. Сохраните обновленный файл правил и загрузите его обратно в настройку синхронизации 1С.

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

Работа с модулями переопределения

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

Анализируя текущую ситуацию, можно сказать следующее:

Рекомендации по отладке

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

  1. Установите точку останова в общих модулях, отвечающих за обмен (например, в процедуре ЗарегистрироватьИзменения).
  2. Выполните запись объекта и посмотрите, какая именно подписка на событие срабатывает последней.
  3. Убедитесь, что для вашего типа объекта в плане обмена не включена опция «Автоматическая регистрация», если вы планируете управлять обменом исключительно вручную или через правила.

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

← На главную