Подключить тестовый период. Выполняет отправку запроса на подключение тестового периода, предварительно проверяя
// Выполняет отправку запроса на подключение тестового периода, предварительно проверяя
// возможность назначения. Активация тестового периода происходит в асинхронном режиме.
//
Процедура ПодключитьТестовыйПериод(ПараметрыЗапроса, АдресХранилища) Экспорт
Если Не РазрешеноПодключениеТестовыхПериодов() Тогда
ВызватьИсключение НСтр("ru = 'Подключение тестового периода недоступно.'");
КонецЕсли;
ТекстЖурналРегистрации = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Подключение тестового периода:
|Сервис сопровождения: %1
|Идентификатор тестового периода: %2'"),
Строка(ПараметрыЗапроса.СервисСопровождения),
ПараметрыЗапроса.Идентификатор);
ЗаписатьИнформациюВЖурналРегистрации(
ТекстЖурналРегистрации,
Ложь);
ИдентификаторТестовогоПериода = ПараметрыЗапроса.Идентификатор;
СервисСопровождения = ПараметрыЗапроса.СервисСопровождения;
РезультатОперации = Новый Структура;
РезультатОперации.Вставить("Ошибка", Ложь);
РезультатОперации.Вставить("ИнформацияОбОшибке", "");
ПараметрыПодключения = ИнициализироватьПараметрыПодключенияТестовыхПериод();
// Вызов операции ping.
ПроверитьДоступностьСервиса(РезультатОперации, ПараметрыПодключения);
Если РезультатОперации.Ошибка Тогда
ПоместитьВоВременноеХранилище(РезультатОперации, АдресХранилища);
Возврат;
КонецЕсли;
// Вызов операции сервиса.
URLОперации = URLОперацииСервисаПодключенияТестовыхПериодов(
"/trial/tariffs/activate",
ПараметрыПодключения.НастройкиСоединения.ДоменРасположенияСерверовИПП);
Результат = ДанныеАутентификации(URLОперации);
Если Результат.Ошибка Тогда
ЗаполнитьЗначенияСвойств(
РезультатОперации,
Результат,
"Ошибка, ИнформацияОбОшибке");
ПоместитьВоВременноеХранилище(РезультатОперации, АдресХранилища);
Возврат;
КонецЕсли;
ДанныеАутентификации = Результат.ДанныеАутентификации;
ПараметрыЗапросаJSON = tariffsActivate(
ИдентификаторТестовогоПериода,
ДанныеАутентификации,
ИнтернетПоддержкаПользователей.ДополнительныеПараметрыВызоваОперацииСервиса());
Заголовки = Новый Соответствие;
Заголовки.Вставить("Content-Type", "application/json");
ПараметрыОтправки = Новый Структура;
ПараметрыОтправки.Вставить("Метод" , "POST");
ПараметрыОтправки.Вставить("ФорматОтвета" , 1);
ПараметрыОтправки.Вставить("Заголовки" , Заголовки);
ПараметрыОтправки.Вставить("ДанныеДляОбработки" , ПараметрыЗапросаJSON);
ПараметрыОтправки.Вставить("ФорматДанныхДляОбработки", 1);
ПараметрыОтправки.Вставить("НастройкиПрокси" , ПараметрыПодключения.НастройкиПроксиСервера);
ПараметрыОтправки.Вставить("Таймаут" , 30);
РезультатОтправки = ИнтернетПоддержкаПользователей.ЗагрузитьСодержимоеИзИнтернет(
URLОперации,
,
,
ПараметрыОтправки);
Если Не ПустаяСтрока(РезультатОтправки.КодОшибки) Тогда
РезультатОперации.Ошибка = Истина;
РезультатОперации.ИнформацияОбОшибке = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Ошибка при подключении тестового периода:
|%1'"),
РезультатОтправки.СообщениеОбОшибке);
ПодробноеОписаниеОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Не удалось подключить тестовый период.
|При активации тестового периода сервис вернул ошибку: %1.
|Причина:
|%2'"),
URLОперации,
РезультатОтправки.ИнформацияОбОшибке);
ЗаписатьИнформациюВЖурналРегистрации(ПодробноеОписаниеОшибки);
ПоместитьВоВременноеХранилище(РезультатОперации, АдресХранилища);
Возврат;
КонецЕсли;
ИдентификаторЗапроса = ПрочитатьДанные_tariffsActivate(РезультатОтправки.Содержимое);
РезультатОперации.Вставить("ИдентификаторЗапроса", ИдентификаторЗапроса);
// Активация тестового периода может повлиять на правила предоставления
// тестовых периодов, поэтому необходимо принудительно обновлять кэш.
Если Не РезультатОперации.Ошибка Тогда
РегистрыСведений.КэшТестовыхПериодов.ОчиститьКэшТестовыхПериодов(СервисСопровождения);
КонецЕсли;
ПоместитьВоВременноеХранилище(РезультатОперации, АдресХранилища);
КонецПроцедуры
///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////
ТестовыеПериодыСервисаСопровождения (БСП)
ДоступноПодключениеТестовогоПериода (БСП)
ПодключениеТестовыхПериодов_ПроверитьСостояниеЗапроса (БСП)
ПодключениеТестовыхПериодов (БСП)
ПроверитьСостояниеЗапроса (БСП)