1515 Запрос.Вставить("Аутентификация" , ВыбратьЗначение(Неопределено , ДополнительныеПараметры, "Аутентификация" , Новый Структура));
1616 Запрос.Вставить("Cookies" , ВыбратьЗначение(Неопределено , ДополнительныеПараметры, "Cookies" , Новый Массив));
1717 Запрос.Вставить("ПараметрыПреобразованияJSON" , ВыбратьЗначение(Неопределено , ДополнительныеПараметры, "ПараметрыПреобразованияJSON" , Неопределено ));
18+ Запрос.Вставить("ПараметрыЗаписиJSON" , ВыбратьЗначение(Неопределено , ДополнительныеПараметры, "ПараметрыЗаписиJSON" , Неопределено ));
1819
1920 ПодготовленныйЗапрос = ПодготовитьЗапрос(Сессия, Запрос);
2021
127128 ПодготовленныйЗапрос.Вставить("URL" , ПодготовитьURL(Запрос.URL, ПараметрыЗапроса));
128129
129130 ПодготовитьCookies(ПодготовленныйЗапрос);
130- ПодготовитьТелоЗапроса(ПодготовленныйЗапрос, Запрос.Данные, Запрос.Файлы, Запрос.Json, Запрос.ПараметрыПреобразованияJSON);
131+ ПодготовитьТелоЗапроса(
132+ ПодготовленныйЗапрос,
133+ Запрос.Данные,
134+ Запрос.Файлы,
135+ Запрос.Json,
136+ Запрос.ПараметрыПреобразованияJSON,
137+ Запрос.ПараметрыЗаписиJSON);
131138 ПодготовитьАутентификацию(ПодготовленныйЗапрос);
132139
133140 Возврат ПодготовленныйЗапрос;
393400
394401КонецФункции
395402
396- Процедура ПодготовитьТелоЗапроса (ПодготовленныйЗапрос , Данные , Файлы , Json , ПараметрыПреобразованияJSON )
403+ Процедура ПодготовитьТелоЗапроса (ПодготовленныйЗапрос , Данные , Файлы , Json , ПараметрыПреобразованияJSON , ПараметрыЗаписиJSON )
397404
398405 HTTPЗапрос = Новый HTTPЗапрос;
399406 HTTPЗапрос.АдресРесурса = СобратьАдресРесурса(
412419 ИначеЕсли ЗначениеЗаполнено (Json) Тогда
413420 ContentType = "application/json" ;
414421 HTTPЗапрос.УстановитьТелоИзСтроки(
415- ОбъектВJson(Json, ПараметрыПреобразованияJSON),
422+ ОбъектВJson(Json, ПараметрыПреобразованияJSON, ПараметрыЗаписиJSON ),
416423 КодировкаТекста.UTF8,
417424 ИспользованиеByteOrderMark.НеИспользовать);
418425 КонецЕсли ;
978985
979986КонецФункции
980987
981- Функция ОбъектВJson (Объект , ПараметрыПреобразования ) Экспорт
988+ Функция ОбъектВJson (Объект , Знач ПараметрыПреобразования , Знач ПараметрыЗаписи ) Экспорт
982989
983990 ПараметрыПреобразованияJSON = ДополнитьПараметрыПреобразованияJSON(ПараметрыПреобразования);
984991
992+ ПараметрыЗаписи = ДополнитьПараметрыЗаписиJSON(ПараметрыЗаписи);
993+
994+ ПараметрыЗаписиJSON = Новый ПараметрыЗаписиJSON(
995+ ПараметрыЗаписи.ПереносСтрок,
996+ ПараметрыЗаписи.СимволыОтступа,
997+ ПараметрыЗаписи.ИспользоватьДвойныеКавычки,
998+ ПараметрыЗаписи.ЭкранированиеСимволов,
999+ ПараметрыЗаписи.ЭкранироватьУгловыеСкобки,
1000+ ПараметрыЗаписи.ЭкранироватьРазделителиСтрок,
1001+ ПараметрыЗаписи.ЭкранироватьАмперсанд,
1002+ ПараметрыЗаписи.ЭкранироватьОдинарныеКавычки,
1003+ ПараметрыЗаписи.ЭкранироватьСлеш);
1004+
9851005 ЗаписьJSON = Новый ЗаписьJSON;
986- ЗаписьJSON.УстановитьСтроку();
1006+ ЗаписьJSON.УстановитьСтроку(ПараметрыЗаписиJSON );
9871007 ЗаписатьJSON (ЗаписьJSON, Объект);
9881008
9891009 Возврат ЗаписьJSON.Закрыть();
10231043
10241044КонецФункции
10251045
1046+ Функция ДополнитьПараметрыЗаписиJSON (ПараметрыЗаписи )
1047+
1048+ ПараметрыЗаписиJSON = ПолучитьПараметрыЗаписиJSONПоУмолчанию();
1049+ Если ЗначениеЗаполнено (ПараметрыЗаписи) Тогда
1050+ Для Каждого Параметр Из ПараметрыЗаписи Цикл
1051+ Если ПараметрыЗаписиJSON.Свойство(Параметр.Ключ) Тогда
1052+ ПараметрыЗаписиJSON.Вставить(Параметр.Ключ, Параметр.Значение);
1053+ КонецЕсли ;
1054+ КонецЦикла ;
1055+ КонецЕсли ;
1056+
1057+ Возврат ПараметрыЗаписиJSON;
1058+
1059+ КонецФункции
1060+
10261061Функция РазбитьСтрокуПоСтроке (Знач Строка , Разделитель )
10271062
10281063 Результат = Новый Массив;
10571092
10581093 Возврат ПараметрыПреобразованияПоУмолчанию;
10591094
1095+ КонецФункции
1096+
1097+ Функция ПолучитьПараметрыЗаписиJSONПоУмолчанию ()
1098+
1099+ ПараметрыЗаписиJSONПоУмолчанию = Новый Структура;
1100+ ПараметрыЗаписиJSONПоУмолчанию.Вставить("ПереносСтрок" , ПереносСтрокJSON.Авто);
1101+ ПараметрыЗаписиJSONПоУмолчанию.Вставить("СимволыОтступа" , " " );
1102+ ПараметрыЗаписиJSONПоУмолчанию.Вставить("ИспользоватьДвойныеКавычки" , Истина );
1103+ ПараметрыЗаписиJSONПоУмолчанию.Вставить("ЭкранированиеСимволов" , ЭкранированиеСимволовJSON.Нет);
1104+ ПараметрыЗаписиJSONПоУмолчанию.Вставить("ЭкранироватьУгловыеСкобки" , Ложь );
1105+ ПараметрыЗаписиJSONПоУмолчанию.Вставить("ЭкранироватьРазделителиСтрок" , Истина );
1106+ ПараметрыЗаписиJSONПоУмолчанию.Вставить("ЭкранироватьАмперсанд" , Ложь );
1107+ ПараметрыЗаписиJSONПоУмолчанию.Вставить("ЭкранироватьОдинарныеКавычки" , Ложь );
1108+ ПараметрыЗаписиJSONПоУмолчанию.Вставить("ЭкранироватьСлеш" , Ложь );
1109+
1110+ Возврат ПараметрыЗаписиJSONПоУмолчанию;
1111+
10601112КонецФункции
0 commit comments