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

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

Где в 1С хранятся объекты для обмена данными

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

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

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

Как устроен механизм регистрации изменений

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

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

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

Где посмотреть зарегистрированные объекты в интерфейсе

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

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

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

Как найти зарегистрированные объекты
  1. 1
    Откройте «Администрирование» → «Синхронизация данных» и выберите нужную настройку обмена.
  2. 2
    Найдите команду «Зарегистрированные изменения» в форме настройки или узла.
  3. 3
    Если команды нет — откройте «Все функции» → «Планы обмена» → нужный узел.
  4. 4
    Проверьте количество объектов по типам: документы, справочники, регистры.
  5. 5
    Сравните с ожиданиями: если выгрузка прошла успешно, список должен быть пустым или маленьким.

Где данные хранятся на уровне базы данных

На уровне СУБД регистрация изменений хранится в служебных таблицах, которые платформа создаёт автоматически для каждого объекта метаданных, включённого в состав плана обмена. В терминах SQL Server или PostgreSQL это таблицы вида «таблица объекта + суффикс регистрации изменений» по каждому плану обмена. В файловой базе те же данные находятся внутри файла 1Cv8.1CD.

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

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

Номера сообщений и состояние синхронизации

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

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

Посмотреть и при необходимости скорректировать номера можно в форме узла плана обмена. В типовых конфигурациях есть также команда «Изменить номера сообщений» в настройках синхронизации.

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

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

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

Пустой или содержит только свежие изменения

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

Тысячи старых записей, которые не уменьшаются от обмена к обмену

Номера сообщений в узле
Норма

Номер принятого растёт после каждой загрузки

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

Номера не меняются или сброшены при активном обмене

Появление данных в базе-приёмнике
Норма

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

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

Выгрузка проходит, но в приёмнике пусто

Почему накапливаются записи регистрации и что с этим делать

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

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

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

bsl
// Удалить регистрацию изменений по узлу для конкретного объекта
Узел = ПланыОбмена.ОбменССайтом.НайтиПоКоду("000000002");
ПланыОбмена.УдалитьРегистрациюИзменений(Узел, ДокументСсылка);

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

Как повторно выгрузить конкретный объект

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

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

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

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

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

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

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

Хранятся ли объекты для обмена в отдельных файлах на диске?

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

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

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

Что будет, если удалить план обмена из конфигурации?

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

Почему после обмена регистрация не очищается?

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

Как узнать, какие объекты входят в состав плана обмена?

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

Влияет ли большой объём регистрации на скорость работы базы?

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

Итог

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

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