---
title: Обмен данными XDTO сервер
slug: bsp/обмен-данными-xdto-сервер
---


## ИнициализироватьПравилоКонвертацииОбъекта
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Добавляет строку в таблицу правил конвертации и инициализирует значение в колонке "Свойства".
// Используется в модуле менеджера обмена при заполнении таблицы правил конвертации объектов.
//
// Параметры:
//  ПравилаКонвертации - см. КоллекцияПравилКонвертации
//
// Возвращаемое значение:
//  СтрокаТаблицыЗначений - строка таблицы правил конвертации.
//
Функция ИнициализироватьПравилоКонвертацииОбъекта(ПравилаКонвертации) Экспорт
```

Пример вызова
```bsl
Результат = ОбменДаннымиXDTOСервер.ИнициализироватьПравилоКонвертацииОбъекта(ПравилаКонвертации) 
```
</details>

## ИнициализироватьКомпонентыОбмена
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Инициализирует компоненты обмена.
//
// Параметры:
//  НаправлениеОбмена - Строка - направление выполнения обмена: "Отправка" | "Получение".
//
// Возвращаемое значение:
//   Структура - содержит компоненты обмена (правила обмена и параметры обмена):
//     * ВерсияФорматаОбмена - Строка - номер версии формата обмена.
//     * XMLСхема - Строка - пространство имен формата обмена.
//     * МенеджерОбмена - ОбщийМодуль - модуль с правилами конвертации.
//     * УзелКорреспондента - ПланОбменаСсылка - ссылка на узел плана обмена.
//     * УзелКорреспондентаОбъект - ПланОбменаОбъект - объект узла плана обмена.
//     * ВерсияФорматаМенеджераОбмена - Строка - номер версии формата модуля с правилами конвертации.
//     * НаправлениеОбмена - Строка - "Отправка" или "Получение".
//     * ЭтоОбменЧерезПланОбмена - Булево - признак выполнения обмена по плану обмена.
//     * ФлагОшибки - Булево - признак наличия ошибки при выполнении действия обмена.
//     * СтрокаСообщенияОбОшибке - Строка - описание ошибки при выполнении действия обмена.
//     * КлючСообщенияЖурналаРегистрации - Строка - имя события для записи информации об ошибках в журнал регистрации.
//     * ИспользоватьКвитирование - Булево - признак использования квитирования для удаления регистрации изменений.
//     * ВыгруженныеОбъекты - Массив из ЛюбаяСсылка - коллекция выгруженных объектов.
//     * НеВыгруженныеОбъекты - Массив из ЛюбаяСсылка - коллекция не выгруженных объектов.
//     * ВыгруженныеПоСсылкеОбъекты - Массив из ЛюбаяСсылка - коллекция объектов, выгруженных "по ссылке".
//     * ДокументыДляОтложенногоПроведения - ТаблицаЗначений - коллекция документов для отложенного проведения:
//       ** ДокументСсылка - ДокументСсылка - ссылка на документ.
//       ** ДатаДокумента - Дата - дата документа.
//     * ПоддерживаемыеОбъектыXDTO - Массив из Строка - коллекция идентификаторов объектов формата.
//     * ЗагруженныеОбъекты - ТаблицаЗначений - коллекция загруженных объектов:
//       ** ИмяОбработчика - Строка - имя обработчика.
//       ** Объект - СправочникОбъект
//                 - ДокументОбъект - загруженный объект.
//       ** Параметры - Произвольный - произвольные параметры.
//       ** СсылкаНаОбъект - ЛюбаяСсылка - ссылка на загруженный объект.
//     * ПравилаОбработкиДанных - см. ТаблицаПравилОбработкиДанных
//     * СостояниеОбменаДанными - Структура - описание состояния выполнения обмена:
//       ** УзелИнформационнойБазы - ПланОбменаСсылка - узел плана обмена.
//       ** ДействиеПриОбмене - ПеречислениеСсылка.ДействияПриОбмене - выполняемое действие.
//       ** ДатаНачала - Дата - дата начала выполнения действия.
//       ** ДатаОкончания - Дата - дата окончания выполнения действия.
//       ** РезультатВыполненияОбмена - ПеречислениеСсылка.РезультатыВыполненияОбмена
//                                    - Неопределено - результат
//           выполнения действия.
//     * ТаблицаДанныхЗаголовкаПакета - см. НоваяТаблицаДанныхЗаголовкаПакета
//
Функция ИнициализироватьКомпонентыОбмена(НаправлениеОбмена) Экспорт
```

