Пустое тело в запросе

1. glek 119 17.04.24 10:29 Сейчас в теме
Добрый день, коллеги.
Возник такой вопрос: пишу простенькую конфу для управления основной базой. В процессе написания и отладки на эмуляторе все запросы в базу приходили с телом запроса.
Как только перенес на устройство, команда ПолучитьТелоКакСтроку стала возвращать пустую строку.
Сам код отправки простой:
	Запрос = Новый HTTPЗапрос;
	Запрос.АдресРесурса = СтруктураАдреса.Путь;
	СтруктураЗапроса = Новый Структура;
	СтруктураЗапроса.Вставить("Номер", НомерДокумента);
	СтруктураЗапроса.Вставить("Год", ГодДокумента);
	Запрос.УстановитьТелоИзСтроки(ЗаписатьСтруктуруВЗапрос(СтруктураЗапроса));
	Соединение = Новый HTTPСоединение(СтруктураАдреса.Сервер, , Пользователь, Пароль);
	
	Результат = Соединение.Получить(Запрос);
Показать

Функция ЗаписатьСтруктуруВЗапрос тоже простая
	Запись = Новый ЗаписьJSON;
	Запись.УстановитьСтроку();
	ЗаписатьJSON(Запись, СтруктураДанных);
	СтрокаОтвета = Запись.Закрыть();	
	Возврат СтрокаОтвета;

Поиск в инете не дал результатов (либо я некорректно искал)
Устройство находится в сети (до базы добирается)
Никто с таким не сталкивался?
По теме из базы знаний
Вознаграждение за ответ
Показать полностью
Найденные решения
4. Sashares 34 17.04.24 10:40 Сейчас в теме +1 $m
(1)
Результат = Соединение.Получить(Запрос);

Потому что не гет надо, а пост. Отправить для обработки.
vadim.semyonov.rzn; +1 Ответить
5. spacecraft 17.04.24 10:40 Сейчас в теме
(1)
Запрос.УстановитьТелоИзСтроки(ЗаписатьСтруктуруВЗапрос(СтруктураЗапроса));
Соединение = Новый HTTPСоединение(СтруктураАдреса.Сервер, , Пользователь, Пароль);

Результат = Соединение.Получить(Запрос);

1С в get запросах не передает тело.
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
4. Sashares 34 17.04.24 10:40 Сейчас в теме +1 $m
(1)
Результат = Соединение.Получить(Запрос);

Потому что не гет надо, а пост. Отправить для обработки.
vadim.semyonov.rzn; +1 Ответить
7. glek 119 17.04.24 10:48 Сейчас в теме
(4) Это фишка именно мобильного приложения?
10. Sashares 34 17.04.24 11:05 Сейчас в теме
11. glek 119 17.04.24 11:36 Сейчас в теме
(4) (5)
Да, в свежих версиях они убрали недокументированную фичу.
маленький бакс уходит тому, кто первый написал.
5. spacecraft 17.04.24 10:40 Сейчас в теме
(1)
Запрос.УстановитьТелоИзСтроки(ЗаписатьСтруктуруВЗапрос(СтруктураЗапроса));
Соединение = Новый HTTPСоединение(СтруктураАдреса.Сервер, , Пользователь, Пароль);

Результат = Соединение.Получить(Запрос);

1С в get запросах не передает тело.
6. glek 119 17.04.24 10:44 Сейчас в теме
(5) Эм... Из эмулятора передает, из обыкновенного клиента передает.
Это фишка именно мобильного приложения?
8. spacecraft 17.04.24 10:49 Сейчас в теме
(6) эта "фишка" была всегда в 1С. Использовался старый норматив, когда в get запрещено было передавать body. Потом нормативы изменили, но в 1С нет.
Возможно в новой платформе что изменилось, не проверял.
9. spacecraft 17.04.24 11:01 Сейчас в теме
(6) из СП:
Примечание:
При использоватения метода GET тело запроса на сервер отправлено не будет.
При использовании мобильной платформы на устройствах под управлением ОС Android версий 2.3 - 4.4 вызов данного метода с параметром PATCH недоступен и приведет к исключению.
2. vadim.semyonov.rzn 17.04.24 10:33 Сейчас в теме
Возможно, дело в заголовках (которых здесь нет), конкретно "content-type", сервер не может определить, что находится в теле запроса.
3. glek 119 17.04.24 10:37 Сейчас в теме
(2) Апп-ясон указать?
В другом месте для контроля добавлял
Запрос.Заголовки.Вставить("Content-Type", "application/json");


Не помогло.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот