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

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

Как создать распределенную информационную базу 1С

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

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

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

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

Когда РИБ подходит, а когда лучше выбрать другой механизм

РИБ оправдан, когда все узлы работают на одной и той же конфигурации и версии, а филиалам нужна автономная работа при нестабильном канале связи. Каждая база хранит полную (или отфильтрованную настройками узла) копию данных, поэтому обрыв связи не останавливает работу: документы вводятся локально и доезжают до центра при следующем сеансе обмена.

РИБ не подходит, если конфигурации в узлах должны различаться, если требуется обмен с не-1С системами или если нужен режим единой базы с мгновенной видимостью данных. В последнем случае правильнее рассмотреть клиент-серверную работу через публикацию базы на веб-сервере или терминальный доступ — это устраняет саму проблему синхронизации.

Сравнение вариантов организации удаленной работы

РИБ

Автономная работа филиалов, устойчивость к обрывам связи. Ограничение: одинаковая конфигурация во всех узлах, обновление только из центра.

Клиент-сервер + веб-сервер

Единая база, данные видны всем сразу. Ограничение: требуется стабильный канал связи, при обрыве филиал не работает.

Универсальный обмен (план обмена без РИБ)

Гибкая маршрутизация, обмен между разными конфигурациями. Ограничение: нет автоматической доставки изменений конфигурации, сложнее начальная настройка.

Подготовка: что проверить перед созданием узлов

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

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

Третье — подготовьте канал передачи сообщений обмена. Это может быть общий сетевой каталог, доступный обоим узлам, FTP-сервер или обмен через электронную почту. Учетная запись, под которой выполняется обмен, должна иметь права на чтение и запись в выбранном каталоге.

Создание главного узла и узлов филиалов

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

В выбранном плане обмена уже существует предопределенный узел — это текущая база. Откройте его и задайте осмысленный код и наименование, например «ЦЕНТР» — «Центральный офис». Код узла используется в именах файлов обмена, поэтому делайте его коротким и без пробелов. С этого момента база становится главным узлом РИБ.

Теперь создайте элемент плана обмена для каждого филиала: «Создать» → укажите код и наименование узла (например, «Ф1» — «Магазин №1»). Если план обмена поддерживает фильтрацию (например, по организациям), настройте в узле состав выгружаемых данных — это уменьшит объем пересылаемых сообщений и ограничит данные филиала только его организацией.

Создание начального образа подчиненного узла

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

Платформа предложит выбрать тип создаваемой базы: файловая на диске или сразу на сервере 1С/SQL. Для файлового варианта укажите каталог — будет создана полноценная информационная база, уже связанная с главным узлом. Процесс может занять продолжительное время при большом объеме данных: создается полная копия базы с отметкой о принадлежности к узлу.

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

Порядок создания РИБ
  1. 1
    Сделайте резервную копию центральной базы (файл .dt)
  2. 2
    Убедитесь, что план обмена имеет признак РИБ, задайте код главного узла
  3. 3
    Создайте узел филиала с уникальным кодом, настройте фильтры данных
  4. 4
    Выполните команду «Создать начальный образ» для узла филиала
  5. 5
    Разверните образ на компьютере филиала и подключите базу
  6. 6
    Настройте транспорт обмена (каталог, FTP или почта) в обоих узлах
  7. 7
    Выполните первый обмен и проверьте регистрацию изменений

Настройка и выполнение обмена данными

Обмен в РИБ выполняется сообщениями — файлами формата Message_XXX_YYY.xml, где XXX и YYY — коды узлов-отправителя и получателя. В каждом узле настройте способ передачи: общий каталог (самый простой вариант для локальной сети), FTP-ресурс или почтовый ящик. Параметры задаются в настройках транспорта сообщений обмена в типовых конфигурациях.

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

Для регулярной работы настройте автоматический обмен: в файловом режиме — через сценарий синхронизации по расписанию в типовой конфигурации или через планировщик Windows, запускающий 1С с обработкой обмена; в клиент-серверном — через регламентное задание. Интервал выбирайте исходя из требований к актуальности данных: для магазинов обычно достаточно обмена несколько раз в день.

