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

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

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

Различие между РИБ и синхронизацией данных

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

Основные особенности РИБ:

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

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

Синхронизация данных через Enterprise Data

Для двух независимых баз БП 3.0 это наиболее предпочтительный вариант. Рассмотрим подробнее, почему стоит выбрать именно его:

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

Техническая возможность «связать» две существующие базы в РИБ

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

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


// Установка главного узла для текущей базы
ПланыОбмена.УстановитьГлавныйУзел(СсылкаНаУзелГлавнойБазы);

Однако здесь кроется главная опасность: дублирование GUID. У объектов (контрагентов, номенклатуры), созданных в разных базах, внутренние идентификаторы не совпадают, даже если их ИНН или артикулы идентичны. После первого же обмена вы получите удвоение всех справочников. Чтобы этого избежать, придется предварительно синхронизировать ссылки или использовать обработку «Поиск и замена дублей».

Вопросы лицензирования при обмене данными

Разберем один из самых запутанных моментов, обсуждаемых на форумах: сколько и каких лицензий нужно покупать для двух баз в разных офисах. Выясним основные правила лицензирования 1С:

  1. Локальная сеть: Одна «Основная поставка» (коробка/электронная поставка ПРОФ) дает право использовать программу в пределах одной локальной сети. Если у вас 10 компьютеров в одном здании, соединенных в сеть, вам нужна 1 основная поставка и 9 дополнительных клиентских лицензий.
  2. Удаленные офисы: Если у вас есть офис в Москве и склад в Подмосковье, и они не связаны локальной сетью (VPN не всегда приравнивается к локальной сети с точки зрения лицензирования), то согласно правилам 1С, вы обязаны приобрести две основные поставки.
  3. РИБ и лицензии: Использование функционала РИБ само по себе бесплатно и включено в платформу. Однако оно не дает права использовать одну лицензию в разных офисах. Каждый удаленный офис — это отдельная установка основной поставки.

Посмотрим на пример из практики: если в магазине и на складе стоят отдельные компьютеры с базами, которые обмениваются по e-mail или через FTP, то и там, и там должна быть куплена «1С:Бухгалтерия 8. ПРОФ».

Как сэкономить на лицензиях легально?

Проанализируем ситуации, когда покупка второй основной поставки не требуется:

Вариант 1: Терминальный доступ (RDP).
Если база физически одна, установлена на сервере в центральном офисе, а сотрудники со склада подключаются к ней через удаленный рабочий стол, то склад считается рабочим местом центрального офиса. В этом случае достаточно докупить только клиентские лицензии на количество подключений.

Вариант 2: Веб-сервер и тонкий клиент.
Вы можете опубликовать базу на веб-сервере (Apache или IIS). Сотрудники удаленного подразделения будут работать через браузер или тонкий клиент. Здесь также работают клиентские лицензии центрального узла, и вторая основная поставка не нужна.

Вариант 3: 1С:Линк.
Это сервис, позволяющий безопасно подключиться к вашей локальной базе через интернет. Юридически это приравнивается к работе в одной базе, что избавляет от необходимости настройки обменов и покупки лишних коробок.

Использование универсального обмена XML

Если обмен данными требуется редко (например, раз в месяц), рассмотрим использование обработки ВыгрузкаЗагрузкаДанныхXML.epf. Она входит в состав инструментов разработчика и позволяет переносить данные между идентичными конфигурациями без настройки правил обмена.

Преимущества этого метода:

Однако помните, что при таком подходе ответственность за уникальность данных лежит полностью на пользователе. Если в обеих базах заведен один и тот же контрагент с разным кодом, при загрузке XML он может либо задвоиться, либо (если поиск идет по GUID) обновить существующий объект неожиданными данными.

Итоги и рекомендации

Подводя итог, выберем оптимальный путь решения задачи:

  1. Если базы уже существуют и наполнены — используйте стандартную Синхронизацию данных через EnterpriseData. Это безопаснее и проще в поддержке.
  2. Если вы только начинаете работу и хотите иметь полную копию — создавайте РИБ из основной базы.
  3. Внимательно следите за лицензиями. Для территориально распределенных баз (не в одной сети) требуется покупка основной поставки в каждую точку.
  4. Если есть возможность обеспечить стабильный интернет, рассмотрите отказ от обмена в пользу единой базы через веб-сервер. Это исключит проблемы с расхождениями данных и сэкономит бюджет на покупку дополнительных «коробок».

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

← На главную