При необходимости настроить взаимодействие между двумя информационными базами конфигурации «1С:Бухгалтерия предприятия 3.0» (БП) пользователи часто сталкиваются с дилеммой: использовать ли механизм распределенных информационных баз (РИБ) или прибегнуть к стандартной синхронизации. Ситуация осложняется вопросами лицензионной чистоты, особенно когда базы физически находятся в разных офисах. В данной статье мы подробно проанализируем все технические и юридические аспекты этой задачи.
Для начала разберем, чем принципиально отличаются подходы к обмену. Механизм РИБ (Распределенная Информационная База) предназначен для создания полной или частичной копии базы. В этой системе всегда есть «Главный узел» и «Подчиненный узел».
Основные особенности РИБ:
Если же у вас уже есть две самостоятельные базы «1С:Бухгалтерия», в которых велся учет независимо друг от друга, то использование РИБ крайне затруднительно. В этом случае рассмотрим механизм «Синхронизация данных» на базе формата EnterpriseData.
Для двух независимых баз БП 3.0 это наиболее предпочтительный вариант. Рассмотрим подробнее, почему стоит выбрать именно его:
Проанализируем процесс настройки. В разделе «Администрирование» — «Синхронизация данных» необходимо выбрать создание нового обмена. Поскольку обе базы имеют одинаковую конфигурацию, обмен будет происходить через универсальный формат обмена данными. Это позволяет избежать написания собственных правил в Конвертации данных, хотя для сложных случаев можно использовать и её.
Иногда возникают ситуации, когда РИБ необходим (например, для полной идентичности учетных политик и настроек), но базы уже созданы. Проанализируем, как это можно реализовать программно. Внимание: этот метод требует высокой квалификации и обязательного создания резервных копий.
Чтобы превратить обычную базу в подчиненный узел РИБ, необходимо программно установить признак главного узла. Рассмотрим пример кода, который может быть использован во внешней обработке:
// Установка главного узла для текущей базы
ПланыОбмена.УстановитьГлавныйУзел(СсылкаНаУзелГлавнойБазы);
Однако здесь кроется главная опасность: дублирование GUID. У объектов (контрагентов, номенклатуры), созданных в разных базах, внутренние идентификаторы не совпадают, даже если их ИНН или артикулы идентичны. После первого же обмена вы получите удвоение всех справочников. Чтобы этого избежать, придется предварительно синхронизировать ссылки или использовать обработку «Поиск и замена дублей».
Разберем один из самых запутанных моментов, обсуждаемых на форумах: сколько и каких лицензий нужно покупать для двух баз в разных офисах. Выясним основные правила лицензирования 1С:
Посмотрим на пример из практики: если в магазине и на складе стоят отдельные компьютеры с базами, которые обмениваются по e-mail или через FTP, то и там, и там должна быть куплена «1С:Бухгалтерия 8. ПРОФ».
Проанализируем ситуации, когда покупка второй основной поставки не требуется:
Вариант 1: Терминальный доступ (RDP).
Если база физически одна, установлена на сервере в центральном офисе, а сотрудники со склада подключаются к ней через удаленный рабочий стол, то склад считается рабочим местом центрального офиса. В этом случае достаточно докупить только клиентские лицензии на количество подключений.
Вариант 2: Веб-сервер и тонкий клиент.
Вы можете опубликовать базу на веб-сервере (Apache или IIS). Сотрудники удаленного подразделения будут работать через браузер или тонкий клиент. Здесь также работают клиентские лицензии центрального узла, и вторая основная поставка не нужна.
Вариант 3: 1С:Линк.
Это сервис, позволяющий безопасно подключиться к вашей локальной базе через интернет. Юридически это приравнивается к работе в одной базе, что избавляет от необходимости настройки обменов и покупки лишних коробок.
Если обмен данными требуется редко (например, раз в месяц), рассмотрим использование обработки ВыгрузкаЗагрузкаДанныхXML.epf. Она входит в состав инструментов разработчика и позволяет переносить данные между идентичными конфигурациями без настройки правил обмена.
Преимущества этого метода:
Однако помните, что при таком подходе ответственность за уникальность данных лежит полностью на пользователе. Если в обеих базах заведен один и тот же контрагент с разным кодом, при загрузке XML он может либо задвоиться, либо (если поиск идет по GUID) обновить существующий объект неожиданными данными.
Подводя итог, выберем оптимальный путь решения задачи:
EnterpriseData. Это безопаснее и проще в поддержке.Всегда начинайте настройку обмена с создания архивной копии обеих информационных баз. Проверяйте результат первой синхронизации на наличие дублей в справочниках Контрагенты, Номенклатура и Физические лица.