Обмен данными между базами 1С 8.3: от выбора транспорта до автоматического расписания
Содержание
Чтобы синхронизировать базы 1С 8.3 на типовых конфигурациях, включите флажок в Администрирование → Синхронизация данных, задайте каждой базе свой префикс и создайте новую синхронизацию: выберите программу-партнёра и способ передачи (сетевой каталог, FTP, почта, прямое подключение или интернет). Затем проведите первый обмен с сопоставлением объектов и поставьте его на расписание.
Типичная ситуация: торговля ведётся в «Управлении торговлей», учёт в «Бухгалтерии», и бухгалтер раз в неделю вручную вбивает накладные. Настройка обмена данными между базами снимает эту работу, но только если заранее решить, какие данные идут в какую сторону и кто отвечает за справочники.
Какой способ синхронизации баз 1С выбрать
Сначала определитесь с механизмом, потом с транспортом. Механизмов в 8.3 по сути три.
| Механизм | Когда подходит | Что важно знать |
|---|---|---|
| 🔄 Типовой обмен по правилам конвертации (формат EnterpriseData) | Разные конфигурации: УТ ↔ БП, ЗУП ↔ БП, Розница ↔ УТ | Готовые правила уже встроены, ничего писать не нужно |
| 🌳 Распределённая информационная база (РИБ) | Одинаковые конфигурации: филиалы, склады, выездные сотрудники | Изменения конфигурации идут только из главного узла |
| 📦 Разовый перенос через универсальную обработку XML | Один раз перенести остатки или справочники | Это не синхронизация, а перенос; на поток не ставится |
Транспорт — это то, как файл-сообщение попадает из одной базы в другую:
| Транспорт | Когда выбирать | Ограничения |
|---|---|---|
| 📁 Локальный или сетевой каталог | Базы в одной сети, есть общая папка | Обе базы должны иметь права на запись в папку |
| 🌐 FTP | Базы в разных офисах без публикации | Нужен FTP-сервер и логин; файлы лежат вне базы |
| ✉️ Электронная почта | Связь редкая и нестабильная | Медленно, зависит от почтового ящика |
| 🔌 Прямое подключение (COM) | Обе базы в одной локальной сети | Нужен зарегистрированный COM-компонент нужной разрядности |
| ☁️ Через интернет (веб-сервис) | Базы в разных местах, одна опубликована | Нужен веб-сервер и публикация веб-сервисов |
Если базы стоят на одном сервере или в одной сети, начните с сетевого каталога. Его проще всего диагностировать: файлы обмена видно глазами, их можно открыть и проверить дату.
Подготовка баз перед настройкой обмена данными
Ошибки синхронизации чаще всего закладываются ещё до первого обмена. Перед настройкой пройдите по списку.
- Сделайте резервную копию обеих баз. Первая загрузка создаёт и меняет сотни объектов, откатить её вручную почти невозможно.
- Обновите обе конфигурации до актуальных релизов. Правила обмена встроены в конфигурацию, и у старого релиза одной из сторон формат может не совпасть.
- Задайте префикс информационной базы. Он ставится в
Администрирование → Общие настройкиили в настройках синхронизации и попадает в номера документов. У каждой базы префикс свой, напримерБПиУТ. - Почистите справочники. Дубли контрагентов и номенклатуры в одной базе при обмене размножатся в другой.
- Решите, какая база ведёт справочники. Если контрагентов заводят и там и там, конфликты гарантированы.
- Определите дату начала обмена. Документы раньше этой даты передавать не нужно: остатки на неё переносят отдельно.
Не запускайте первую синхронизацию на рабочих базах без копии. Проще всего сначала проверить обмен на копиях, развёрнутых из файлов .dt.
Настройка синхронизации данных в базе-источнике и базе-приёмнике
Покажем на примере пары УТ 11 → БП 3.0. В других типовых конфигурациях на БСП путь тот же.
Шаг 1. Включите синхронизацию
Откройте Администрирование → Синхронизация данных и установите флажок «Синхронизация данных». Сделайте это в обеих базах. Если флажок недоступен, у пользователя нет полных прав.
Шаг 2. Создайте новую синхронизацию
В той же форме откройте настройки синхронизации и нажмите команду создания новой синхронизации. Откроется список программ, с которыми конфигурация умеет обмениваться. Выберите партнёра, например «1С:Бухгалтерия предприятия, ред. 3.0».
Шаг 3. Задайте параметры подключения
Помощник предложит способ связи. Для сетевого каталога укажите путь вида \\server\exchange\ut_bp. Для FTP — адрес, порт, логин и пароль. Для прямого подключения — каталог файловой базы или сервер и имя базы на сервере 1С.
Нажмите проверку подключения, прежде чем идти дальше. Ошибка прав на каталог на этом шаге всплывёт сразу, а не через неделю.
Шаг 4. Настройте правила отправки и получения
Это главный экран настройки. Здесь выбирают:
- 📅 дату, с которой отправлять документы;
- 🏢 организации, по которым идёт обмен;
- 📄 какие документы и справочники передавать;
- ✍️ будут ли документы в базе-приёмнике проводиться при загрузке.
Для связки УТ → БП обычно отправляют реализацию, поступление, оплаты и справочники к ним. Склады и склад-ордерный учёт в БП часто не нужны: их отключают или сворачивают.
Шаг 5. Закончите настройку во второй базе
Если связь двусторонняя (COM или веб-сервис), помощник сам создаст настройку во второй базе. Если связь через каталог или FTP, помощник выгрузит файл настроек. Его загружают во второй базе при создании синхронизации с той же программой-партнёром.
Настройки в обеих базах должны совпадать по префиксам и по составу организаций. Если во второй базе выбрать другой каталог обмена, сообщения будут уходить «в никуда», а ошибки не будет.
Выгрузка и загрузка данных: первый обмен и сопоставление
Каждая синхронизация — это пара сообщений. База-источник выгружает в файл всё, что изменилось с прошлого раза. База-приёмник загружает файл и в ответ выгружает свои изменения и подтверждение приёма.
Какие объекты считаются изменёнными, решает регистрация изменений. Записали документ — он зарегистрирован к отправке во все узлы, куда положен по правилам. После подтверждения приёма регистрация снимается.
Сопоставление при первом обмене
Перед первой загрузкой помощник предлагает сопоставить данные. Это защита от дублей: программа ищет в базе-приёмнике уже существующие справочники.
- 🔎 Контрагенты сопоставляются по ИНН и КПП.
- 📦 Номенклатура — по наименованию и артикулу.
- 🏦 Банковские счета — по номеру счёта.
Всё, что не сопоставилось автоматически, можно связать вручную в таблице сопоставления. Не пропускайте этот шаг: несопоставленный элемент при загрузке создастся заново, и в базе появится второй «ООО Ромашка».
Порядок первого обмена
- Выполните синхронизацию в базе-источнике и дождитесь выгрузки.
- В базе-приёмнике запустите синхронизацию, пройдите сопоставление.
- Загрузите данные и проверьте несколько документов: суммы, контрагента, счёт учёта.
- Сверьте итоги: обороты по счёту 62 в БП с отчётом по продажам в УТ за тот же период.
- Только после проверки ставьте обмен на расписание.
Обмен через интернет: веб-сервисы и прямое подключение по COM
Синхронизация через HTTP и веб-сервисы
Когда базы в разных городах и общей сети нет, удобнее всего обмен через интернет . Одна из баз публикуется на веб-сервере (IIS или Apache), вторая подключается к ней по адресу публикации.
Что нужно сделать:
- На сервере с базой установить веб-сервер и модули расширения веб-сервера 1С той же версии, что и платформа.
- В Конфигураторе опубликовать базу на веб-сервере и в окне публикации включить публикацию веб-сервисов. Сервисы обмена БСП называются с префиксом
Exchange, их флажки должны стоять. - Открыть в браузере адрес публикации и убедиться, что база отвечает.
- Во второй базе при создании синхронизации выбрать подключение через интернет, указать адрес, логин и пароль пользователя опубликованной базы.
Заведите для обмена отдельного пользователя с правом на синхронизацию. В журнале регистрации сразу будет видно, что объект создан обменом, а не человеком.
Для доступа из интернета нужен HTTPS. Обмен по голому HTTP передаёт пароль и данные открыто.
Прямое подключение через COM
Этот вариант работает только внутри одной сети и только из Windows. База-инициатор запускает вторую базу через COM-соединение, поэтому файлы обмена не нужны.
COM-компонент регистрируется командой от имени администратора:
regsvr32 "C:\Program Files\1cv8\8.3.25.1374\bin\comcntr.dll"
Номер версии в пути подставьте свой. Разрядность компонента должна совпадать с разрядностью клиента или сервера 1С, который выполняет подключение. Если платформа обновилась, а компонент остался от старой версии, подключение перестанет работать: регистрацию нужно повторить.
Автоматизация и мониторинг синхронизации баз
Расписание
В карточке настройки синхронизации откройте настройку расписания и задайте частоту. Для торговли и бухгалтерии обычно хватает раза в 30–60 минут в рабочее время. Чаще ставить не стоит: обмен нагружает базу, а при большом числе документов сеансы могут пересекаться.
Расписание выполняет регламентное задание:
- 🖥️ В клиент-серверной базе его выполняет сервер 1С. В свойствах базы в консоли кластера не должна стоять блокировка регламентных заданий.
- 💻 В файловой базе регламентные задания выполняются в клиентском сеансе. Если никто не запустил 1С, обмен не пройдёт. Выход — держать открытым один сеанс на сервере или перевести базу на клиент-серверный вариант.
Мониторинг
Где смотреть, что обмен работает:
- 📊 В форме синхронизации данных видна дата и результат последнего обмена по каждому узлу.
- 📋 В журнале регистрации (
Администрирование → Обслуживание → Журнал регистрации) отберите события по слову «Обмен данными». Там видно, какой объект не загрузился и почему. - ⚠️ Отдельно выводятся предупреждения синхронизации: непроведённые документы, незаполненные реквизиты, конфликты.
Конфликты и ошибки синхронизации данных
Конфликт — это когда один и тот же объект изменили в двух базах между обменами. Программа должна решить, чья версия главнее.
- 🌳 В РИБ при конфликте побеждает изменение из главного узла.
- 🔄 В типовых обменах по правилам конвертации приоритет задаётся в настройках синхронизации. Чтобы конфликты не возникали, закройте период датой запрета загрузки и ведите справочник только в одной базе.
Дата запрета загрузки особенно важна для закрытых периодов. Без неё бухгалтер в УТ может перепровести накладную за прошлый квартал, а обмен молча изменит её в БП после сдачи отчётности.
Если обмен сломался и сообщения перестали подтверждаться, не удаляйте настройку синхронизации, чтобы создать её заново. При удалении теряется регистрация изменений и связь объектов, и следующая загрузка может создать дубли. Сначала найдите причину в журнале регистрации.
Если обмен застрял после восстановления из копии
Узлы обмена считают номера отправленных и принятых сообщений. Если одну базу откатили к резервной копии, номера разойдутся: база будет ждать сообщение, которое вторая уже считает принятым. Обычно помогает выполнить синхронизацию два-три раза подряд в обе стороны, чтобы базы обменялись подтверждениями. Если не помогло, повторно зарегистрируйте к отправке нужные данные за период через настройки состава отправляемых данных.