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

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

Как выгрузить РИБ 1С: выгрузка данных из распределённой базы

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

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

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

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

Что такое РИБ и какие виды выгрузки существуют

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

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

Подготовка: что проверить перед выгрузкой

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

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

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

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

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

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

Затем выделите созданный узел и выполните команду «Создать начальный образ» (в некоторых конфигурациях — «Создать периферийную базу»). Укажите тип размещения: на диске в виде файловой базы или на сервере 1С/SQL. Платформа сформирует базу, уже подключённую к главному узлу. Процесс при большом объёме данных занимает продолжительное время — не прерывайте его.

Порядок действий
  1. 1
    Откройте центральную базу и перейдите к плану обмена РИБ
  2. 2
    Создайте новый узел, задайте код и префикс
  3. 3
    Настройте состав выгружаемых данных при необходимости
  4. 4
    Выполните команду создания начального образа и укажите тип размещения
  5. 5
    Дождитесь завершения и проверьте, что периферийная база открывается
  6. 6
    Выполните первый обмен для проверки связи узлов

Выгрузка сообщения обмена (файла с изменениями)

Если узел уже существует, регулярный обмен выполняется выгрузкой сообщения. Откройте обработку «Выполнение обмена данными» или список узлов плана обмена, выделите нужный узел и нажмите «Записать изменения» (или «Выгрузить данные»). Платформа сформирует файл сообщения — обычно с именем вида Message_ЦБ_ПУ.xml — в указанном каталоге обмена.

Этот файл передаётся в периферийный узел любым способом: через общую папку, FTP, почту или флеш-накопитель. На другой стороне выполняется команда «Прочитать изменения», после чего узел формирует ответное сообщение с квитанцией о приёме. Без квитанции центральная база будет повторно отправлять те же данные.

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

Полная выгрузка базы в dt и выгрузка в XML

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

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

Сравнение вариантов

Начальный образ

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

Сообщение обмена

Регулярная передача изменений между узлами. Ограничение: требует исправной связи и совпадения номеров сообщений.

Файл dt

Резервная копия или перенос конкретного узла целиком. Ограничение: не подходит для обмена между узлами.

XML через обработку

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

Проверка результата и типичные ошибки

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

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

Типичные ошибки
01
Загрузка одного файла сообщения дважды — приводит к ошибкам и дублированию данных
02
Изменение конфигурации периферийной базы без отключения от главного узла — обмен полностью блокируется
03
Перенос базы копированием файла 1Cv8.1CD вместо выгрузки в dt — риск повреждения при открытых сеансах
04
Отсутствие префиксов у узлов — номера документов пересекаются и возникают коллизии
Контрольные точки

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

Статус узла
Норма

Периферийная база видит главный узел и свой код

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

База считает себя центральной или узел не определён

Обмен
Норма

Сообщение записано, принято, есть квитанция

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

Ошибки приёма, сообщения накапливаются без подтверждения

Данные
Норма

Тестовый документ появился в другом узле

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

Данные не переносятся или дублируются

Частые вопросы

Можно ли выгрузить РИБ, если конфигурации узлов различаются?

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

Что делать, если файл сообщения обмена потерялся?

В узле-отправителе увеличьте номер отправленного сообщения на единицу в настройках узла плана обмена и выполните выгрузку заново. Узел-получатель примет файл как новый, пропущенные данные попадут в него автоматически.

Как выгрузить только часть данных из РИБ?

Если план обмена поддерживает отбор, настройте ограничения по организациям, подразделениям или датам в параметрах узла. Если отбор не предусмотрен, используйте обработку «Выгрузка и загрузка данных XML» с ручным выбором объектов.

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

Технически копия файловой базы сохранит связь с главным узлом, но копировать файл 1Cv8.1CD можно только при полностью закрытых сеансах, иначе есть риск повреждения. Надёжнее выгружать базу в dt через конфигуратор и разворачивать из него.

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

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

Итог

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

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