Пример вызова
```bsl
Результат = ОбменДаннымиXDTOСервер.ИнициализироватьКомпонентыОбмена(НаправлениеОбмена) 
```
</details>

## ИнициализироватьТаблицыПравилОбмена
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Инициализирует таблицы значений с правилами обмена и помещает их в КомпонентыОбмена.
//
// Параметры:
//  КомпонентыОбмена - Структура - содержит все правила и параметры обмена.
//
Процедура ИнициализироватьТаблицыПравилОбмена(КомпонентыОбмена) Экспорт
```

Пример вызова
```bsl
ОбменДаннымиXDTOСервер.ИнициализироватьТаблицыПравилОбмена(КомпонентыОбмена) 
```
</details>

## ИнициализироватьТаблицуСвойствДляПравилаКонвертации
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Инициализирует таблицу значений для хранения правил конвертации свойств объекта.
//
// Возвращаемое значение:
//   ТаблицаЗначений - таблица для хранения правил конвертации свойств:
//     * СвойствоКонфигурации - Строка
//     * СвойствоФормата - Строка
//     * ПравилоКонвертацииСвойства - Строка
//     * ИспользуетсяАлгоритмКонвертации - Булево
//     * ОбработкаКлючевогоСвойства - Булево
//     * ОбработкаПоисковогоСвойства - Булево
//     * ИмяТЧ - Строка
//
Функция ИнициализироватьТаблицуСвойствДляПравилаКонвертации() Экспорт
```

Пример вызова
```bsl
Результат = ОбменДаннымиXDTOСервер.ИнициализироватьТаблицуСвойствДляПравилаКонвертации() 
```
</details>

## ИнициализироватьСвойстваТабличныхЧастей
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Заполняет колонку со свойствами табличных частей пустой таблицей значений с определенными колонками.
// Используется в текущем модуле, а также в модуле менеджера обмена при заполнении таблицы правил конвертации объектов.
//
// Параметры:
//  ПравилоКонвертации - СтрокаТаблицыЗначений - правило конвертации объектов.
//  ИмяКолонки - Строка - имя заполняемой колонки таблицы правил конвертации.
//
Процедура ИнициализироватьСвойстваТабличныхЧастей(ПравилоКонвертации, ИмяКолонки = "СвойстваТабличныхЧастей") Экспорт
```

Пример вызова
```bsl
ОбменДаннымиXDTOСервер.ИнициализироватьСвойстваТабличныхЧастей(ПравилоКонвертации, ИмяКолонки);
```
</details>

## ИнициализироватьВедениеПротоколаОбмена
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl
// Создает объект для записи протокола обмена и помещает его в КомпонентыОбмена.
//
// Параметры:
//  КомпонентыОбмена        - Структура - содержит все правила и параметры обмена.
//  ИмяФайлаПротоколаОбмена - Строка - содержит полное имя файла протокола.
//
Процедура ИнициализироватьВедениеПротоколаОбмена(КомпонентыОбмена, ИмяФайлаПротоколаОбмена) Экспорт
```

Пример вызова
```bsl
ОбменДаннымиXDTOСервер.ИнициализироватьВедениеПротоколаОбмена(КомпонентыОбмена, ИмяФайлаПротоколаОбмена) 
```
</details>

