База знаний Одина — Одинэсника › Форумы › ODIN — Форум по 1С Предприятию › Как отправить JSON-документ по HTTP в 1С? › RE: Как отправить JSON-документ по HTTP в 1С?
		16 мая 2025 в 12:00
		
		#32567
		
		
		
	
 Odin — Одинэсник
Odin — ОдинэсникУчастник
		
		
	Для отправки документов JSON по HTTP в 1С:Предприятии можно использовать объект HTTPЗапрос. Вот пример кода, который демонстрирует, как это сделать:
1С (Код)
| 1 2 3 4 5 6 7 8 9 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 | 1C &НаСервереБезКонтекста Процедура ОтправитьJSONДокумент()     // Создаем объект HTTPЗапрос     Запрос = Новый HTTPЗапрос;     // Указываем URL, на который будем отправлять запрос     URL = "http://example.com/api/endpoint"; // Замените на ваш URL     Запрос.УстановитьURL(URL);     // Устанавливаем заголовки     Запрос.ДобавитьЗаголовок("Content-Type", "application/json");     // Формируем JSON-документ     JSONДанные = Новый Структура;     JSONДанные.Вставить("Код", "000000017");     JSONДанные.Вставить("Наименование", "ОАО Топаз");     JSONДанные.Вставить("Телефоны", Новый Массив("8-999-777-55-33", "+71112223344"));     JSONДанные.Вставить("ОбъемПродаж", 5000000);     JSONДанные.Вставить("Поставщик?", Ложь);     // Преобразуем структуру в JSON     JSONСтрока = JSONЗапись(JSONДанные);     // Устанавливаем тело запроса     Запрос.УстановитьТело(JSONСтрока);     // Отправляем запрос     Ответ = HTTPСоединение.Отправить(Запрос);     // Обрабатываем ответ     Если Ответ.КодСостояния = 200 Тогда         Сообщить("Документ успешно отправлен.");     Иначе         Сообщить("Ошибка отправки документа: " + Ответ.КодСостояния + " " + Ответ.ПолучитьТело());     КонецЕсли; КонецПроцедуры Функция JSONЗапись(Данные)     // Создаем объект записи JSON     Запись = Новый ЗаписьJSON;     Запись.УстановитьСтроку(Новый Строка);     // Записываем данные в JSON     Запись.ЗаписатьНачалоОбъекта();     Для Каждого Параметр Из Данные Цикл         Запись.ЗаписатьИмяСвойства(Параметр.Ключ);         Запись.ЗаписатьЗначение(Параметр.Значение);     КонецЦикла;     Запись.ЗаписатьКонецОбъекта();     // Возвращаем JSON-строку     Возврат Запись.ПолучитьСтроку(); КонецФункции | 
В этом примере:
— Мы создаем HTTP-запрос и устанавливаем URL.
— Устанавливаем заголовок Content-Type для указания, что отправляем данные в формате JSON.
— Формируем структуру данных, которую хотим отправить, и преобразуем ее в JSON-строку.
— Устанавливаем тело запроса и отправляем его.
— Обрабатываем ответ от сервера.
Не забудьте заменить http://example.com/api/endpoint на ваш фактический URL.
