Администрирование · 10 мин
Где в 1С хранятся объекты для обмена данными
Где в 1С хранятся объекты для обмена: планы обмена, регистрация изменений, узлы, таблицы регистрации. Как найти, проверить и очистить зарегистрированные изменения.
Когда в 1С настроен обмен данными между базами — например, между «Управлением торговлей» и «Бухгалтерией» или с интернет-магазином — система должна знать, какие объекты изменились и что нужно отправить в другую базу. Эта информация не хранится в одном файле или одной папке: она распределена между планами обмена, таблицами регистрации изменений и служебными регистрами внутри базы данных.
Понимание того, где физически и логически хранятся зарегистрированные для обмена объекты, нужно в трёх типичных ситуациях: когда обмен «завис» и данные не уходят, когда база раздулась из-за накопленных регистраций, и когда нужно вручную повторно выгрузить конкретный документ или справочник. Ниже разберём механизм хранения на уровне конфигурации и на уровне СУБД.
Как устроен механизм регистрации изменений
Основа обмена в 1С — план обмена. Это объект конфигурации, который описывает состав данных, участвующих в обмене, и список узлов — корреспондентов, с которыми ведётся обмен. Каждый узел — это отдельная база-приёмник: центральная, периферийная, сайт, мобильное приложение.
Для каждого узла план обмена ведёт таблицу регистрации изменений. Когда пользователь записывает документ, элемент справочника или набор записей регистра, платформа автоматически проверяет: входит ли этот тип данных в состав плана обмена. Если входит, в таблицу регистрации добавляется запись «такой-то объект изменён для такого-то узла». Сам объект при этом не копируется — регистрируется только ссылка на него.
При выгрузке 1С читает таблицу регистрации, формирует сообщение обмена (обычно XML-файл) с данными объектов и после успешной отправки удаляет записи регистрации. Поэтому в штатном режиме таблицы регистрации почти пустые: они наполняются между сеансами обмена и очищаются после него.
Где посмотреть зарегистрированные объекты в интерфейсе
Самый простой способ увидеть, какие объекты ожидают выгрузки, — открыть настройку синхронизации. В типовых конфигурациях путь примерно такой: «Администрирование» → «Синхронизация данных» → выбрать нужную настройку. В форме настройки или в форме узла есть команда «Зарегистрированные изменения» (иногда «Показать зарегистрированные изменения»), которая открывает список объектов, ожидающих отправки.
Универсальный путь, работающий почти в любой конфигурации: открыть «Все функции» (через главное меню или Shift+Ctrl+F в режиме предприятия, если команда доступна), раскрыть ветку «Планы обмена», выбрать нужный план и узел. В форме узла доступны действия по регистрации и просмотру изменений.
Ещё один вариант — обработки «Регистрация изменений для обмена данными» или «Панель администрирования обмена», которые есть в составе Библиотеки стандартных подсистем. Они показывают количество зарегистрированных объектов по типам и позволяют выборочно регистрировать или снимать с регистрации.
- 1Откройте «Администрирование» → «Синхронизация данных» и выберите нужную настройку обмена.
- 2Найдите команду «Зарегистрированные изменения» в форме настройки или узла.
- 3Если команды нет — откройте «Все функции» → «Планы обмена» → нужный узел.
- 4Проверьте количество объектов по типам: документы, справочники, регистры.
- 5Сравните с ожиданиями: если выгрузка прошла успешно, список должен быть пустым или маленьким.
Где данные хранятся на уровне базы данных
На уровне СУБД регистрация изменений хранится в служебных таблицах, которые платформа создаёт автоматически для каждого объекта метаданных, включённого в состав плана обмена. В терминах SQL Server или PostgreSQL это таблицы вида «таблица объекта + суффикс регистрации изменений» по каждому плану обмена. В файловой базе те же данные находятся внутри файла 1Cv8.1CD.
Каждая запись в такой таблице содержит ссылку на объект, ссылку на узел и номер сообщения, в котором изменение было выгружено (если уже отправлено). Именно поэтому удаление самого плана обмена или узла из конфигурации — разрушительная операция: вместе с ними удаляются и таблицы регистрации.
Напрямую работать с этими таблицами средствами SQL не рекомендуется: платформа кэширует структуру, и ручные изменения могут привести к нарушению целостности. Для диагностики достаточно запроса количества записей, но любую чистку выполняйте штатными средствами 1С.
Номера сообщений и состояние синхронизации
Кроме таблиц регистрации, состояние обмена хранится в самом узле плана обмена: это реквизиты «Номер отправленного» и «Номер принятого». Они работают как счётчики квитанций: отправляющая база нумерует сообщения, принимающая подтверждает номер последнего успешно загруженного.
Если номера расходятся — например, база-корреспондент была восстановлена из старой копии — обмен начинает «терять» данные или, наоборот, отправлять всё заново. Признак проблемы: изменения регистрируются, выгрузка проходит без ошибок, но в приёмнике данные не появляются. Лечится это либо сбросом номеров сообщений в узле, либо повторной полной регистрацией данных.
Посмотреть и при необходимости скорректировать номера можно в форме узла плана обмена. В типовых конфигурациях есть также команда «Изменить номера сообщений» в настройках синхронизации.
Как проверить результат
Пустой или содержит только свежие изменения
Тысячи старых записей, которые не уменьшаются от обмена к обмену
Номер принятого растёт после каждой загрузки
Номера не меняются или сброшены при активном обмене
Новые документы и справочники видны после загрузки
Выгрузка проходит, но в приёмнике пусто
Почему накапливаются записи регистрации и что с этим делать
Типовая проблема: база «пухнет», обмен замедляется, а в таблицах регистрации — сотни тысяч записей. Причины обычно такие: узел создан, но обмен с ним фактически не выполняется; обмен падает с ошибкой до момента удаления регистрации; в состав плана обмена включены лишние объекты, которые изменяются массово (например, регистры сведений с частыми записями).
Диагностика начинается с просмотра количества зарегистрированных изменений по узлам. Если по «мёртвому» узлу накопились миллионы записей, и обмен с ним больше не нужен, узел можно удалить — регистрация по нему очистится автоматически. Если узел рабочий, но данных слишком много, выполните полный обмен с выгрузкой всех зарегистрированных изменений, а затем проверьте, очистились ли таблицы.
Программно регистрацию контролируют методы ПланыОбмена.ЗарегистрироватьИзменения(), ПланыОбмена.УдалитьРегистрациюИзменений() и ПланыОбмена.ВыбратьИзменения(). Это стандартный способ для обработок повторной выгрузки отдельных объектов.
// Удалить регистрацию изменений по узлу для конкретного объекта
Узел = ПланыОбмена.ОбменССайтом.НайтиПоКоду("000000002");
ПланыОбмена.УдалитьРегистрациюИзменений(Узел, ДокументСсылка);
// Или по всем данным узла (осторожно!)
ПланыОбмена.УдалитьРегистрациюИзменений(Узел);Как повторно выгрузить конкретный объект
Если документ или элемент справочника не попал в приёмник, его можно зарегистрировать для обмена вручную. В типовых конфигурациях в форме объекта или в списке есть команда «Зарегистрировать для обмена» (через «Ещё»), либо используется обработка регистрации изменений, где объект добавляется в список выборочно.
После регистрации выполните обычный сеанс обмена — объект уйдёт в ближайшем сообщении. Проверить результат можно двумя способами: запись регистрации исчезла из списка зарегистрированных, и объект появился (или обновился) в базе-приёмнике.
Для массовых случаев — например, после изменения правил обмена — используйте повторную регистрацию по отбору: по типу данных, по периоду, по организации. Не регистрируйте «всё подряд», если можно ограничить выборку: это напрямую влияет на размер сообщения и время обмена.
Как выбрать действие
Частые вопросы
Хранятся ли объекты для обмена в отдельных файлах на диске?
Нет. Регистрация изменений хранится внутри базы данных — в служебных таблицах. Файлы появляются только в момент обмена: это сообщения обмена (XML или формат EnterpriseData) в каталоге обмена или во временном хранилище, и после загрузки они обычно удаляются.
Можно ли посмотреть зарегистрированные изменения без прав администратора?
Зависит от конфигурации. В типовых решениях для просмотра настроек синхронизации и зарегистрированных изменений обычно нужны права настройки синхронизации или административные права. Обычному пользователю доступен только факт отправки конкретного документа, если такая информация выведена в его форму.
Что будет, если удалить план обмена из конфигурации?
При обновлении конфигурации платформа удалит связанные таблицы регистрации изменений вместе с данными узлов. Вся история регистрации и номера сообщений будут потеряны, обмен придётся настраивать заново, включая начальную выгрузку данных.
Почему после обмена регистрация не очищается?
Чаще всего сообщение было сформировано, но не подтверждено приёмником: обмен прервался, файл не был загружен на той стороне или произошла ошибка загрузки. Платформа удаляет регистрацию только после подтверждения приёма. Проверьте журнал регистрации и протокол обмена на ошибки.
Как узнать, какие объекты входят в состав плана обмена?
В конфигураторе откройте план обмена и посмотрите свойство «Состав»: там перечислены все типы объектов, для которых ведётся регистрация. В режиме предприятия состав виден косвенно — по списку типов данных в обработке регистрации изменений.
Влияет ли большой объём регистрации на скорость работы базы?
Да. Каждая запись документа вызывает проверку и вставку в таблицы регистрации по всем узлам. При миллионах накопленных записей замедляются и запись объектов, и сам обмен. Регулярная очистка неиспользуемых узлов — рабочая мера профилактики.
Что важно запомнить
Объекты для обмена хранятся как записи регистрации изменений в таблицах, привязанных к планам обмена и узлам, внутри самой базы 1С. Управлять ими нужно штатными средствами: просмотр зарегистрированных изменений, повторная регистрация, удаление регистрации и контроль номеров сообщений. Прямое вмешательство в таблицы СУБД недопустимо, а перед массовой очисткой всегда делайте резервную копию.