|
Разработка веб сервиса | ☑ | ||
---|---|---|---|---|
0
falselight
23.06.20
✎
06:29
|
Доброго дня. Встала задача по обмену с сайтом.
Суть следующая. Создать веб сервис. Который по 4 параметрам, выполняет запрос и возвращает данные в формате json. Подскажите пожалуйста, а то не работал с json. Как формировать json и как это будет отправляться на сервер. Сайт? Нужна информация что бы продвигаться в решении. создаю веб сервис, 4 параметра. Какой им задавать тип???????? - Код производителя - Производитель - ОЕ номер - Артикул Как публиковать веб сервис в 1с ???? как нужно правильно организовать ответ в формате json? - Код производителя - Производитель - ОЕ номер - Артикул - Наименование номенклатуры - Количество на остатке (общее по складам Основной, Магазин Авангард, Админы Авангард, Склад Траектория, Витрина Траектория) - Розничная цена - Закупочная цена Как по данной задаче, правильно разработать веб сервис? Что бы передать эти данные? |
|||
1
craxx
23.06.20
✎
06:34
|
(0) Создаешь структуру и записываешь ее с помощью ЗаписатьJSON()
|
|||
2
craxx
23.06.20
✎
06:34
|
(1) +а потом ее отдаешь в ответе
|
|||
3
falselight
23.06.20
✎
06:58
|
(2) Можно пример кода? А то без него не понятно. Одни вопросы.
|
|||
4
falselight
23.06.20
✎
06:58
|
(3+) То есть есть результат запроса. Как его воплотить в то что вы описали?
|
|||
5
falselight
23.06.20
✎
07:05
|
(1) Ясно. Примерно то есть так, -
Структура = Новый Структура; Вставить("Фамилия","Иванов"); Зставить("Имя", "Иван"); Вставить("Отчество", "Иванович"); Зставить("Возраст", 40) ; Зставить("Женат", Истина); Телефоны = Новый Массив; Телефоны.Добавить("8-999-999-99-90") ; Телефоны.Добавить("8-999-999-99-91") ; Структура.Вставить("Телефоны", Телефены); ЗаписьJSON = Новый ЗаписьJSON; ЗаписьJSON.ОткрытьФайл("ИмяФайла", , , Новый ПapaмeтpыЗaпиcиJS0N( , Символы.Таб) ) ; ЗаписатьJSON(ЗаписьJSON, Структура); ЗаписьJSON.Закрыть(); |
|||
6
falselight
23.06.20
✎
07:05
|
(2) Подскажите как отдать в ответе? Я не понимаю. (((((
|
|||
7
Галахад
гуру
23.06.20
✎
07:08
|
Ответ = ЗаписьJSON.Закрыть();
Возврат Ответ; |
|||
8
falselight
23.06.20
✎
07:09
|
(7) То есть, общей фразой, ответ - возврат значения функции ?
|
|||
9
Галахад
гуру
23.06.20
✎
07:11
|
(8) Не совсем понял. Но если понял, то да.
|
|||
10
falselight
23.06.20
✎
07:28
|
как правильно задать пространство имен?
WebСервис.Rests: Не установлено пространство имен При проверке метаданных обнаружены ошибки! Операция не может быть выполнена. http://joxi.ru/YmEbex8CJknxE2 не знаю как задавать эти параметры ... |
|||
11
Chameleon1980
23.06.20
✎
07:32
|
(10) свое уникальное
структуру в джейсон ЗаписьJSON = Новый ЗаписьJSON; ЗаписьJSON.УстановитьСтроку(); ЗаписатьJSON(ЗаписьJSON, ТвояСтруктура); Результат = ЗаписьJSON.Закрыть(); |
|||
12
falselight
23.06.20
✎
07:38
|
(11) Привидите пожалуйста пример названия пространства имен URI
что бы создать свое по примеру, не пойму пока |
|||
13
craxx
23.06.20
✎
07:39
|
(11) Ну а затем
Ответ = Новый HTTPОтвет(200); Ответ.УстановитьТелоИзСтроки(результат); |
|||
14
craxx
23.06.20
✎
07:40
|
(13) Новый HTTPСервисОтвет(200) - извиняюсь
|
|||
15
Chameleon1980
23.06.20
✎
07:42
|
(12) - falselight
|
|||
16
Галахад
гуру
23.06.20
✎
07:43
|
(13) У него же вроде web, а не http.
|
|||
17
falselight
23.06.20
✎
07:46
|
(13) А это для чего?????
(15) Пространство имен URI там должна быть ссылка? |
|||
18
craxx
23.06.20
✎
07:47
|
(16) чтобы отправить просто JSON - не надо никакого web. Надо httpСервис
|
|||
19
falselight
23.06.20
✎
07:49
|
(18) то есть я не то делаю? Сказали создавать веб сервис я и занялся.
А получается тут все иначе? Нужно создавать http сервис ? |
|||
20
Галахад
гуру
23.06.20
✎
07:49
|
(18) Да как бы без разницы. Но в (0) web.
|
|||
21
craxx
23.06.20
✎
07:50
|
(19) httpСервис проще
|
|||
22
falselight
23.06.20
✎
07:52
|
(21) особо не работал ни с тем ни с тем
по этому страдаю от незнания и не умения буду благодарен любой информации, ссылке на источник, что бы увидев его понять, что я создаю объект в 1с, так то. так то публикую его. и он так то работает .... и уже прикручиваю к нему свои данные, выборку запроса под какой то пример. Подскажите пожалуйста. |
|||
23
falselight
23.06.20
✎
07:53
|
(21) есть такая информация, -
http я так понимаю это запросы когда 1С спрашивает а что-то ей отвечает. А веб сервис наоборот когда кто-то спрашивает а 1С отвечает. Но мои познания здесь тоже не великие, могу ошибиться |
|||
24
Chameleon1980
23.06.20
✎
08:13
|
(17) Пространство имен URI там должна быть ссылка?
нет |
|||
25
craxx
23.06.20
✎
08:19
|
(23) нет. Они оба отдают в ответ на запрос. Просто web-сервис отдает по протоколу SOAP, а httpСервис отдает произвольную инфу в теле ответа
|
|||
26
falselight
23.06.20
✎
08:23
|
(25) А как мне отлавливать параметры которые будут приходить с сайте? Как они это будут задавать?
Ну очевидно это строка с параметрами. Мне тогда эту строку же нужно знать, что бы её обрабатывать? Нет ли где простого примера что бы его можно взять в разработку задачи (0) Опробовать и подстраивать под свои данные? |
|||
27
craxx
23.06.20
✎
08:24
|
(26) пример легко гуглится
|
|||
28
Chameleon1980
23.06.20
✎
08:39
|
(26) А как мне отлавливать параметры которые будут приходить с сайте? Как они это будут задавать?
Ну очевидно это строка с параметрами. Мне тогда эту строку же нужно знать, что бы её обрабатывать? блин 1. в отладке включить WebСервисы 2. записать в ЖР 3. записать в файл |
|||
29
Chameleon1980
23.06.20
✎
08:39
|
+(28) голову включить просто
|
|||
30
MyNick
23.06.20
✎
09:07
|
(0) Сервисы лучше делать на стороне сайта. А 1С просто подключается по регламенту и получает/отправляет в него необходимые данные.
|
|||
31
craxx
23.06.20
✎
09:08
|
(30) не всегда это оправдано. Если, к примеру, хочется заказы с сайта напрямую в 1С лить живьем - тогда HTTPСервис- то, что доктор прописал.
|
|||
32
falselight
23.06.20
✎
09:31
|
(30) Задача поставлена сделать сервис на стороне 1с.
|
|||
33
mikecool
23.06.20
✎
09:33
|
(0) по описанию - требуется хттп сервис
для веба нужно еще написать хдто пакет |
|||
34
falselight
23.06.20
✎
09:38
|
(33) Так если возвращать нужно json ? Нужен XDTO пакет?
Поделитесь пожалуйста развернутой информацией. Или XDTO пакет нужен только для веб сервиса? (27) Понятно что все гуглится. голова только не воспринимает. Хочу вот пойти, да пока вешу, цепляюсь. Если можно сподвигните по задаче. Если нужен http сервис, тогда возможно его стоит делать, Я просто не понимаю ((((( Что бы возвращать json, можно пример? Или подсказки какие? |
|||
35
craxx
23.06.20
✎
09:38
|
(34) Именно его и стоит делать.
|
|||
36
ДенисЧ
23.06.20
✎
09:39
|
А зачем для жисона xdto?
|
|||
37
mikecool
23.06.20
✎
09:44
|
(34) когда же ты уже прочитаешь в тырнете , что такое json ?
|
|||
38
MyNick
23.06.20
✎
10:00
|
(31) 1С это Ынтырпрайз. Со своими регламентами, нагрузками, перезагрузками, обновлениями конфы и падающими костылями. Как правило находится в сети предприятия (+к безопасности, грамотным настройкам сети и т.п). Незачем ему наружу торчать и корчить из себя 24/7.
Пусть когда может, тогда и обменивается с круглосуточными сервисами, написанными на стороне сайта.. |
|||
39
MyNick
23.06.20
✎
10:01
|
(34) не нужен тебе ХДТО. Юзай просто HTTPСервис от 1С.
|
|||
40
falselight
23.06.20
✎
10:26
|
(39) ок, пошел в сторону HTTP
|
|||
41
falselight
23.06.20
✎
10:27
|
(39) туда планируется с сайта передавать параметры, в этом не ясность, как они эту будут делать, как мне их принимать?
|
|||
42
falselight
23.06.20
✎
10:30
|
(41) Подскажите как это протестировать? например выполнить в браузере простейший запрос по выборке номенклатуры с параметрами
или из регистра, что бы уже свое делать, прочувствовав как работает технология |
|||
43
H A D G E H O G s
23.06.20
✎
10:59
|
ЛивингСтар, завязывай ты с этим делом, не твое это.
|
|||
44
Chameleon1980
23.06.20
✎
11:07
|
(42) заставь сайтописателей послать тебе запрос в 1с.
ты в 1с слогируй его в ЖР и разбирайся потом с телом этого запроса. как разберешься - тестируйте заново с созданием документа, например. чего ты там хочешь |
|||
45
Галахад
гуру
23.06.20
✎
11:08
|
Хм. А публиковать сервис интересно кто будет? Тоже ТС или там админ есть...
|
|||
46
Chameleon1980
23.06.20
✎
11:27
|
(45) он уже про тесты спрашивает
|
|||
47
MyNick
23.06.20
✎
11:28
|
(42)
1. Опубликовать веб сервисы в конфигураторе. 2. Создать ХТТПзапрос 3. Написать функцию хеллоуворлд, которая принимает параметр и возвращает его же (можно еще на 2 умножить) для пущей уверенности) 4. Установить Postman (1 минута) и проверить тук тук тук к своему сервису |
|||
48
MyNick
23.06.20
✎
11:29
|
(46) он не про тестирование, он не понимает с чего начать проверять свой хеллоуворлд. Ну типа сайтописатели от тебя результат хотят, а ты ни разу не собирал велосипед и не видел как собирают. Надо пробовать в процессе, что крутится колесо, работают тормоза и т.п.
Postman - простая и хорошая штука для этого. |
|||
49
MyNick
23.06.20
✎
11:31
|
(0) забей пока на джейсон. Напиши сервис, который будет принимать имя, и отвечать "Привет, Имярек".
|
|||
50
tgu82
23.06.20
✎
11:42
|
(0) С помощью curl отправляю файл джейсон, Файл джейсон создаю в 7.7.
Можно конечно типа какого-нибудь winhttp но не вижу смысла, раз в неделю формирую файл продаж по поставщику и через его апи отправляю к нему post-запросом |
|||
51
dezss
23.06.20
✎
11:59
|
(47) ага...а еще нужна basic-авторизация))))
|
|||
52
Конструктор1С
23.06.20
✎
12:48
|
(12) пространство имен это просто строка. Главное, чтобы было уникальным. Обычно принятов качестве пространства имен указывать веб-адрес
https://falselight.org |
|||
53
Конструктор1С
23.06.20
✎
12:56
|
(22) на сайте ИТС глянь, там есть примеры, даже демо-конфигурация есть
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |