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