cmd
"C:\Program Files\1cv8\8.3.24.1467\bin\1cv8.exe" ENTERPRISE /F"D:\Bases\Filial1" /N"Администратор" /P"пароль" /Execute"D:\Scripts\Obmen.epf" /C"ВыполнитьОбмен"

Пример выше показывает запуск обмена из командной строки через внешнюю обработку — такой подход удобен для планировщика задач Windows. В типовых конфигурациях вместо внешней обработки обычно используют встроенный механизм «Настройка синхронизации данных» с расписанием.

Проверка результата и контроль обмена

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

Контролируйте номера отправленных и принятых сообщений: они видны в форме узла плана обмена. Если номер отправленного сообщения в одном узле растет, а принятого в другом — нет, сообщения теряются в транспорте: проверяйте права на каталог, доступность FTP и содержимое папок обмена.

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

Как проверить, что РИБ работает

Тестовый элемент справочника из центра
Норма

Появился в филиале после обмена

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

Не появился — проверяйте фильтры узла и регистрацию изменений

Номера сообщений в узлах
Норма

Номер отправленного у отправителя совпадает с принятым у получателя

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

Расхождение номеров — сообщения теряются в транспорте

Конфигурация базы в филиале
Норма

Совпадает с центром, обновление приходит с сообщением обмена

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

Ошибка «изменилась конфигурация» при загрузке

Файлы в каталоге обмена
Норма

После загрузки файлы Message_*.xml обрабатываются и удаляются/перемещаются

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

Файлы копятся — загрузка не выполняется

Обновление конфигурации и типичные ошибки

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

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

Типичные ошибки при работе с РИБ
01
Изменение конфигурации в подчиненном узле — обмен полностью блокируется до восстановления соответствия
02
Удаление узла плана обмена без отключения регистрации — база продолжает копить данные изменений и разрастается
03
Восстановление филиала из старой копии .dt — номера сообщений расходятся, обмен встает; требуется пересоздание узла
04
Общий каталог обмена без прав записи для учетной записи филиала — сообщения создаются, но не доставляются
05
Одновременное создание одинаковых элементов справочников в разных узлах с ручным кодированием — коллизии и дубли данных

Отдельная проблема — рост таблиц регистрации изменений, если узел филиала создан, но обмен с ним не выполняется. Изменения копятся, база замедляется. Если филиал закрыт, узел нужно корректно удалить: тогда регистрация изменений для него очистится. Для мониторинга используйте отчет по зарегистрированным изменениям в составе типовых конфигураций.

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

Частые вопросы о распределенных базах 1С

Можно ли превратить обычную базу в подчиненный узел РИБ?

Нет, подчиненный узел создается только из начального образа главного узла. Если у филиала уже есть рабочая база с данными, ее нельзя «присоединить» к РИБ напрямую — потребуется создать образ и перенести данные обработками загрузки, что трудоемко и рискованно.

Что делать, если база филиала утеряна или повреждена?

В главном узле для этого филиала создается новый начальный образ, и база разворачивается заново. Данные, введенные в филиале после последнего успешного обмена и не дошедшие до центра, будут потеряны — поэтому важна регулярность обменов.

Можно ли обмениваться между двумя подчиненными узлами напрямую?

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

Как переподчинить узел другому главному узлу?

Штатного простого механизма нет. Используется специальная обработка изменения главного узла, но это рискованная операция, требующая резервных копий всех затронутых баз и проверки на тестовых копиях. На практике чаще пересоздают поддерево узлов заново.

Работает ли РИБ в клиент-серверном варианте?

Да, РИБ не зависит от режима работы: узлы могут быть файловыми или клиент-серверными в любой комбинации. В клиент-серверном варианте удобнее автоматизировать обмен через регламентные задания на сервере 1С.

Почему в филиале документ загрузился, но не проводится?

Частая причина — в филиал не попали связанные данные (контрагент, договор, склад) из-за настроенных фильтров узла. Проверьте состав выгрузки в настройках узла и выполните повторную выгрузку недостающих объектов через регистрацию изменений вручную.

Итог

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

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