Формат файла сообщения обмена данными

31.03.2018

Приложение 1. Формат файла сообщения обмена данными

Данный документ описывает формат файла сообщения обмена данными, который используется подсистемой «Обмен данными» конфигурации «Библиотека стандартных подсистем, редакция. 1.1». Версия формата: 3.1.

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

Сообщение обмена представляет из себя xml-файл в кодировке UTF-8


 

Термины

  • Сообщение обмена – xml-файл, в котором содержаться структурированные в соответствии с форматом данные, выгруженные из информационной базы-источника для загрузки в базу-приемник.
  • База-источник – информационная база данных, которая служит источником для выгрузки данных в сообщение обмена.
  • База-приемник – информационная база данных, в которую выполняется загрузка данных сообщения обмена.
  • Узел-отправитель – предопределенный элемент плана обмена базы-источника, от имени которого выполняется формирование сообщения обмена.
  • Узел-получатель – элемент плана обмена базы-приемника, для которого предназначено сообщение обмена.
  • Интерактивная загрузка – процесс загрузки данных с использованием сервиса интерактивной загрузки подсистемы "Обмен данными". При интерактивной загрузке данных можно выполнять предварительный просмотр загружаемых данных и выполнять сопоставление объектов информационных баз.
  • Коллизия изменений – событие, которое возникает при загрузке данных, заключающееся в том, что один и тот же объект изменен в базе-источнике и базе-приемнике. Для автоматического решения коллизий изменений в правилах обмена настраиваются приоритеты объектов при загрузке.
  • Фильтр ограничения миграции данных - вспомогательный сервис подсистемы «Обмен данными», который позволяет настраивать ограничения миграции данных между парами обменивающихся конфигураций.
  • Информация сопоставления объектов – информация сопоставления объектов базы-источника объектам базы-приемника. Эта информация используется для задания соответствия одного и того же с прикладной точки зрения объекта, разным объектам ссылочного типа. Если информацию сопоставления объектов не использовать, то это приведет к появлению дублей объектов в обменивающихся базах.
  • Обработчик события – произвольный текст на встроенном языке 1С:Предприятия, который выполняется в процессе обмена данными. Подробнее об обработчиках событий см. справку к конфигурации "Конвертация данных", меню "Справка" – "Информация об обработчиках".

Аббревиатуры

  • ПКО – правило конвертации объектов
  • ПКС – правило конвертации свойств объекта
  • ПКЗ – правило конвертации значений объекта
  • ПКГС – правило конвертации группы свойств

 

Примечание: Подробнее см. справку к конфигурации "Конвертация данных", меню "Справка" – "Быстрое освоение".

Типы данных

Для чтения значений, которые хранятся в файле сообщения обмена, используется метод глобального контекста платформы 1С:Предприятие XMLЗначение(), для записи – применяетсяXMLСтрока(). Представление значения в файле определяется типом самого значения:

  • Строка – представляется в виде строки
  • Булево – значение Истина имеет представление "true", а значение Ложь - "false"
  • Дата – в виде представления типа dateTime схемы XML (см. http://www.w3.org/TR/xmlschema-2/#dateTime)
  • Число – в виде представления типа decimal схемы XML (см. http://www.w3.org/TR/xmlschema-2/#decimal)
  • Значение системного перечисления – хранится строковое представление имени значения перечисления
  • УникальныйИдентификатор – хранится строковое представление уникального идентификатора
  • Ссылки – в виде строкового представления уникального идентификатора
  • ХранилищеЗначения и ДвоичныеДанные – в виде строки в формате base64

Значения по умолчанию

Если атрибут узла является необязательным, то его можно не указывать. В случае, если атрибут узла не указан, то используется его значение по умолчанию. Значение по умолчанию зависит от типа значения атрибута, если не указано иное:

  • Строка – пустая строка
  • Булево – Ложь
  • Дата – пустая дата
  • Число – ноль

Заголовок файла

 

Заголовок файла сообщения обмена должен содержать описание кодировки файла в формате UTF-8:

Копировать в буфер обмена

<?xml version="1.0" encoding="UTF-8"?>

Далее приводится описание узлов файла сообщения обмена:

ФайлОбмена

Узел ФайлОбмена (обязательный). Использование: однократно.

Описание: 

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

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

Последовательность расположения дочерних узлов регламентирована:

1) Заголовок (обязательный)

2) Данные сопоставления (необязательный)