## ЗавершитьВедениеПротоколаОбмена
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Завершает запись в протокол обмена.
//
// Параметры:
//  КомпонентыОбмена - Структура - содержит все правила и параметры обмена.
//
Процедура ЗавершитьВедениеПротоколаОбмена(КомпонентыОбмена) Экспорт
```

Пример вызова
```bsl
ОбменДаннымиXDTOСервер.ЗавершитьВедениеПротоколаОбмена(КомпонентыОбмена) 
```
</details>

## ЗаписатьВПротоколВыполнения
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Сохраняет в протокол выполнения (или выводит на экран) сообщения указанной структуры.
//
// Параметры:
//  КомпонентыОбмена - Структура - содержит все правила и параметры обмена.
//  КодОшибки        - Число
//                   - Строка
//                   - Структура - информация об ошибке.
//                       Число - код ошибки, см. ОбменДаннымиПовтИсп.СообщенияОбОшибках().
//                       Строка - описание ошибки:
//                       Структура - структура с кратким и подробным описанием ошибки:
//                         * КраткоеПредставлениеОшибки - описание ошибки для протокола (для пользователя).
//                         * ПодробноеПредставлениеОшибки - описание ошибки для журнала регистрации.
//                         * Уровень - УровеньЖурналаРегистрации - уровень важности ошибки.
//  СтруктураЗаписи   - Структура - структура записи протокола.
//  ВзвестиФлагОшибок - Булево - если истина, то - это сообщение об ошибке. Взводится ФлагОшибки.
//  Уровень           - Число - отступ слева, количество табуляций.
//  Выравнивание      - Число - отступ в тексте, для выравнивания текста выводимого в виде Ключ - Значение.
//  БезусловнаяЗаписьВПротоколОбмена - Булево - флаг безусловной записи информации в протокол.
//
// Возвращаемое значение:
//  Строка - текст ошибки, которая была записана в протокол.
//
Функция ЗаписатьВПротоколВыполнения(КомпонентыОбмена, Экспорт
```

Пример вызова
```bsl
Результат = ОбменДаннымиXDTOСервер.ЗаписатьВПротоколВыполнения(КомпонентыОбмена, );
```
</details>

## ПКОПоИмени
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl
// Выполняет поиск правила конвертации объекта по имени.
//
// Параметры:
//  КомпонентыОбмена - Структура - содержит все правила и параметры обмена.
//  Имя              - Строка - имя правила.
//
// Возвращаемое значение:
//  СтрокаТаблицыЗначений - строка таблицы правил обмена, в которой содержится искомое правило.
//
Функция ПКОПоИмени(КомпонентыОбмена, Имя) Экспорт
```

Пример вызова
```bsl
Результат = ОбменДаннымиXDTOСервер.ПКОПоИмени(КомпонентыОбмена, Имя) 
```
</details>

## ПроизвестиВыгрузкуДанных
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Выполняет выгрузку данных в соответствии с правилами и параметрами обмена.
//
// Параметры:
//  КомпонентыОбмена - см. ИнициализироватьКомпонентыОбмена
//
Процедура ПроизвестиВыгрузкуДанных(КомпонентыОбмена) Экспорт
```

Пример вызова
```bsl
ОбменДаннымиXDTOСервер.ПроизвестиВыгрузкуДанных(КомпонентыОбмена) 
```
</details>

## ВыгрузкаОбъектаВыборки
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Выполняет выгрузку объекта информационной базы.
//
// Параметры:
//   КомпонентыОбмена - см. ОбменДаннымиXDTOСервер.ИнициализироватьКомпонентыОбмена
//   Объект           - ЛюбаяСсылка - ссылка на объект информационной базы.
//   ПравилоОбработки - СтрокаТаблицыЗначений - строка таблицы правил обработки данных,
//                      соответствующая правилу обработки типа выгружаемого объекта.
//                      Если параметр не задан, правило будет найдено по объекту метаданных выгружаемого объекта.
//
Процедура ВыгрузкаОбъектаВыборки(КомпонентыОбмена, Объект, ПравилоОбработки = Неопределено) Экспорт
```

Пример вызова
```bsl
ОбменДаннымиXDTOСервер.ВыгрузкаОбъектаВыборки(КомпонентыОбмена, Объект, ПравилоОбработки);
```
</details>

## ОбъектXDTOИзДанныхXDTO
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Выполняет преобразование структуры с данными в объект XDTO указанного типа в соответствии с правилами.
//
// Параметры:
//   КомпонентыОбмена - Структура - содержит все правила и параметры обмена.
//   Источник         - Структура - источник данных, которые необходимо преобразовать в объект XDTO.
//   ТипXDTO          - Строка - тип объекта или тип значения XDTO, к которому надо преобразовать данные.
//   СсылкиИзОбъекта  - Массив из ЛюбаяСсылка - содержит общий список выгруженных по ссылкам объектов.
//   ПроведеноЗаполнениеСвойств - Булево - параметр для определения заполненности общих составных свойств.
//   Расширения       - Структура - для служебного использования.
//
// Возвращаемое значение:
//   ОбъектXDTO - результат преобразования.
//
Функция ОбъектXDTOИзДанныхXDTO(КомпонентыОбмена, Знач Источник, Знач ТипXDTO, Экспорт
```

