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

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

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

Использование штатной обработки УниверсальныйОбменДаннымиXML

Один из самых надежных способов — программный вызов встроенной обработки УниверсальныйОбменДаннымиXML. Этот подход позволяет использовать стандартные правила обмена, но при этом управлять процессом через регламентные задания.

Для реализации этого метода создадим процедуру, которая будет запускать выгрузку данных в автоматическом режиме:


Обработка = Обработки.УниверсальныйОбменДаннымиXML.Создать();
Обработка.РежимОбмена = "Выгрузка";
Обработка.ВыводВОкноСообщенийИнформационныхСообщений = Ложь;
Обработка.ИмяФайлаПравилОбмена = Константы.ПутьКФайлуПравил.Получить();
Обработка.ТипУдаленияРегистрацииИзмененийДляУзловОбменаПослеВыгрузки = 2;
Обработка.ЗагрузитьПравилаОбмена(); 

Обработка.НепосредственноеЧтениеВИБПриемнике = Истина;
Обработка.ТипИнформационнойБазыДляПодключения = Истина;
Обработка.ВерсияПлатформыИнформационнойБазыДляПодключения = "V83";
Обработка.КаталогИнформационнойБазыДляПодключения = "ПутьКБазеПриемнику";
Обработка.ПользовательИнформационнойБазыДляПодключения = "Логин";
Обработка.ПарольИнформационнойБазыДляПодключения = "Пароль";

Обработка.ТаблицаПравилВыгрузки.Строки[0].СсылкаНаУзелОбмена = ПланыОбмена.ИмяВашегоПланаОбмена.НайтиПоКоду("КодУзла");
Обработка.ВыполнитьВыгрузку();

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

Работа с сериализацией объектов

Если конфигурации абсолютно идентичны, вы можете использовать возможности платформы по сериализации. Сериализация позволяет преобразовывать объекты 1С в форматы JSON или XML, а затем восстанавливать их в базе-приемнике. Это работает гораздо быстрее классической конвертации через КД2, так как структура объектов совпадает на 100%.

Основные шаги для настройки обмена через сериализацию:

  1. Синхронизация справочников: Это критический этап. Перед началом обмена документами необходимо убедиться, что все ссылочные данные (Контрагенты, Номенклатура, Организации) имеют одинаковые УИД в обеих базах.
  2. Перенос движений: Поскольку конфигурации одинаковы, вы можете переносить не только сами документы, но и их движения по регистрам (наборы записей). Это избавит вас от необходимости перепроведения документов в базе-приемнике и возникновения расхождений в данных из-за ручных корректировок.
  3. Контроль целостности: Для проверки корректности переноса реализуйте обработку сверки, которая сравнивает итоги по ключевым регистрам за период. Если суммы не сходятся, система должна подсвечивать эти документы для повторной выгрузки.

Организация логики при наличии разных узлов

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

Для предотвращения влияния изменений структуры центральной базы на периферийные можно использовать программные проверки:


Функция ЭтоПодчиненныйУзел() Экспорт
    Возврат ПланыОбмена.ГлавныйУзел() <> Неопределено;
КонецФункции

Это позволит в коде конфигурации ограничивать работу определенных процедур, которые актуальны только для сводной базы с БитФинанс, и не вызывать ошибок в обычных базах.

Рекомендации по автоматизации

Разбирая ситуацию, стоит выделить несколько ключевых правил:

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

← На главную