Отправка POST запроса к 1С #729319


#0 by PR2
Почитал , заинтересовала возможность через POST запрос что-то создавать в 1С, например элемент справочника Ref. Сделал базу, опубликовал, получение данных просто через забивание URL в браузере типа идет нормально. А вот как послать POST запрос, как написано в статье, не понял. Это где "Создание нового элемента данных выполняется POST-запросом. В качестве значения ссылки передается нулевой GUID. При создании и модификации объектов значения свойств передаются в теле запроса в формате XML (здесь текст запроса приведён полностью):...". Уж по всякому попробовал. Пробую что-то типа такого: Никак не соображу, что писать в текст запроса? Кто силен в POST, подскажите.
#1 by SanGvin
А вы ваши заголовки засуньте куда следует (HTTPЗапрос.Заголовки)
#2 by SanGvin
-- это вообще в тело запроса не надо пихать. УРЛ в АдресРесурса положите
#3 by PR2
Написал Теперь виснет. Нужно ли писать и ? Размер чего вставлять в "Content-Length"?
#4 by PR2
ЗаголовокHTTP.Вставить("Content-Length", СтрДлина(ТекстЗапроса)); не виснет, но вроде как ничего и не делает, то есть элемент справочника не появляется. Или я что-то не понимаю и так элемент справочника не создашь?
#5 by ASV
Catalog_Ref ?? у тебя справочник ref??
#6 by PR2
Да. Могу по-другому назвать для примера, вообще сиренево. Сейчас попробую назвать myref.
#7 by PR2
+ Поменял. Ничего не поменялось, все по прежнему.
#8 by PR2
Кстати, выдается авторизационное окно, ХЗ что в него забивать
#9 by ASV
логин пароль 1с
#11 by PR2
Не подходит
#12 by PR2
Да фиг с ней с авторизацией, я в default.vrd автоматическую авторизацию прописал, то есть сразу указал Usr и Pwd. Сейчас важнее разобраться с самим POST запросом. Как послать-то?
#13 by PR2
+ А, хотя пардон, я пытался в окне, появляющемся после перехода по указать логин пароль. Возможно, что при программном запросе прокатит. Но, блин, как запрос-то послать?
#14 by ASV
ОтветВВидеСтроки что говорит
#15 by ASV
на питоне. не нравилось что xmlns:m="; было без кавычек
#16 by ASV
Content-Length вообще убрать. 1С либо сама посчитает, либо сервер с 0 пропустит
#18 by PR2
Ахренеть! Свершилось! После указания всяких кавычек во всяких "; наконец-то создался элемент!
#19 by PR2
+ Да, по ходу в чувак то же самое словил.
#20 by PR2
+ Просто до последнего не верил, что у 1С в их статейке неправильно написано.
#21 by PR2
Кстати, прекраснейше пишутся элементы без проверки заполненности того же наименования, например.
#22 by PR2
Раньше в ответе ругалось на отсутствие кавычек, сейчас в ответе возвращается xml нового элемента. Примерно так (Р и R — это реквизиты справочника):
#23 by PR2
Чертовщина какая-то. Все это тестил в левой базе, сейчас сделал специальную базу для этих целей. Опубликовал, все настроил, щелкаю в браузере , не вижу метаданных. Что за хрень?
#24 by PR2
+ Блин, вот это фокус, поставил режим совместимости с 8.3.4, все показалось. Что за хрень?
#25 by PR2
А вот уникальность кода, кстати, проверяется, при такой записи нового.
#26 by PR2
Хм, дальнейшее изучение показало, что заголовки тоже можно не заполнять, все работает и без них :))
#27 by PR2
Конечный код кнопки на форме, для потомков, так сказать :)) В конфигурации, в которой пытаемся создать нового контрагента, ессно должны быть справочник Контрагенты с реквизитами Комментарий и Город и справочник Города. Заполнение города специально сделал через указание ГУИДа, для наглядности.
#28 by PR2
+ Кто хочет погонять, пароль на пользователя "password" :))
#29 by PR2
Что-то так и не понял на простом понятийном уровне разницу между SOAP и REST. Только в том, что SOAP тяжелее, а REST оперирует меньшим объемом данных? На мой взгляд не принципиально. А принципиальные различия какие?
#30 by PR2
А, ну и уникальные URL в REST. На мой взгляд, REST — подчасть SOAP. Не?
#31 by PR2
Оказывается, что дело в том, что нужно было использовать УстановитьСоставСтандартногоИнтерфейсаOData. А в режиме совместимости с 8.3.4 доступно всё.
#32 by Serginio1
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С