Пример вызова
```bsl
Результат = ОбменДаннымиXDTOСервер.ОбъектXDTOИзДанныхXDTO(КомпонентыОбмена, Источник, ТипXDTO, );
```
</details>

## ДанныеXDTOИзДанныхИБ
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Выполняет преобразование данных информационной базы в структуру с данными в соответствии с правилами.
//
// Параметры:
//   КомпонентыОбмена    - см. ИнициализироватьКомпонентыОбмена
//   Источник            - ЛюбаяСсылка - ссылка на выгружаемый объект информационной базы.
//   ПравилоКонвертации  - СтрокаТаблицыЗначений - строка таблицы правил конвертации объектов,
//                         в соответствии с которой выполняется преобразование.
//   СтекВыгрузки        - Массив из ЛюбаяСсылка - ссылки на выгружаемые объекты с учетом вложенности.
//
// Возвращаемое значение:
//   Структура - результат преобразования.
//
Функция ДанныеXDTOИзДанныхИБ(КомпонентыОбмена, Источник, Знач ПравилоКонвертации, СтекВыгрузки = Неопределено) Экспорт
```

Пример вызова
```bsl
Результат = ОбменДаннымиXDTOСервер.ДанныеXDTOИзДанныхИБ(КомпонентыОбмена, Источник, ПравилоКонвертации, СтекВыгрузки);
```
</details>

## ВыгрузитьСвойство
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Выгружает свойство объекта информационной базы в соответствии с правилами.
//
// Параметры:
//  КомпонентыОбмена   - Структура - содержит все правила и параметры обмена.
//  ДанныеИБ           - ЛюбаяСсылка - ссылка на выгружаемый объект информационной базы.
//  ПолучательСвойства - Структура - получатель данных типа Структура, в которой должно храниться значение выгруженного свойства.
//                     - СтрокаТаблицыЗначений.
//  ПКС                - СтрокаТаблицыЗначений - строка таблицы правил конвертации свойств, в соответствии с которой
//                                               выполняется преобразование.
//  СтекВыгрузки       - Массив из ЛюбаяСсылка - ссылки на выгружаемые объекты с учетом вложенности.
//  ЭтапВыгрузки       - Число - содержит информацию об этапе выгрузки:
//     1 - выгрузка до выполнения алгоритма ПриОтправкеДанных,
//     2 - выгрузка после выполнения алгоритма ПриОтправкеДанных.
//
Процедура ВыгрузитьСвойство(КомпонентыОбмена, ДанныеИБ, ПолучательСвойства, ПКС, СтекВыгрузки, ЭтапВыгрузки = 1) Экспорт
```

Пример вызова
```bsl
ОбменДаннымиXDTOСервер.ВыгрузитьСвойство(КомпонентыОбмена, ДанныеИБ, ПолучательСвойства, ПКС, СтекВыгрузки, ЭтапВыгрузки);
```
</details>

## ОткрытьФайлВыгрузки
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Открывает файл выгрузки данных, записывает заголовок файла в соответствие с форматом обмена.
//
// Параметры:
//  КомпонентыОбмена - Структура - содержит все правила и параметры обмена.
//  ИмяФайлаОбмена - Строка - имя файла обмена.
//
Процедура ОткрытьФайлВыгрузки(КомпонентыОбмена, ИмяФайлаОбмена = "") Экспорт
```

Пример вызова
```bsl
ОбменДаннымиXDTOСервер.ОткрытьФайлВыгрузки(КомпонентыОбмена, ИмяФайлаОбмена);
```
</details>

## ТипСвойстваПоИмениИЗначениюСвойства
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Определяет тип объекта формата перед конвертацией свойства
//
Процедура ТипСвойстваПоИмениИЗначениюСвойства(ТипXDTO, СвойствоНайдено, Свойство, ЗначениеСвойства, ТипСвойства) Экспорт
```