3) Данные (необязательный).

Последовательность узлов заголовка регламентировано:

1) ПравилаОбмена

2) ДанныеПоОбмену

3) Алгоритм

4) ЗначениеПараметра

5) АлгоритмПослеЗагрузкиПараметров

Атрибуты: 

ВерсияФормата (обязательный) – Строка. Версия формата сообщения обмена.

ДатаВыгрузки (необязательный) – Дата. Дата формирования сообщения обмена.

ИмяКонфигурацииИсточника (необязательный) – Строка. Наименование конфигурации базы-источника.

ИмяКонфигурацииПриемника (необязательный) – Строка. Наименование конфигурации базы-приемника.

ИдПравилКонвертации (необязательный) – УникальныйИдентификатор. Уникальный идентификатор правил конвертации в конфигурации "Конвертация данных". Используется при обновлении правил обмена.

Комментарий (необязательный) – Строка. Произвольный комментарий к выгружаемым данным.

Формат: 

<?xml version="1.0" encoding="UTF-8"?> 

<ФайлОбмена>  

{ ЗАГОЛОВОК

<ПравилаОбмена>…</ПравилаОбмена>

<ДанныеПоОбмену>…</ДанныеПоОбмену>

<ЗначениеПараметра>…</ЗначениеПараметра>

<АлгоритмПослеЗагрузкиПараметров>…</АлгоритмПослеЗагрузкиПараметров>

ЗАГОЛОВОК }

{ДАННЫЕ СОПОСТАВЛЕНИЯ

<ИнформацияОРегистрацииОбъекта>…</ИнформацияОРегистрацииОбъекта>

<КорректировкаИнформацииОРегистрацииОбъекта>…</КорректировкаИнформацииОРегистрацииОбъекта>  

ДАННЫЕ СОПОСТАВЛЕНИЯ}

{ДАННЫЕ

<Объект>…</Объект>

<НаборЗаписейРегистра>…</НаборЗаписейРегистра>

<УдалениеОбъекта>…</УдалениеОбъекта>

ДАННЫЕ }

</ФайлОбмена>

Пример: 

Копировать в буфер обмена

<?xml version="1.0" encoding="UTF-8"?>  <ФайлОбмена ВерсияФормата="3.0" ДатаВыгрузки="2010-07-30T17:09:02" ИмяКонфигурацииИсточника="УправлениеТорговлей" ИмяКонфигурацииПриемника="БухгалтерияПредприятия" ИдПравилКонвертации="24451442-943d-4182-bc1b-42e04d1fdf33" Комментарий="">  </ФайлОбмена>

ДанныеПоОбмену

Узел ДанныеПоОбмену (обязательный). Использование: однократно.

Описание: 

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

Атрибуты: 

ПланОбмена (обязательный) – Строка. Имя плана обмена, как объекта метаданных конфигурации, для которого предназначено сообщение обмена.

Кому (обязательный) – Строка. Код узла плана обмена базы-приемника, для которого предназначено сообщение.

 

ОтКого (обязательный) – Строка. Код предопределенного узла плана обмена базы-источника, от имени которого отправлено сообщение.

 

НомерИсходящегоСообщения (обязательный) – Число. Номер исходящего сообщения узла-отправителя.

 

НомерВходящегоСообщения (обязательный) – Число. Номер последнего успешно-принятого сообщения от узла-получателя в узле-отправителе.

 

УдалитьРегистрациюИзменений (обязательный) – Булево. Признак необходимости удаления регистрации изменений на узле-получателе при получении сообщения.

Формат:

не содержит дочерних узлов.

Пример: 

Копировать в буфер обмена

<ДанныеПоОбмену ПланОбмена="ОбменУправлениеТорговлейБухгалтерияПредприятия" Кому="001" ОтКого="000" НомерИсходящегоСообщения="32" НомерВходящегоСообщения="31" УдалитьРегистрациюИзменений="true"/>

Объект

Узел Объект (необязательный). Использование: многократно.

Описание: 

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

Атрибуты: 

Тип (обязательный) – Строка. Строковое представление типа объекта. Используется для получения типа объекта функцией Тип().

ИмяПравила (обязательный) – Строка. Имя правила конвертации объекта. Используется для идентификации загружаемого объекта с правилом конвертации (см. узел Код для узлаПравило).

