Универсальный обмен данными 1С
Что такое универсальный обмен
Универсальный обмен — набор типовых механизмов и форматов для переноса данных между разнородными информационными базами 1С и внешними системами без глубокой доработки. Он базируется на использовании правил конвертации данных, XML‑сериализации и транспортных каналов, позволяя гибко настраивать состав выгружаемых объектов и сопоставление реквизитов; универсальность проявляется в возможности применять одни и те же инструменты для разных конфигураций и сценариев, сокращая трудоёмкость интеграций.
Универсальный механизм обмена — это использование плана обмена, регистрации изменений и XML для схем, которые не укладываются в жёсткие правила РИБ:
- разные конфигурации 1С (УТ и Бухгалтерия);
- обмен с сторонней системой через файлы или свой транспорт;
- произвольная топология без "главного офиса";
- ручная сериализация отдельных полей или типов.
РИБ можно рассматривать как специализацию с дополнительным протоколом (конфигурация в сообщении, начальный образ). Универсальный обмен — максимальная свобода и максимум кода на стороне разработчика.
Разные конфигурации 1С — это прикладные решения на единой технологической платформе «1С:Предприятие», ориентированные на автоматизацию конкретных областей деятельности: бухгалтерии, кадрового учёта, торговли, производства и т. д. Каждая конфигурация представляет собой набор метаданных (справочников, документов, регистров, отчётов и обработок), бизнес‑логики и пользовательских интерфейсов, адаптированных под отраслевые или функциональные задачи; при этом они сохраняют общую архитектуру платформы, что обеспечивает совместимость механизмов работы с данными, прав доступа, обмена и обновления.
Сторонние системы — внешние программные комплексы, не входящие в экосистему 1С, но взаимодействующие с ней для обмена данными или делегирования отдельных функций: ERP‑системы, CRM, интернет‑магазины, банковские сервисы, государственные информационные системы. Интеграция со сторонними системами реализуется через веб‑сервисы, файловые обмены, COM‑соединения, прямые подключения к базам данных либо через промежуточные шины данных; цель такого взаимодействия — синхронизировать учётные данные, автоматизировать сквозные процессы и исключить двойной ввод.
Топология в контексте интеграции 1С описывает схему расположения и связей информационных баз и внешних систем: какие узлы являются центральными, какие — периферийными, как организованы маршруты передачи данных, где размещены промежуточные сервисы и очереди сообщений. Топология определяет, как физически и логически распределены компоненты обмена, учитывает географию филиалов, каналы связи, требования к отказоустойчивости и безопасности, а также влияет на выбор механизмов синхронизации и транспорта передачи данных.
РИБ (распределённая информационная база) — механизм платформы 1С для построения территориально распределённых систем, при котором несколько информационных баз работают как единое целое, сохраняя локальную автономность. В РИБ изменения данных регистрируются и передаются между узлами по расписанию или по событию, поддерживается разрешение конфликтов, контроль версий и разграничение прав; такая архитектура востребована в холдингах и сетях филиалов, где необходима работа при нестабильной связи и минимизация трафика.
Стек технологий
| Компонент | Роль |
|---|---|
| План обмена | Узлы, состав, события — см. Планы обмена и РИБ 1С |
| Регистрация изменений | ЗарегистрироватьИзменения, ВыбратьИзменения |
| Инфраструктура сообщений | ЗаписьСообщенияОбмена, ЧтениеСообщенияОбмена |
| XML-сериализация | ЗаписатьXML, ПрочитатьXML, ручные элементы |
| Транспорт | Каталог, FTP, почта, HTTP — по выбору проекта |
План обмена — объект метаданных, описывающий правила и параметры синхронизации данных между информационными базами: состав объектов для передачи, условия фильтрации, расписание, транспорт и обработку ошибок. План обмена задаёт логику маршрутизации сообщений, определяет, какие узлы участвуют в обмене, какие данные считаются приоритетными, и как обрабатываются конфликты; он служит основой для автоматической регистрации изменений и формирования пакетов выгрузки.
Регистрация изменений — механизм фиксации фактов модификации данных для последующей передачи в другие узлы или системы. При изменении объектов (документов, справочников, регистров) платформа помечает их как требующие синхронизации, сохраняя идентификаторы, тип операции (создание, изменение, удаление) и, при необходимости, контекст (узел‑источник, время, пользователь). Регистрация изменений позволяет передавать только дельту, снижая объём трафика и ускоряя обмен, а также обеспечивает контроль целостности и возможность повторной отправки при сбоях.
Инфраструктура сообщений — совокупность технических компонентов и протоколов, обеспечивающих доставку, хранение и обработку сообщений между узлами обмена: очереди, шины данных, брокеры, сервисы маршрутизации и журналирования. В рамках 1С она может реализовываться как встроенными средствами (очереди РИБ, журналы регистрации), так и внешними решениями (RabbitMQ, Kafka, сервисные шины), и отвечает за гарантированную доставку, контроль дублей, обработку ошибок и масштабирование потоков данных.
XML‑сериализация — преобразование объектов 1С (документов, справочников, наборов записей) в XML‑формат для передачи по сети или сохранения в файле, а также обратное восстановление объектов из XML. Платформа предоставляет встроенные механизмы сериализации, учитывающие типы данных, вложенность и связи объектов; XML‑сериализация широко применяется в универсальном обмене, интеграции со сторонними системами и выгрузке отчётности, обеспечивая структурированное и машиночитаемое представление данных.
Транспорт — канал и протокол передачи данных между узлами обмена и внешними системами: HTTP/HTTPS, FTP/SFTP, файловая папка, электронная почта, прямое подключение к базе данных, очереди сообщений. Выбор транспорта зависит от требований к безопасности, надёжности, скорости и доступности канала; в сложных интеграциях часто используют комбинацию транспортных механизмов, чтобы обеспечить отказоустойчивость и гибкость маршрутизации.
Носитель — физический или логический объект, используемый для хранения и передачи данных в процессе обмена: файл (XML, ZIP‑архив), запись в промежуточной базе данных, сообщение в очереди, сетевой ресурс. Носитель определяет способ упаковки данных, их объём и требования к обработке на стороне получателя; в зависимости от сценария носителем может выступать временный файл на сервере, запись в регистре сведений или сообщение в шине данных.
Формат носителя может быть не только XML, но объекты ЗаписьСообщения / ЧтениеСообщения работают поверх ЗаписьXML / ЧтениеXML.
Цикл выгрузки и загрузки
Выгрузка — процесс извлечения данных из информационной базы 1С в промежуточный формат для передачи в другую систему или архив: формирование пакетов, применение правил конвертации, сериализация, сжатие и упаковка. Выгрузка может выполняться по расписанию, по событию или вручную, с фильтрацией по периоду, организации или типу объектов; её цель — подготовить данные к передаче с минимальными искажениями и максимальным соответствием требованиям приёмной стороны.
Выгрузка:
Код ITЗагрузка примера кода…
Загрузка — обратный процесс приёма и импорта данных в информационную базу 1С из внешнего источника: чтение носителя, десериализация, проверка целостности, сопоставление объектов и применение изменений. Загрузка включает обработку ошибок, контроль дубликатов, соблюдение транзакционной целостности и регистрацию факта приёма; корректная загрузка гарантирует актуальность данных и отсутствие противоречий с уже существующей информацией.
Загрузка:
Код ITЗагрузка примера кода…
Имена файлов часто стандартизируют, например Message_<КодОтправителя>_<КодПолучателя>.xml в общем каталоге.
Ручная сериализация
Ручная сериализация — явное преобразование объектов 1С в структурированный формат (чаще всего XML или JSON) средствами встроенного языка, когда стандартных механизмов недостаточно. Разработчик самостоятельно формирует структуру сообщения, обрабатывает вложенные объекты, управляет типами данных и исключениями, что даёт полный контроль над форматом, но требует дополнительной поддержки и тестирования при изменениях метаданных.
Кастомные элементы — пользовательские объекты, поля или структуры, добавленные в конфигурацию сверх типовых решений: дополнительные реквизиты, табличные части, регистры, обработки и отчёты, адаптирующие систему под специфику бизнеса. Кастомные элементы могут влиять на обмен данными, требуя расширения правил конвертации и обработки, а также усложняя обновления типовой конфигурации; их проектирование должно учитывать совместимость с механизмами интеграции и миграции данных.
Подмножество реквизитов — выборочный набор полей объекта, участвующих в обмене или обработке, вместо передачи всей структуры документа или справочника. Ограничение подмножества реквизитов снижает объём трафика, ускоряет обработку и повышает безопасность, исключая передачу избыточных или чувствительных данных; правила отбора могут зависеть от типа узла, роли пользователя или бизнес‑сценария.
Когда структура не совпадает один к одному, в XML пишут кастомные элементы или выбирают подмножество реквизитов:
ЗаписьXML.ЗаписатьНачалоЭлемента("CatalogObject.Номенклатура.Вручную");
ЗаписатьXML(ЗаписьXML, Объект.Код, "Code", НазначениеТипаXML.Явное);
ЗаписатьXML(ЗаписьXML, Объект.Наименование, "Description", НазначениеТипаXML.Явное);
ЗаписьXML.ЗаписатьКонецЭлемента();
На приёме — своя функция ПрочитатьДанные() с проверкой ПолучитьXMLТип(). Так строят обмен с legacy-форматами и "урезанными" контрактами.
Служебная информация в теле сообщения (метаданные пакета, команды для принимающей стороны) — отдельные XML-элементы до или после блока изменений.
Транзакции
| Подход | Плюс | Минус |
|---|---|---|
Одна транзакция на весь пакет (ЗаписатьИзменения(..., 0)) | Согласованность, скорость в файловой ИБ | Долгие блокировки |
Пакеты по N объектов (1000) | Баланс параллельности и скорости | Сложнее откат "на полпути" |
Транзакция — единая логическая операция, объединяющая несколько действий с данными в атомарную последовательность: либо все изменения применяются, либо ни одно из них не фиксируется. В 1С транзакции обеспечивают целостность учётных данных при проведении документов, записи регистров и обмене информацией; при возникновении ошибки платформа откатывает все изменения внутри транзакции, предотвращая появление противоречивых состояний.
Пакет — группа логически связанных объектов или операций, обрабатываемых совместно: набор документов для выгрузки, блок записей для загрузки, серия команд для выполнения. Пакетирование позволяет оптимизировать использование ресурсов, сократить количество обращений к базе данных и обеспечить согласованность данных; в обмене пакеты формируются по правилам плана обмена и могут сопровождаться служебной информацией (заголовками, контрольными суммами, подписями).
При ошибке на середине пакета используют НачатьТранзакцию / ОтменитьТранзакцию и журнал статусов пакета — см. Обработка ошибок 1С.
Односторонний обмен
Односторонний обмен — схема передачи данных, при которой информация движется только в одном направлении: от источника к приёмнику, без обратной синхронизации изменений. Такой подход применяется, когда одна система является «ведущей» (например, центральная бухгалтерия), а другая — «ведомой» (филиал, витрина данных), либо когда требуется разовая миграция или репликация справочников; односторонний обмен упрощает архитектуру и снижает риск конфликтов, но требует контроля актуальности данных на стороне приёмника.
Иногда данные идут только в одну сторону (витрина в DWH, выгрузка в гос. систему). Тогда:
- регистрируют изменения только для "исходящего" узла;
- обработчики приёма отключены или игнорируют входящие типы;
- регистрацию очищают после успешной отправки без ожидания ответного сообщения.
Для получения без обратной регистрации используют отдельный контур (HTTP, ВИД).
DWH (Data Warehouse, хранилище данных) — централизованное хранилище, куда из информационных баз 1С выгружают данные для аналитики, отчётности и принятия управленческих решений. DWH объединяет данные из разных конфигураций и периодов, приводит их к единому формату, обогащает справочниками и историческими срезами; интеграция с DWH строится на регулярных выгрузках, ETL‑процессах и контроле качества данных, обеспечивая согласованную картину бизнеса для BI‑систем.
Обратная регистрация — фиксация факта приёма и обработки данных на стороне источника, чтобы исключить повторную отправку или обновить статус объектов. После успешной загрузки в приёмной системе формируется подтверждение, которое передаётся обратно и регистрируется в плане обмена; обратная регистрация позволяет поддерживать синхронизацию статусов, контролировать доставку и корректно обрабатывать ошибки, обеспечивая надёжность сквозного обмена.
Автоматизация
Типовой продакшен-контур:
- Регламентное задание на сервере — выгрузка/загрузка по расписанию.
- Каталог обмена или FTP — транспорт файлов.
- Регистр сведений — статус пакета, ошибка, повтор.
- Оповещение администратора при сбое.
Запуск из клиента по кнопке оставляют для отладки; в проде — только сервер.
Регламентное задание — это механизм платформы 1С для автоматического выполнения прикладных операций по расписанию либо с заданной периодичностью без участия пользователя. Такие задания могут запускать выгрузку данных, формирование отчётов, синхронизацию с внешними системами, очистку временных файлов или актуализацию справочников; они управляются через консоль администрирования, поддерживают логирование результатов и обработку ошибок, а также могут быть приостановлены или перезапущены администратором — это позволяет выстраивать надёжные фоновые процессы в составе бизнес‑логики предприятия.
Каталог обмена — логическая или физическая директория, используемая как промежуточное хранилище при организации файлового обмена между информационными базами 1С либо между 1С и внешними системами. В каталоге размещаются файлы выгрузки и загрузки, служебные журналы, подтверждения приёма и файлы блокировки, гарантирующие отсутствие одновременной обработки одного и того же файла разными процессами; правила работы с каталогом (права доступа, очистка, ротация файлов, контроль целостности) закладываются в регламентные задания и обработчики обмена, что делает его важным элементом стабильной и предсказуемой интеграции.
FTP (File Transfer Protocol) — сетевой протокол передачи файлов, который в экосистеме 1С нередко применяется как транспорт для обмена данными в файловой форме: выгрузки отчётов, передачи пакетов конвертации, загрузки прайс‑листов и накладных. Платформа поддерживает работу с FTP‑серверами средствами встроенного языка — через них можно подключаться к серверу, загружать и скачивать файлы, просматривать списки каталогов и управлять правами; при использовании FTP в корпоративной среде дополнительно учитывают вопросы безопасности (шифрование, разграничение доступа) и надёжности (повторные попытки, контроль контрольных сумм).
Регистр сведений — объект метаданных 1С, предназначенный для хранения произвольной справочной информации, которая может изменяться во времени и иметь сложную структуру измерений и ресурсов. В отличие от регистров накопления, регистр сведений не ориентирован на подсчёт итогов, а фиксирует состояния, настройки, курсы валют, тарифы, статусы объектов или параметры обмена; он поддерживает периодичность (хранение истории изменений), уникальные комбинации измерений, а также быстрые выборки по ключам — это делает его универсальным инструментом для ведения нормативно‑справочной базы и параметров интеграций.
Оповещение администратора — механизм информирования ответственных сотрудников о значимых событиях в работе информационной базы: ошибках регламентных заданий, сбоях обмена, превышении лимитов, подозрительных действиях пользователей или критических изменениях данных. Оповещения могут доставляться по электронной почте, в виде SMS, сообщений в мессенджерах либо внутри системы — через задачи, уведомления или записи в журнале регистрации; настройка правил оповещения (условия срабатывания, уровни критичности, получатели) позволяет своевременно реагировать на инциденты и поддерживать стабильность эксплуатации.
EnterpriseData и типовые правила
Для обмена между типовыми и смежными решениями 1С (Бухгалтерия, ЗУП, ERP) фирма "1С" поставляет формат EnterpriseData и правила Конвертация данных 2.0/3.0 — поверх тех же планов обмена и XML, но с готовой моделью объектов и картой соответствия реквизитов.
| Свой универсальный обмен | EnterpriseData | |
|---|---|---|
| Контракт | Проектируете вы | Стандарт 1С |
| Конвертация | BSL + XDTO вручную | Правила конвертации |
| Старт | Любая нетиповая схема | Связка типовых продуктов |
EnterpriseData — унифицированный формат обмена данными, разработанный фирмой «1С» для интеграции разнородных прикладных решений и внешних систем. Он базируется на XML и описывает объекты предметной области (документы, справочники, регистры) в терминах, общих для разных конфигураций, что упрощает сопоставление сущностей и снижает потребность в индивидуальной настройке правил конвертации. EnterpriseData поддерживает версионирование, пакетную передачу, регистрацию изменений и обратную связь, благодаря чему широко применяется в крупных холдингах и при построении корпоративных шин данных.
Конвертация данных 2.0/3.0 — технологические решения 1С для настройки и выполнения переноса информации между информационными базами с разной структурой метаданных. Конвертация 2.0 ориентирована на типовые сценарии и использует готовые правила и маппинги, позволяя быстро развернуть обмен между типовыми конфигурациями; Конвертация 3.0 расширяет возможности за счёт более гибкой модели правил, поддержки сложных преобразований, расширенной обработки ошибок и интеграции с внешними форматами, включая EnterpriseData. Оба механизма опираются на описание соответствия объектов и реквизитов, обеспечивают контроль целостности и позволяют вести историю изменений правил, что критично при сопровождении интеграций.
ИТС (Информационно‑технологическое сопровождение) — комплексная сервисная поддержка пользователей и партнёров фирмы «1С», включающая доступ к обновлениям конфигураций и платформы, методическим материалам, консультациям экспертов, библиотеке типовых решений и инструментам администрирования. В рамках ИТС предоставляются актуальные версии релизов, рекомендации по переходу между версиями, описания исправлений и новых возможностей, а также инструменты для проверки корректности настроек и диагностики проблем; наличие подписки ИТС является важным условием легального использования продуктов 1С и поддержания их в актуальном, безопасном и совместимом состоянии.
Детали формата — в документации ИТС и типовых обработках обмена; в энциклопедии достаточно знать, что это готовый слой над механизмом из Планы обмена и РИБ 1С.
Связанные материалы
- Планы обмена и РИБ
- JSON и XDTO — альтернативные форматы поверх HTTP
- Интеграция — хаб