Пример вызова
```bsl
ОбменДаннымиXDTOСервер.ТипСвойстваПоИмениИЗначениюСвойства(ТипXDTO, СвойствоНайдено, Свойство, ЗначениеСвойства, ТипСвойства));
```
</details>

## СтруктураОбъектаXDTOВДанныеИБ
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Возвращает объект информационной базы, соответствующий полученным данным.
//
// Параметры:
//   КомпонентыОбмена - см. ОбменДаннымиXDTOСервер.ИнициализироватьКомпонентыОбмена
//   ДанныеXDTO       - Структура - структура, имитирующая объект XDTO.
//
//   ПравилоКонвертации - СтрокаТаблицыЗначений
//                      - Структура - параметры текущего правила конвертации:
//                        СтрокаТаблицыЗначений - строка таблицы правил конвертации объектов.
//                        Структура - описание правила конвертации объекта:
//                          * ПравилоКонвертации - СтрокаТаблицыЗначений - строка таблицы правил конвертации объектов.
//                                                 Обязательное свойство.
//                          * УдалятьСозданныеПоКлючевымСвойствам - Булево - признак необходимости удаления объектов,
//                                                                  созданных только по значениям ключевых свойств.
//                                                                  Необязательное свойство, по умолчанию Ложь.
//
//   Действие - Строка - определяет цель получения объекта ИБ:
//                       "ПолучитьСсылку" - идентификация объекта,
//                       "КонвертироватьИЗаписать" - полноценная загрузка объекта.
//
// Возвращаемое значение:
//   - Объект - объект ИБ, если передано действие "КонвертироватьИЗаписать",
//              либо если передано действие "ПолучитьСсылку" и в процессе ее получения был создан объект.
//   - ЛюбаяСсылка - ссылка на объект ИБ или пустая ссылка заданного типа, если было передано действие "ПолучитьСсылку"
//                   и в процессе ее получения объект не был создан.
//
Функция СтруктураОбъектаXDTOВДанныеИБ(КомпонентыОбмена, ДанныеXDTO, Знач ПравилоКонвертации, Действие = "КонвертироватьИЗаписать") Экспорт
```

Пример вызова
```bsl
Результат = ОбменДаннымиXDTOСервер.СтруктураОбъектаXDTOВДанныеИБ(КомпонентыОбмена, ДанныеXDTO, ПравилоКонвертации, Действие);
```
</details>

## ПроизвестиЧтениеДанных
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Выполняет чтение файла данных при загрузке.
//
// Параметры:
//  КомпонентыОбмена - см. ИнициализироватьКомпонентыОбмена
//  ТаблицыДляЗагрузки - ТаблицаЗначений - таблица, в которую следует загрузить данные (при интерактивном сопоставлении данных).
//
Процедура ПроизвестиЧтениеДанных(КомпонентыОбмена, ТаблицыДляЗагрузки = Неопределено) Экспорт
```

Пример вызова
```bsl
ОбменДаннымиXDTOСервер.ПроизвестиЧтениеДанных(КомпонентыОбмена, ТаблицыДляЗагрузки);
```
</details>

