Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
Следующая версия Следующая версия справа и слева
шлюз_выгрузка:описание_сервисов [2019/09/25 12:03]
misha [АннулироватьМассивДокументов]
шлюз_выгрузка:описание_сервисов [2019/09/25 12:13]
misha [АннулироватьМассивСертификатов]
Строка 2286: Строка 2286:
  ДанныеОтвета = Прокси.АннулироватьМассивДокументов(ДанныеЗагрузки,​ Результат);​   ДанныеОтвета = Прокси.АннулироватьМассивДокументов(ДанныеЗагрузки,​ Результат);​
  РазобратьОтвет(ДанныеОтвета,​ ТекущееСоответствие);​  РазобратьОтвет(ДанныеОтвета,​ ТекущееСоответствие);​
 +КонецПроцедуры
 +</1c>
 +++++
 +++++Пример вызова XML
 +|
 +<file xml request.xml>​
 +
 +</​file>​
 +++++
 +
 +++++Пример ответа XML
 +|
 +<file xml Response.xml>​
 +
 +</​file>​
 +++++
 +
 +====АннулироватьМассивСертификатов====
 +++++Описание
 +|
 +**Назначение:​** Данная операция предназначена для аннулирования списка сертификатов. Предполагается использование из формы списка сертификатов Меркурий. Аннулировать можно только Исходящие Оформленные сертификаты. ​
 +
 +**Параметры:​**
 +  * СписокДокументов(Тип:​ [[шлюз_выгрузка:​описание_типов#​СписокДокументов|СписокДокументов]]) - структура,​ содержащая массив обрабатываемых сертификатов.
 +  * Причина (Тип: string) ​ - причина аннулирования сертификатов; ​
 +**Возвращаемое значение:​** ​
 +  * Строка,​ содержащая информацию о результатах аннулирования.
 +
 +++++
 +
 +++++Пример вызова 1С
 +|
 +<1c>
 +Процедура АннулироватьСертификатыНажатие(Элемент)
 + МасУуид = Новый Массив;​
 + Строки = ТабСертификатов.Строки.НайтиСтроки(Новый Структура("​Выбран",​ Истина));​
 + Для Каждого Стр Из Строки Цикл
 + Если Стр.Строки.Количество() = 0 Тогда
 + Если НЕ ПустаяСтрока(Стр.УУИД) И МасУуид.Найти(Стр.УУИД) = Неопределено Тогда
 + МасУуид.Добавить(Стр.УУИД);​
 + КонецЕсли;​
 + Иначе
 + Для Каждого ПодСтр Из Стр.Строки Цикл
 + Если НЕ ПустаяСтрока(ПодСтр.УУИД) И МасУуид.Найти(ПодСтр.УУИД) = Неопределено Тогда
 + МасУуид.Добавить(ПодСтр.УУИД);​
 + КонецЕсли;​
 + КонецЦикла;​
 + КонецЕсли;​
 + КонецЦикла;​
 +
 + Если МасУуид.Количество() = 0 Тогда
 + ПоказатьПредупреждение(,"​Не выбраны сертификаты для аннулирования"​);​
 + Возврат;​
 + КонецЕсли;​
 +
 + ДопПарам = Новый Структура("​МасУуид",​ МасУуид);​
 + ПоказатьВводСтроки(Новый ОписаниеОповещения("​ПослеЗаполненияПричиныАннулирования",​ ЭтаФорма,​ ДопПарам),​ , "​Причина аннулирования",​ , Истина); ​
 +КонецПроцедуры
 +
 +Процедура ПослеЗаполненияПричиныАннулирования(Результат,​ ДопПарам) Экспорт
 + Если Результат = Неопределено Тогда
 + Возврат;​
 + КонецЕсли;​
 + Если ПустаяСтрока(Результат) Тогда
 + ПоказатьПредупреждение(,​ "​Необходимо указать причину аннулирования"​);​
 + Возврат;​
 + КонецЕсли;​
 +
 + Прокси = ПолучитьПрокси();​
 + Фабрика = Прокси.ФабрикаXDTO;​
 + СписокДокументов = Фабрика.Создать(Фабрика.Тип(ПространствоИмен,"​СписокДокументов"​));​
 +
 + Для Каждого Ууид Из ДопПарам.МасУуид Цикл
 + ХСертификат = Фабрика.Создать(Фабрика.Тип("​http://​88.99.106.214/​Mercury","​ВетеринарныйДокумент"​));​
 + ХСертификат.УУИД = Ууид;
 + СписокДокументов.Сертификаты.Добавить(ХСертификат);​
 + КонецЦикла;​
 +
 + Рез = Прокси.АннулироватьМассивСертификатов(СписокДокументов,​ Результат);​
 + Сообщить(Рез);​
 КонецПроцедуры КонецПроцедуры
 </1c> </1c>