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

Разработка и Конфигурация · 11 мин

Сервисы интеграции и метаданные в 1С: что это и как работает

Что такое метаданные в 1С, зачем нужны сервисы интеграции, как они связаны между собой и как настроить обмен данными между 1С и внешними системами.

Метаданные в 1С — это описание структуры прикладного решения: какие в системе есть справочники, документы, регистры, какие у них реквизиты, типы данных и связи. Программа хранит не только сами данные (контрагентов, накладные, проводки), но и «схему» этих данных, и именно метаданные определяют, что можно записать в информационную базу и в каком виде.

Сервисы интеграции — это механизмы, через которые 1С обменивается информацией с внешними системами: сайтами, CRM, банками, маркетплейсами, другими базами 1С. К таким сервисам относятся HTTP-сервисы, веб-сервисы (SOAP), планы обмена, шины данных и типовые подсистемы интеграции вроде «Синхронизация данных» или EnterpriseData.

Эти два понятия тесно связаны: любой обмен данными строится на метаданных. Внешняя система не знает внутреннего устройства базы, поэтому при интеграции объекты метаданных (документ «Реализация товаров», справочник «Номенклатура») преобразуются в нейтральный формат — XML, JSON, пакеты XDTO — и обратно. Понимание этой связки помогает грамотно настроить обмен и находить ошибки, когда данные «не доезжают» или записываются не туда.

Что такое метаданные в 1С простыми словами

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

Метаданные отделены от собственно данных. Например, метаданные документа «Поступление товаров и услуг» описывают, что у документа есть номер, дата, контрагент и табличная часть с товарами. А конкретные документы, которые проводят пользователи, — это уже данные, записанные по этой «форме». Изменение метаданных (добавление реквизита) меняет структуру хранения и требует обновления конфигурации базы данных.

Для интеграций важно, что метаданные доступны программно. Через объект Метаданные в коде можно обойти все объекты конфигурации, узнать состав реквизитов и типы значений. На этом построены универсальные обмены, выгрузки структуры конфигурации и механизмы сопоставления объектов между разными базами.

Какие сервисы интеграции есть в 1С

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

  • HTTP-сервисы — 1С сама публикует REST-подобные точки доступа, на которые внешние системы отправляют запросы и получают ответы (обычно JSON). Гибкий и популярный вариант для сайтов и мобильных приложений.
  • Веб-сервисы (SOAP) — 1С публикует сервис по стандарту SOAP с WSDL-описанием. Часто используется в корпоративной среде и при интеграции с системами, где SOAP — принятый стандарт.
  • Планы обмена — механизм регулярной синхронизации между базами 1С (в том числе распределённые базы и обмен через файлы, FTP, почту). Работает на регистрации изменений.
  • Типовые подсистемы — «Синхронизация данных» и формат EnterpriseData в конфигурациях на БСП, обмен с банками (1С:ДиректБанк), обмен с маркетплейсами, ЭДО.
  • Внешние источники данных и COM/OLE — прямое подключение к другим базам; применяется реже из-за ограничений по производительности и безопасности.

Отдельно стоит «1С:Шина» и брокеры сообщений (RabbitMQ, Kafka) — они не являются частью платформы, но часто выступают транспортом, когда 1С входит в состав большого интеграционного ландшафта.

Сравнение вариантов обмена

HTTP-сервисы

Подходят для обмена с сайтами и приложениями в реальном времени. Ограничение: нужна публикация на веб-сервере и самостоятельная реализация формата и авторизации.

Веб-сервисы (SOAP)

Подходят для интеграции с корпоративными системами по WSDL. Ограничение: тяжеловесный формат, сложнее отладка.

Планы обмена

Подходят для синхронизации баз 1С между собой по расписанию. Ограничение: слабо приспособлены для обмена с не-1С системами.

EnterpriseData / Синхронизация данных

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

Как метаданные участвуют в интеграции

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

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

В HTTP-сервисах разработчик обычно вручную формирует JSON, но и здесь опирается на метаданные: перебор реквизитов документа, проверка типов ссылок, чтение табличных частей. Типовые механизмы БСП умеют сериализовать объекты автоматически, обходя метаданные программно.

