Передача массива в параметрах POST 1С 8.2

1. Aleck1281 07.10.21 12:11 Сейчас в теме
Здравствуйте! Требуется передать на сервер POST запрос с подобными данными:
{

"tovar"=>"Шины Debica Presto UHP 2 235/45 R17 97Y XL FP update",

"okpd_name"=>"1.19",

"edizm"=>"1",

"price"=>"1500",

"okpd_code"=>"01.19",

"published"=>"true",

"magaz_num"=>"22140-T738-001"

}
Показать

Эти данные надо передать именно как массив, без преобразования в JSON. Кто подскажет, как это сделать?
По теме из базы знаний
Найденные решения
7. spacecraft 07.10.21 17:34 Сейчас в теме
(1) в 1С нет возможности использовать ассоциативные массивы в POST.
Но возможно сработает использование передача используя application/x-www-form-urlencoded.
т.е. в Content-type указываете application/x-www-form-urlencoded, а в body передаете строку вида:
tovar=Шины+Debica+Presto+UHP+2+235/45+R17+97Y+XL+FP+update&okpd_name=1.19&edizm=1&price=1500&okpd_code=01.19&published=true&magaz_num=22140-T738-001

Передаваемая строка должна быть кодирована по правилам urlencoded.
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. DJ_Codebase 07.10.21 12:16 Сейчас в теме
(1) в POST запросе не передаются ни массивы, ни какие-то другие типы данных! Только строка или двоичные данные (тело запроса)
3. Dem0 07.10.21 12:22 Сейчас в теме
(1)
именно как массив

А кто вам сказал, что именно массив нужен?
либо с json мутите либо xml:
ЗаписатьНачалоЭлемента();
ЗаписатьКонецЭлемента();

в ситнакт-помощнике напишите
ЗаписатьНачалоМассива - там пример будет. Но он тоже JSON
7. spacecraft 07.10.21 17:34 Сейчас в теме
(1) в 1С нет возможности использовать ассоциативные массивы в POST.
Но возможно сработает использование передача используя application/x-www-form-urlencoded.
т.е. в Content-type указываете application/x-www-form-urlencoded, а в body передаете строку вида:
tovar=Шины+Debica+Presto+UHP+2+235/45+R17+97Y+XL+FP+update&okpd_name=1.19&edizm=1&price=1500&okpd_code=01.19&published=true&magaz_num=22140-T738-001

Передаваемая строка должна быть кодирована по правилам urlencoded.
4. Aleck1281 07.10.21 12:24 Сейчас в теме
В том-то и проблема, что сервер не принимает JSON, а принимает только "ассоциативный массив", как мне сказала служба поддержки.
5. Sashares 34 07.10.21 12:55 Сейчас в теме
(4)Спросите у них пример сообщения POST запроса и сделайте по аналогии.
6. Aleck1281 07.10.21 13:03 Сейчас в теме
Пытался. Техподдержка заявила, что POST — параметры передаются неявно, например при помощи CURLOPT_POSTFIELDS, а пример кода 1С они предоставить не могут, т.к. не владеют 1С.
8. Sashares 34 07.10.21 20:56 Сейчас в теме
(6)Нужен не пример кода, а пример сообщения - чтобы было видно, что передается в заголовках, что в теле.
Прикрепленные файлы:
9. Aleck1281 24.10.21 00:27 Сейчас в теме
Вопрос решён. Оказалось, что тело запроса надо было делать обычной строкой типа
"&tovar="+Товар.Номенклатура.НаименованиеПолное+"&edizm="+Строка(ЕдиницыИзмерения.Найти(Товар.ЕдИзм.Наименование).Значение)+"&price="+Формат(Цена,"ЧДЦ=2; ЧРД=.; ЧГ=0")
Оставьте свое сообщение

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