Бухгалтерия / Говнокод #29103 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  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 evreybiysk, (Updated )

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

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

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

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

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

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

Помни, guest, за тобой могут следить!

    А не использовать ли нам bbcode?


    8