## ПроизвестиЧтениеДанныхВРежимеАнализа
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Выполняет чтение файла данных при загрузке в режиме анализа (при интерактивной синхронизации данных).
//
// Параметры:
//  КомпонентыОбмена - см. ИнициализироватьКомпонентыОбмена
//  ПараметрыАнализа - Структура - параметры интерактивной загрузки данных.
//
Процедура ПроизвестиЧтениеДанныхВРежимеАнализа(КомпонентыОбмена, ПараметрыАнализа = Неопределено) Экспорт
```

Пример вызова
```bsl
ОбменДаннымиXDTOСервер.ПроизвестиЧтениеДанныхВРежимеАнализа(КомпонентыОбмена, ПараметрыАнализа);
```
</details>

## ОткрытьФайлЗагрузки
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Открывает файл загрузки данных, записывает заголовок файла в соответствие с форматом обмена.
//
// Параметры:
//  КомпонентыОбмена - Структура - содержит все правила и параметры обмена.
//  ИмяФайлаОбмена - Строка - имя файла обмена.
//
Процедура ОткрытьФайлЗагрузки(КомпонентыОбмена, ИмяФайлаОбмена) Экспорт
```

Пример вызова
```bsl
ОбменДаннымиXDTOСервер.ОткрытьФайлЗагрузки(КомпонентыОбмена, ИмяФайлаОбмена) 
```
</details>

## ОбъектXDTOВСтруктуру
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Выполняет преобразование объекта XDTO в структуру с данными.
//
// Параметры:
//  ОбъектXDTO - ОбъектXDTO - значение, которое необходимо преобразовать.
//  КомпонентыОбмена - см. ИнициализироватьКомпонентыОбмена
//
// Возвращаемое значение:
//  Структура - структура, имитирующая объект XDTO.
//    Ключи структуры соответствуют свойствам объекта XDTO.
//    Значения соответствуют значениям свойств объекта XDTO.
//
Функция ОбъектXDTOВСтруктуру(ОбъектXDTO, КомпонентыОбмена) Экспорт
```

Пример вызова
```bsl
Результат = ОбменДаннымиXDTOСервер.ОбъектXDTOВСтруктуру(ОбъектXDTO, КомпонентыОбмена) 
```
</details>

## СсылкаОбъектаПоУИДОбъектаXDTO
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Преобразует строковое представление УИД в ссылку на объект текущей информационной базы.
// Сначала выполняется поиск УИД в регистре публичных идентификаторов.
// При удачном поиске возвращается ссылка из регистра, при неудачном
// возвращается либо ссылка с исходным УИД (если она еще не сопоставлена),
// либо выполняется генерация новой ссылки со случайным УИД.
// И в том и в другом случае в регистре публичных идентификаторов создается запись.
//
// Параметры:
//  УИДОбъектаXDTO       - Строка - уникальный идентификатор объекта XDTO, для которого необходимо
//                                  получить ссылку соответствующего объекта информационной базы.
//
//  ТипЗначенияОбъектаИБ - Тип - тип объекта информационной базы, которому должна соответствовать
//                               получаемая ссылка.
//
//  КомпонентыОбмена     - Структура - содержит все необходимые данные, инициализированные при начале
//                                     выполнения обмена (ПКО, ПКПД, ПОД и т.д.).
//
// Возвращаемое значение:
//   ЛюбаяСсылка - ссылка на объект информационной базы.
//
Функция СсылкаОбъектаПоУИДОбъектаXDTO(УИДОбъектаXDTO, ТипЗначенияОбъектаИБ, КомпонентыОбмена) Экспорт
```

Пример вызова
```bsl
Результат = ОбменДаннымиXDTOСервер.СсылкаОбъектаПоУИДОбъектаXDTO(УИДОбъектаXDTO, ТипЗначенияОбъектаИБ, КомпонентыОбмена) 
```
</details>

