Как настроить одностороннюю синхронизацию данных между двумя базами 1С:Бухгалтерия 3.0?

Программист 1С v8.3 (Управляемые формы) 1C:Бухгалтерия IT и автоматизация бизнеса
← На главную

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

Рассмотрим подробно, почему стандартный мастер настройки синхронизации не всегда подходит для этой задачи и какими способами можно реализовать регулярный односторонний обмен между базами конфигурации 1C:Бухгалтерия 3.0.

Ограничения стандартных механизмов платформы и БСП

Перед тем как переходить к выбору метода, проанализируем особенности типового функционала 1С:

  1. Отсутствие готового сценария «БП — БП» в типовой синхронизации: В стандартной библиотеке стандартных подсистем (БСП) типовой обмен на базе формата EnterpriseData рассчитан на взаимодействие разных конфигураций (например, 1С:Управление торговлей и 1С:Бухгалтерия). Готового варианта синхронизации между двумя однотипными конфигурациями 1С:Бухгалтерия 3.0 «из коробки» не предусмотрено.
  2. Ограничение РИБ для уже существующих баз: Механизм распределенных информационных баз (РИБ) требует создания базы-приемника из начального образа базы-источника. Если вторая база уже создана и велась независимо, объединить базы через план обмена РИБ напрямую невозможно, так как уникальные идентификаторы ссылок (GUID) одинаковых справочников в них не совпадают.

Способ 1. Использование универсальной выгрузки и загрузки XML

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

Разберем по шагам порядок настройки такого процесса:

  1. В базе-источнике используется встроенная обработка ВыгрузкаЗагрузкаДанныхXML.
  2. Настраивается отбор по периоду (например, выгружать документы за текущие сутки или за последние N дней).
  3. Настраивается командный файл запуска 1С в режиме предприятия с указанием параметров автоматической выгрузки в файл XML.
  4. В базе-приемнике создается аналогичный сценарий автозапуска для загрузки полученного файла XML без обратной выгрузки.

Способ 2. Создание правил обмена в «Конвертации данных»

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

Рассмотрим последовательность действий:

  1. В конфигурации «Конвертация данных» (КД 2.0 или КД 3.0) создаются правила конвертации объектов для пары 1С:Бухгалтерия 3.0 — 1С:Бухгалтерия 3.0.
  2. Для ключевых справочников настраиваются правила поиска не по уникальному идентификатору (GUID), а по бизнес-реквизитам: для справочника Контрагенты — по ИНН/КПП, для Номенклатуры — по артикулу или наименованию, для Организации — по ИНН.
  3. Правила выгрузки настраиваются таким образом, чтобы выгружались только необходимые документы и справочники за выбранный период.
  4. Файл правил загружается в базу-источник в модуль универсального обмена данными, где настраивается регламентное задание по расписанию.

При загрузке данных в базу-приемник обработка выполняет поиск существующих элементов и обновляет их, избегая создания дублей.

Способ 3. Пересоздание базы-приемника через начальный образ РИБ

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

Процесс состоит из следующих этапов:

  1. В базе-источнике открываем раздел Администрирование — Синхронизация данных.
  2. Создаем новую настройку синхронизации данных через распределенную информационную базу.
  3. Формируем начальный образ информационной базы. Именно из этого образа создается новая база-приемник.
  4. Для обеспечения одностороннего обмена в базе-приемнике отключается регистрация изменений или блокируется выгрузка данных в узле источника.

Важные технические нюансы при одностороннем обмене

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

1. Отключение подписок на события при загрузке данных:
Чтобы при загрузке данных база-приемник не регистрировала полученные объекты для отправки обратно в источник, процедура записи должна выполняться с отключением механизмов регистрации изменений. В коде обработки загрузки устанавливается соответствующий флаг:


ОбъектЗагрузки.ОбменДанными.Загрузка = Истина;
ОбъектЗагрузки.Записать();

2. Установка уникальных префиксов баз:
В настройках обеих информационных баз (раздел Администрирование — Синхронизация данных — Префикс информационной базы) необходимо задать разные префиксы номеров документов и кодов справочников. Это предотвратит коллизии нумерации при случайном создании новых документов в обоих узлах.

3. Управление проведением документов:
При выгрузке документов определитесь с режимом проведения в базе-приемнике: выгружать документы сразу с сформированными движениями регистров или выгружать документы непроведенными и запускать их групповое проведение отдельным регламентным заданием.

← На главную