К статье
Практический материал

Администрирование · 13 мин

Как зарегистрировать документы для обмена в 1С

Как зарегистрировать документы в плане обмена 1С: состав узла, регистрация изменений, типовые и ручные способы, типичные ошибки и проверка результата.

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

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

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

Что такое регистрация документов в плане обмена

План обмена в 1С — это объект конфигурации, который описывает, какие данные и между какими узлами (базами) передаются. У каждого узла есть состав: перечень типов объектов — справочников, документов, регистров, — участвующих в обмене. Если вид документа не включён в состав плана обмена, платформа вообще не отслеживает его изменения для этого узла.

Регистрация изменения — это запись служебной информации о том, что конкретный объект был создан или изменён и его нужно выгрузить. Физически это записи в служебных таблицах изменений, связанных с узлом. При выгрузке механизм обмена читает эти регистрации, формирует файл или пакет сообщения, а после успешной отправки (или подтверждения приёма) снимает регистрацию.

Важно различать регистрацию и саму выгрузку. Зарегистрированный документ ещё не передан — он лишь помечен к отправке. Если обмен не выполняется или завершается с ошибкой, документы останутся зарегистрированными и будут ждать следующего сеанса обмена.

Как проверить, что документы вообще участвуют в обмене

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

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

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

Контрольные точки

Как проверить результат

Вид документа в составе плана обмена
Норма

Тип присутствует в составе плана в конфигураторе

Тревожный признак

Типа нет в составе — автоматическая регистрация невозможна

Наличие регистрации после записи документа
Норма

Документ виден в списке зарегистрированных изменений узла

Тревожный признак

Документ записан, но в изменениях его нет — смотрите настройки синхронизации

Документ в базе-приёмнике
Норма

После обмена документ появился с корректными реквизитами

Тревожный признак

Документ не пришёл или пришёл с пустыми ссылками — проблема в правилах конвертации

Автоматическая регистрация: как она работает и почему может не сработать

В штатном режиме платформа регистрирует изменения автоматически: когда пользователь записывает или проводит документ, входящий в состав плана обмена, система создаёт запись об изменении для всех узлов, где этот тип отслеживается. Настройка «Авторегистрация» в составе плана обмена управляет этим поведением — для конкретного типа её можно разрешить или запретить.

Автоматическая регистрация не сработает в нескольких типичных ситуациях. Первая — объект изменён загрузкой с отключённой регистрацией: например, при обмене данными или при выполнении обработок, где установлен параметр «ОбменДанными.Загрузка = Истина». Вторая — документ создан до настройки плана обмена: платформа не регистрирует задним числом, старые документы нужно регистрировать принудительно. Третья — авторегистрация для типа отключена в составе плана.

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

Ручная регистрация документов штатными средствами

В типовых конфигурациях ручная регистрация доступна из формы узла плана обмена. Откройте список настроенных синхронизаций (раздел «Администрирование» → «Синхронизация данных»), перейдите в нужный узел и найдите команду вида «Зарегистрировать изменения» или «Регистрация изменений для обмена». В открывшейся форме можно выбрать типы объектов и добавить конкретные документы по отбору.

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

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

Порядок действий
  1. 1
    Сделайте резервную копию обеих баз, участвующих в обмене
  2. 2
    Откройте настройку синхронизации и перейдите в нужный узел обмена
  3. 3
    Откройте «Регистрация изменений для обмена данными»
  4. 4
    Выберите тип «Документы» и задайте отбор: период, организация, вид документа
  5. 5
    Выполните регистрацию и проверьте количество зарегистрированных объектов
  6. 6
    Запустите обмен и убедитесь, что документы появились в базе-приёмнике

Регистрация документов программно

Когда штатных средств недостаточно — например, нужно зарегистрировать документы по сложному условию из собственной обработки — используется метод встроенного языка. Базовый вызов выглядит так:

Узел = ПланыОбмена.СинхронизацияДанных.НайтиПоКоду("002");

МассивДанных = Новый Массив;

МассивДанных.Добавить(ДокументСсылка);

ПланыОбмена.ЗарегистрироватьИзменения(Узел, МассивДанных);

Вместо конкретной ссылки можно передать тип метаданных — тогда будут зарегистрированы все существующие объекты этого типа: ПланыОбмена.ЗарегистрироватьИзменения(Узел, Метаданные.Документы.РеализацияТоваровУслуг). Этот приём применяют при первичной выгрузке данных в новый узел, но на больших базах он создаёт огромный объём регистраций — выполняйте его в монопольном или малонагруженном режиме.

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

Типичные ошибки и ограничения

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

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

Третья группа проблем связана с ожиданиями от результата: регистрация не гарантирует загрузку. Документ может быть отклонён правилами конвертации, не пройти проверку заполнения в приёмнике или попасть в ошибки при проведении. Контролируйте не только факт регистрации, но и журнал ошибок синхронизации после обмена.

Типичные ошибки
01
Регистрация документов без связанных справочников — в приёмнике появляются битые ссылки или документы отклоняются
02
Регистрация в неправильном узле плана обмена — данные уходят не туда или никуда
03
Массовая регистрация всех документов за всю историю — гигантское сообщение обмена и длительная блокировка синхронизации
04
Ожидание, что регистрация равна загрузке — правила конвертации могут отсечь документ, и об этом узнают только из журнала ошибок
05
Работа без резервной копии — невозможность откатить ошибочную массовую регистрацию

Как проверить результат и что делать при расхождениях

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

Если документы зарегистрированы, но в приёмнике их нет, двигайтесь по цепочке: сообщение обмена сформировано → файл передан → данные загружены → документы проведены. Сбой на каждом этапе имеет свои причины: права доступа, правила конвертации, заполненность обязательных реквизитов, дата запрета изменения данных в приёмнике.

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

Маршрут решения

Как выбрать действие

Документы созданы до настройки обмена или загружены обработкойЗарегистрируйте их вручную через обработку регистрации изменений с отбором по периоду
Документ регистрируется, но не появляется в приёмникеПроверяйте правила конвертации, настройки синхронизации и журнал ошибок, а не регистрацию
Нужно отправить данные в новый узел впервыеИспользуйте штатное начальное заполнение узла или регистрацию по типу метаданных в малонагруженное время
Зарегистрированы лишние документыСнимите регистрацию методом УдалитьРегистрациюИзменений до выполнения обмена

Частые вопросы

Можно ли зарегистрировать для обмена только один конкретный документ?

Да. В обработке «Регистрация изменений для обмена данными» выберите тип документа и добавьте конкретную ссылку, либо используйте программный вызов ПланыОбмена.ЗарегистрироватьИзменения() с массивом из одной ссылки. Это безопаснее массовой регистрации, так как затрагивает минимум данных.

Почему документ проведён, но в обмен не уходит?

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

Что произойдёт, если зарегистрировать документ повторно?

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

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

Используйте обработку «Регистрация изменений для обмена данными»: выберите тип документа, задайте отбор по дате и выполните регистрацию. Программно это делается запросом по журналу документов с последующей регистрацией массива ссылок. На больших объёмах выполняйте операцию порциями.

Опасна ли ручная регистрация для целостности базы?

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

Нужно ли регистрировать документы при обмене через универсальный формат (EnterpriseData)?

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

Итог

Что важно запомнить

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