Механизм распределенных информационных баз (УРБД / УРИБ) в платформе 1С:Предприятие 7.7 изначально разрабатывался разработчиками как односторонний: штатной кнопки для отмены распределенности и превращения узла в автономную локальную или сетевую базу в интерфейсе нет. Если отвязать узел неверно или просто удалить периферийные базы в меню управления, конфигуратор не снимет внутренние ограничения на редактирование метаданных и продолжит генерировать служебные таблицы регистрации изменений.
Разберем детально, как корректно дераспределить конфигурацию файлового и клиент-серверного формата, выясним назначение системных таблиц и полей, а также рассмотрим полностью штатный способ отключения обмена без использования сторонних DBF-редакторов.
Проанализируем структуру служебных файлов УРБД. При включении распределенности платформа создает три служебных файла: 1SDBSET.DBF (список узлов обмена), 1SDWNLDS.DBF (очередь загрузки) и 1SUPDTS.DBF (таблица зарегистрированных изменений для узлов), а также записывает идентификатор базы в таблицу 1SSYSTEM.DBF.
Разберем пошаговый порядок действий для полного снятия признака УРБД:
1SDBSET.DBF и 1SDBSET.CDX
1SDWNLDS.DBF и 1SDWNLDS.CDX
1SUPDTS.DBF и 1SUPDTS.CDX
*.CDX в каталоге базы данных.1SSYSTEM.DBF: открываем файл с помощью любого специализированного DBF-редактора (например, WinDBFView, Database Desktop или встроенного редактора Far Manager). В таблице содержится ровно одна запись. Корректируем два ключевых поля:
DBSIGN: удаляем префикс базы (записываем ровно 3 пробела: ' '). Важно понимать, что там хранится не фиксированная литера (например, «Ц»), а 3-символьный префикс конкретной базы;
DBSETUUID: записываем строку нулевого GUID строго из 36 символов: 00000000-0000-0000-0000-000000000000.
1SSYSTEM.DBF — при последующем сохранении метаданных платформа создаст ее заново со значениями по умолчанию.F7 или кнопка «Сохранить») и подтверждаем реструктуризацию. Этот шаг обязателен, так как он перезаписывает метаданные в 1Cv7.MD без признака распределенности.Если база 1С 7.7 развернута на СУБД MS SQL Server, имена системных таблиц имеют префикс подчеркивания. Выполним дераспределенность с помощью SQL-скрипта.
Рассмотрим последовательность действий:
DROP TABLE _1SDBSET;
DROP TABLE _1SDWNLDS;
DROP TABLE _1SUPDTS;
_1SSYSTEM:
UPDATE _1SSYSTEM
SET DBSIGN = ' ',
DBSETUUID = '00000000-0000-0000-0000-000000000000';
F7.Существует полностью безопасный метод, который не требует ручной правки бинарных файлов таблиц DBF или выполнения прямых SQL-запросов. Он основан на встроенном механизме переноса данных.
Разберем по шагам данный алгоритм:
.dat (не путать с пунктом «Сохранить данные»).1Cv7.MD и при необходимости список пользователей Users.usr из подкаталога usrdef..dat.При штатной загрузке архива в изначально нераспределенную базу платформа разворачивает всю учетную информацию, но полностью игнорирует и не создает таблицы УРБД.
Посмотрим на особенности функционирования базы после отключения обмена:
DistrDB.dll из папки BIN платформы является ошибочным. Удаление DLL-библиотеки отключает компонент УРБД для всей платформы на данном компьютере, что может нарушить работу других баз, но никак не очищает структуру текущей базы.