## ЗаписатьОбъектВИБ
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Записывает объект в информационную базу.
//
// Параметры:
//  КомпонентыОбмена - Структура - содержит все необходимые данные,
//                инициализированные при начале выполнения обмена (ПКО, ПКПД, ПОД и т.д.).
//  Объект - Произвольный - СправочникОбъект, ДокументОбъект и др записываемый объект.
//  Тип - Строка - тип объекта строкой.
//  ЗаписатьОбъект - Булево - переменная принимает значение Ложь если запись объекта не была выполнена.
//  ОтправкаНазад - Булево - служебный флаг для установки соответствующего параметра обмена данными объекта.
//  УникальныйИдентификаторСтрокой - Строка - уникальный идентификатор объекта в виде строки.
//
Процедура ЗаписатьОбъектВИБ(КомпонентыОбмена, Объект, Тип, ЗаписатьОбъект = Ложь, Знач ОтправкаНазад = Ложь, УникальныйИдентификаторСтрокой = "") Экспорт
```

Пример вызова
```bsl
ОбменДаннымиXDTOСервер.ЗаписатьОбъектВИБ(КомпонентыОбмена, Объект, Тип, ЗаписатьОбъект, ОтправкаНазад, УникальныйИдентификаторСтрокой);
```
</details>

## ВыполнитьОтложенноеПроведениеДокументов
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Выполняет отложенное проведение загруженных документов после загрузки всех данных.
//
// Параметры:
//  КомпонентыОбмена - Структура - содержит все правила и параметры обмена.
//
Процедура ВыполнитьОтложенноеПроведениеДокументов(КомпонентыОбмена) Экспорт
```

Пример вызова
```bsl
ОбменДаннымиXDTOСервер.ВыполнитьОтложенноеПроведениеДокументов(КомпонентыОбмена) 
```
</details>

