Импорт документов с веб ресурса
Приветствую! Делаю импорт документов из json в БП. По запросу на получение документа по id документ успешно загружается со всеми нужными реквизитами. Через утилиту командной строки CURL тем же запросом получаю данный документ в формате xml. Это GET запрос. Требуется дать ответ на web ресурс о том, что документ успешно загружен, отправив его id. Делаю тот же запрос с функцией POST запроса ОтправитьДляОбработки(), но в этом случае возвращается КодСостояния = 400, что бы я не делал. В чём моя ошибка? Вот успешный GET запрос. Получаем ID документа. Потом:
А вот неуспешный POST запрос:
Буду очень благодарен за поддержку, я в 1С более 17 лет, а с этими вещами столкнулся впервые.
Соединение = Новый HTTPСоединение("1s.leon.ru:3000");
Запрос = Новый HTTPЗапрос("/export/" + ID + "?key=5ED7DF2A-0EED-40A8-9800-7E9008881A4B");
Результат = Соединение.Получить(Запрос);
Если Результат.КодСостояния = 200 Тогда
РезультатСтрокой = Результат.ПолучитьТелоКакСтроку();
КонецЕсли;
А вот неуспешный POST запрос:
Заголовки = Новый Соответствие;
Заголовки.Вставить("Content-Type", "application/json");
Соединение = Новый HTTPСоединение("1s.leon.ru:3000");
ФайлРезультат = ПолучитьИмяВременногоФайла();
Запрос = Новый HTTPЗапрос("/export/" + ID + "?key=5ED7DF2A-0EED-40A8-9800-7E9008881A4B", Заголовки); Запрос.УстановитьТелоИзСтроки(Запрос, КодировкаТекста.UTF8);
Результат = Соединение.ОтправитьДляОбработки(Запрос, ФайлРезультат);
Результат.Заголовки.Вставить("Content-type", "application/json");
Если Результат.КодСостояния <> 200 Тогда
Ответ = Соединение.ОтправитьДляОбработки(Запрос);
Сообщить("Код результата: " + Ответ.КодСостояния);
Сообщить("Ответ: " + Ответ.ПолучитьТелоКакСтроку("UTF-8"));
КонецЕсли;
ПоказатьБуду очень благодарен за поддержку, я в 1С более 17 лет, а с этими вещами столкнулся впервые.
По теме из базы знаний
- Перенос данных из УТ 10.3 в УТ 11 / КА 2 / ERP 2. Переносятся документы, справочники и остатки
- Перенос данных из УПП 1.3 в ERP 2 / УТ 11 / КА 2. Переносятся документы, справочная информация и остатки
- Перенос данных из КА 1.1 в КА 2.5. Переносятся документы, остатки и справочники
- DataReducer — R-консоль для «1С:Предприятия»
- Перенос данных из БП 2.0 в БП 3.0. Переносятся документы, остатки и справочники
Найденные решения
(2) Благодарю, справился, не то передавал в тело.
Пост потому, что на web сервер нужно передать информацию для записи о том, что документ загружен.
Конечный результат POST запроса:
Пост потому, что на web сервер нужно передать информацию для записи о том, что документ загружен.
Конечный результат POST запроса:
Соединение = Новый HTTPСоединение("1s.leon.ru:3000");
СтруктураID = Новый Структура("documentOuterId", СтруктураШапкиДокумента.Код);
ЗаписьJSON = Новый ЗаписьJSON;
ЗаписьJSON.УстановитьСтроку();
ЗаписатьJSON(ЗаписьJSON, СтруктураID);
СтрокаДляОтвета = ЗаписьJSON.Закрыть();
Заголовки = Новый Соответствие;
Заголовки.Вставить("Content-Type", "application/json");
Запрос = Новый HTTPЗапрос("/export/" + СтруктураШапкиДокумента.Код + "?key=5ED7DF2A-0EED-40A8-9800-7E9008881A4B", Заголовки);
Запрос.УстановитьТелоИзСтроки(СтрокаДляОтвета, КодировкаТекста.UTF8);
Результат = Соединение.ОтправитьДляОбработки(Запрос);
ПоказатьОстальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(2) Благодарю, справился, не то передавал в тело.
Пост потому, что на web сервер нужно передать информацию для записи о том, что документ загружен.
Конечный результат POST запроса:
Пост потому, что на web сервер нужно передать информацию для записи о том, что документ загружен.
Конечный результат POST запроса:
Соединение = Новый HTTPСоединение("1s.leon.ru:3000");
СтруктураID = Новый Структура("documentOuterId", СтруктураШапкиДокумента.Код);
ЗаписьJSON = Новый ЗаписьJSON;
ЗаписьJSON.УстановитьСтроку();
ЗаписатьJSON(ЗаписьJSON, СтруктураID);
СтрокаДляОтвета = ЗаписьJSON.Закрыть();
Заголовки = Новый Соответствие;
Заголовки.Вставить("Content-Type", "application/json");
Запрос = Новый HTTPЗапрос("/export/" + СтруктураШапкиДокумента.Код + "?key=5ED7DF2A-0EED-40A8-9800-7E9008881A4B", Заголовки);
Запрос.УстановитьТелоИзСтроки(СтрокаДляОтвета, КодировкаТекста.UTF8);
Результат = Соединение.ОтправитьДляОбработки(Запрос);
Показать
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот