diff --git "a/src/ru/CommonModules/\320\232\320\276\320\275\320\275\320\265\320\272\321\202\320\276\321\200HTTP/Ext/Module.bsl" "b/src/ru/CommonModules/\320\232\320\276\320\275\320\275\320\265\320\272\321\202\320\276\321\200HTTP/Ext/Module.bsl" index 9585f86..97bd677 100644 --- "a/src/ru/CommonModules/\320\232\320\276\320\275\320\275\320\265\320\272\321\202\320\276\321\200HTTP/Ext/Module.bsl" +++ "b/src/ru/CommonModules/\320\232\320\276\320\275\320\275\320\265\320\272\321\202\320\276\321\200HTTP/Ext/Module.bsl" @@ -1,4 +1,4 @@ -// Коннектор: удобный HTTP-клиент для 1С:Предприятие 8 +// Коннектор: удобный HTTP-клиент для 1С:Предприятие 8 // // Copyright 2017-2021 Vladimir Bondarevskiy // @@ -17,7 +17,7 @@ // // URL: https://github.com/vbondarevsky/Connector // e-mail: vbondarevsky@gmail.com -// Версия: 2.4.2 +// Версия: 2.4.4 // // Требования: платформа 1С версии 8.3.10 и выше @@ -44,8 +44,12 @@ Функция Get(URL, ПараметрыЗапроса = Неопределено, ДополнительныеПараметры = Неопределено, Сессия = Неопределено) Экспорт ТекущаяСессия = ТекущаяСессия(Сессия); - ЗаполнитьДополнительныеДанные(ДополнительныеПараметры, ПараметрыЗапроса, Неопределено, Неопределено); - Возврат ВызватьHTTPМетод(ТекущаяСессия, "GET", URL, ДополнительныеПараметры); + + Параметры = НовыеПараметры(); + Дополнить(Параметры, ПараметрыИзАргументов(ПараметрыЗапроса, Неопределено, Неопределено)); + Дополнить(Параметры, ДополнительныеПараметры); + + Возврат ВызватьHTTPМетод(ТекущаяСессия, "GET", URL, Параметры); КонецФункции @@ -62,8 +66,12 @@ Функция Options(URL, ДополнительныеПараметры = Неопределено, Сессия = Неопределено) Экспорт ТекущаяСессия = ТекущаяСессия(Сессия); - ЗаполнитьДополнительныеДанные(ДополнительныеПараметры, Неопределено, Неопределено, Неопределено); - Возврат ВызватьHTTPМетод(ТекущаяСессия, "OPTIONS", URL, ДополнительныеПараметры); + + Параметры = НовыеПараметры(); + Дополнить(Параметры, ПараметрыИзАргументов(Неопределено, Неопределено, Неопределено)); + Дополнить(Параметры, ДополнительныеПараметры); + + Возврат ВызватьHTTPМетод(ТекущаяСессия, "OPTIONS", URL, Параметры); КонецФункции @@ -80,8 +88,12 @@ Функция Head(URL, ДополнительныеПараметры = Неопределено, Сессия = Неопределено) Экспорт ТекущаяСессия = ТекущаяСессия(Сессия); - ЗаполнитьДополнительныеДанные(ДополнительныеПараметры, Неопределено, Неопределено, Неопределено); - Возврат ВызватьHTTPМетод(ТекущаяСессия, "HEAD", URL, ДополнительныеПараметры); + + Параметры = НовыеПараметры(); + Дополнить(Параметры, ПараметрыИзАргументов(Неопределено, Неопределено, Неопределено)); + Дополнить(Параметры, ДополнительныеПараметры); + + Возврат ВызватьHTTPМетод(ТекущаяСессия, "HEAD", URL, Параметры); КонецФункции @@ -99,8 +111,12 @@ Функция Post(URL, Данные = Неопределено, ДополнительныеПараметры = Неопределено, Сессия = Неопределено) Экспорт ТекущаяСессия = ТекущаяСессия(Сессия); - ЗаполнитьДополнительныеДанные(ДополнительныеПараметры, Неопределено, Данные, Неопределено); - Возврат ВызватьHTTPМетод(ТекущаяСессия, "POST", URL, ДополнительныеПараметры); + + Параметры = НовыеПараметры(); + Дополнить(Параметры, ПараметрыИзАргументов(Неопределено, Данные, Неопределено)); + Дополнить(Параметры, ДополнительныеПараметры); + + Возврат ВызватьHTTPМетод(ТекущаяСессия, "POST", URL, Параметры); КонецФункции @@ -118,8 +134,12 @@ Функция Put(URL, Данные = Неопределено, ДополнительныеПараметры = Неопределено, Сессия = Неопределено) Экспорт ТекущаяСессия = ТекущаяСессия(Сессия); - ЗаполнитьДополнительныеДанные(ДополнительныеПараметры, Неопределено, Данные, Неопределено); - Возврат ВызватьHTTPМетод(ТекущаяСессия, "PUT", URL, ДополнительныеПараметры); + + Параметры = НовыеПараметры(); + Дополнить(Параметры, ПараметрыИзАргументов(Неопределено, Данные, Неопределено)); + Дополнить(Параметры, ДополнительныеПараметры); + + Возврат ВызватьHTTPМетод(ТекущаяСессия, "PUT", URL, Параметры); КонецФункции @@ -137,8 +157,12 @@ Функция Patch(URL, Данные = Неопределено, ДополнительныеПараметры = Неопределено, Сессия = Неопределено) Экспорт ТекущаяСессия = ТекущаяСессия(Сессия); - ЗаполнитьДополнительныеДанные(ДополнительныеПараметры, Неопределено, Данные, Неопределено); - Возврат ВызватьHTTPМетод(ТекущаяСессия, "PATCH", URL, ДополнительныеПараметры); + + Параметры = НовыеПараметры(); + Дополнить(Параметры, ПараметрыИзАргументов(Неопределено, Данные, Неопределено)); + Дополнить(Параметры, ДополнительныеПараметры); + + Возврат ВызватьHTTPМетод(ТекущаяСессия, "PATCH", URL, Параметры); КонецФункции @@ -156,8 +180,12 @@ Функция Delete(URL, Данные = Неопределено, ДополнительныеПараметры = Неопределено, Сессия = Неопределено) Экспорт ТекущаяСессия = ТекущаяСессия(Сессия); - ЗаполнитьДополнительныеДанные(ДополнительныеПараметры, Неопределено, Данные, Неопределено); - Возврат ВызватьHTTPМетод(ТекущаяСессия, "DELETE", URL, ДополнительныеПараметры); + + Параметры = НовыеПараметры(); + Дополнить(Параметры, ПараметрыИзАргументов(Неопределено, Данные, Неопределено)); + Дополнить(Параметры, ДополнительныеПараметры); + + Возврат ВызватьHTTPМетод(ТекущаяСессия, "DELETE", URL, Параметры); КонецФункции @@ -184,8 +212,12 @@ Функция ВызватьМетод(Метод, URL, ДополнительныеПараметры = Неопределено, Сессия = Неопределено) Экспорт ТекущаяСессия = ТекущаяСессия(Сессия); - ЗаполнитьДополнительныеДанные(ДополнительныеПараметры, Неопределено, Неопределено, Неопределено); - Возврат ВызватьHTTPМетод(ТекущаяСессия, Метод, URL, ДополнительныеПараметры); + + Параметры = НовыеПараметры(); + Дополнить(Параметры, ПараметрыИзАргументов(Неопределено, Неопределено, Неопределено)); + Дополнить(Параметры, ДополнительныеПараметры); + + Возврат ВызватьHTTPМетод(ТекущаяСессия, Метод, URL, Параметры); КонецФункции @@ -212,10 +244,15 @@ Сессия = Неопределено) Экспорт ТекущаяСессия = ТекущаяСессия(Сессия); - ЗаполнитьДополнительныеДанные(ДополнительныеПараметры, ПараметрыЗапроса, Неопределено, Неопределено); + + Параметры = НовыеПараметры(); + Дополнить(Параметры, ПараметрыИзАргументов(ПараметрыЗапроса, Неопределено, Неопределено)); + Дополнить(Параметры, ДополнительныеПараметры); + ПараметрыПреобразованияJSON = - ВыбратьЗначение(Неопределено, ДополнительныеПараметры, "ПараметрыПреобразованияJSON", Неопределено); - Возврат КакJson(ВызватьHTTPМетод(ТекущаяСессия, "GET", URL, ДополнительныеПараметры), ПараметрыПреобразованияJSON); + ВыбратьЗначение(Неопределено, Параметры, "ПараметрыПреобразованияJSON", Неопределено); + + Возврат КакJson(ВызватьHTTPМетод(ТекущаяСессия, "GET", URL, Параметры), ПараметрыПреобразованияJSON); КонецФункции @@ -234,10 +271,15 @@ Функция PostJson(URL, Json, ДополнительныеПараметры = Неопределено, Сессия = Неопределено) Экспорт ТекущаяСессия = ТекущаяСессия(Сессия); - ЗаполнитьДополнительныеДанные(ДополнительныеПараметры, Неопределено, Неопределено, Json); + + Параметры = НовыеПараметры(); + Дополнить(Параметры, ПараметрыИзАргументов(Неопределено, Неопределено, Json)); + Дополнить(Параметры, ДополнительныеПараметры); + ПараметрыПреобразованияJSON = - ВыбратьЗначение(Неопределено, ДополнительныеПараметры, "ПараметрыПреобразованияJSON", Неопределено); - Возврат КакJson(ВызватьHTTPМетод(ТекущаяСессия, "POST", URL, ДополнительныеПараметры), ПараметрыПреобразованияJSON); + ВыбратьЗначение(Неопределено, Параметры, "ПараметрыПреобразованияJSON", Неопределено); + + Возврат КакJson(ВызватьHTTPМетод(ТекущаяСессия, "POST", URL, Параметры), ПараметрыПреобразованияJSON); КонецФункции @@ -256,10 +298,14 @@ Функция PutJson(URL, Json, ДополнительныеПараметры = Неопределено, Сессия = Неопределено) Экспорт ТекущаяСессия = ТекущаяСессия(Сессия); - ЗаполнитьДополнительныеДанные(ДополнительныеПараметры, Неопределено, Неопределено, Json); + + Параметры = НовыеПараметры(); + Дополнить(Параметры, ПараметрыИзАргументов(Неопределено, Неопределено, Json)); + Дополнить(Параметры, ДополнительныеПараметры); + ПараметрыПреобразованияJSON = - ВыбратьЗначение(Неопределено, ДополнительныеПараметры, "ПараметрыПреобразованияJSON", Неопределено); - Возврат КакJson(ВызватьHTTPМетод(ТекущаяСессия, "PUT", URL, ДополнительныеПараметры), ПараметрыПреобразованияJSON); + ВыбратьЗначение(Неопределено, Параметры, "ПараметрыПреобразованияJSON", Неопределено); + Возврат КакJson(ВызватьHTTPМетод(ТекущаяСессия, "PUT", URL, Параметры), ПараметрыПреобразованияJSON); КонецФункции @@ -278,10 +324,14 @@ Функция DeleteJson(URL, Json, ДополнительныеПараметры = Неопределено, Сессия = Неопределено) Экспорт ТекущаяСессия = ТекущаяСессия(Сессия); - ЗаполнитьДополнительныеДанные(ДополнительныеПараметры, Неопределено, Неопределено, Json); + + Параметры = НовыеПараметры(); + Дополнить(Параметры, ПараметрыИзАргументов(Неопределено, Неопределено, Json)); + Дополнить(Параметры, ДополнительныеПараметры); + ПараметрыПреобразованияJSON = - ВыбратьЗначение(Неопределено, ДополнительныеПараметры, "ПараметрыПреобразованияJSON", Неопределено); - Возврат КакJson(ВызватьHTTPМетод(ТекущаяСессия, "DELETE", URL, ДополнительныеПараметры), ПараметрыПреобразованияJSON); + ВыбратьЗначение(Неопределено, Параметры, "ПараметрыПреобразованияJSON", Неопределено); + Возврат КакJson(ВызватьHTTPМетод(ТекущаяСессия, "DELETE", URL, Параметры), ПараметрыПреобразованияJSON); КонецФункции @@ -362,7 +412,7 @@ Параметры.Вставить("Таймаут", СтандартныйТаймаут()); Параметры.Вставить("РазрешитьПеренаправление", Истина); Параметры.Вставить("Json", Неопределено); - Параметры.Вставить("ПараметрыПреобразованияJSON", Новый Структура); + Параметры.Вставить("ПараметрыПреобразованияJSON", ПараметрыПреобразованияJSONПоУмолчанию()); Параметры.Вставить("Данные", Неопределено); Параметры.Вставить("Файлы", Новый Массив); Параметры.Вставить("МаксимальноеКоличествоПовторов", 0); @@ -804,13 +854,13 @@ // Функция ОбъектВJson(Объект, Знач ПараметрыПреобразования = Неопределено, Знач ПараметрыЗаписи = Неопределено) Экспорт - ПараметрыПреобразованияJSON = ДополнитьПараметрыПреобразованияJSON(ПараметрыПреобразования); + ПараметрыПреобразованияJSON = Объединить(ПараметрыПреобразованияJSONПоУмолчанию(), ПараметрыПреобразования); НастройкиСериализации = Новый НастройкиСериализацииJSON; НастройкиСериализации.ФорматСериализацииДаты = ПараметрыПреобразованияJSON.ФорматДатыJSON; НастройкиСериализации.ВариантЗаписиДаты = ПараметрыПреобразованияJSON.ВариантЗаписиДатыJSON; - ПараметрыЗаписи = ДополнитьПараметрыЗаписиJSON(ПараметрыЗаписи); + ПараметрыЗаписи = Объединить(ПараметрыЗаписиJSONПоУмолчанию(), ПараметрыЗаписи); ПараметрыЗаписиJSON = Новый ПараметрыЗаписиJSON( ПараметрыЗаписи.ПереносСтрок, @@ -871,7 +921,7 @@ // Функция JsonВОбъект(Json, Кодировка = "utf-8", ПараметрыПреобразования = Неопределено) Экспорт - ПараметрыПреобразованияJSON = ДополнитьПараметрыПреобразованияJSON(ПараметрыПреобразования); + ПараметрыПреобразованияJSON = Объединить(ПараметрыПреобразованияJSONПоУмолчанию(), ПараметрыПреобразования); ЧтениеJSON = Новый ЧтениеJSON; Если ТипЗнч(Json) = Тип("ДвоичныеДанные") Тогда @@ -1086,9 +1136,9 @@ ЗаголовкиИзДополнительныхПараметров = ВыбратьЗначение(Неопределено, ДополнительныеПараметры, "Заголовки", Новый Соответствие); - Аутентификация = ОбъединитьПараметрыАутентификации(АутентификацияИзДополнительныхПараметров, Сессия.Аутентификация); - ПараметрыЗапроса = ОбъединитьПараметрыЗапроса(ПараметрыЗапросаИзДополнительныхПараметров, Сессия.ПараметрыЗапроса); - Заголовки = ОбъединитьЗаголовки(ЗаголовкиИзДополнительныхПараметров, Сессия.Заголовки); + Аутентификация = Объединить(Скопировать(АутентификацияИзДополнительныхПараметров), Сессия.Аутентификация); + ПараметрыЗапроса = Объединить(Скопировать(ПараметрыЗапросаИзДополнительныхПараметров), Сессия.ПараметрыЗапроса); + Заголовки = Объединить(Скопировать(ЗаголовкиИзДополнительныхПараметров), Сессия.Заголовки); ПараметрыПреобразованияJSON = ВыбратьЗначение(Неопределено, ДополнительныеПараметры, "ПараметрыПреобразованияJSON", Неопределено); @@ -1121,22 +1171,16 @@ #Область РаботаСHTTPЗапросами -Процедура ЗаполнитьДополнительныеДанные(ДополнительныеПараметры, ПараметрыЗапроса, Данные, Json) +Функция ПараметрыИзАргументов(ПараметрыЗапроса, Данные, Json) - Если ДополнительныеПараметры = Неопределено Тогда - ДополнительныеПараметры = Новый Структура(); - КонецЕсли; - Если Не ДополнительныеПараметры.Свойство("ПараметрыЗапроса") Тогда - ДополнительныеПараметры.Вставить("ПараметрыЗапроса", ПараметрыЗапроса); - КонецЕсли; - Если Не ДополнительныеПараметры.Свойство("Данные") Тогда - ДополнительныеПараметры.Вставить("Данные", Данные); - КонецЕсли; - Если Не ДополнительныеПараметры.Свойство("Json") Тогда - ДополнительныеПараметры.Вставить("Json", Json); - КонецЕсли; + Результат = Новый Структура; + Результат.Вставить("ПараметрыЗапроса", ПараметрыЗапроса); + Результат.Вставить("Данные", Данные); + Результат.Вставить("Json", Json); + + Возврат Результат; -КонецПроцедуры +КонецФункции Функция ВызватьHTTPМетод(Сессия, Метод, URL, ДополнительныеПараметры) @@ -1663,7 +1707,7 @@ АдресРесурса = СтруктураURL.Путь; - ОбъединенныеПараметрыЗапроса = ОбъединитьПараметрыЗапроса(ПараметрыЗапроса, СтруктураURL.ПараметрыЗапроса); + ОбъединенныеПараметрыЗапроса = Объединить(Скопировать(ПараметрыЗапроса), СтруктураURL.ПараметрыЗапроса); Если ЗначениеЗаполнено(ОбъединенныеПараметрыЗапроса) Тогда АдресРесурса = АдресРесурса + "?" + КодироватьПараметрыЗапроса(ОбъединенныеПараметрыЗапроса); КонецЕсли; @@ -2381,36 +2425,6 @@ #Область ПараметрыРаботыСJSON -Функция ДополнитьПараметрыПреобразованияJSON(ПараметрыПреобразования) - - ПараметрыПреобразованияJSON = ПараметрыПреобразованияJSONПоУмолчанию(); - Если ЗначениеЗаполнено(ПараметрыПреобразования) Тогда - Для Каждого Параметр Из ПараметрыПреобразования Цикл - Если ПараметрыПреобразованияJSON.Свойство(Параметр.Ключ) Тогда - ПараметрыПреобразованияJSON.Вставить(Параметр.Ключ, Параметр.Значение); - КонецЕсли; - КонецЦикла; - КонецЕсли; - - Возврат ПараметрыПреобразованияJSON; - -КонецФункции - -Функция ДополнитьПараметрыЗаписиJSON(ПараметрыЗаписи) - - ПараметрыЗаписиJSON = ПараметрыЗаписиJSONПоУмолчанию(); - Если ЗначениеЗаполнено(ПараметрыЗаписи) Тогда - Для Каждого Параметр Из ПараметрыЗаписи Цикл - Если ПараметрыЗаписиJSON.Свойство(Параметр.Ключ) Тогда - ПараметрыЗаписиJSON.Вставить(Параметр.Ключ, Параметр.Значение); - КонецЕсли; - КонецЦикла; - КонецЕсли; - - Возврат ПараметрыЗаписиJSON; - -КонецФункции - // Преобразует значение типа к типу, сериализация которого поддерживается. // // Параметры: @@ -3126,62 +3140,6 @@ КонецФункции -Функция ОбъединитьПараметрыАутентификации(ГлавныйИсточник, ДополнительныйИсточник) - - ПараметрыАутентификации = Новый Структура; - Если ТипЗнч(ГлавныйИсточник) = Тип("Структура") Тогда - Для Каждого Параметр Из ГлавныйИсточник Цикл - ПараметрыАутентификации.Вставить(Параметр.Ключ, Параметр.Значение); - КонецЦикла; - КонецЕсли; - Если ТипЗнч(ДополнительныйИсточник) = Тип("Структура") Тогда - Для Каждого Параметр Из ДополнительныйИсточник Цикл - Если Не ПараметрыАутентификации.Свойство(Параметр) Тогда - ПараметрыАутентификации.Вставить(Параметр.Ключ, Параметр.Значение); - КонецЕсли; - КонецЦикла; - КонецЕсли; - - Возврат ПараметрыАутентификации; - -КонецФункции - -Функция ОбъединитьЗаголовки(ГлавныйИсточник, ДополнительныйИсточник) - - Заголовки = Новый Соответствие; - Для Каждого Заголовок Из ГлавныйИсточник Цикл - Заголовки.Вставить(Заголовок.Ключ, Заголовок.Значение); - КонецЦикла; - Для Каждого Заголовок Из ДополнительныйИсточник Цикл - Если Заголовки.Получить(Заголовок.Ключ) = Неопределено Тогда - Заголовки.Вставить(Заголовок.Ключ, Заголовок.Значение); - КонецЕсли; - КонецЦикла; - - Возврат Заголовки; - -КонецФункции - -Функция ОбъединитьПараметрыЗапроса(ГлавныйИсточник, ДополнительныйИсточник) - - ПараметрыЗапроса = Новый Соответствие; - Если ТипЗнч(ГлавныйИсточник) = Тип("Структура") ИЛИ ТипЗнч(ГлавныйИсточник) = Тип("Соответствие") Тогда - Для Каждого Параметр Из ГлавныйИсточник Цикл - ПараметрыЗапроса.Вставить(Параметр.Ключ, Параметр.Значение); - КонецЦикла; - КонецЕсли; - Если ТипЗнч(ДополнительныйИсточник) = Тип("Структура") ИЛИ ТипЗнч(ДополнительныйИсточник) = Тип("Соответствие") Тогда - Для Каждого Параметр Из ДополнительныйИсточник Цикл - Если ПараметрыЗапроса.Получить(Параметр) = Неопределено Тогда - ПараметрыЗапроса.Вставить(Параметр.Ключ, Параметр.Значение); - КонецЕсли; - КонецЦикла; - КонецЕсли; - - Возврат ПараметрыЗапроса; - -КонецФункции - #КонецОбласти #Область РаботаСоСтроками @@ -3319,6 +3277,44 @@ КонецФункции +Функция Объединить(ГлавныйИсточник, ДополнительныйИсточник) + + Результат = ГлавныйИсточник; + Дополнить(ГлавныйИсточник, ДополнительныйИсточник); + Возврат Результат; + +КонецФункции + +Функция Скопировать(Источник) + + Возврат ЗначениеИзСтрокиВнутр(ЗначениеВСтрокуВнутр(Источник)); + +КонецФункции + +Процедура Дополнить(Приемник, Источник) + + Если Источник = Неопределено Тогда + Возврат; + КонецЕсли; + + Для Каждого ЭлементИсточника Из Источник Цикл + ПараметрНайден = Ложь; + + Если ТипЗнч(Приемник) = Тип("Соответствие") Тогда + ПараметрНайден = Приемник.Получить(ЭлементИсточника) <> Неопределено; + КонецЕсли; + + Если ТипЗнч(Приемник) = Тип("Структура") Тогда + ПараметрНайден = Приемник.Свойство(ЭлементИсточника); + КонецЕсли; + + Если Не ПараметрНайден Тогда + Приемник.Вставить(ЭлементИсточника.Ключ, ЭлементИсточника.Значение); + КонецЕсли; + КонецЦикла; + +КонецПроцедуры + #КонецОбласти #КонецОбласти diff --git "a/src/ru/DataProcessors/\320\242\320\265\321\201\321\202\321\213/Ext/ObjectModule.bsl" "b/src/ru/DataProcessors/\320\242\320\265\321\201\321\202\321\213/Ext/ObjectModule.bsl" index 350ed5b..4100d65 100644 --- "a/src/ru/DataProcessors/\320\242\320\265\321\201\321\202\321\213/Ext/ObjectModule.bsl" +++ "b/src/ru/DataProcessors/\320\242\320\265\321\201\321\202\321\213/Ext/ObjectModule.bsl" @@ -98,6 +98,8 @@ Тесты.Добавить("Тест_ПроверкаПреобразованияВариантаЗаписиДатыJSON"); Тесты.Добавить("Тест_ПроверкаВосстановленияНеподдерживаемыхТиповЗначений"); + Тесты.Добавить("Тест_ОтправкаЗапросаПортитПереданныеНастройки_GitHub_Issue_33"); + Возврат Тесты; КонецФункции @@ -1290,6 +1292,23 @@ КонецПроцедуры +Процедура Тест_ОтправкаЗапросаПортитПереданныеНастройки_GitHub_Issue_33() Экспорт + + Настройки = Новый Структура; + Заголовки = Новый Соответствие; + Заголовки.Вставить("Content-Type","application/json"); + Настройки.Вставить("Заголовки", Заголовки); + + ПараметрыЗапроса = Новый Структура("username, password", "anonymous", "hrgesf7HDR67Bd"); + + НастройкиКопияДоОтправки = ЗначениеИзСтрокиВнутр(ЗначениеВСтрокуВнутр(Настройки)); + + КоннекторHTTP.Post("https://jsonplaceholder.typicode.com/posts", ПараметрыЗапроса, Настройки); + + УтверждениеВерно(КоннекторHTTP.ОбъектВJson(Настройки), КоннекторHTTP.ОбъектВJson(НастройкиКопияДоОтправки)); + +КонецПроцедуры + #КонецОбласти Функция ИзвлечьExecution(Ответ)