Распределенные информационные базы (РИБ) в экосистеме 1С:Предприятие представляют собой мощный механизм для синхронизации данных между центральным узлом и удаленными филиалами. Однако в процессе администрирования часто возникает ситуация, когда необходимо разорвать эту связь. Причины могут быть самыми разными: ликвидация удаленного подразделения, переход на единую централизованную базу данных или критические ошибки синхронизации, которые невозможно исправить стандартными методами. Понимание того, как отключить РИБ, является критически важным навыком для системного администратора, так как некорректное выполнение этой процедуры может привести к потере данных или полной неработоспособности конфигурации.
Процесс отключения не сводится к простому нажатию одной кнопки в интерфейсе. Это комплексная операция, затрагивающая структуру метаданных, планы обмена и права доступа пользователей. В зависимости от того, работаете ли вы с центральным узлом или с узлом-подчиненным, алгоритм действий будет существенно различаться. Ниже мы рассмотрим детальные сценарии для обоих случаев, а также разберем технические нюансы, о которых часто умалчивают в стандартной документации.
Подготовка к отключению распределенной базы
Перед тем как приступить к активным действиям по разрыву связи, необходимо провести тщательную подготовку. Игнорирование этого этапа чревато тем, что в базе останутся «хвосты» — незавершенные сообщения обмена, которые будут блокировать работу или вызывать постоянные ошибки при запуске. Первым шагом всегда должно быть создание полной резервной копии информационной базы. Это аксиома администрирования, которую нельзя нарушать ни при каких обстоятельствах.
Второй важный этап — анализ текущей активности пользователей. Убедитесь, что в момент проведения работ ни один сотрудник не работает в отключаемой базе. Если речь идет о центральном узле, необходимо временно запретить вход всем пользователям, кроме администратора. Для этого можно использовать режим предприятия 1С:Предприятие (Конфигуратор) или утилиту управления сервером 1С. Также рекомендуется проверить журнал регистрации на наличие ошибок обмена за последние сутки.
⚠️ Внимание: Перед началом работ обязательно убедитесь, что все сеансы пользователей завершены. Принудительное отключение активных сеансов во время выполнения скриптов отключения РИБ может привести к повреждению таблиц регистра сведений и блокировкам на уровне СУБД.
Третьим пунктом подготовки является документирование текущей структуры распределенной базы. Вам нужно четко понимать, какой узел является центральным, а какие — подчиненными. Запишите имена узлов в плане обмена, так как эта информация понадобится для ручной чистки метаданных, если автоматические средства не сработают корректно. Использование внешних инструментов, таких как 1C:Configurator, в этом случае предпочтительнее режима предприятия.
Перед отключением РИБ выполните полную синхронизацию всех узлов. Это гарантирует, что все последние изменения будут сохранены в центральном узле перед разрывом связи, минимизируя риски потери данных.
Отключение узла из центрального узла РИБ
Если ваша задача заключается в том, чтобы убрать filiale или удаленный офис из общей сети, работая непосредственно в центральной базе, процедура выполняется через интерфейс конфигуратора. Этот метод является наиболее безопасным, так как система сама корректно обработает удаление ссылок на узел. Откройте базу в режиме Конфигуратор под пользователем с полными правами.
В дереве метаданных найдите ветку Планы обмена. Обычно план обмена для РИБ имеет стандартное имя, например, ПланОбмена.Основной или ПланОбмена.РаспределеннаяБазаДанных. Раскройте этот элемент и перейдите в подраздел Узлы планов обмена. Здесь вы увидите список всех подключенных узлов. Найдите тот, который необходимо отключить. Выделение нужного узла и нажатие клавиши Delete инициирует процесс удаления.
Система запросит подтверждение действия. Важно понимать, что удаление узла из плана обмена в конфигураторе не удаляет физически данные, которые были переданы этим узлом, но разрывает логическую связь. После удаления узла необходимо обновить конфигурацию базы данных. Для этого нажмите Администрирование → Обновить конфигурацию базы данных. Этот шаг критически важен, так как без него изменения в метаданных не вступят в силу, и механизм РИБ продолжит пытаться работать с несуществующим узлом.
☑️ Проверка отключения узла
В некоторых случаях, особенно в старых версиях платформ 1С 8.2 или 8.3 ранних релизов, простого удаления узла может быть недостаточно. Может потребоваться дополнительная очистка регистров сведений, хранящих состояния обмена. Для этого можно использовать обработку Удаление помеченных объектов, предварительно пометив на удаление связанные документы обмена, если они остались в базе в статусе «К отправке».
Преобразование узла РИБ в обычную базу данных
Часто возникает обратная ситуация: необходимо превратить бывший подчиненный узел (филиал) в полностью самостоятельную, обычную базу данных, которая больше не будет ни с кем синхронизироваться. Это требуется, когда филиал становится независимой юридической единицей или переходит на автономную работу. Процесс этот необратим, поэтому требует особой осторожности.
Для выполнения этой операции также потребуется режим Конфигуратор. Зайдите в меню Администрирование и выберите пункт Преобразовать в обычную информационную базу (в некоторых версиях платформы этот пункт может называться «Отключить распределенную информационную базу»). Система предупредит вас о том, что после выполнения этой операции обмен данными станет невозможен, а история синхронизации будет утеряна.
После подтверждения действия платформа выполнит ряд внутренних скриптов:
- 🗑️ Полностью удалит все объекты, связанные с механизмом РИБ из конфигурации.
- 🧹 Очистит таблицы истории обмена в базе данных.
- 🔓 Снимет специальные ограничения на изменение конфигурации, характерные для узлов РИБ.
- 🔄 Пересоберет служебные таблицы системы.
Важно отметить, что после преобразования база данных перестает быть узлом. Она становится стандартной конфигурацией. Если вы попытаетесь снова подключить её как узел к старому центральному серверу без предварительной подготовки и создания нового плана обмена, возникнет конфликт версий и структур данных. Поэтому данное действие следует рассматривать как точку невозврата для конкретной копии базы.
Что происходит с данными при преобразовании?
При преобразовании узла в обычную базу все данные, находящиеся на момент отключения, сохраняются в полном объеме. Однако сообщения обмена, которые еще не были отправлены или получены, будут безвозвратно удалены, так как механизм их обработки будет демонтирован.
Ручная очистка планов обмена через запросы
В ситуациях, когда штатные средства 1С не срабатывают (например, при повреждении служебных таблиц или зависании статуса узла), администраторам приходится прибегать к ручному вмешательству через консоль запросов или внешние обработки. Этот метод требует глубокого понимания структуры системных таблиц 1С и должен применяться только опытными специалистами.
Основная работа ведется с системными таблицами, хранящими информацию о планах обмена. Ключевой таблицей является _InfoRg__ПланыОбменаУзлы (имя может отличаться в зависимости от конфигурации). Для просмотра текущих узлов можно выполнить следующий SQL-запрос (для PostgreSQL/MS SQL) или запрос на языке 1С:
ВЫБРАТЬ
ПланыОбменаУзлы.Ссылка КАК Ссылка,
ПланыОбменаУзлы.Наименование КАК Наименование,
ПланыОбменаУзлы.ЭтоЦентральныйУзел КАК ЭтоЦентральныйУзел
ИЗ
ПланОбмена.Основной.Узлы КАК ПланыОбменаУзлы
Для непосредственного удаления узла, который «завис» и не удаляется через интерфейс, можно использовать команду удаления по ссылке. Однако перед этим необходимо убедиться, что нет активных ссылок на этот узел в таблицах регистрации изменений. Очистка этих таблиц — самый рискованный этап. Рекомендуется сначала пометить узел на удаление в интерфейсе, а затем через консоль запросов выполнить команду Удалить помеченные объекты с флагом проведения по всем регистрам.
| Объект метаданных | Тип данных | Назначение | Риск при ручном удалении |
|---|---|---|---|
| ПланОбмена | Справочник | Определяет структуру обмена | Высокий (поломка конфигурации) |
| УзлыПлановОбмена | Справочник | Список участников РИБ | Средний (потеря связи) |
| РегистрСведений.СостоянияОбмена | Регистр | Хранит статус синхронизации | Низкий (можно пересоздать) |
| Документ.СообщениеОбмена | Документ | Пакеты данных для передачи | Средний (потеря данных) |
Использование прямых SQL-запросов к базе данных (минуя платформу 1С) категорически не рекомендуется без согласования с разработчиками конфигурации. Нарушение целостности ссылок между таблицами может привести к тому, что база данных перестанет запускаться. Всегда используйте встроенные механизмы платформы, такие как Консоль запросов или обработки типа «Здоровье базы данных».
Решение типовых ошибок при отключении РИБ
Процесс отключения распределенной базы редко проходит идеально гладко. Администраторы часто сталкиваются с рядом типовых ошибок, которые могут блокировать завершение процедуры. Одной из самых распространенных проблем является сообщение о том, что «Невозможно удалить узел, так как существуют зависимые объекты». Это означает, что в базе остались документы или справочники, которые ссылаются на удаляемый узел как на владельца данных.
Для решения этой проблемы необходимо найти и перепровести или удалить зависимые документы. Часто такими объектами являются документы самого плана обмена, которые находятся в статусе «К получению» или «К отправке». Очистка очереди сообщений обмена обычно решает проблему. Также стоит проверить настройки прав доступа: возможно, у вашей учетной записи недостаточно прав на удаление объектов в данном разделе метаданных.
⚠️ Внимание: Если при отключении РИБ вы получаете ошибку о нарушении целостности данных, не пытайтесь игнорировать её и продолжать работу. Это может привести к рассинхронизации остатков товаров, денежных средств и взаиморасчетов, что потребует длительного аудита и ручного исправления проводок.
Еще одна частая ошибка возникает при попытке преобразовать узел в обычную базу, когда файл конфигурации (.cf) не соответствует текущей версии базы данных. В этом случае платформа предложит сначала обновить конфигурацию. Согласитесь на обновление, но обязательно сделайте резервную копию перед этим. Если обновление не проходит, проверьте логи сервера 1С — часто причина кроется в блокировках со стороны СУБД или нехватке временного места на диске.
В случае, если база данных работает в файловом варианте, а не клиент-серверном, ошибки могут быть связаны с правами доступа к файлам на операционном уровне. Убедитесь, что пользователь, под которым запущен 1С, имеет права на запись и изменение файлов 1Cv8.1CD и служебных файлов .ldx. Иногда помогает простое переименование файла блокировки или перезапуск службы 1С:Предприятие.
Большинство ошибок при отключении РИБ связаны не с самим механизмом разрыва связи, а с «мусором» в очереди сообщений обмена. Очистка очереди — первый шаг к решению 90% проблем.
Проверка работоспособности после отключения
После того как все технические процедуры по отключению РИБ завершены, нельзя считать работу законченной. Необходимо провести комплексную проверку работоспособности системы. Первым делом попробуйте запустить базу в режиме 1С:Предприятие в обычном режиме. Если запуск прошел успешно и без предупреждений о режиме распределенной базы, это хороший знак.
Далее следует проверить функциональность критических подсистем. Попробуйте провести несколько документов, создать новые элементы справочников и выполнить стандартные отчеты. Особое внимание уделите отчетам, которые ранее зависели от данных, приходящих из других узлов. Теперь они должны работать только с локальным набором данных. Отсутствие ошибок в журнале регистрации в течение первого часа работы — обязательный критерий успеха.
Также рекомендуется выполнить тестовую выгрузку/загрузку конфигурации (если это возможно), чтобы убедиться, что метаданные не повреждены. Попробуйте сохранить конфигурацию в файл .cf и загрузить её обратно в пустую базу для сравнения структуры. Это позволит выявить скрытые повреждения, которые не проявляются в обычном режиме работы, но могут стать фатальными при будущем обновлении типовых конфигураций.
Если в организации используются внешние системы, интегрированные с 1С через веб-сервисы или COM-соединения, проверьте их работоспособность. Отключение РИБ могло изменить внутренние идентификаторы объектов или правила доступа, что приведет к сбоям во внешнем контуре. Сверка данных с другими системами учета (например, CRM или складскими терминалами) должна быть проведена выборочно, но тщательно.
Часто задаваемые вопросы (FAQ)
Можно ли восстановить РИБ после того, как узел был преобразован в обычную базу?
Нет, процедура преобразования узла РИБ в обычную информационную базу является необратимой. Механизм планов обмена и история синхронизации полностью удаляются из конфигурации. Для восстановления работы в режиме распределенной базы придется заново развертывать центральный узел и создавать новые узлы-подчиненные, после чего выполнять начальную выгрузку данных.
Удалит ли отключение РИБ все данные, загруженные из других филиалов?
Нет, данные (справочники, документы, регистры), которые уже были загружены в базу и проведены, останутся в сохранности. Отключение РИБ затрагивает только служебные механизмы синхронизации и метаданные планов обмена. Фактическая информация, хранящаяся в таблицах данных, не подвергается удалению, если вы не выполните это вручную.
Что делать, если после отключения РИБ база работает медленно?
Замедление работы может быть связано с тем, что в базе остались большие объемы неочищенных данных регистров обмена или «висящих» блокировок. Рекомендуется выполнить процедуру Администрирование → Тестирование и исправление с галочкой «Пересчет итогов». Также полезно выполнить сжатие таблиц базы данных средствами СУБД.
Нужно ли удалять файлы выгрузки (.dt) после отключения узла?
Файлы выгрузки, используемые для обмена, больше не нужны для работы системы после отключения узла. Их можно безопасно удалить с диска для освобождения места. Однако рекомендуется сохранить их в архиве на определенный период (например, 3-6 месяцев) на случай, если потребуется восстановить исторические данные или откатить изменения.
Влияет ли отключение РИБ на лицензирование 1С:Предприятие?
Сам по себе факт отключения РИБ не изменяет количество требуемых клиентских лицензий. Однако, если отключение узла приводит к тому, что пользователи этого узла теперь подключаются к другой базе или серверу, это может потребовать перераспределения лицензий на сервере защиты ключей. Проверьте активность сеансов в консоли администрирования сервера 1С.