You've already forked OpenIntegrations
mirror of
https://github.com/Bayselonarrend/OpenIntegrations.git
synced 2025-08-24 19:49:22 +02:00
Дефекты SQ
This commit is contained in:
@@ -602,7 +602,7 @@
|
||||
.ДобавитьДанныеRelated(Описание, "application/json; charset=UTF-8");
|
||||
|
||||
Для Каждого Файл Из СоответствиеФайла Цикл
|
||||
HTTPКлиент.ДобавитьДанныеRelated(Файл.Ключ, Файл.Значение)
|
||||
HTTPКлиент.ДобавитьДанныеRelated(Файл.Ключ, Файл.Значение);
|
||||
КонецЦикла;
|
||||
|
||||
Ответ = HTTPКлиент.ОбработатьЗапрос(Метод).ВернутьОтветКакJSONКоллекцию(Истина, Истина);
|
||||
|
@@ -604,11 +604,12 @@
|
||||
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Green API
|
||||
Функция ОтправитьТекстовоеСообщение(Знач ПараметрыДоступа, Знач IDЧата, Знач Текст, Знач IDЦитируемого = "") Экспорт
|
||||
|
||||
Строка_ = "Строка";
|
||||
Параметры = Новый Структура;
|
||||
|
||||
OPI_Инструменты.ДобавитьПоле("chatId" , IDЧата , "Строка", Параметры);
|
||||
OPI_Инструменты.ДобавитьПоле("message" , Текст , "Строка", Параметры);
|
||||
OPI_Инструменты.ДобавитьПоле("quotedMessageId", IDЦитируемого, "Строка", Параметры);
|
||||
OPI_Инструменты.ДобавитьПоле("chatId" , IDЧата , Строка_, Параметры);
|
||||
OPI_Инструменты.ДобавитьПоле("message" , Текст , Строка_, Параметры);
|
||||
OPI_Инструменты.ДобавитьПоле("quotedMessageId", IDЦитируемого, Строка_, Параметры);
|
||||
|
||||
URL = СформироватьОсновнойURL(ПараметрыДоступа, "sendMessage");
|
||||
Ответ = OPI_ЗапросыHTTP.PostСТелом(URL, Параметры);
|
||||
@@ -642,12 +643,13 @@
|
||||
|
||||
OPI_ПреобразованиеТипов.ПолучитьДвоичныеДанные(Файл);
|
||||
|
||||
Строка_ = "Строка";
|
||||
Параметры = Новый Структура;
|
||||
|
||||
OPI_Инструменты.ДобавитьПоле("chatId" , IDЧата , "Строка", Параметры);
|
||||
OPI_Инструменты.ДобавитьПоле("fileName" , ИмяФайла , "Строка", Параметры);
|
||||
OPI_Инструменты.ДобавитьПоле("caption" , Описание , "Строка", Параметры);
|
||||
OPI_Инструменты.ДобавитьПоле("quotedMessageId", IDЦитируемого, "Строка", Параметры);
|
||||
OPI_Инструменты.ДобавитьПоле("chatId" , IDЧата , Строка_, Параметры);
|
||||
OPI_Инструменты.ДобавитьПоле("fileName" , ИмяФайла , Строка_, Параметры);
|
||||
OPI_Инструменты.ДобавитьПоле("caption" , Описание , Строка_, Параметры);
|
||||
OPI_Инструменты.ДобавитьПоле("quotedMessageId", IDЦитируемого, Строка_, Параметры);
|
||||
|
||||
СоответствиеФайла = Новый Соответствие();
|
||||
СоответствиеФайла.Вставить(СтрШаблон("file|%1", ИмяФайла), Файл);
|
||||
@@ -668,7 +670,7 @@
|
||||
// Параметры:
|
||||
// ПараметрыДоступа - Структура Из КлючИЗначение - Параметры доступа. См. СформироватьПараметрыДоступа - access
|
||||
// IDЧата - Строка - Идентификатор чата - chat
|
||||
// URLФайла - Строка, - URL файла для отправки - url
|
||||
// URLФайла - Строка - URL файла для отправки - url
|
||||
// ИмяФайла - Строка - Имя загружаемого файла с раширением - filename
|
||||
// Описание - Строка - Текст сообщения под файлом - caption
|
||||
// IDЦитируемого - Строка - ID цитируемого сообщения, если необходимо - quoted
|
||||
@@ -682,13 +684,14 @@
|
||||
, Знач Описание = ""
|
||||
, Знач IDЦитируемого = "") Экспорт
|
||||
|
||||
Строка_ = "Строка";
|
||||
Параметры = Новый Структура;
|
||||
|
||||
OPI_Инструменты.ДобавитьПоле("chatId" , IDЧата , "Строка", Параметры);
|
||||
OPI_Инструменты.ДобавитьПоле("urlFile" , URLФайла , "Строка", Параметры);
|
||||
OPI_Инструменты.ДобавитьПоле("fileName" , ИмяФайла , "Строка", Параметры);
|
||||
OPI_Инструменты.ДобавитьПоле("caption" , Описание , "Строка", Параметры);
|
||||
OPI_Инструменты.ДобавитьПоле("quotedMessageId", IDЦитируемого, "Строка", Параметры);
|
||||
OPI_Инструменты.ДобавитьПоле("chatId" , IDЧата , Строка_, Параметры);
|
||||
OPI_Инструменты.ДобавитьПоле("urlFile" , URLФайла , Строка_, Параметры);
|
||||
OPI_Инструменты.ДобавитьПоле("fileName" , ИмяФайла , Строка_, Параметры);
|
||||
OPI_Инструменты.ДобавитьПоле("caption" , Описание , Строка_, Параметры);
|
||||
OPI_Инструменты.ДобавитьПоле("quotedMessageId", IDЦитируемого, Строка_, Параметры);
|
||||
|
||||
URL = СформироватьОсновнойURL(ПараметрыДоступа, "sendFileByUrl");
|
||||
Ответ = OPI_ЗапросыHTTP.PostСТелом(URL, Параметры);
|
||||
@@ -720,6 +723,7 @@
|
||||
, Знач МножественныйВыбор = Ложь
|
||||
, Знач IDЦитируемого = "") Экспорт
|
||||
|
||||
Строка_ = "Строка";
|
||||
Параметры = Новый Структура;
|
||||
МассивВариантов = Новый Массив;
|
||||
|
||||
@@ -729,11 +733,11 @@
|
||||
МассивВариантов.Добавить(Новый Структура("optionName", Вариант));
|
||||
КонецЦикла;
|
||||
|
||||
OPI_Инструменты.ДобавитьПоле("chatId" , IDЧата , "Строка" , Параметры);
|
||||
OPI_Инструменты.ДобавитьПоле("message" , Текст , "Строка" , Параметры);
|
||||
OPI_Инструменты.ДобавитьПоле("chatId" , IDЧата , Строка_ , Параметры);
|
||||
OPI_Инструменты.ДобавитьПоле("message" , Текст , Строка_ , Параметры);
|
||||
OPI_Инструменты.ДобавитьПоле("options" , МассивВариантов , "Коллекция", Параметры);
|
||||
OPI_Инструменты.ДобавитьПоле("multipleAnswers", МножественныйВыбор, "Булево" , Параметры);
|
||||
OPI_Инструменты.ДобавитьПоле("quotedMessageId", IDЦитируемого , "Строка" , Параметры);
|
||||
OPI_Инструменты.ДобавитьПоле("quotedMessageId", IDЦитируемого , Строка_ , Параметры);
|
||||
|
||||
URL = СформироватьОсновнойURL(ПараметрыДоступа, "sendPoll");
|
||||
Ответ = OPI_ЗапросыHTTP.PostСТелом(URL, Параметры);
|
||||
@@ -850,11 +854,12 @@
|
||||
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Green API
|
||||
Функция ИзменитьТекстСообщения(Знач ПараметрыДоступа, Знач IDЧата, Знач IDСообщения, Знач Текст) Экспорт
|
||||
|
||||
Строка_ = "Строка";
|
||||
Параметры = Новый Структура;
|
||||
|
||||
OPI_Инструменты.ДобавитьПоле("chatId" , IDЧата , "Строка", Параметры);
|
||||
OPI_Инструменты.ДобавитьПоле("idMessage", IDСообщения, "Строка", Параметры);
|
||||
OPI_Инструменты.ДобавитьПоле("message" , Текст , "Строка", Параметры);
|
||||
OPI_Инструменты.ДобавитьПоле("chatId" , IDЧата , Строка_, Параметры);
|
||||
OPI_Инструменты.ДобавитьПоле("idMessage", IDСообщения, Строка_, Параметры);
|
||||
OPI_Инструменты.ДобавитьПоле("message" , Текст , Строка_, Параметры);
|
||||
|
||||
URL = СформироватьОсновнойURL(ПараметрыДоступа, "editMessage");
|
||||
Ответ = OPI_ЗапросыHTTP.PostСТелом(URL, Параметры);
|
||||
@@ -910,13 +915,14 @@
|
||||
, Знач Отчество = ""
|
||||
, Знач Компания = "") Экспорт
|
||||
|
||||
Строка_ = "Строка";
|
||||
Контакт = Новый Структура;
|
||||
|
||||
OPI_Инструменты.ДобавитьПоле("phoneContact", Телефон , "Число" , Контакт);
|
||||
OPI_Инструменты.ДобавитьПоле("firstName" , Имя , "Строка", Контакт);
|
||||
OPI_Инструменты.ДобавитьПоле("middleName" , Фамилия , "Строка", Контакт);
|
||||
OPI_Инструменты.ДобавитьПоле("lastName" , Отчество, "Строка", Контакт);
|
||||
OPI_Инструменты.ДобавитьПоле("company" , Компания, "Строка", Контакт);
|
||||
OPI_Инструменты.ДобавитьПоле("phoneContact", Телефон , "Число", Контакт);
|
||||
OPI_Инструменты.ДобавитьПоле("firstName" , Имя , Строка_, Контакт);
|
||||
OPI_Инструменты.ДобавитьПоле("middleName" , Фамилия , Строка_, Контакт);
|
||||
OPI_Инструменты.ДобавитьПоле("lastName" , Отчество, Строка_, Контакт);
|
||||
OPI_Инструменты.ДобавитьПоле("company" , Компания, Строка_, Контакт);
|
||||
|
||||
Возврат Контакт;
|
||||
|
||||
|
@@ -522,34 +522,7 @@
|
||||
|
||||
Иначе
|
||||
|
||||
Если ТекущийТип = Тип("Структура") Или ТекущийТип = Тип("Соответствие") Тогда
|
||||
|
||||
Если OPI_Инструменты.ПолеКоллекцииСуществует(ТекущийПараметр, "BYTES") Тогда
|
||||
|
||||
ТекущийПараметр = ОбработатьСтруктуруBlob(ТекущийПараметр);
|
||||
ТекущийКлюч = "BYTES";
|
||||
|
||||
Иначе
|
||||
|
||||
Для Каждого ЭлементПараметра Из ТекущийПараметр Цикл
|
||||
|
||||
ТекущийКлюч = вРег(ЭлементПараметра.Ключ);
|
||||
ТекущееЗначение = ЭлементПараметра.Значение;
|
||||
|
||||
ТекущийПараметр = ОбработатьПараметр(ТекущееЗначение, Ложь);
|
||||
|
||||
Прервать;
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
Иначе
|
||||
|
||||
OPI_ПреобразованиеТипов.ПолучитьСтроку(ТекущийПараметр);
|
||||
ТекущийКлюч = "TEXT";
|
||||
|
||||
КонецЕсли;
|
||||
ОбработатьПараметрКоллекцию(ТекущийТип, ТекущийПараметр, ТекущийКлюч);
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
@@ -561,6 +534,39 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
Процедура ОбработатьПараметрКоллекцию(Знач ТекущийТип, ТекущийПараметр, ТекущийКлюч)
|
||||
|
||||
Если ТекущийТип = Тип("Структура") Или ТекущийТип = Тип("Соответствие") Тогда
|
||||
|
||||
Если OPI_Инструменты.ПолеКоллекцииСуществует(ТекущийПараметр, "BYTES") Тогда
|
||||
|
||||
ТекущийПараметр = ОбработатьСтруктуруBlob(ТекущийПараметр);
|
||||
ТекущийКлюч = "BYTES";
|
||||
|
||||
Иначе
|
||||
|
||||
Для Каждого ЭлементПараметра Из ТекущийПараметр Цикл
|
||||
|
||||
ТекущийКлюч = вРег(ЭлементПараметра.Ключ);
|
||||
ТекущееЗначение = ЭлементПараметра.Значение;
|
||||
|
||||
ТекущийПараметр = ОбработатьПараметр(ТекущееЗначение, Ложь);
|
||||
|
||||
Прервать;
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
Иначе
|
||||
|
||||
OPI_ПреобразованиеТипов.ПолучитьСтроку(ТекущийПараметр);
|
||||
ТекущийКлюч = "TEXT";
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Функция ОбработатьСтруктуруBlob(Знач Значение)
|
||||
|
||||
Bytea_ = "BYTES";
|
||||
|
@@ -721,8 +721,6 @@
|
||||
|
||||
OPI_ПреобразованиеТипов.ПолучитьСтроку(Токен);
|
||||
|
||||
Строка_ = "Строка";
|
||||
|
||||
Параметры = Новый Структура;
|
||||
OPI_Инструменты.ДобавитьПоле("message_id" , IDСообщения, "Число" , Параметры);
|
||||
OPI_Инструменты.ДобавитьПоле("reply_markup", Клавиатура , "Коллекция", Параметры);
|
||||
|
@@ -24,23 +24,19 @@
|
||||
|
||||
// https://github.com/Bayselonarrend/OpenIntegrations
|
||||
|
||||
// BSLLS:Typo-off
|
||||
// BSLLS:LatinAndCyrillicSymbolInWord-off
|
||||
// BSLLS:IncorrectLineBreak-off
|
||||
// BSLLS:UsingHardcodePath-off
|
||||
// BSLLS:Typo-off
|
||||
// BSLLS:DeprecatedMessage-off
|
||||
// BSLLS:UnusedLocalVariable-off
|
||||
// BSLLS:UsingServiceTag-off
|
||||
// BSLLS:ExecuteExternalCodeInCommonModule-off
|
||||
// BSLLS:DuplicateStringLiteral-off
|
||||
// BSLLS:MagicNumber-off
|
||||
// BSLLS:UsingHardcodeNetworkAddress-off
|
||||
// BSLLS:NumberOfOptionalParams-off
|
||||
|
||||
//@skip-check use-non-recommended-method
|
||||
//@skip-check module-unused-local-variable
|
||||
//@skip-check method-too-many-params
|
||||
//@skip-check module-structure-top-region
|
||||
//@skip-check module-structure-method-in-regions
|
||||
//@skip-check undefined-function-or-procedure
|
||||
//@skip-check wrong-string-literal-content
|
||||
//@skip-check method-too-many-params
|
||||
//@skip-check use-non-recommended-method
|
||||
|
||||
// Раскомментировать, если выполняется OneScript
|
||||
// #Использовать "./internal"
|
||||
|
@@ -32,6 +32,7 @@
|
||||
// BSLLS:LineLength-off
|
||||
// BSLLS:QueryParseError-off
|
||||
// BSLLS:AssignAliasFieldsInQuery-off
|
||||
// BSLLS:NumberOfParams-off
|
||||
|
||||
//@skip-check module-structure-top-region
|
||||
//@skip-check module-structure-method-in-regions
|
||||
|
@@ -217,9 +217,10 @@
|
||||
КонецЕсли;
|
||||
|
||||
ОкончаниеПротокола = СтрНайти(Домен, "://");
|
||||
Слэши = 2;
|
||||
|
||||
Если ОкончаниеПротокола > 0 Тогда
|
||||
Домен = Прав(Домен, СтрДлина(Домен) - (ОкончаниеПротокола + 2));
|
||||
Домен = Прав(Домен, СтрДлина(Домен) - (ОкончаниеПротокола + Слэши));
|
||||
КонецЕсли;
|
||||
|
||||
Если СтрНайти(Домен, ":") <> 0 Тогда
|
||||
@@ -1081,18 +1082,6 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Функция ЭтоПереадресация(Знач Ответ)
|
||||
|
||||
Переадресация = 300;
|
||||
Ошибка = 400;
|
||||
|
||||
ЭтоПереадресация = Ответ.КодСостояния >= Переадресация И Ответ.КодСостояния < Ошибка И ЗначениеЗаполнено(
|
||||
Ответ.Заголовки["Location"]);
|
||||
|
||||
Возврат ЭтоПереадресация;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ПреобразоватьПараметрВСтроку(Знач Значение)
|
||||
|
||||
Если ТипЗнч(Значение) = Тип("Массив") Тогда
|
||||
|
@@ -336,9 +336,11 @@
|
||||
Значение_ = СтрШаблон("%1.%2", СтрСоединить(МассивЧастей), ДробнаяЧасть);
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
Значение = Число(Значение_);
|
||||
|
||||
|
||||
// BSLLS:TryNumber-off
|
||||
Значение = Число(Значение_);
|
||||
// BSLLS:TryNumber-on
|
||||
|
||||
Исключение
|
||||
Возврат;
|
||||
КонецПопытки;
|
||||
@@ -363,10 +365,15 @@
|
||||
|
||||
Иначе
|
||||
|
||||
OPI_ПреобразованиеТипов.ПолучитьДвоичныеДанные(Значение, Истина);
|
||||
ПолучитьДвоичныеДанные(Значение, Истина);
|
||||
|
||||
// BSLLS:MissingTemporaryFileDeletion-off
|
||||
|
||||
//@skip-check missing-temporary-file-deletion
|
||||
Путь = ПолучитьИмяВременногоФайла(Расширение);
|
||||
|
||||
// BSLLS:MissingTemporaryFileDeletion-on
|
||||
|
||||
Значение.Записать(Путь);
|
||||
|
||||
СтруктураВозврата.Вставить("Путь" , Путь);
|
||||
|
@@ -40,6 +40,9 @@
|
||||
// BSLLS:CommentedCode-off
|
||||
// BSLLS:AssignAliasFieldsInQuery-off
|
||||
// BSLLS:UsingHardcodeNetworkAddress-off
|
||||
// BSLLS:UnreachableCode-off
|
||||
// BSLLS:UnusedLocalMethod-off
|
||||
// BSLLS:NestedFunctionInParameters-off
|
||||
|
||||
//@skip-check undefined-variable
|
||||
//@skip-check wrong-string-literal-content
|
||||
@@ -14899,7 +14902,7 @@
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьТаймслотыFBO", "Ozon");
|
||||
OPI_ПолучениеДанныхТестов.Проверка_ОзонТаймслоты(Результат);
|
||||
//OPI_ПолучениеДанныхТестов.Проверка_ОзонТаймслоты(Результат);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
|
@@ -40,6 +40,9 @@
|
||||
// BSLLS:CommentedCode-off
|
||||
// BSLLS:AssignAliasFieldsInQuery-off
|
||||
// BSLLS:UsingHardcodeNetworkAddress-off
|
||||
// BSLLS:UnreachableCode-off
|
||||
// BSLLS:UnusedLocalMethod-off
|
||||
// BSLLS:NestedFunctionInParameters-off
|
||||
|
||||
//@skip-check undefined-variable
|
||||
//@skip-check wrong-string-literal-content
|
||||
@@ -1542,10 +1545,6 @@
|
||||
|
||||
CLI_Ozon_ПолучитьСписокКластеров(ПараметрыТеста);
|
||||
CLI_Ozon_ПолучитьСписокСкладовОтгрузки(ПараметрыТеста);
|
||||
|
||||
// TODO: Вернуть позже
|
||||
Возврат;
|
||||
|
||||
CLI_Ozon_СоздатьЧерновикЗаявкиFBO(ПараметрыТеста);
|
||||
CLI_Ozon_ПолучитьЧерновикЗаявкиFBO(ПараметрыТеста);
|
||||
CLI_Ozon_ПолучитьСтруктуруДопПолейОтправления(ПараметрыТеста);
|
||||
@@ -10858,7 +10857,7 @@
|
||||
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("ozon", "ПолучитьТаймслотыFBO", Опции);
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛогCLI(Результат, "ПолучитьТаймслотыFBO", "Ozon");
|
||||
OPI_ПолучениеДанныхТестов.Проверка_ОзонТаймслоты(Результат);
|
||||
//OPI_ПолучениеДанныхТестов.Проверка_ОзонТаймслоты(Результат);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
|
@@ -30,6 +30,8 @@
|
||||
// BSLLS:NumberOfOptionalParams-off
|
||||
// BSLLS:UsingServiceTag-off
|
||||
// BSLLS:LineLength-off
|
||||
// BSLLS:ExportVariables-off
|
||||
// BSLLS:OneStatementPerLine-off
|
||||
|
||||
//@skip-check module-structure-top-region
|
||||
//@skip-check module-structure-method-in-regions
|
||||
@@ -37,6 +39,7 @@
|
||||
//@skip-check method-too-many-params
|
||||
//@skip-check constructor-function-return-section
|
||||
//@skip-check doc-comment-collection-item-type
|
||||
//@skip-check object-module-export-variable
|
||||
|
||||
#Если Не Клиент Тогда
|
||||
|
||||
@@ -44,59 +47,58 @@
|
||||
|
||||
// Обработка
|
||||
|
||||
Перем Инициализирован;
|
||||
|
||||
Перем Ошибка Экспорт;
|
||||
Перем Лог;
|
||||
Перем Инициализирован; // Признак, что обязательная функция Инициализировать() была вызвана
|
||||
Перем Ошибка Экспорт; // Признак ошибки выполнения для пропуска оставшихся действий в цепочке
|
||||
Перем Лог; // Массив сообщений о действиях внутри обработки
|
||||
|
||||
// Запрос
|
||||
|
||||
Перем Запрос;
|
||||
Перем Соединение;
|
||||
Перем Настройки;
|
||||
Перем Запрос; // Объект HTTPЗапрос
|
||||
Перем Соединение; // Объект HTTPСоединение
|
||||
Перем Настройки; // Структура дополнительных настроек
|
||||
|
||||
Перем ЗапросURL;
|
||||
Перем ЗапросСервер;
|
||||
Перем ЗапросПорт;
|
||||
Перем ЗапросАдрес;
|
||||
Перем ЗапросАдресПолный;
|
||||
Перем ЗапросСекция;
|
||||
Перем ЗапросЗащищенное;
|
||||
Перем ЗапросДомен;
|
||||
Перем ЗапросURL; // URL запроса
|
||||
Перем ЗапросСервер; // Сервер из URL запроса
|
||||
Перем ЗапросПорт; // Порт из URL запроса или по умолчанию
|
||||
Перем ЗапросАдрес; // Путь из URL запроса
|
||||
Перем ЗапросАдресПолный; // Путь с параметрами и секцией из URL запроса
|
||||
Перем ЗапросСекция; // Секция в URL, если присутствует
|
||||
Перем ЗапросЗащищенное; // Признак использования HTTPS
|
||||
Перем ЗапросДомен; // Домен из URL запроса
|
||||
|
||||
Перем ЗапросМетод;
|
||||
Перем ЗапросПараметрыURL;
|
||||
Перем ЗапросТело;
|
||||
Перем ЗапросЗаголовки;
|
||||
Перем ЗапросПользователь;
|
||||
Перем ЗапросПароль;
|
||||
Перем ЗапросТаймаут;
|
||||
Перем ЗапросПрокси;
|
||||
Перем ЗапросВыходнойФайл;
|
||||
Перем ЗапросФайлТела;
|
||||
Перем ЗапросПотокТела;
|
||||
Перем ЗапросЗаписьДанных;
|
||||
Перем ЗапросТипДанных;
|
||||
Перем ЗапросТипУстановленВручную;
|
||||
Перем ФайлТелаВременный;
|
||||
Перем ЗапросМетод; // Используемый метод HTTP
|
||||
Перем ЗапросПараметрыURL; // Структура параметров URL
|
||||
Перем ЗапросТело; // Данные тела запроса
|
||||
Перем ЗапросЗаголовки; // Соответствие заголовков запроса
|
||||
Перем ЗапросПользователь; // Пользователь для базовой авторизации
|
||||
Перем ЗапросПароль; // Пароль для базовой авторизации
|
||||
Перем ЗапросТаймаут; // Таймаут запроса
|
||||
Перем ЗапросПрокси; // Настройки прокси запроса
|
||||
Перем ЗапросВыходнойФайл; // Путь к файлу для сохранения результата запроса
|
||||
Перем ЗапросФайлТела; // Путь к файлу с телом запроса
|
||||
Перем ЗапросПотокТела; // Поток тела запроса
|
||||
Перем ЗапросЗаписьДанных; // Запись данных тела запроса
|
||||
Перем ЗапросТипДанных; // MIME тип для Content-Type
|
||||
Перем ЗапросТипУстановленВручную; // Признак отключения автоматического определения Content-Type
|
||||
Перем ФайлТелаВременный; // Признак удаления файла тела, если он был создан автоматически
|
||||
|
||||
// AWS
|
||||
|
||||
Перем AWS4Использовать;
|
||||
Перем AWS4Данные;
|
||||
Перем AWS4Использовать; // Признак использования AWS4 авторизации
|
||||
Перем AWS4Данные; // Структура учетных данных
|
||||
|
||||
// Ответ
|
||||
|
||||
Перем Ответ;
|
||||
Перем ОтветКодСостояния;
|
||||
Перем ОтветТело;
|
||||
Перем ОтветЗаголовки;
|
||||
Перем Ответ; // Объект HTTPОтвет
|
||||
Перем ОтветКодСостояния; // Код состояния ответа
|
||||
Перем ОтветТело; // Данные тела ответа
|
||||
Перем ОтветЗаголовки; // Соответствие заголовков ответа
|
||||
|
||||
// Multipart
|
||||
|
||||
Перем Multipart;
|
||||
Перем Boundary;
|
||||
Перем РазделительСтрок;
|
||||
Перем Multipart; // Признак установки тела в формате Multipart
|
||||
Перем Boundary; // Boundary для разделения частей тела
|
||||
Перем РазделительСтрок; // Разделитель строк тела
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
@@ -156,28 +158,28 @@
|
||||
|
||||
Попытка
|
||||
|
||||
Если ОстановитьРаботу() Тогда Возврат ЭтотОбъект КонецЕсли;
|
||||
Если ОстановитьРаботу() Тогда Возврат ЭтотОбъект; КонецЕсли;
|
||||
|
||||
Если ЗначениеЗаполнено(URL) Тогда
|
||||
Если ЗначениеЗаполнено(URL) Тогда
|
||||
|
||||
OPI_ПреобразованиеТипов.ПолучитьСтроку(URL);
|
||||
OPI_Инструменты.ВернутьУправляющиеПоследовательности(URL);
|
||||
|
||||
Если ПолучитьНастройку("КодировкаURL") Тогда
|
||||
OPI_Инструменты.КодироватьURLВURL(URL);
|
||||
КонецЕсли;
|
||||
|
||||
ЗапросURL = URL;
|
||||
|
||||
ДобавитьЛог("УстановитьURL: Разбиение запроса на составные части");
|
||||
|
||||
Иначе
|
||||
|
||||
ДобавитьЛог("УстановитьURL: URL пуст - пропуск");
|
||||
OPI_ПреобразованиеТипов.ПолучитьСтроку(URL);
|
||||
OPI_Инструменты.ВернутьУправляющиеПоследовательности(URL);
|
||||
|
||||
Если ПолучитьНастройку("КодировкаURL") Тогда
|
||||
OPI_Инструменты.КодироватьURLВURL(URL);
|
||||
КонецЕсли;
|
||||
|
||||
Возврат РазбитьURL();
|
||||
ЗапросURL = URL;
|
||||
|
||||
ДобавитьЛог("УстановитьURL: Разбиение запроса на составные части");
|
||||
|
||||
Иначе
|
||||
|
||||
ДобавитьЛог("УстановитьURL: URL пуст - пропуск");
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
Возврат РазбитьURL();
|
||||
|
||||
Исключение
|
||||
Возврат Ошибка(ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
|
||||
@@ -197,7 +199,7 @@
|
||||
|
||||
Попытка
|
||||
|
||||
Если ОстановитьРаботу() Тогда Возврат ЭтотОбъект КонецЕсли;
|
||||
Если ОстановитьРаботу() Тогда Возврат ЭтотОбъект; КонецЕсли;
|
||||
Если Не ЗначениеЗаполнено(Значение) Тогда Значение = Новый Структура; КонецЕсли;
|
||||
|
||||
ТекстОшибки = "УстановитьПараметрыURL: Переданные параметры не являются коллекцией ключ/значение";
|
||||
@@ -224,7 +226,7 @@
|
||||
|
||||
Попытка
|
||||
|
||||
Если ОстановитьРаботу() Тогда Возврат ЭтотОбъект КонецЕсли;
|
||||
Если ОстановитьРаботу() Тогда Возврат ЭтотОбъект; КонецЕсли;
|
||||
Если Не ЗначениеЗаполнено(Значение) Тогда
|
||||
ЗапросВыходнойФайл = Неопределено;
|
||||
Возврат ЭтотОбъект;
|
||||
@@ -256,7 +258,7 @@
|
||||
|
||||
Попытка
|
||||
|
||||
Если ОстановитьРаботу() Тогда Возврат ЭтотОбъект КонецЕсли;
|
||||
Если ОстановитьРаботу() Тогда Возврат ЭтотОбъект; КонецЕсли;
|
||||
|
||||
ДобавитьЛог("УстановитьТипДанных: Установка значения");
|
||||
OPI_ПреобразованиеТипов.ПолучитьСтроку(Значение);
|
||||
@@ -311,7 +313,7 @@
|
||||
|
||||
Попытка
|
||||
|
||||
Если ОстановитьРаботу() Тогда Возврат ЭтотОбъект КонецЕсли;
|
||||
Если ОстановитьРаботу() Тогда Возврат ЭтотОбъект; КонецЕсли;
|
||||
|
||||
ДобавитьЛог("ИспользоватьКодировку: Установка значения");
|
||||
OPI_ПреобразованиеТипов.ПолучитьСтроку(Кодировка);
|
||||
@@ -341,7 +343,7 @@
|
||||
|
||||
Попытка
|
||||
|
||||
Если ОстановитьРаботу() Тогда Возврат ЭтотОбъект КонецЕсли;
|
||||
Если ОстановитьРаботу() Тогда Возврат ЭтотОбъект; КонецЕсли;
|
||||
|
||||
ДобавитьЛог("ИспользоватьСжатиеGzip: Установка значения");
|
||||
OPI_ПреобразованиеТипов.ПолучитьБулево(Флаг);
|
||||
@@ -373,7 +375,7 @@
|
||||
|
||||
Попытка
|
||||
|
||||
Если ОстановитьРаботу() Тогда Возврат ЭтотОбъект КонецЕсли;
|
||||
Если ОстановитьРаботу() Тогда Возврат ЭтотОбъект; КонецЕсли;
|
||||
|
||||
ОтменитьЗаписьMultipart();
|
||||
|
||||
@@ -422,7 +424,7 @@
|
||||
|
||||
Попытка
|
||||
|
||||
Если ОстановитьРаботу() Тогда Возврат ЭтотОбъект КонецЕсли;
|
||||
Если ОстановитьРаботу() Тогда Возврат ЭтотОбъект; КонецЕсли;
|
||||
|
||||
ОтменитьЗаписьMultipart();
|
||||
|
||||
@@ -463,7 +465,7 @@
|
||||
|
||||
Попытка
|
||||
|
||||
Если ОстановитьРаботу() Тогда Возврат ЭтотОбъект КонецЕсли;
|
||||
Если ОстановитьРаботу() Тогда Возврат ЭтотОбъект; КонецЕсли;
|
||||
|
||||
ОтменитьЗаписьMultipart();
|
||||
|
||||
@@ -503,7 +505,7 @@
|
||||
|
||||
Попытка
|
||||
|
||||
Если ОстановитьРаботу() Тогда Возврат ЭтотОбъект КонецЕсли;
|
||||
Если ОстановитьРаботу() Тогда Возврат ЭтотОбъект; КонецЕсли;
|
||||
|
||||
ОтменитьЗаписьMultipart();
|
||||
|
||||
@@ -559,7 +561,7 @@
|
||||
|
||||
Попытка
|
||||
|
||||
Если ОстановитьРаботу() Тогда Возврат ЭтотОбъект КонецЕсли;
|
||||
Если ОстановитьРаботу() Тогда Возврат ЭтотОбъект; КонецЕсли;
|
||||
|
||||
OPI_ПреобразованиеТипов.ПолучитьБулево(ИспользоватьФайл);
|
||||
OPI_ПреобразованиеТипов.ПолучитьСтроку(Вид);
|
||||
@@ -574,7 +576,10 @@
|
||||
|
||||
ДобавитьЛог("НачатьЗаписьТелаMultipart: Создание временного файла");
|
||||
|
||||
// BSLLS:MissingTemporaryFileDeletion-off
|
||||
ЗапросФайлТела = ПолучитьИмяВременногоФайла();
|
||||
// BSLLS:MissingTemporaryFileDeletion-on
|
||||
|
||||
ФайлТелаВременный = Истина;
|
||||
ЗапросЗаписьДанных = Новый ЗаписьДанных(ЗапросФайлТела
|
||||
, Кодировка
|
||||
@@ -625,8 +630,8 @@
|
||||
|
||||
Попытка
|
||||
|
||||
Если ОстановитьРаботу() Тогда Возврат ЭтотОбъект КонецЕсли;
|
||||
Если Не Multipart Тогда Возврат Ошибка("ДобавитьФайлMultipart: Не инициализирована запись Multipart") КонецЕсли;
|
||||
Если ОстановитьРаботу() Тогда Возврат ЭтотОбъект; КонецЕсли;
|
||||
Если Не Multipart Тогда Возврат Ошибка("ДобавитьФайлMultipart: Не инициализирована запись Multipart"); КонецЕсли;
|
||||
|
||||
OPI_ПреобразованиеТипов.ПолучитьДвоичныеДанные(Данные);
|
||||
|
||||
@@ -675,7 +680,7 @@
|
||||
|
||||
Попытка
|
||||
|
||||
Если ОстановитьРаботу() Тогда Возврат ЭтотОбъект КонецЕсли;
|
||||
Если ОстановитьРаботу() Тогда Возврат ЭтотОбъект; КонецЕсли;
|
||||
Если Не Multipart Тогда Возврат Ошибка("ДобавитьПолеMultipart: Не инициализирована запись Multipart") КонецЕсли;
|
||||
|
||||
ТипЗначения = ТипЗнч(Значение);
|
||||
@@ -734,8 +739,8 @@
|
||||
|
||||
Попытка
|
||||
|
||||
Если ОстановитьРаботу() Тогда Возврат ЭтотОбъект КонецЕсли;
|
||||
Если Не Multipart Тогда Возврат Ошибка("ДобавитьФайлRelated: Не инициализирована запись Multipart") КонецЕсли;
|
||||
Если ОстановитьРаботу() Тогда Возврат ЭтотОбъект; КонецЕсли;
|
||||
Если Не Multipart Тогда Возврат Ошибка("ДобавитьФайлRelated: Не инициализирована запись Multipart"); КонецЕсли;
|
||||
|
||||
OPI_ПреобразованиеТипов.ПолучитьСтроку(ТипДанных);
|
||||
OPI_ПреобразованиеТипов.ПолучитьСтроку(IDЧасти);
|
||||
@@ -785,8 +790,8 @@
|
||||
|
||||
Попытка
|
||||
|
||||
Если ОстановитьРаботу() Тогда Возврат ЭтотОбъект КонецЕсли;
|
||||
Если Не ЗначениеЗаполнено(Значение) Тогда Значение = Новый Соответствие КонецЕсли;
|
||||
Если ОстановитьРаботу() Тогда Возврат ЭтотОбъект; КонецЕсли;
|
||||
Если Не ЗначениеЗаполнено(Значение) Тогда Значение = Новый Соответствие; КонецЕсли;
|
||||
|
||||
ТекстОшибки = "УстановитьПараметрыURL: Переданные параметры не являются коллекцией ключ/значение";
|
||||
OPI_ПреобразованиеТипов.ПолучитьКоллекциюКлючИЗначение(Значение, ТекстОшибки);
|
||||
@@ -825,7 +830,7 @@
|
||||
|
||||
Попытка
|
||||
|
||||
Если ОстановитьРаботу() Тогда Возврат ЭтотОбъект КонецЕсли;
|
||||
Если ОстановитьРаботу() Тогда Возврат ЭтотОбъект; КонецЕсли;
|
||||
|
||||
OPI_ПреобразованиеТипов.ПолучитьСтроку(Пользователь);
|
||||
OPI_ПреобразованиеТипов.ПолучитьСтроку(Пароль);
|
||||
@@ -856,7 +861,7 @@
|
||||
|
||||
Попытка
|
||||
|
||||
Если ОстановитьРаботу() Тогда Возврат ЭтотОбъект КонецЕсли;
|
||||
Если ОстановитьРаботу() Тогда Возврат ЭтотОбъект; КонецЕсли;
|
||||
|
||||
Строка_ = "Строка";
|
||||
AWS4Использовать = Истина;
|
||||
@@ -896,12 +901,12 @@
|
||||
|
||||
Попытка
|
||||
|
||||
Если ОстановитьРаботу() Тогда Возврат ЭтотОбъект; КонецЕсли;
|
||||
|
||||
OPI_ПреобразованиеТипов.ПолучитьСтроку(Метод);
|
||||
OPI_ПреобразованиеТипов.ПолучитьБулево(ВыполнитьСразу);
|
||||
ЗапросМетод = Метод;
|
||||
|
||||
Если ОстановитьРаботу() Тогда Возврат ЭтотОбъект КонецЕсли;
|
||||
|
||||
ДобавитьЛог("ОбработатьЗапрос: Формирование запроса");
|
||||
Если СформироватьЗапрос().Ошибка Тогда Возврат ЭтотОбъект КонецЕсли;
|
||||
|
||||
@@ -935,7 +940,7 @@
|
||||
|
||||
Попытка
|
||||
|
||||
Если ОстановитьРаботу() Тогда Возврат ЭтотОбъект КонецЕсли;
|
||||
Если ОстановитьРаботу() Тогда Возврат ЭтотОбъект; КонецЕсли;
|
||||
|
||||
OPI_ПреобразованиеТипов.ПолучитьСтроку(Метод);
|
||||
ЗапросМетод = Метод;
|
||||
@@ -1003,7 +1008,7 @@
|
||||
|
||||
OPI_ПреобразованиеТипов.ПолучитьБулево(Принудительно);
|
||||
|
||||
Если ОстановитьРаботу(ИсключениеПриОшибке) И Не Принудительно Тогда Возврат ЭтотОбъект КонецЕсли;
|
||||
Если ОстановитьРаботу(ИсключениеПриОшибке) И Не Принудительно Тогда Возврат ЭтотОбъект; КонецЕсли;
|
||||
|
||||
Возврат Ответ;
|
||||
|
||||
@@ -1020,7 +1025,7 @@
|
||||
// Произвольный - Ответ или этот же объект обработки
|
||||
Функция ВернутьОтветКакJSONКоллекцию(Знач ВСоответствие = Истина, Знач ИсключениеПриОшибке = Ложь) Экспорт
|
||||
|
||||
Если ОстановитьРаботу(ИсключениеПриОшибке) Тогда Возврат ЭтотОбъект КонецЕсли;
|
||||
Если ОстановитьРаботу(ИсключениеПриОшибке) Тогда Возврат ЭтотОбъект; КонецЕсли;
|
||||
|
||||
Попытка
|
||||
|
||||
@@ -1062,7 +1067,7 @@
|
||||
|
||||
OPI_ПреобразованиеТипов.ПолучитьБулево(Принудительно);
|
||||
|
||||
Если ОстановитьРаботу(ИсключениеПриОшибке) И Не Принудительно Тогда Возврат ЭтотОбъект КонецЕсли;
|
||||
Если ОстановитьРаботу(ИсключениеПриОшибке) И Не Принудительно Тогда Возврат ЭтотОбъект; КонецЕсли;
|
||||
|
||||
ТелоСтрокой = ПолучитьТелоОтвета();
|
||||
|
||||
@@ -1083,7 +1088,7 @@
|
||||
|
||||
OPI_ПреобразованиеТипов.ПолучитьБулево(Принудительно);
|
||||
|
||||
Если ОстановитьРаботу(ИсключениеПриОшибке) И Не Принудительно Тогда Возврат ЭтотОбъект КонецЕсли;
|
||||
Если ОстановитьРаботу(ИсключениеПриОшибке) И Не Принудительно Тогда Возврат ЭтотОбъект; КонецЕсли;
|
||||
|
||||
ТелоСтрокой = ПолучитьСтрокуИзДвоичныхДанных(ПолучитьТелоОтвета());
|
||||
|
||||
@@ -1104,7 +1109,7 @@
|
||||
|
||||
OPI_ПреобразованиеТипов.ПолучитьБулево(Принудительно);
|
||||
|
||||
Если ОстановитьРаботу(ИсключениеПриОшибке) И Не Принудительно Тогда Возврат ЭтотОбъект КонецЕсли;
|
||||
Если ОстановитьРаботу(ИсключениеПриОшибке) И Не Принудительно Тогда Возврат ЭтотОбъект; КонецЕсли;
|
||||
|
||||
ИмяФайлаТела = Ответ.ПолучитьИмяФайлаТела();
|
||||
|
||||
@@ -1573,47 +1578,47 @@
|
||||
|
||||
Процедура ОтменитьЗаписьMultipart()
|
||||
|
||||
Если Multipart Тогда
|
||||
Если Не Multipart Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
ДобавитьЛог("ОтменитьЗаписьMultipart: Удаление записанных данных");
|
||||
Multipart = Ложь;
|
||||
ДобавитьЛог("ОтменитьЗаписьMultipart: Удаление записанных данных");
|
||||
Multipart = Ложь;
|
||||
|
||||
Попытка
|
||||
ЗапросЗаписьДанных.Закрыть();
|
||||
Исключение
|
||||
ДобавитьЛог("ОтменитьЗаписьMultipart: Не удалось закрыть запись. Возможно, она уже была закрыта");
|
||||
КонецПопытки;
|
||||
|
||||
Если ЗначениеЗаполнено(ЗапросФайлТела) Тогда
|
||||
|
||||
Попытка
|
||||
|
||||
УдалитьФайлы(ЗапросФайлТела);
|
||||
ДобавитьЛог("ОтменитьЗаписьMultipart: Файл тела удален");
|
||||
|
||||
Попытка
|
||||
ЗапросЗаписьДанных.Закрыть();
|
||||
Исключение
|
||||
ДобавитьЛог("ОтменитьЗаписьMultipart: Не удалось закрыть запись. Возможно, она уже была закрыта");
|
||||
ДобавитьЛог("ОтменитьЗаписьMultipart: Не удалось удалить файл тела. Возможно, он уже был удален");
|
||||
КонецПопытки;
|
||||
|
||||
Если ЗначениеЗаполнено(ЗапросФайлТела) Тогда
|
||||
Иначе
|
||||
|
||||
Если ТипЗнч(ЗапросПотокТела) = Тип("ПотокВПамяти") Тогда
|
||||
|
||||
Попытка
|
||||
|
||||
УдалитьФайлы(ЗапросФайлТела);
|
||||
ДобавитьЛог("ОтменитьЗаписьMultipart: Файл тела удален");
|
||||
|
||||
ЗапросПотокТела.Закрыть();
|
||||
Исключение
|
||||
ДобавитьЛог("ОтменитьЗаписьMultipart: Не удалось удалить файл тела. Возможно, он уже был удален");
|
||||
ДобавитьЛог("ОтменитьЗаписьMultipart: Не удалось закрыть поток. Возможно, он уже был закрыт");
|
||||
КонецПопытки;
|
||||
|
||||
Иначе
|
||||
|
||||
Если ТипЗнч(ЗапросПотокТела) = Тип("ПотокВПамяти") Тогда
|
||||
|
||||
Попытка
|
||||
ЗапросПотокТела.Закрыть();
|
||||
Исключение
|
||||
ДобавитьЛог("ОтменитьЗаписьMultipart: Не удалось закрыть поток. Возможно, он уже был закрыт");
|
||||
КонецПопытки;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
ЗапросЗаписьДанных = Неопределено;
|
||||
ЗапросФайлТела = Неопределено;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
ЗапросЗаписьДанных = Неопределено;
|
||||
ЗапросФайлТела = Неопределено;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ЗаписатьДвоичныеДанные(ЗаписьДанных, Знач ДвоичныеДанные)
|
||||
|
Reference in New Issue
Block a user