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

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

Как зарегистрировать объекты на обмен в 1С

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

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

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

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

Что такое регистрация изменений и когда она нужна

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

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

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

Как зарегистрировать объекты через обработку «Регистрация изменений»

Самый удобный способ для администратора — типовая обработка «Регистрация изменений для обмена данными». В конфигурациях на БСП она доступна из раздела администрирования, в разделе настроек синхронизации данных. В некоторых конфигурациях её можно открыть через «Все функции» → «Обработки».

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

В обработке доступно несколько вариантов добавления объектов. Можно зарегистрировать один конкретный документ, выбрав его из списка. Можно использовать отбор — например, все документы «Реализация товаров и услуг» за определённый период по конкретной организации. Наконец, можно зарегистрировать все объекты выбранного типа, что удобно при первоначальном заполнении пустой базы справочниками.

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

Регистрация через план обмена и команду «Зарегистрировать изменения»

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

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

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

Программная регистрация изменений

Для разработчиков и регламентных сценариев платформа предоставляет методы объекта «ПланыОбменаМенеджер». Основной метод — ЗарегистрироватьИзменения, который принимает ссылку на узел и объект, массив объектов или тип метаданных. Это позволяет регистрировать данные из собственных обработок, регламентных заданий и расширений.

bsl
Узел = ПланыОбмена.ОбменСБухгалтерией.НайтиПоКоду("БП");
ПланыОбмена.ЗарегистрироватьИзменения(Узел, ДокументСсылка);
// Регистрация всех документов одного вида:
ПланыОбмена.ЗарегистрироватьИзменения(Узел, Метаданные.Документы.РеализацияТоваровУслуг);

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

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

Как проверить, что регистрация прошла успешно

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

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

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

Запись регистрации
Норма

Объект виден в форме состава отправляемых данных для узла

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

Объект отсутствует в списке зарегистрированных

Выгрузка
Норма

Сообщение обмена сформировано, номер отправленного сообщения увеличился

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

Выгрузка завершается ошибкой или сообщение пустое

Загрузка в приёмнике
Норма

Объект появился в связанной базе с актуальными данными

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

Объект не появился или в журнале регистрации ошибки загрузки

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

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

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

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

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

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

Зарегистрированный объект не выгружается. Что проверить в первую очередь?

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

Чем регистрация отличается от выгрузки объекта?

Регистрация — это отметка о том, что объект нужно передать. Выгрузка — фактическое формирование сообщения обмена и его отправка. Объект может быть зарегистрирован, но выгружен только при следующем сеансе обмена.

Можно ли зарегистрировать объект, который не входит в состав плана обмена?

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

Как отменить ошибочную регистрацию?

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

Нужно ли регистрировать объекты при каждом изменении вручную?

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

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

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

Итог

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

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