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