С помощью онлайн-сервиса
Функция Просклонять(СклоняемыйТекст, Падеж)
Запрос = HTTPЗапросКСервисуСклонения(СклоняемыйТекст);
Соединение = HTTPСоединениеСервисаСклонений();
Попытка
Ответ = Соединение.Получить(Запрос);
Исключение
ОбщегоНазначенияКлиентСервер.СообщитьПользователю("Ошибка склонения " + Символы.ПС + ОписаниеОшибки());
Возврат СклоняемыйТекст;
КонецПопытки;
ТелоОтвета = Ответ.ПолучитьТелоКакСтроку();
Если Ответ.КодСостояния <> 200 Тогда
ОбщегоНазначенияКлиентСервер.СообщитьПользователю("Ошибка склонения " + Символы.ПС + ОписаниеОшибки());
Возврат СклоняемыйТекст;
КонецЕсли;
ЧтениеJSON = Новый ЧтениеJSON;
ЧтениеJSON.УстановитьСтроку(ТелоОтвета);
СтруктураОтвета = ПрочитатьJSON(ЧтениеJSON);
ЧтениеJSON.Закрыть();
Возврат СтруктураОтвета[Падеж];
КонецФункции
Функция HTTPЗапросКСервисуСклонения(СклоняемыйТекст)
ТекстЗапроса = "/russian/declension?s=" + СклоняемыйТекст;
УстановитьПривилегированныйРежим(Истина);
ВладелецТокена = ОбщегоНазначения.ИдентификаторОбъектаМетаданных("РегистрСведений.СклоненияПредставленийОбъектов");
Токен = ОбщегоНазначения.ПрочитатьДанныеИзБезопасногоХранилища(ВладелецТокена, "ТокенДоступаКСервисуMorpher");
УстановитьПривилегированныйРежим(Ложь);
Если ЗначениеЗаполнено(Токен) Тогда
ТекстЗапроса = ТекстЗапроса + "&token=" + Токен;
КонецЕсли;
Заголовки = Новый Соответствие;
Заголовки.Вставить("User-Agent", "1C Enterprise 8.3");
Заголовки.Вставить("Accept", "application/json");
Заголовки.Вставить("charset", "UTF-8");
Возврат Новый HTTPЗапрос(ТекстЗапроса, Заголовки);
КонецФункции
Функция HTTPСоединениеСервисаСклонений()
АдресСервера = "ws3.morpher.ru";
ИнтернетПрокси = Неопределено;
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ПолучениеФайловИзИнтернета") Тогда
МодульПолучениеФайловИзИнтернетаКлиентСервер = ОбщегоНазначения.ОбщийМодуль("ПолучениеФайловИзИнтернетаКлиентСервер");
ИнтернетПрокси = МодульПолучениеФайловИзИнтернетаКлиентСервер.ПолучитьПрокси(АдресСервера);
КонецЕсли;
Таймаут = 10;
ЗащищенноеСоединение = Новый ЗащищенноеСоединениеOpenSSL(, Новый СертификатыУдостоверяющихЦентровОС);
Возврат Новый HTTPСоединение(АдресСервера, , , , ИнтернетПрокси, Таймаут, ЗащищенноеСоединение);
КонецФункции
Орфографическая ошибка в russian: russian Орфографическая ошибка в ВладелецТокена (найдено 2): Токена Орфографическая ошибка в ТокенДоступаКСервисуMorpher: Morpher Орфографическая ошибка в charset: charset Орфографическая ошибка в morpher: morpher
#1, 02 октября 2020 15:40
в БСП же встроена компонента для склонения. Думаю быстрее будет чем запрос на сервис да и проще в реализации.