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

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

Основатель и генеральный директор компании MoscowSoft, Сорокин Сергей
Сорокин Сергей, Генеральный директор MoscowSoft  31.03.2018 Актуальность проверена: 03.11.2024   11 мин. Прочитать позже
Подобрать перенос данных 1С

Специализируемся на переносах данных 1С с 2015г.

Подобрать перенос данных 1С >>

Интеграция 1С с маркетплейсами

Специализируемся на интеграциях 1С с маркетплейсами с 2021г.

Изучить продукты >>

Содержание

Приложение 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</Значение>    </Свойство>  </Объект>

Ссылка

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

Описание: 

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

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

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

Атрибуты: 

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

 

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

MoscowSoft логотип

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

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

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

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