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

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

Правила регистрации в 1С: назначение, настройка и проверка

Что такое правила регистрации в 1С, как они работают в планах обмена, какие события и отборы задают, как настроить и проверить регистрацию объектов.

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

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

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

Где хранятся и как устроены правила регистрации

Физически правила регистрации хранятся как файл XML, который подключается к плану обмена. В типовых конфигурациях правила обычно встроены в конфигурацию и загружаются автоматически при создании узла обмена. В самописных или доработанных обменах правила создаются в специальной конфигурации «Конвертация данных» редакции 2 или 3 и затем загружаются в настройку синхронизации.

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

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

События, на которых срабатывают правила

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

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

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

Отборы и условия: как ограничить регистрацию

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

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

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

bsl
Если Объект.ОбменДанными.Загрузка Тогда
    Отказ = Истина; // не регистрируем объект, загруженный обменом
    Возврат;
КонецЕсли;
Если Объект.Дата < Параметры.ДатаНачалаВыгрузки Тогда
    Отказ = Истина; // документ раньше даты начала синхронизации
КонецЕсли;

Как настроить правила регистрации на практике

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

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

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

Как проверить, что правила работают правильно

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

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

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

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

Список изменений после записи тестового объекта
Норма

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

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

Объект не зарегистрирован — проверяйте условия правила

Список изменений после успешной выгрузки
Норма

Список пуст или содержит только новые изменения

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

Старые записи остаются — выгрузка не подтверждена узлом

Объект, не подпадающий под отбор
Норма

Регистрация отсутствует

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

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

Типичные ошибки и риски

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

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

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

Часто задаваемые вопросы

Чем правила регистрации отличаются от правил конвертации данных?

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

Почему документ не попадает в обмен, хотя синхронизация работает?

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

Что происходит с регистрацией после успешной выгрузки?

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

Можно ли настроить правила регистрации без Конвертации данных?

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

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

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

Итог

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

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