Top.Mail.Ru
Меню
Каталог Программы 1С Опыт и отзывы Услуги Компания Статьи Контакты

Универсальный формат обмена 1С

Основатель и генеральный директор компании MoscowSoft, Сорокин Сергей
Сорокин Сергей, Генеральный директор MoscowSoft  07.03.2025 Актуальность проверена: 11.03.2025   11 мин.
Содержание

Наша публикация рассматривает вариант обмена с использованием универсального формата EnterpriseData. С технологией можно ознакомиться в «Библиотеке стандартных подсистем». Версия 2.3.1.62 от 2016 года. Сегодня используется последняя редакция БСП 2.3, релиз 2.3.6.17.

В Библиотеку стандартных подсистем включено четыре способа обмена между разными ИБ:

Наша публикация рассматривает вариант обмена с использованием универсального формата EnterpriseData. С технологией можно ознакомиться в «Библиотеке стандартных подсистем». Версия 2.3.1.62 от 2016 года. Сегодня используется последняя редакция БСП 2.3, релиз 2.3.6.17.

Что именно предлагает 1С: Библиотека стандартных подсистем, редакция 2. Общая информация о конфигурации. Сервис публикации ошибок. Последние релизы БСП с датами выхода.

Общая информация о конфигурации. Сервис публикации ошибок. Последние релизы БСП с датами выхода.

В текстовом файле под названием «Версии библиотек» дается описание версии, на базе которой разработано то или иное приложение.

Общие представления о формате EnterpriseData

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

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

  • Управление торговлей, ред. 11.
  • 1С: ERP Управление предприятием 2.
  • 1С: УНФ.
  • 1С: Зарплата и Управление персоналом, ред.3.
  • Бухгалтерия предприятия, редакция 3.0.

EnterpriseData используется в конкретной линейке программных продуктов «Управление автотранспортом» для различных конфигураций. Этот формат удобно использовать для корректировки существующих обменов данными, когда следует решить небольшой объем задач.

Рассматриваемый формат обладает неоспоримыми преимуществами:

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

Какие бывают версии формата

EnterpriseData (ED) имеет четко заданную структуру данных, которые выгружаются в файл обмена. Текстовый вид ED — это XML схема. В дереве конфигурации описание надо искать в ветке XDTO пакеты.

Перед бизнесом постоянно возникают новые задачи. Чтобы их оперативно решать, разработчики 1С регулярно меняют описание универсального формата ED. Различные XDTO пакеты — это разные версии EnterpriseData. Каждой версии соответствуют свои цифры.

Хранение данных формата в XDTO пакетах. Обозначение разных версий ED.

Как мы видим на рисунке 2, после названия EnterpriseData сразу располагаются значимые цифры (или Major версия). Их меняют, когда формат проходит значительную реструктуризацию описания. Если они изменяются, то с предыдущими версиями не будет совместимости.

Последняя цифра (Minor версия) изменяется, когда производятся несущественные доработки:

  • исправляются ошибки;
  • добавляются дополнительные, но не обязательные свойства.

Совместимость с предыдущими версиями при последнем способе не утрачивается.

Для типовых программных решений фирма-разработчик дает годовую гарантированную поддержку версии формата с момента ее выхода в публичный доступ.

В версии ED абсолютно ясно даются названия типов объектов. Вначале стоит префикс: Документ или Справочник. Дальше идет элемент: Акт Выполненных Работ (в первом случае) либо Контрагенты (во втором случае).

Важное замечание: пакет формата данных ED используют в тандеме с пакетом Exchange Message, когда создают Правила конвертации. В последнем пакете среди Типов объектов есть Additionalinfo. Он позволяет адаптировать, настраивать Правила обмена. При этом изменения данных формата ED не требуется в XDTO пакетах.

Описание структуры XDTO пакета Exchange Message.

Как происходит обмен данными в формате ED

Существенное отличие рассматриваемого в публикации обмена от универсального в формате XML по правилам КД 2.0 заключается в следующих фактах:

Путь, по которому проходит интеграция:

  1. Внешнее приложение передает файл в конфигурацию.
  2. Конфигурация обрабатывает полученный файл, формируя XML-файл.
  3. Новый XML-файл поступает в качестве ответа в стороннее приложение.

Таков алгоритм двусторонней синхронизации. Для такого обмена нужен канал – файловый либо FTP-каталог.

Если в двусторонней миграции нет нужды (к примеру, для передачи информации о продажах online-магазина в 1С: БП), тогда используют веб-сервис. В этом случае файл передается как параметр веб-методов.

Суть процесса такова:

Алгоритм выгрузки-загрузки может нуждаться в корректировке, только если у одного из участников обмена перестала поддерживаться версия формата ED, используемая при обмене. Как напоминание: у версий формата ED ограниченный срок поддержки (разработчик гарантирует 12 месяцев со времени появления в доступе).

Когда синхронизация проходит впервые, из базы конфигурации выгружаются все объекты в формате ED в XML-файл. Приложение обрабатывает его. Во время следующей синхронизации в секции <Confirmation> появится номер сообщения-квитанции. Таким способом конфигурация уведомит об успешной обработке сторонним приложением полученной информации.

