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

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

Как удалить план обмена в 1С

Как удалить план обмена в 1С: пометка на удаление, очистка регистрации изменений, работа с узлами РИБ и типичные ошибки. Подробная инструкция с проверкой результата.

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

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

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

Что именно вы собираетесь удалить

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

Чаще всего требуется первый или второй вариант: обмен с конкретной базой прекращён, и узел нужно убрать. Удаление типового плана обмена из конфигурации (например, «ОбменУправлениеТорговлейБухгалтерия») при работающей поддержке конфигурации — плохая идея: при обновлении конфигурации объект вернётся, а снятие с поддержки усложнит все последующие обновления.

Подготовка: резервная копия и остановка обмена

Прежде чем что-либо удалять, убедитесь, что обмен по этому плану действительно не выполняется. Отключите регламентные задания синхронизации данных: «Администрирование» → «Обслуживание» → «Регламентные и фоновые задания», найдите задания вида «Синхронизация данных» и снимите флаг использования. Если обмен выполнялся вручную или через внешние обработки — убедитесь, что никто из пользователей не запустит его во время вашей работы.

Сделайте выгрузку базы через конфигуратор («Администрирование» → «Выгрузить информационную базу») или штатную копию средствами СУБД, если база клиент-серверная. Для файловой базы достаточно выгрузки в .dt, но файл должен быть реально сохранён и проверен — откройте его на тестовой копии, если объём позволяет.

Удаление регистрации изменений

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

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

Программный способ — через встроенный язык, если штатной команды нет или нужно очистить сразу несколько узлов. Метод ПланыОбмена.УдалитьРегистрациюИзменений(Узел) снимает регистрацию полностью.

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

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

Удаление узлов плана обмена

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

Затем выполните «Администрирование» → «Обслуживание» → «Удаление помеченных объектов». Выберите режим удаления помеченных и дождитесь завершения. Если узел не удаляется, система покажет список объектов, которые на него ссылаются — чаще всего это настройки синхронизации или сценарии обмена, которые нужно сначала пометить на удаление тоже.

Порядок действий
  1. 1
    Сделайте резервную копию базы и отключите регламентные задания синхронизации
  2. 2
    Откройте узел плана обмена и выполните «Удалить регистрацию изменений»
  3. 3
    Пометьте узел на удаление в списке плана обмена
  4. 4
    Пометьте на удаление связанные настройки синхронизации, если они есть
  5. 5
    Запустите «Удаление помеченных объектов» и проверьте, что узлы удалены

Особенности для распределённой базы (РИБ)

Если план обмена используется для РИБ (с признаком «Распределённая информационная база»), удалять узлы в работающей связке нельзя: подчинённая база привязана к главному узлу, и удаление главного узла в центральной базе разрушит механизм. Перед удалением подчинённую базу нужно отключить от распределённой — либо она выводится из состава РИБ, либо преобразуется в обычную базу.

Если подчинённая база уже потеряна или не нужна, порядок такой: в центральной базе очистите регистрацию изменений по узлу этой периферийной базы, затем пометьте узел на удаление и удалите помеченные объекты. Саму бывшую подчинённую базу можно преобразовать в независимую через конфигуратор: «Администрирование» → «Распределённая информационная база» → установка главного узла в «Неопределено» — либо просто прекратить её использование.

Удаление плана обмена из конфигурации

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

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

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

Проверка результата и очистка следов

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

В больших базах после массовой очистки регистрации имеет смысл выполнить «Тестирование и исправление» с реструктуризацией или сжатие таблиц средствами СУБД — физический размер базы от удаления регистрации уменьшается не сразу.

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

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

Список узлов плана обмена
Норма

Удалённые узлы отсутствуют, помеченных объектов нет

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

Узлы видны с пометкой удаления — не выполнено «Удаление помеченных объектов»

Регламентные задания синхронизации
Норма

Задания отключены или удалены, в журнале нет ошибок

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

Задания активны и завершаются с ошибкой «узел не найден»

Регистрация изменений
Норма

Для удалённого узла регистрации нет

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

Регистрация осталась — узел был удалён с нарушением порядка

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

Почему 1С не даёт удалить узел плана обмена?

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

Можно ли удалить узел «Эта информационная база»?

Нет, это предопределённый узел, описывающий текущую базу. Он нужен платформе для работы механизма обмена. Удалять следует только узлы других баз-участниц обмена.

Что будет со второй базой, если удалить узел в первой?

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

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

Удалите все его узлы в пользовательском режиме, затем в конфигураторе удалите объект метаданных из ветки «Планы обмена» и обновите конфигурацию базы данных. Убедитесь, что на план обмена не ссылаются подсистемы, общие модули или роли.

Освободится ли место в базе после удаления регистрации изменений?

Логически данные удаляются сразу, но физический размер файла базы или таблиц СУБД может не уменьшиться. Для файловой базы выполните тестирование и исправление с реструктуризацией, для клиент-серверной — штатные процедуры сжатия таблиц средствами СУБД.

Можно ли восстановить удалённый узел?

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

Итог

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

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