Администрирование · 12 мин
Правила регистрации объектов 1С: назначение, настройка и проверка
Что такое правила регистрации объектов в 1С, как они работают в планах обмена, как настроить отбор объектов и избежать типичных ошибок при синхронизации.
Правила регистрации объектов — это механизм платформы 1С:Предприятие, который определяет, какие изменения данных фиксируются для последующей передачи через план обмена. Когда пользователь записывает документ, элемент справочника или набор записей регистра, система проверяет правила регистрации и решает, нужно ли пометить этот объект как изменённый для конкретного узла обмена.
Без регистрации изменений обмен данными был бы невозможен в привычном виде: пришлось бы каждый раз выгружать всю базу целиком. Регистрация позволяет передавать только то, что реально изменилось с момента последней синхронизации, что снижает нагрузку на сеть, ускоряет обмен и уменьшает риск конфликтов.
Механизм особенно важен в распределённых информационных базах, при синхронизации между конфигурациями (например, «Управление торговлей» и «Бухгалтерия предприятия») и при интеграции с внешними системами через универсальные форматы обмена. Понимание того, как работают правила регистрации, помогает настраивать обмены осознанно, а не методом проб и ошибок.
Где в 1С применяется регистрация объектов
Регистрация изменений встроена в план обмена — специальный объект конфигурации, который описывает структуру узлов обмена. Каждый узел соответствует одной информационной базе-участнице обмена. Когда объект записывается, платформа проверяет состав плана обмена и правила регистрации, а затем создаёт записи регистрации изменений для тех узлов, которым объект должен быть отправлен.
На практике механизм работает в трёх типовых сценариях. Первый — распределённые информационные базы (РИБ), где центральный и периферийные узлы обмениваются данными по строгой иерархии. Второй — синхронизация между разными конфигурациями через универсальный формат EnterpriseData. Третий — ручная или программная регистрация отдельных объектов для разовой выгрузки, например при первичном заполнении нового узла.
Из чего состоит правило регистрации
Правило регистрации объектов (ПРО) включает два обязательных компонента: список объектов метаданных и условия отбора. Список определяет, какие виды данных участвуют в обмене — конкретные справочники, документы, регистры сведений. Условия отбора сужают этот список: например, выгружать документы только по определённой организации или справочники только из заданной папки.
В типовых конфигурациях правила регистрации обычно поставляются в готовом виде и хранятся как XML-файлы внутри макетов или задаются программно в модулях планов обмена. При создании собственного плана обмена правила можно описать в конфигураторе на закладке «Прочее» — «Правила регистрации объектов», где доступен визуальный редактор отборов.
Отдельно стоит упомянуть режимы регистрации. Для каждого объекта метаданных можно указать: регистрировать всегда, регистрировать при условии отбора или не регистрировать вовсе. Также существует признак «Авторегистрация» в составе плана обмена — если он включён, платформа регистрирует все изменения автоматически без проверки дополнительных условий, что удобно для простых обменов, но опасно избыточным трафиком в больших базах.
Способы регистрации объектов
Платформа регистрирует все изменения состава плана автоматически. Подходит для простых обменов без отборов, но при больших объёмах создаёт лишний трафик.
Объект регистрируется только при выполнении условий. Оптимально для синхронизации по организациям, подразделениям, датам. Требует аккуратной настройки.
Разработчик вызывает методы ПланыОбмена.ЗарегистрироватьИзменения() в нужных местах кода. Даёт полный контроль, но ответственность за полноту регистрации ложится на код.
Как настроить правила регистрации в типовой конфигурации
В типовых решениях на базе БСП (библиотеки стандартных подсистем) настройка выполняется через интерфейс синхронизации данных, без входа в конфигуратор. Администратор создаёт настройку синхронизации, выбирает программу-корреспондента и на этапе параметров подключения задаёт правила отправки данных: дату начала использования, отборы по организациям, режимы выгрузки справочников.
Эти пользовательские настройки поверх типовых правил регистрации работают как дополнительный фильтр: сначала срабатывают правила конфигурации, затем применяются отборы, заданные в настройке синхронизации. Поэтому если объект не уходит в другую базу, проверять нужно оба уровня — и правило регистрации, и настройку синхронизации.
- 1Откройте раздел «Администрирование» — «Синхронизация данных» и включите использование синхронизации.
- 2Создайте новую настройку синхронизации и укажите тип программы-корреспондента.
- 3Задайте параметры подключения (каталог, файл, прямое подключение) и выполните проверку связи.
- 4На этапе настройки правил отправки данных укажите дату начала и отборы по организациям или другим измерениям.
- 5Выполните сопоставление объектов и первую выгрузку, затем проверьте состав отправленных данных в отчёте о синхронизации.
Как проверить, какие объекты зарегистрированы к обмену
Диагностика начинается с просмотра зарегистрированных изменений. В типовых конфигурациях есть команда «Зарегистрированные изменения» или обработка «Регистрация изменений для обмена данными», которая показывает список объектов, ожидающих выгрузки по каждому узлу. Если объекта в списке нет, хотя он изменялся, — правило регистрации его отсекло.
Программно состав регистрации проверяется методом ПланыОбмена.ВыбратьИзменения() с указанием узла и номера сообщения. Этим же способом пользуются при написании собственных обработок выгрузки. Для разовой принудительной отправки объекта применяется обратное действие — ручная регистрация через обработку или метод ЗарегистрироватьИзменения().
Как проверить результат настройки
В списке только те объекты, которые соответствуют отборам
Регистрируются все объекты подряд или, наоборот, список пуст при наличии изменений
После успешной отправки регистрация по объектам снимается
Объекты остаются зарегистрированными и выгружаются повторно
Объекты появляются в другой базе с корректными ссылками
Объекты теряются, появляются дубли или битые ссылки
Типичные проблемы и ограничения механизма
Самая частая жалоба — «документ не уходит в другую базу». Причины почти всегда одни и те же: объект не проходит отбор правила регистрации, организация документа не входит в настройку синхронизации, дата документа раньше даты начала использования обмена, либо объект был изменён до создания узла и никогда не регистрировался. В последнем случае помогает повторная регистрация нужных данных вручную.
Обратная проблема — избыточная регистрация. Если включена авторегистрация и не заданы отборы, в обмен уходит всё подряд: служебные документы, тестовые элементы, данные других организаций. Это раздувает сообщения обмена, замедляет синхронизацию и повышает вероятность конфликтов при двустороннем обмене.
Важное ограничение: правила регистрации влияют только на отправку, но не на приём. Даже если объект не регистрируется для отправки, он может прийти из другой базы и записаться локально. Для фильтрации входящих данных используются правила конвертации и обработчики при загрузке, а не правила регистрации.
Ручная и программная регистрация объектов
Ручная регистрация нужна в двух ситуациях: первичное заполнение нового узла и принудительная отправка объектов, которые по какой-то причине не зарегистрировались. В типовых конфигурациях для этого служит обработка «Регистрация изменений для обмена данными»: в ней выбирается узел, состав объектов и выполняется команда регистрации. Есть и обратная операция — отмена регистрации, если данные отправлять не нужно.
В собственных разработках используется объектная модель планов обмена. Типовой приём — зарегистрировать конкретный объект для конкретного узла перед выгрузкой или, наоборот, удалить регистрацию после успешной обработки сообщения.
// Регистрация одного объекта для узла
Узел = ПланыОбмена.СинхронизацияДанных.НайтиПоКоду("002");
ПланыОбмена.ЗарегистрироватьИзменения(Узел, ДокументСсылка);
// Удаление регистрации после обработки
ПланыОбмена.УдалитьРегистрациюИзменений(Узел, НомерСообщения);При массовой регистрации учитывайте объём: регистрация сотен тысяч объектов выполняется долго и блокирует таблицы изменений. Такие операции безопаснее выполнять в монопольном режиме или в период минимальной нагрузки, порциями, с контролем журнала регистрации.
Как выбрать действие
Отличия регистрации в РИБ и в синхронизации через универсальный формат
В распределённых базах регистрация жёстко привязана к иерархии узлов: периферийная база обменивается только со своим центральным узлом, состав объектов определяется конфигурацией и одинаков везде, так как конфигурации идентичны. Изменение состава плана обмена РИБ требует обновления конфигурации всех узлов, иначе обмен сломается.
При синхронизации через универсальный формат EnterpriseData правила регистрации работают в паре с правилами конвертации: регистрация решает, что отправить, конвертация — как преобразовать объект в формат приёмника. Здесь базы могут иметь разные конфигурации, поэтому отборы регистрации настраиваются гибче, а ошибки чаще возникают на стыке регистрации и конвертации — объект зарегистрировался, но не прошёл правило конвертации и в сообщение не попал.
Часто задаваемые вопросы
Чем регистрация изменений отличается от версионирования объектов?
Регистрация изменений хранит только факт изменения объекта для целей обмена — ссылку и узел, которому объект нужно отправить. История значений при этом не сохраняется. Версионирование, наоборот, сохраняет содержимое объекта на момент каждого изменения, но никак не связано с обменом данными.
Почему после изменения правил регистрации старые документы не выгружаются?
Правила срабатывают в момент записи объекта. Документы, изменённые до правки правил, уже не будут перепроверяться автоматически. Их нужно зарегистрировать принудительно — обработкой регистрации изменений или повторным проведением.
Можно ли настроить регистрацию только новых документов, без изменённых?
Штатными отборами правил регистрации разделить новые и изменённые объекты нельзя — регистрируется сам факт записи. Такую логику реализуют программно: в подписке на событие при записи проверяют признак нового объекта и вызывают регистрацию только для него.
Что произойдёт, если удалить узел плана обмена?
Все зарегистрированные для этого узла изменения будут удалены вместе с ним. Если узел создать заново, база-корреспондент не получит накопленные ранее изменения — потребуется первичная регистрация и полная выгрузка данных.
Влияет ли регистрация изменений на производительность базы?
Да, умеренно: при каждой записи объекта платформа выполняет дополнительные вставки в таблицы регистрации. На базах с интенсивной записью и множеством узлов обмена это заметно, поэтому лишние узлы и избыточную авторегистрацию рекомендуется отключать.
Как выгрузить данные, если обмен ещё ни разу не выполнялся?
Используйте обработку регистрации изменений: выберите узел, отметьте нужные виды объектов (или конкретные элементы) и зарегистрируйте их. После этого выполните штатную выгрузку — в сообщение попадут все зарегистрированные данные.
Что важно запомнить
Правила регистрации объектов определяют, какие изменения план обмена зафиксирует для отправки в другой узел. Они работают только на отправку, срабатывают в момент записи объекта и требуют повторной регистрации данных после изменения отборов. Контролируйте состав зарегистрированных изменений штатными обработками и не удаляйте записи регистрации без резервной копии.