## ВыполнитьПроведениеДокументаПриЗагрузке
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Выполняет проведение документа при его загрузке в информационную базу.
//
// Параметры:
//  КомпонентыОбмена                         - Структура - содержит все правила и параметры обмена.
//  Объект                                   - ДокументОбъект - загруженный документ.
//  РегистрироватьПроблемыВРезультатахОбмена - Булево - необходимо регистрировать проблемы.
//
Процедура ВыполнитьПроведениеДокументаПриЗагрузке( Экспорт
```

Пример вызова
```bsl
ОбменДаннымиXDTOСервер.ВыполнитьПроведениеДокументаПриЗагрузке();
```
</details>

## ОтменитьПроведениеОбъектаВИБ
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Отменяет проведение объекта в информационной базе.
//
// Параметры:
//  Объект      - ДокументОбъект - документ для отмены проведения.
//  Отправитель - ПланОбменаСсылка - ссылка на узел плана обмена, который является отправителем данных.
//  КомпонентыОбмена - см. ИнициализироватьКомпонентыОбмена
//
// Возвращаемое значение:
//   Булево - признак успешной отмены проведения.
//
Функция ОтменитьПроведениеОбъектаВИБ(Объект, Отправитель, КомпонентыОбмена = Неопределено) Экспорт
```

Пример вызова
```bsl
Результат = ОбменДаннымиXDTOСервер.ОтменитьПроведениеОбъектаВИБ(Объект, Отправитель, КомпонентыОбмена);
```
</details>

## ЗаполнитьТабличнуюЧастьОбъектаНачальнымиДанными
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

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

Пример вызова
```bsl
ОбменДаннымиXDTOСервер.ЗаполнитьТабличнуюЧастьОбъектаНачальнымиДанными();
```
</details>

## ПоддерживаемыеОбъектыФормата
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Возвращает таблицу поддерживаемых в обмене объектов формата для указанного плана обмена.
// Перечень формируется на основании правил обмена из модулей менеджера обмена по соответствующим версиям.
//
// Параметры:
//  ИмяПланаОбмена - Строка - имя плана обмена XDTO.
//  Режим          - Строка - вид запрашиваемой информации: "Отправка" | "Получение" | "ОтправкаПолучение".
//                            "Отправка" - будут возвращены все объекты, для которых поддерживается отправка;
//                            "Получение" - будут возвращены все объекты, для которых поддерживается получение;
//                            "ОтправкаПолучение" - будут возвращены все поддерживаемые объекты.
//                            По умолчанию "ОтправкаПолучение".
//  УзелОбмена     - ПланОбменаСсылка
//                 - Неопределено - узел плана обмена, соответствующий корреспонденту.
//
// Возвращаемое значение:
//  ТаблицаЗначений - состав поддерживаемых объектов формата в разрезе версий:
//    * Версия    - Строка - версия формата, например, "1.5".
//    * Объект    - Строка - имя объекта формата, например, "Справочник.Номенклатура".
//    * Отправка  - Булево - признак поддержки отправки данного объекта формата.
//    * Получение - Булево - признак поддержки получения данного объекта формата.
//
Функция ПоддерживаемыеОбъектыФормата(ИмяПланаОбмена, Режим = "ОтправкаПолучение", УзелОбмена = Неопределено) Экспорт
```

Пример вызова
```bsl
Результат = ОбменДаннымиXDTOСервер.ПоддерживаемыеОбъектыФормата(ИмяПланаОбмена, Режим, УзелОбмена);
```
</details>

## ПоддерживаемыеОбъектыФорматаКорреспондента
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Возвращает таблицу поддерживаемых в обмене объектов формата для указанного корреспондента.
//
// Параметры:
//  УзелОбмена - ПланОбменаСсылка - узел плана обмена XDTO соответствующего корреспондента.
//  Режим          - Строка - вид запрашиваемой информации: "Отправка" | "Получение" | "ОтправкаПолучение".
//                            "Отправка" - будут возвращены все объекты, для которых поддерживается отправка;
//                            "Получение" - будут возвращены все объекты, для которых поддерживается получение;
//                            "ОтправкаПолучение" - будут возвращены все поддерживаемые объекты.
//                            По умолчанию "ОтправкаПолучение".
//
// Возвращаемое значение:
//  ТаблицаЗначений - состав поддерживаемых объектов формата в разрезе версий:
//    * Версия    - Строка - версия формата, например, "1.5".
//    * Объект    - Строка - имя объекта формата, например, "Справочник.Номенклатура".
//    * Отправка  - Булево - признак поддержки корреспондентом отправки данного объекта формата.
//    * Получение - Булево - признак поддержки корреспондентом получения данного объекта формата.
//
Функция ПоддерживаемыеОбъектыФорматаКорреспондента(УзелОбмена, Режим = "ОтправкаПолучение") Экспорт
```

Пример вызова
```bsl
Результат = ОбменДаннымиXDTOСервер.ПоддерживаемыеОбъектыФорматаКорреспондента(УзелОбмена, Режим);
```
</details>

## ПропускатьОбъектыСОшибкамиПроверкиПоСхеме
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Возвращает признак режима пропуска при выгрузке объектов формата, не прошедших проверку по схеме.
// Может быть использована для установки нового значения режима.
//
// Параметры:
//   УзелИнформационнойБазы - ПланОбменаСсылка - узел плана обмена, соответствующий корреспонденту.
//   НовоеЗначение - Булево
//                 - Неопределено - новое значение режима для установки.
//                                  Если Неопределено, то значение режима не изменяется.
//
// Возвращаемое значение:
//   Булево - Истина, если при отправке данных необходимо пропускать объекты формата.
//
Функция ПропускатьОбъектыСОшибкамиПроверкиПоСхеме(УзелИнформационнойБазы, НовоеЗначение = Неопределено) Экспорт
```

Пример вызова
```bsl
Результат = ОбменДаннымиXDTOСервер.ПропускатьОбъектыСОшибкамиПроверкиПоСхеме(УзелИнформационнойБазы, НовоеЗначение);
```
</details>

## КлассКлючевыеСвойства
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Возвращает имя свойства, которое содержит ключевые свойства объекта
//
// Возвращаемое значение:
//   Строка - "КлючевыеСвойства".
//
Функция КлассКлючевыеСвойства() Экспорт
```

Пример вызова
```bsl
Результат = ОбменДаннымиXDTOСервер.КлассКлючевыеСвойства() 
```
</details>

## КлассКлючевыеСвойстваФормата
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Возвращает имя свойства, которое содержит ключевые свойства объекта пакета XDTO
//
// Возвращаемое значение:
//   Строка - "КлючевыеСвойства".
//
Функция КлассКлючевыеСвойстваФормата() Экспорт
```

Пример вызова
```bsl
Результат = ОбменДаннымиXDTOСервер.КлассКлючевыеСвойстваФормата() 
```
</details>

---

© 2024, **ООО 1С-Софт**  
Все права защищены. Эта программа и сопроводительные материалы предоставляются  
в соответствии с условиями лицензии [Attribution 4.0 International (CC BY 4.0)](https://creativecommons.org/licenses/by/4.0/legalcode).

---
