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

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

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

Шаг 1. Включение возможности синхронизации в программах

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

  1. Перейдем в раздел Администрирование.
  2. Выберем пункт Синхронизация данных.
  3. Установим флаг Синхронизация данных.
  4. Обязательно укажем Префикс информационной базы (например, «БП»). Это необходимо, чтобы программа могла отличать «свои» документы от «чужих» по номеру.

В Управлении торговлей 10.3 настройка находится в меню Сервис — Настройка обмена данными с продуктами на платформе 8. Здесь также важно убедиться, что префикс базы заполнен в настройках параметров учета.

Шаг 2. Инициация обмена и создание файла настроек

Для корректного сопряжения двух баз важно соблюдать последовательность действий. Рекомендуется начинать настройку в той базе, которая является «источником» основных данных — в нашем случае это УТ 10.3. Разберем этот алгоритм:

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

Затем переходим в Бухгалтерию предприятия 3.0. При создании новой синхронизации выбираем вариант Загрузить параметры из файла и указываем тот самый файл, созданный в УТ. Это исключит ситуацию, когда в базах создаются разные узлы с одинаковыми именами, что часто приводит к дублированию данных.

Шаг 3. Прямое подключение (COM-соединение) и проблема 64-битного сервера

При выборе способа подключения «Прямое подключение к базе на этом же сервере» мы используем технологию COM. Здесь нас подстерегает самый известный «камень». Если сервер 1С работает в 64-битном режиме, а библиотека comcntr.dll зарегистрирована как 32-битная (или наоборот), соединение оборвется с ошибкой «Класс не зарегистрирован».

Проанализируем решение через создание приложения COM+ в Windows:

  1. Откроем Службы компонентов (Component Services) на сервере.
  2. В ветке COM+ Applications создадим новое пустое приложение (например, с именем «1C_COM_Connector»).
  3. В свойствах приложения на вкладке Identity укажем пользователя, от имени которого работает сервер 1С.
  4. В ветке Components добавим новый компонент, выбрав файл comcntr.dll из каталога установленной платформы 1С.

Это позволит 64-битному процессу сервера 1С корректно взаимодействовать с 32-битными библиотеками через прослойку Windows.

Шаг 4. Устранение ошибки «Архив не содержит файл сообщения обмена»

Иногда при попытке выполнить синхронизацию в БП 3.0 возникает ошибка: Обработка: ТранспортСообщенийОбменаFILE: Архив не содержит файл сообщения обмена. Это выглядит странно, ведь мы настраивали прямое подключение, а не файловый обмен. Выясним причину этой ситуации.

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

  1. Версии платформ: Для COM-соединения версии платформы (вплоть до последнего релиза) на сервере и у клиента должны совпадать.
  2. Права доступа: Пользователь, под которым запущена служба 1С, должен иметь полные права (чтение/запись) на временные папки сервера и на каталог, где создаются сообщения обмена (если используется UNC-путь).
  3. Метод инициализации: В УТ 10.3 могут быть доработки в модуле обычного приложения. При COM-соединении инициализируется Внешнее соединение. Если в коде встречаются вызовы интерфейсных функций (например, Предупреждение() или ОткрытьФорму()), соединение упадет.

Рекомендуется обернуть такие участки кода в проверку:


#Если Клиент Тогда
    Предупреждение("Текст сообщения");
#КонецЕсли

Шаг 5. Тонкости сопоставления данных и учетная политика

Поскольку УТ 10.3 и БП 3.0 имеют разные структуры данных, рассмотрим важные аналитические разрезы:

Счета учета: В УТ 10.3 счета учета хранятся в регистрах сведений (например, «Счета учета номенклатуры»). Если они не заполнены в Торговле, документы в Бухгалтерию придут с пустыми счетами. Проанализируем настройки: в БП 3.0 должны быть настроены правила определения счетов по умолчанию, чтобы документы могли проводиться автоматически после загрузки.

НДС и новые ставки: Учитывая, что поддержка УТ 10.3 ограничена, новые ставки НДС (с 2025 года) могут некорректно обрабатываться типовыми правилами. Потребуется использование Конвертации данных для правки правил обмена в части пересчета ставок и сумм налога.

Контрагенты и ФИАС: БП 3.0 требует строгого формата адресов (XML/JSON по ФИАС). В УТ 10.3 адреса часто записаны строкой. При обмене через COM программа пытается разобрать строку, но при ошибках адрес может просто не перенестись. Рекомендуется перед масштабным обменом актуализировать адресный классификатор в обеих базах.

Резюме по настройке

Для стабильной работы обмена придерживайтесь правила: настройка выполняется из Бухгалтерии (как более часто обновляемой базы), но с использованием предварительно созданного файла настроек из Торговли. Если вы планируете автоматический обмен по расписанию, убедитесь, что в базе настроен Регламентное задание и выделен отдельный пользователь для выполнения обмена (с правами «Администратор» или «Полные права» в обеих базах).

Проанализировав ситуацию, можно сделать вывод: прямое соединение — самый быстрый способ обмена, но он требует тщательной настройки прав доступа Windows и корректной регистрации COM-компонент на сервере.

← На главную