Нпп (необязательный) – Число. Номер выгружаемого объекта в файле в порядке выгрузки. Используется при отладке процесса обмена и для кэширования выгружаемых данных. Пример использования атрибута для кэширования выгружаемых данных приведен в разделе описания узла Нпп.

Источник (необязательный) – Строка. Произвольное описание объекта для вывода в протокол обмена данными.

ПриоритетОбъектаОбмена (необязательный) – Строка. Приоритет объекта загрузки в случае возникновения коллизии изменений. Возможные значения: "Выше", "Ниже", "Совпадает". Значение по умолчанию – "Выше". Соответствует значению параметра ПКО "Приоритет объекта загрузки".

РежимЗаписи (необязательный) – Строка. Режим записи документа. Актуален только для типа объекта Документ. Возможные значения: "Запись" (документ будет записан), "Проведение" (документ будет записан в режиме проведения), "ОтменаПроведения" (документ будет записан в режиме отмены проведения). Значение по умолчанию – "Запись". Соответствует значению параметра РежимЗаписи обработчика события ПКО "Перед выгрузкой".

РежимПроведения (необязательный) – Строка. Режим проведения документа. Актуален только для типа объекта Документ. Возможные значения: "Неоперативный", "Оперативный". Значение по умолчанию – "Неоперативный". Соответствует значению параметра РежимПроведения обработчика события ПКО "Перед выгрузкой".

Формат: 

<Объект>

<Ссылка>…</Ссылка>

<Свойство>…</Свойство>

<ЗначениеПараметра>…</ЗначениеПараметра>

<ТабличнаяЧасть>…</ТабличнаяЧасть>

<НаборЗаписей>…</НаборЗаписей>

</Объект>

Пример: 

Копировать в буфер обмена

<Объект Нпп="24"  Тип="СправочникСсылка.Номенклатура"  ИмяПравила="Номенклатура">  <Ссылка>      <Свойство Имя="{УникальныйИдентификатор}"  Тип="Строка"  ТипИсточника="СправочникСсылка.Номенклатура"  ТипПриемника="СправочникСсылка.Номенклатура">      <Значение>bd72d927-55bc-11d9-848a-00112f43529a</Значение>      </Свойство>      <Свойство Имя="ЭтоГруппа" Тип="Булево">        <Значение>false</Значение>      </Свойство>  </Ссылка>    <Свойство Имя="Код" Тип="Строка">      <Значение>00000000057</Значение>    </Свойство>    <Свойство Имя="Наименование" Тип="Строка">      <Значение>Комбайн кухонный BINATONE FP 67</Значение>    </Свойство>    <Свойство Имя="Родитель" Тип="СправочникСсылка.Номенклатура">  <Ссылка>        <Свойство Имя="{УникальныйИдентификатор}"  Тип="Строка"  ТипИсточника="СправочникСсылка.Номенклатура"  ТипПриемника="СправочникСсылка.Номенклатура">      <Значение>bd72d925-55bc-11d9-848a-00112f43529a</Значение>        </Свойство>        <Свойство Имя="ЭтоГруппа" Тип="Булево">          <Значение>true</Значение>        </Свойство>  </Ссылка>    </Свойство>    <Свойство Имя="НаименованиеПолное" Тип="Строка">      <Значение>Комбайн кухонный BINATONE FP 67</Значение>    </Свойство>    <Свойство Имя="СтавкаНДС" Тип="ПеречислениеСсылка.СтавкиНДС">      <Значение>НДС18</Значение>    </Свойство>    <Свойство Имя="Услуга" Тип="Булево">      <Значение>false</Значение>    </Свойство>  </Объект>

Ссылка

Узел Ссылка (необязательный). Использование: однократно; в самом начале родительского узла Объект.

Описание: 

Содержит значения свойств и параметров для идентификации (поиска) объекта загрузки в базе-приемнике. Узел может содержать служебные свойства.

Для элементов иерархических справочников свойство ЭтоГруппа должно находиться в узле Ссылка.

Свойства, расположенные в этом узле принято называть свойствами поиска.

Атрибуты: 

Нпп (необязательный) – Число. Номер выгружаемой ссылки (объекта) в файле в порядке выгрузки. Используется при отладке процесса обмена и для кэширования выгружаемых данных. Пример использования атрибута для кэширования выгружаемых данных приведен в разделе описания узла Нпп.

 

РегистрироватьОбъектН

Назад к списку новостей