Как посмотреть метаданные и подготовиться к настройке обмена

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

Порядок подготовки интеграции
  1. 1
    Определите, какие объекты участвуют в обмене: документы, справочники, регистры.
  2. 2
    Откройте конфигуратор и зафиксируйте состав реквизитов каждого объекта, включая табличные части.
  3. 3
    Составьте таблицу соответствия: поле внешней системы — реквизит объекта 1С — тип данных.
  4. 4
    Определите ключи поиска ссылочных объектов (ИНН+КПП для контрагентов, артикул для номенклатуры).
  5. 5
    Выберите транспорт: HTTP-сервис, веб-сервис, план обмена или типовая синхронизация.
  6. 6
    Настройте обмен на тестовой копии базы и проверьте загрузку на нескольких реальных примерах.

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

bsl
Для каждого Реквизит Из Метаданные.Документы.РеализацияТоваровУслуг.Реквизиты Цикл
    Сообщить(Реквизит.Имя + " : " + Строка(Реквизит.Тип));
КонецЦикла;

Типовой сценарий: настройка HTTP-сервиса

Рассмотрим практический пример: сайт должен получать из 1С остатки товаров. Для этого в конфигурации создаётся HTTP-сервис с шаблоном URL, например /stock, и методом GET. В модуле сервиса пишется обработчик: запрос к регистру остатков, формирование JSON и возврат ответа.

Ключевые моменты настройки:

  • HTTP-сервис публикуется на веб-сервере (IIS или Apache) через публикацию информационной базы — в диалоге публикации есть отдельный флаг для HTTP-сервисов.
  • Аутентификация настраивается средствами веб-сервера и прав пользователя, от имени которого выполняется сервис; у этого пользователя должны быть права только на нужные объекты.
  • Формат ответа фиксируется в документации для разработчиков сайта: имена полей, типы, поведение при пустом результате.

После публикации сервис проверяется простым запросом из браузера или curl. Если возвращается ошибка 404 — чаще всего сервис не опубликован или неверно указан шаблон URL; ошибка 401/403 указывает на проблему с аутентификацией; ошибка 500 — на исключение в коде обработчика, текст которого виден в журнале регистрации.

Проверка результата и типичные ошибки

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

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

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

Состав данных после обмена
Норма

Все реквизиты заполнены, ссылки (контрагент, номенклатура) указывают на существующие объекты

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

Пустые поля, «битые» ссылки, объекты-заглушки вида «<Объект не найден>»

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

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

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

При каждом обмене создаются новые элементы — ключи поиска не работают

Журнал регистрации
Норма

Нет ошибок по событиям обмена и фоновым заданиям синхронизации

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

Ошибки аутентификации, таймауты, исключения в обработчиках сервисов

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

Ограничения и когда нужен специалист

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

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

Итог

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

Метаданные — это структура конфигурации, а сервисы интеграции переносят данные между системами, опираясь на эту структуру. Успешный обмен = корректное сопоставление реквизитов + правильные ключи поиска ссылок + проверка на копии базы до запуска в работу.

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

Чем метаданные отличаются от данных в 1С?

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

Можно ли настроить обмен 1С с сайтом без программиста?

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

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

Проверьте правила поиска в настройках синхронизации: обычно поиск идёт по ИНН и КПП или по наименованию. Если в одной из баз у контрагентов не заполнен ИНН, поиск не срабатывает и создаётся новый элемент. Заполните ключевые реквизиты и настройте правила поиска, затем сведите уже созданные дубли обработкой поиска и замены дублей.

Что такое EnterpriseData и когда его использовать?

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

Безопасно ли публиковать HTTP-сервисы 1С в интернете?

Только при соблюдении мер: аутентификация на каждый запрос, минимальные права у пользователя сервиса, HTTPS, ограничение доступа по IP там, где это возможно. Сервис без аутентификации — это открытая точка входа в базу. Публикацию и настройку веб-сервера лучше доверить специалисту по администрированию.