Обмен данными между базами 1С 8.3: от выбора транспорта до автоматического расписания

· 9 мин

Содержание

Чтобы синхронизировать базы 1С 8.3 на типовых конфигурациях, включите флажок в Администрирование → Синхронизация данных, задайте каждой базе свой префикс и создайте новую синхронизацию: выберите программу-партнёра и способ передачи (сетевой каталог, FTP, почта, прямое подключение или интернет). Затем проведите первый обмен с сопоставлением объектов и поставьте его на расписание.

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

Какой способ синхронизации баз 1С выбрать

Сначала определитесь с механизмом, потом с транспортом. Механизмов в 8.3 по сути три.

МеханизмКогда подходитЧто важно знать
🔄 Типовой обмен по правилам конвертации (формат EnterpriseData)Разные конфигурации: УТ ↔ БП, ЗУП ↔ БП, Розница ↔ УТГотовые правила уже встроены, ничего писать не нужно
🌳 Распределённая информационная база (РИБ)Одинаковые конфигурации: филиалы, склады, выездные сотрудникиИзменения конфигурации идут только из главного узла
📦 Разовый перенос через универсальную обработку XMLОдин раз перенести остатки или справочникиЭто не синхронизация, а перенос; на поток не ставится

Транспорт — это то, как файл-сообщение попадает из одной базы в другую:

ТранспортКогда выбиратьОграничения
📁 Локальный или сетевой каталогБазы в одной сети, есть общая папкаОбе базы должны иметь права на запись в папку
🌐 FTPБазы в разных офисах без публикацииНужен FTP-сервер и логин; файлы лежат вне базы
✉️ Электронная почтаСвязь редкая и нестабильнаяМедленно, зависит от почтового ящика
🔌 Прямое подключение (COM)Обе базы в одной локальной сетиНужен зарегистрированный COM-компонент нужной разрядности
☁️ Через интернет (веб-сервис)Базы в разных местах, одна опубликованаНужен веб-сервер и публикация веб-сервисов

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

Подготовка баз перед настройкой обмена данными

Ошибки синхронизации чаще всего закладываются ещё до первого обмена. Перед настройкой пройдите по списку.

  1. Сделайте резервную копию обеих баз. Первая загрузка создаёт и меняет сотни объектов, откатить её вручную почти невозможно.
  2. Обновите обе конфигурации до актуальных релизов. Правила обмена встроены в конфигурацию, и у старого релиза одной из сторон формат может не совпасть.
  3. Задайте префикс информационной базы. Он ставится в Администрирование → Общие настройки или в настройках синхронизации и попадает в номера документов. У каждой базы префикс свой, например БП и УТ.
  4. Почистите справочники. Дубли контрагентов и номенклатуры в одной базе при обмене размножатся в другой.
  5. Решите, какая база ведёт справочники. Если контрагентов заводят и там и там, конфликты гарантированы.
  6. Определите дату начала обмена. Документы раньше этой даты передавать не нужно: остатки на неё переносят отдельно.

Не запускайте первую синхронизацию на рабочих базах без копии. Проще всего сначала проверить обмен на копиях, развёрнутых из файлов .dt.

Настройка синхронизации данных в базе-источнике и базе-приёмнике

Покажем на примере пары УТ 11 → БП 3.0. В других типовых конфигурациях на БСП путь тот же.

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

Откройте Администрирование → Синхронизация данных и установите флажок «Синхронизация данных». Сделайте это в обеих базах. Если флажок недоступен, у пользователя нет полных прав.

Шаг 2. Создайте новую синхронизацию

В той же форме откройте настройки синхронизации и нажмите команду создания новой синхронизации. Откроется список программ, с которыми конфигурация умеет обмениваться. Выберите партнёра, например «1С:Бухгалтерия предприятия, ред. 3.0».

Шаг 3. Задайте параметры подключения

Помощник предложит способ связи. Для сетевого каталога укажите путь вида \\server\exchange\ut_bp. Для FTP — адрес, порт, логин и пароль. Для прямого подключения — каталог файловой базы или сервер и имя базы на сервере 1С.

Нажмите проверку подключения, прежде чем идти дальше. Ошибка прав на каталог на этом шаге всплывёт сразу, а не через неделю.

Шаг 4. Настройте правила отправки и получения

Это главный экран настройки. Здесь выбирают:

  • 📅 дату, с которой отправлять документы;
  • 🏢 организации, по которым идёт обмен;
  • 📄 какие документы и справочники передавать;
  • ✍️ будут ли документы в базе-приёмнике проводиться при загрузке.

Для связки УТ → БП обычно отправляют реализацию, поступление, оплаты и справочники к ним. Склады и склад-ордерный учёт в БП часто не нужны: их отключают или сворачивают.

Шаг 5. Закончите настройку во второй базе

Если связь двусторонняя (COM или веб-сервис), помощник сам создаст настройку во второй базе. Если связь через каталог или FTP, помощник выгрузит файл настроек. Его загружают во второй базе при создании синхронизации с той же программой-партнёром.

Настройки в обеих базах должны совпадать по префиксам и по составу организаций. Если во второй базе выбрать другой каталог обмена, сообщения будут уходить «в никуда», а ошибки не будет.

Выгрузка и загрузка данных: первый обмен и сопоставление

Каждая синхронизация — это пара сообщений. База-источник выгружает в файл всё, что изменилось с прошлого раза. База-приёмник загружает файл и в ответ выгружает свои изменения и подтверждение приёма.

