К статье
Практический материал

Администрирование · 13 мин

Как происходит обмен данными в 1С: механизмы и настройка

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

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

В типовых конфигурациях большинство сценариев уже реализовано: достаточно создать настройку синхронизации через помощник и указать, какие данные передавать. Нестандартные случаи — обмен между разными конфигурациями, самописными базами или внешними системами — требуют правил конвертации, разработанных в «1С:Конвертация данных», либо обмена через универсальный формат EnterpriseData.

Какие механизмы обмена существуют в 1С

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

Отдельно стоит обмен через универсальный формат EnterpriseData — XML-формат, разработанный фирмой «1С» для синхронизации прикладных решений между собой и с внешними системами. Современные типовые конфигурации («Управление торговлей», «Бухгалтерия», «ERP», «Зарплата и управление персоналом») поддерживают его из коробки, что сильно упрощает типовые интеграции.

Для интеграции с внешними системами (сайты, CRM, мобильные приложения) используются веб-сервисы, HTTP-сервисы, COM-соединение, OLE и обмен файлами в форматах XML, JSON, CSV. Эти способы требуют разработки, но дают полный контроль над составом и логикой передачи.

Сравнение механизмов обмена

РИБ (распределённая база)

Полная копия конфигурации в каждом узле, передаются все изменения, включая настройки. Подходит для филиалов с идентичной базой; не работает между разными конфигурациями.

Синхронизация через план обмена

Передаются только выбранные виды данных по правилам. Подходит для связки разных конфигураций (УТ + БП); требует настройки правил или типового обмена.

HTTP/веб-сервисы

Онлайн-обмен с внешними системами в реальном времени. Требует разработки и публикации базы на веб-сервере.

Обмен файлами (XML, CSV)

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

План обмена: основа синхронизации

План обмена — это объект метаданных, который определяет состав данных, участвующих в обмене, и список узлов — баз-участниц. Каждый узел имеет уникальный код и наименование. В типовых конфигурациях уже созданы предопределённые планы обмена: например, «СинхронизацияДанныхЧерезУниверсальныйФормат» или «ОбменУправлениеТорговлейБухгалтерияПредприятия».

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

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

Как происходит сеанс обмена пошагово

Типовой сеанс синхронизации между двумя базами выглядит одинаково независимо от транспорта. База-источник формирует сообщение обмена: выбирает зарегистрированные изменения, сериализует объекты в XML по правилам конвертации и сохраняет файл или передаёт его напрямую. База-приёмник читает сообщение, сопоставляет объекты со своими данными и записывает их.

Сопоставление объектов — критичный этап. При первом обмене система ищет соответствия по ключевым полям: для справочников это обычно наименование, ИНН и КПП для контрагентов, код или GUID. Найденные соответствия фиксируются в регистре соответствий, и при последующих обменах объекты связываются уже по внутренним идентификаторам. Ошибки на этапе сопоставления — главная причина дублей контрагентов и номенклатуры.

Порядок сеанса синхронизации
  1. 1
    Платформа выбирает зарегистрированные для узла изменения
  2. 2
    Объекты сериализуются в XML по правилам конвертации
  3. 3
    Файл сообщения передаётся через каталог, FTP, почту или прямое подключение
  4. 4
    База-приёмник читает сообщение и выполняет сопоставление объектов
  5. 5
    Данные записываются; при коллизиях применяются правила разрешения конфликтов
  6. 6
    Номера сообщений фиксируются, регистрация изменений снимается

Настройка типовой синхронизации

В типовых конфигурациях настройка выполняется через раздел «Администрирование» → «Синхронизация данных». Сначала включите флаг «Синхронизация данных» и задайте префикс информационной базы — он добавляется к номерам документов, чтобы номера из разных баз не пересекались. Затем создайте новую синхронизацию, выберите конфигурацию-корреспондента и следуйте шагам помощника.

Помощник предложит выбрать способ подключения: прямое подключение к базе по сети, через файл в общем каталоге, через FTP или через веб-сервис. Для баз на одном сервере удобнее прямое подключение — обмен выполняется без промежуточных файлов. Для территориально разнесённых баз обычно используют каталог обмена или FTP.

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

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

Ручной запуск синхронизации удобен на этапе настройки, но в рабочем режиме обмен должен выполняться автоматически. Для этого в настройке синхронизации задаётся расписание: платформа создаёт регламентное задание, которое по расписанию выполняет обмен для конкретного узла. Типичный интервал — от 15 минут до нескольких часов в зависимости от требований к актуальности данных.

В файловом режиме работы базы регламентные задания выполняются только при запущенном сеансе пользователя, у которого включено выполнение заданий, либо через отдельно запущенный сеанс. В клиент-серверном режиме задания выполняет сервер 1С автономно. Убедитесь, что в момент обмена база доступна, а пользователь, от имени которого идёт обмен, имеет права на все передаваемые объекты.

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

Контрольные точки

Как проверить результат обмена

Количество отправленных и принятых объектов
Норма

Числа соответствуют ожидаемому объёму изменений за период

