Различия
Здесь показаны различия между двумя версиями данной страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
шлюз_выгрузка:описание_сервисов [2019/09/25 12:03] misha [АннулироватьМассивДокументов] |
шлюз_выгрузка:описание_сервисов [2019/09/25 12:18] misha [АннулироватьМассивДокументов] |
||
---|---|---|---|
Строка 2229: | Строка 2229: | ||
++++Описание | ++++Описание | ||
| | | | ||
- | **Назначение:** Данная операция предназначена для аннулирования всех сертификатов документа. Предполагается использование в разделе обработки "Выгрузка"->"Документы" аналогично сервису ОбработатьМассивДокументов. | + | **Назначение:** Данная операция предназначена для аннулирования всех сертификатов документа. Предполагается использование в разделе обработки "Выгрузка"->"Документы" аналогично сервису ОбработатьМассивДокументов. Аннулировать можно только исходящие сертификаты, и только до гашения их получателем. |
**Параметры:** | **Параметры:** | ||
Строка 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> |