Внутри XML-файла от внешнего приложения может вкладываться не только квитанция, но также данные для синхронизации (посмотреть секцию <Body>).

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

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

На следующем рисунке показан обратный процесс трансформации. Приложением заполняется <Confirmation>. В <Body> размещаются объекты в ED, которые подлежат синхронизации.

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

Менеджер обмена через универсальный формат

Как вы понимаете, при употреблении слова «менеджер» речь не идет о каком-то человеке, исполняющем должностные обязанности по этой уважаемой профессии. Мы говорим об общем модуле МенеджерОбменаЧерезУниверсальныйФормат. Это наименование, принятое в 1С стандарте. Название места расположения правил конвертации и не только. Ведь, как и в старой технологии «Конвертация данных» редакции 2.0/2.1, правила по-прежнему необходимы. Без них не обойдется описание процесса выгрузки данных из ИБ в формат обмена и загрузки в обратную сторону.

Описание структуры модуля обмена через универсальный формат.

На рисунке, отображающем настройку правил обмена в Конфигураторе – Управление торговлей, ред.11, в поле «Конфигурация» в левой колонке выделяется строка «МенеджерОбменаЧерезУниверсальныйФормат». В правой колонке раскрывается содержание общего модуля для конвертации УП 2.2.3 в конкретную дату:

  • ПроцедурыКонвертации;
  • ПОД;
  • ПКО;
  • ПКПД;
  • Алгоритмы;
  • Параметры.

Заканчивается перечень процедурами общего назначения для правил и алгоритмов.

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

Для современных типовых программ 1С: Предприятие разработчики фирмы уже предусмотрели механизмы обмена. Конвертация данных 3.0 позволяет в автоматическом режиме отлаживать выгрузку и загрузку.

Иногда небольшие изменения в правила и объекты удобнее вносить вручную, не используя КД 3.0. Ручной корректировкой модуля менеджера обмена создаются незначительные доработки.

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

К недостаткам можно отнести необходимость создания отдельных правил конвертации для этапов выгрузки и загрузки данных, поскольку они не связаны между собой.

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

Описание разделов общего модуля

Итак, в процессе обмена с помощью Enterprise Data участвуют база-источник и база-приёмник. В каждой из них содержится только код для преобразования объектов из ИБ в универсальный формат ED и назад, в обратную сторону. При изменении конфигурации базы меняется код только в ней. Он хранится в общем модуле – менеджере обмена. Там же содержатся все обработчики событий, механизм преобразования объектов, параметры. Описав один раз логику преобразования объектов, при помощи параметров производят обмен с разными базами. Большой плюс в том, что отдельные правила для каждой пары баз, когда происходит обмен в рамках от трёх и выше баз, создавать не требуется.

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

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

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

Процедура ПКО_<ИмяПКО>_ПриОтправкеДанных с текстом обработчика ПриОтправке для конкретного ПКО. Реализуется логика конвертации данных, содержащихся в объекте информационной базы, в описание объекта XDTO.

Процедура ПКО_<ИмяПКО>_ПриКонвертацииДанныхXDTO с текстом обработчика ПриКонвертацииДанныхXDTO для конкретного ПКО при загрузке данных. Реализуется произвольная логика конвертации данных XDTO.

Процедура ПКО_<ИмяПКО>_ПередЗаписьюПолученныхДанных с текст омобработчика ПередЗаписьюПолученныхДанных для конкретного ПКО при загрузке данных. Реализуется дополнительная логика, которую необходимо выполнить перед записью объекта в информационную базу.

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

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

  2. Раздел «Алгоритмы» включает произвольные алгоритмы. Их можно вызывать так же, как любую процедуру или функцию, в обработчиках ПОД или ПКПД. Нужно прописать имя и параметры алгоритма.
  3. В разделе Параметры прописывается, как следует заполнять параметры конвертации для экспорта данных. Например, на вкладке ПараметрыКонвертации (тип Структура) прописываем параметр «ЗаполнятьКонтрагентаПриЗагрузке». Значение этого параметра в плане обмена устанавливаем в Плане обмена в настройках соответствующего узла.
  4. РазделОбщего назначения включает процедуры и функции, предназначенные:

Описание параметров процедур и функций

Как уже рассказывалось выше, каждый из разделов модуля «Менеджер обмена через универсальный формат» имеет определенные параметры, свой функционал. Рассмотрим некоторые из них.

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

НаправленияОбмена — строка, являющаяся элементом структуры «КомпонентыОбмена». Может быть представлена в одном из двух значений: Отправка или Получение.

Данные ИБ — это тип СправочникОбъект, который нужен для чтения, изменения, добавления и удаления элементов справочника. Либо другой тип Документооборот, который открывает доступ к объекту базы данных, одновременно предоставляя возможность записи изменений. Он требуется для чтения, удаления, добавления, внесения изменений в документ.

Предопределенные процедуры конвертации

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

Статьи по теме: Конвертация данных 3.0

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

MoscowSoft логотип

Нужна помощь?

Если не получается разобраться с вопросом самостоятельно, обратитесь к нам. Получите бесплатную консультацию эксперта!

Основатель и генеральный директор компании MoscowSoft, Сорокин Сергей
Сорокин Сергей, Генеральный директор MoscowSoft

Возврат к списку