1. 1C / Говнокод #29103

    −1

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    55. 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);
    КонецФункции

    Обработка сантехника онлайн

    Запостил: evreybiysk, 12 Марта 2025

    Комментарии (4) RSS

    • Что это за говно? Уберите его отсюда!
      Ответить
    • Вот даже не зная языка 1С можно офигеть от того, что одна функция занимается этим
      Текст.ДобавитьСтроку(",");

      и этим
      Новый WSПрокси

      и этим
      Новый Структура("Color, Size")
      Ответить
    • комментарии прикольные, люблю такие
      //1) Создаем WSОпределение
      	Определение    		= Новый WSОпределения(
      Ответить
      • Ещё хорошо
        //Выход из функции и передача результата вызывающему методу
        	Возврат Новый Структура("РезультатОперации, ИсходныеДанные", РезультатОперации, ПакетJSON);

        надо было ещё написать
        //конец функции
        КонецФункции
        А то не понятно. Пришлось полчаса кот анализировать
        Ответить

    Добавить комментарий