Какие объекты считаются изменёнными, решает регистрация изменений. Записали документ — он зарегистрирован к отправке во все узлы, куда положен по правилам. После подтверждения приёма регистрация снимается.

Сопоставление при первом обмене

Перед первой загрузкой помощник предлагает сопоставить данные. Это защита от дублей: программа ищет в базе-приёмнике уже существующие справочники.

  • 🔎 Контрагенты сопоставляются по ИНН и КПП.
  • 📦 Номенклатура — по наименованию и артикулу.
  • 🏦 Банковские счета — по номеру счёта.

Всё, что не сопоставилось автоматически, можно связать вручную в таблице сопоставления. Не пропускайте этот шаг: несопоставленный элемент при загрузке создастся заново, и в базе появится второй «ООО Ромашка».

Порядок первого обмена

  1. Выполните синхронизацию в базе-источнике и дождитесь выгрузки.
  2. В базе-приёмнике запустите синхронизацию, пройдите сопоставление.
  3. Загрузите данные и проверьте несколько документов: суммы, контрагента, счёт учёта.
  4. Сверьте итоги: обороты по счёту 62 в БП с отчётом по продажам в УТ за тот же период.
  5. Только после проверки ставьте обмен на расписание.

Обмен через интернет: веб-сервисы и прямое подключение по COM

Синхронизация через HTTP и веб-сервисы

Когда базы в разных городах и общей сети нет, удобнее всего обмен через интернет . Одна из баз публикуется на веб-сервере (IIS или Apache), вторая подключается к ней по адресу публикации.

Что нужно сделать:

  1. На сервере с базой установить веб-сервер и модули расширения веб-сервера 1С той же версии, что и платформа.
  2. В Конфигураторе опубликовать базу на веб-сервере и в окне публикации включить публикацию веб-сервисов. Сервисы обмена БСП называются с префиксом Exchange, их флажки должны стоять.
  3. Открыть в браузере адрес публикации и убедиться, что база отвечает.
  4. Во второй базе при создании синхронизации выбрать подключение через интернет, указать адрес, логин и пароль пользователя опубликованной базы.

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

Для доступа из интернета нужен HTTPS. Обмен по голому HTTP передаёт пароль и данные открыто.

Прямое подключение через COM

Этот вариант работает только внутри одной сети и только из Windows. База-инициатор запускает вторую базу через COM-соединение, поэтому файлы обмена не нужны.

COM-компонент регистрируется командой от имени администратора:

regsvr32 "C:\Program Files\1cv8\8.3.25.1374\bin\comcntr.dll"

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

Автоматизация и мониторинг синхронизации баз

Расписание

В карточке настройки синхронизации откройте настройку расписания и задайте частоту. Для торговли и бухгалтерии обычно хватает раза в 30–60 минут в рабочее время. Чаще ставить не стоит: обмен нагружает базу, а при большом числе документов сеансы могут пересекаться.

Расписание выполняет регламентное задание:

  • 🖥️ В клиент-серверной базе его выполняет сервер 1С. В свойствах базы в консоли кластера не должна стоять блокировка регламентных заданий.
  • 💻 В файловой базе регламентные задания выполняются в клиентском сеансе. Если никто не запустил 1С, обмен не пройдёт. Выход — держать открытым один сеанс на сервере или перевести базу на клиент-серверный вариант.

Мониторинг

Где смотреть, что обмен работает:

  • 📊 В форме синхронизации данных видна дата и результат последнего обмена по каждому узлу.
  • 📋 В журнале регистрации (Администрирование → Обслуживание → Журнал регистрации) отберите события по слову «Обмен данными». Там видно, какой объект не загрузился и почему.
  • ⚠️ Отдельно выводятся предупреждения синхронизации: непроведённые документы, незаполненные реквизиты, конфликты.
Еженедельная проверка обмена
Выполнено: 0 / 5

Конфликты и ошибки синхронизации данных

Конфликт — это когда один и тот же объект изменили в двух базах между обменами. Программа должна решить, чья версия главнее.

  • 🌳 В РИБ при конфликте побеждает изменение из главного узла.
  • 🔄 В типовых обменах по правилам конвертации приоритет задаётся в настройках синхронизации. Чтобы конфликты не возникали, закройте период датой запрета загрузки и ведите справочник только в одной базе.

Дата запрета загрузки особенно важна для закрытых периодов. Без неё бухгалтер в УТ может перепровести накладную за прошлый квартал, а обмен молча изменит её в БП после сдачи отчётности.

Диагностика: выберите симптом

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

Если обмен застрял после восстановления из копии

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

Частые вопросы

Можно ли синхронизировать базы на разных версиях платформы?
Да, для обмена через каталог, FTP и веб-сервис версии платформы могут отличаться. Для прямого подключения по COM версия компонента должна соответствовать платформе, к которой идёт подключение.
Сколько баз можно связать обменом?
Ограничения нет: одна база может обмениваться с несколькими узлами. Для каждой пары создаётся своя настройка синхронизации со своим расписанием.
Синхронизация передаёт изменения конфигурации?
Только в РИБ и только из главного узла в подчинённые. Типовые обмены между разными конфигурациями передают данные, а не структуру.
Как перенести остатки при старте обмена?
Типовой обмен передаёт документы с даты начала. Остатки на эту дату вводят отдельно: помощником ввода остатков или разовым переносом через обработку XML.
Можно ли обмениваться с нетиповой конфигурацией?
Можно, но готовых правил не будет. Их разрабатывают в «Конвертации данных» под формат EnterpriseData или пишут обработку обмена — это работа программиста.