- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
#Область Работа_с_JSON
//Функция ВыгрузитьНоменклатуруJSON()
//Назначение: выгрузка номенклатуры в шину
//Входящие параметры:
// - ВходящиеДанные - таблица значений, заполненной информацией о номенклатуре
// - ПараметрыПодключения - структура с описанием подключения к web-сервису
//Возвращаемое значение:
// Строка в формате JSON с описанием результата
Функция ВыгрузитьНоменклатуруJSON(ВходящиеДанные, ПараметрыПодключения) Экспорт
//Формируем строку в формате JSON на основе входящих данных
Текст = Новый ТекстовыйДокумент();
Текст.ДобавитьСтроку("[");
Массив = Новый Массив;
Для к = 0 По ВходящиеДанные.Количество() - 1 Цикл
НоваяСтрока = Новый Структура("UID, Name, VC, Brand, Add, Barcode",
ВходящиеДанные[к].UID,
ВходящиеДанные[к].Name,
ВходящиеДанные[к].VC,
ВходящиеДанные[к].Brand,
Новый Структура("Color, Size",
ВходящиеДанные[к].Color,
ВходящиеДанные[к].Size),
ВходящиеДанные[к].Barcode);
ЗаписьJSON = Новый ЗаписьJSON;
ЗаписьJSON.УстановитьСтроку();
ЗаписатьJSON(ЗаписьJSON, НоваяСтрока);
Строка = ЗаписьJSON.Закрыть();
Текст.ДобавитьСтроку(Строка);
Если к < ВходящиеДанные.Количество() - 1 Тогда
Текст.ДобавитьСтроку(",");
КонецЕсли;
КонецЦикла;
Текст.ДобавитьСтроку("]");
ПакетJSON = Текст.ПолучитьТекст();
ФайлСертификатКлиентаФайл = ПолучитьИмяВременногоФайла("pfx");
МакетСертификатКлиентаФайл = ПолучитьМакет("СертификатКлиентаФайл");
МакетСертификатКлиентаФайл.Записать(ФайлСертификатКлиентаФайл);
ЗащищенноеСоединениеOpenSSL = Новый ЗащищенноеСоединениеOpenSSL(Новый СертификатКлиентаФайл(ФайлСертификатКлиентаФайл));
//Производим подключение к web-сервису.
//1) Создаем WSОпределение
Определение = Новый WSОпределения(ПараметрыПодключения.МестоположениеWSDLфайла, ПараметрыПодключения.Пользователь, ПараметрыПодключения.Пароль,,,ЗащищенноеСоединениеOpenSSL);
//2) Создаем WSПрокси
Прокси = Новый WSПрокси(Определение, "http://SantOn", "SantOnApi", "SantOnApiSoap",,,ЗащищенноеСоединениеOpenSSL);
Прокси.Пользователь = ПараметрыПодключения.Пользователь;
Прокси.Пароль = ПараметрыПодключения.Пароль;
//Отправляем строку на обработку в функцию "FullLoadJs" web-сервиса
Попытка
РезультатОперации = Прокси.FullLoadJs(ПакетJSON);
Исключение
Сообщить(ОписаниеОшибки());
РезультатОперации = "";
КонецПопытки;
//Выход из функции и передача результата вызывающему методу
Возврат Новый Структура("РезультатОперации, ИсходныеДанные", РезультатОперации, ПакетJSON);
КонецФункции