Тревожный признак

Отправлено 0 при наличии новых документов — проверьте регистрацию изменений и отборы

Незагруженные объекты в результатах обмена
Норма

Список пуст или содержит только осознанно пропущенные объекты

Тревожный признак

Растущий список ошибок — данные в базах расходятся

Дубли в справочниках после первого обмена
Норма

Контрагенты и номенклатура сопоставлены один к одному

Тревожный признак

Появились дубли по наименованию — ошибка сопоставления

Номера документов
Норма

Номера имеют префиксы баз и не пересекаются

Тревожный признак

Одинаковые номера из разных баз — не задан префикс

Коллизии, конфликты и типичные проблемы

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

Частая проблема — «обмен не идёт» при исправной настройке. Причины чаще всего такие: изменения не регистрируются, потому что объект не входит в состав плана обмена или не проходит отбор; файл обмена не попадает в каталог из-за прав доступа; версии конфигураций разошлись, и правила конвертации устарели; сообщение обмена получено, но не загружено из-за ошибки в данных (например, не заполнен обязательный реквизит).

Ещё один класс проблем — зацикливание: объект бесконечно пересылается между базами, потому что при загрузке он модифицируется и снова регистрируется к отправке. В типовых обменах это решается правильной настройкой правил; в самописных — отключением регистрации изменений при загрузке.

Типичные ошибки при настройке обмена
01
Не задан префикс базы — номера документов из разных баз пересекаются, возникают конфликты нумерации
02
Пропущен ручной разбор сопоставления при первом обмене — в справочниках образуются массовые дубли
03
Не настроены отборы по дате и организациям — первая выгрузка тянет всю историю и идёт часами
04
Обе базы обновляются вразнобой — правила конвертации перестают соответствовать версии конфигурации, обмен падает с ошибками
05
Никто не смотрит результаты обмена — незагруженные объекты копятся месяцами, базы расходятся

Обмен с внешними системами

Когда второй стороной обмена выступает не база 1С, а сайт, CRM или учётная система стороннего вендора, планы обмена применяются ограниченно. Стандартный подход — HTTP-сервисы, опубликованные на веб-сервере: внешняя система вызывает сервис 1С, передаёт или получает данные в JSON или XML. Альтернатива — регламентная выгрузка файлов в каталог, откуда их забирает внешняя система.

Для обмена с интернет-магазинами на популярных CMS в типовых конфигурациях есть готовый модуль обмена с сайтом по стандарту CommerceML: выгружаются товары, цены и остатки, загружаются заказы. Настройка выполняется в разделе интеграции с сайтом и не требует программирования, но требует корректной настройки соответствия видов цен, складов и статусов заказов.

Маршрут решения

Как выбрать способ обмена

Обе базы — типовые конфигурации 1С с готовым обменомИспользуйте помощник синхронизации данных в разделе «Администрирование»
Базы с разными или доработанными конфигурациямиРазработайте или доработайте правила конвертации в «1С:Конвертация данных»
Нужен обмен с сайтом или внешней системой в реальном времениПубликуйте HTTP-сервисы на веб-сервере и обменивайтесь JSON/XML
Нужна разовая выгрузка или обмен с простой системойДостаточно выгрузки в файл XML/CSV через обработку или универсальный обмен
Филиалы работают на идентичной конфигурации без связиРассмотрите РИБ с обменом файлами через каталог или почту

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

Итог

Что важно запомнить

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

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

Почему документ не уходит в другую базу при обмене?

Проверьте три вещи: входит ли вид документа в состав плана обмена, проходит ли конкретный документ отборы настройки (дата, организация, склад) и зарегистрировано ли изменение для узла — это видно через команду «Зарегистрированные изменения» в настройке синхронизации. Если документ не проходит отбор, измените отбор или перенесите документ вручную.

Можно ли настроить обмен между базами с разными конфигурациями без программиста?

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

Что делать, если после обмена появились дубли контрагентов?

Дубли возникают из-за ошибок первичного сопоставления. Используйте обработку «Поиск и удаление дублей» в разделе «Администрирование»: она объединит дубли с заменой ссылок во всех документах. Затем исправьте соответствия в регистре соответствий объектов, чтобы при следующем обмене дубли не создавались снова.

Как перенести данные, если обмен ещё ни разу не выполнялся?

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

Опасно ли запускать обмен в рабочее время?

Сама синхронизация безопасна: объекты записываются в транзакциях, и пользователи могут работать параллельно. Однако первая выгрузка большого объёма и загрузка массивных пакетов могут заметно нагрузить сервер и вызвать блокировки, поэтому первичный обмен лучше выполнять в нерабочее время.

Чем отличается РИБ от обычной синхронизации?

РИБ создаёт полные копии одной конфигурации с передачей всех изменений, включая настройки и пользователей, и требует строгой иерархии «главный-подчинённый». Обычная синхронизация передаёт только выбранные виды данных между базами, которые могут иметь разные конфигурации и версии, и не накладывает ограничений на структуру сети узлов.