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

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

Распределённая база 1С: как сделать и настроить обмен

Как создать распределённую базу 1С: подготовка конфигурации, создание центрального и периферийного узлов, настройка обмена и типичные ошибки.

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

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

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

Когда распределённая база оправдана, а когда нет

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

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

Маршрут решения

Как выбрать действие

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

Что подготовить до начала настройки

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

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

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

Создание плана обмена в конфигураторе

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

На закладке «Состав» отметьте объекты метаданных, участвующие в обмене. Для справочников и документов выберите режим «Авторегистрация: разрешить», чтобы изменения регистрировались автоматически. Иначе придётся регистрировать объекты к обмену вручную или кодом.

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

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

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

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

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

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

Настройка транспорта и расписания обмена

Обмен в РИБ происходит через файлы сообщений формата Message_КодОтправителя_КодПолучателя.xml. Способ передачи файлов задаётся в настройках узла: локальный или сетевой каталог, FTP-ресурс, электронная почта. В типовых конфигурациях это делается через помощник настройки синхронизации данных.

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

Надёжный вариант для файловых баз — внешний запуск обмена по расписанию планировщика Windows через командную строку с выполнением обработки или вызовом процедуры синхронизации.

bat
"C:\Program Files\1cv8\common\1cestart.exe" ENTERPRISE /F"D:\Bases\Filial" /N Admin /P *** /C RunExchange

Проверка работоспособности обмена

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

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

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

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

Тестовый объект из центра в филиале
Норма

Объект появился после загрузки сообщения

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

Объект отсутствует или ошибка при загрузке

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

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

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

Пропуски номеров, предупреждения о потерянных сообщениях

Журнал регистрации при обмене
Норма

Записи об успешной выгрузке и загрузке без ошибок

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

Ошибки чтения XML, конфликты версий конфигурации

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

Версия совпадает с центральной после обмена

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

Обмен заблокирован до обновления конфигурации

Типичные ошибки и ограничения РИБ

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

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

Наконец, не забывайте про рост объёма регистрации изменений. Если обмены не выполняются долго, таблицы регистрации раздуваются, выгрузка замедляется. Настройте регулярность обменов и периодически контролируйте размер очереди.

Типичные ошибки
01
Создание узлов с одинаковыми кодами — обмен путает отправителей и останавливается
02
Потеря файла сообщения при ручном переносе — нарушается нумерация, часть данных не доходит
03
Изменение конфигурации в периферийной базе — блокировка обмена и рассинхронизация узлов
04
Отсутствие резервной копии перед созданием образа — при ошибке данные приходится восстанавливать вручную
05
Редкие обмены на больших объёмах — очередь регистрации растёт, выгрузка занимает часы

Обслуживание и ответы на частые вопросы

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

Итог

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

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

Можно ли сделать периферийную базу из уже существующей базы филиала?

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

Сколько периферийных узлов может быть в РИБ?

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

Что делать, если периферийная база долго не выходила на связь?

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

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

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

Как обновить конфигурацию во всех узлах?

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

Подходит ли РИБ для обмена между разными конфигурациями?

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