---
title: Протокол обмена ИС
slug: erp-uh/протокол-обмена-ис
---


## ТекстСообщенияXMLИзПротокола
<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 из присоединенного файла, в котором хранится сообщение протокола обмена.
//
// Параметры:
//  Сообщение - ОпределяемыйТип.ПрисоединенныйФайл, Строка - хранимый файл сообщения, из которого извлекается текст сообщения XML.
//
// Возвращаемое значение:
//  Строка - полученный текст сообщения XML.
//
Функция ТекстСообщенияXMLИзПротокола(Сообщение) Экспорт
```

Пример вызова
```bsl
Результат = ПротоколОбменаИС.ТекстСообщенияXMLИзПротокола(Сообщение) 
```
</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     - Строка                     - Текст сообщения XML.
//   Реквизиты - Структура                              - Значения реквизитов сообщения, с обязательными полями:
//    * Документ       - Произвольный - документ по которому ведется протокол обмена,
//    * ВладелецФайлов - Произвольный - элемент по которому ведется обмен с ГосИС.
//   ПроверятьХешБезСсылки - Булево                     - Признак проверки хеша без ссылки.
//   ЗаписатьПринудительно - Булево                     - Признак записи сообщения без поиска по хешу.
// Возвращаемое значение:
//   Структура - Структура со свойствами:
//    * НовоеСообщение - Булево - Это новое сообщение.
//    * Ссылка - СправочникСсылка - Ссылка на присоединенный файл (СправочникСсылка[Протокол.Имя]).
//    * Документ - ДокументСсылка, СправочникСсылка - ссылка на документ-основание обмена
//    * ДокументОснование - ДокументСсылка, СправочникСсылка, Неопределено - ссылка на ДокументОснование от Документ
//
Функция ДобавитьЗаписьВПротоколОбмена(Протокол, ТекстСообщенияXML, Реквизиты, ПроверятьХешБезСсылки, ЗаписатьПринудительно = Ложь) Экспорт
```

Пример вызова
```bsl
Результат = ПротоколОбменаИС.ДобавитьЗаписьВПротоколОбмена(Протокол, ТекстСообщенияXML, Реквизиты, ПроверятьХешБезСсылки, ЗаписатьПринудительно);
```
</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
ПротоколОбменаИС.ОтработатьВходящийДокументПротоколаОбмена(Форма) 
```
</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
ПротоколОбменаИС.УстановитьУсловноеОформлениеПротоколаОбмена(Форма) 
```
</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
Результат = ПротоколОбменаИС.ИндексКартинкиЗапроса(СтрокаПоследовательности, НеВыполнен);
```
</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
Результат = ПротоколОбменаИС.ПустаяТаблицаПоследовательностьОпераций() 
```
</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
Результат = ПротоколОбменаИС.ПредыдущаяОперация(ПоследовательностьОпераций, СтрокаПоследовательности, ИсходныйИндекс);
```
</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
Результат = ПротоколОбменаИС.ДобавитьОперациюВПоследовательность(ПоследовательностьОпераций, );
```
</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
Результат = ПротоколОбменаИС.ОтменитьОперацию(ДокументСсылка, ДанныеПоследнегоСообщения) 
```
</details>

---

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

---
