Вход | Регистрация
 

Разработка веб сервиса

Разработка веб сервиса
Я
   falselight
 
23.06.20 - 06:29
Доброго дня. Встала задача по обмену с сайтом.
Суть следующая. Создать веб сервис. Который по 4 параметрам, выполняет запрос и возвращает
данные в формате json. Подскажите пожалуйста, а то не работал с json.

Как формировать json и как это будет отправляться на сервер. Сайт? Нужна информация что бы продвигаться в решении.

создаю веб сервис, 4 параметра. Какой им задавать тип????????
- Код производителя
- Производитель
- ОЕ номер
- Артикул

Как публиковать веб сервис в 1с ????

как нужно правильно организовать ответ в формате json?
- Код производителя
- Производитель
- ОЕ номер
- Артикул
- Наименование номенклатуры
- Количество на остатке (общее по складам Основной, Магазин Авангард, Админы Авангард, Склад Траектория, Витрина Траектория)
- Розничная цена
- Закупочная цена


Как по данной задаче, правильно разработать веб сервис? Что бы передать эти данные?
   craxx
 
1 - 23.06.20 - 06:34
(0) Создаешь структуру и записываешь ее с помощью ЗаписатьJSON()
   craxx
 
2 - 23.06.20 - 06:34
(1) +а потом ее отдаешь в ответе
   falselight
 
3 - 23.06.20 - 06:58
(2) Можно пример кода? А то без него не понятно. Одни вопросы.
   falselight
 
4 - 23.06.20 - 06:58
(3+) То есть есть результат запроса. Как его воплотить в то что вы описали?
   falselight
 
5 - 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.Закрыть();
   falselight
 
6 - 23.06.20 - 07:05
(2) Подскажите как отдать в ответе? Я не понимаю. (((((
   Галахад
 
7 - 23.06.20 - 07:08
Ответ = ЗаписьJSON.Закрыть();

Возврат Ответ;
   falselight
 
8 - 23.06.20 - 07:09
(7) То есть, общей фразой, ответ - возврат значения функции ?
   Галахад
 
9 - 23.06.20 - 07:11
(8) Не совсем понял. Но если понял, то да.
   falselight
 
10 - 23.06.20 - 07:28
как правильно задать пространство имен?

WebСервис.Rests: Не установлено пространство имен
При проверке метаданных обнаружены ошибки!
Операция не может быть выполнена.


http://joxi.ru/YmEbex8CJknxE2

не знаю как задавать эти параметры ...
   Chameleon1980
 
11 - 23.06.20 - 07:32
(10) свое уникальное
структуру в джейсон

ЗаписьJSON = Новый ЗаписьJSON;
ЗаписьJSON.УстановитьСтроку();  
ЗаписатьJSON(ЗаписьJSON, ТвояСтруктура);            
Результат = ЗаписьJSON.Закрыть();
   falselight
 
12 - 23.06.20 - 07:38
(11) Привидите пожалуйста пример названия пространства имен URI

что бы создать свое по примеру, не пойму пока
   craxx
 
13 - 23.06.20 - 07:39
(11) Ну а затем
Ответ = Новый HTTPОтвет(200);
Ответ.УстановитьТелоИзСтроки(результат);
   craxx
 
14 - 23.06.20 - 07:40
(13) Новый HTTPСервисОтвет(200) - извиняюсь
   Chameleon1980
 
15 - 23.06.20 - 07:42
(12) -  falselight
   Галахад
 
16 - 23.06.20 - 07:43
(13) У него же вроде web, а не http.
   falselight
 
17 - 23.06.20 - 07:46
(13) А это для чего?????

(15) Пространство имен URI там должна быть ссылка?
   craxx
 
18 - 23.06.20 - 07:47
(16) чтобы отправить просто JSON - не надо никакого web. Надо httpСервис
   falselight
 
19 - 23.06.20 - 07:49
(18) то есть я не то делаю? Сказали создавать веб сервис я и занялся.

А получается тут все иначе? Нужно создавать http сервис ?
   Галахад
 
20 - 23.06.20 - 07:49
(18) Да как бы без разницы. Но в (0) web.
   craxx
 
21 - 23.06.20 - 07:50
(19) httpСервис проще
   falselight
 
22 - 23.06.20 - 07:52
(21) особо не работал ни с тем ни с тем
по этому страдаю от незнания и не умения

буду благодарен любой информации, ссылке на источник, что бы увидев его понять, что

я создаю объект в 1с, так то. так то публикую его. и он так то работает .... и уже прикручиваю к нему свои данные, выборку запроса
под какой то пример.

Подскажите пожалуйста.
   falselight
 
23 - 23.06.20 - 07:53
(21) есть такая информация, -

http я так понимаю это запросы когда 1С спрашивает а что-то ей отвечает. А веб сервис наоборот когда кто-то спрашивает а 1С отвечает. Но мои познания здесь тоже не великие, могу ошибиться
   Chameleon1980
 
24 - 23.06.20 - 08:13
(17) Пространство имен URI там должна быть ссылка?
нет
   craxx
 
25 - 23.06.20 - 08:19
(23) нет. Они оба отдают в ответ на запрос. Просто web-сервис отдает по протоколу SOAP, а httpСервис отдает произвольную инфу в теле ответа
   falselight
 
26 - 23.06.20 - 08:23
(25) А как мне отлавливать параметры которые будут приходить с сайте? Как они это будут задавать?
Ну очевидно это строка с параметрами. Мне тогда эту строку же нужно знать, что бы её обрабатывать?

Нет ли где простого примера что бы его можно взять в разработку задачи (0)

Опробовать и подстраивать под свои данные?
   craxx
 
27 - 23.06.20 - 08:24
(26) пример легко гуглится
   Chameleon1980
 
28 - 23.06.20 - 08:39
(26) А как мне отлавливать параметры которые будут приходить с сайте? Как они это будут задавать?
Ну очевидно это строка с параметрами. Мне тогда эту строку же нужно знать, что бы её обрабатывать?

блин
1. в отладке включить WebСервисы
2. записать в ЖР
3. записать в файл
   Chameleon1980
 
29 - 23.06.20 - 08:39
+(28) голову включить просто
   MyNick
 
30 - 23.06.20 - 09:07
(0) Сервисы лучше делать на стороне сайта. А 1С просто подключается по регламенту и получает/отправляет в него необходимые данные.
 
 Рекламное место пустует
   craxx
 
31 - 23.06.20 - 09:08
(30) не всегда это оправдано. Если, к примеру, хочется заказы с сайта напрямую в 1С лить живьем - тогда HTTPСервис- то, что доктор прописал.
   falselight
 
32 - 23.06.20 - 09:31
(30) Задача поставлена сделать сервис на стороне 1с.
   mikecool
 
33 - 23.06.20 - 09:33
(0) по описанию - требуется хттп сервис
для веба нужно еще написать хдто пакет
   falselight
 
34 - 23.06.20 - 09:38
(33) Так если возвращать нужно json ? Нужен XDTO пакет?
Поделитесь пожалуйста развернутой информацией. Или XDTO пакет нужен только для веб сервиса?

(27) Понятно что все гуглится. голова только не воспринимает. Хочу вот пойти, да пока вешу, цепляюсь.
Если можно сподвигните по задаче.

Если нужен http сервис, тогда возможно его стоит делать, Я просто не понимаю (((((

Что бы возвращать json, можно пример? Или подсказки какие?
   craxx
 
35 - 23.06.20 - 09:38
(34) Именно его и стоит делать.
   ДенисЧ
 
36 - 23.06.20 - 09:39
А зачем для жисона xdto?
   mikecool
 
37 - 23.06.20 - 09:44
(34) когда же ты уже прочитаешь в тырнете , что такое json ?
   MyNick
 
38 - 23.06.20 - 10:00
(31) 1С это Ынтырпрайз. Со своими регламентами, нагрузками, перезагрузками, обновлениями конфы и падающими костылями. Как правило находится в сети предприятия (+к безопасности, грамотным настройкам сети и т.п). Незачем ему наружу торчать и корчить из себя 24/7.
Пусть когда может, тогда и обменивается с круглосуточными сервисами, написанными на стороне сайта..
   MyNick
 
39 - 23.06.20 - 10:01
(34) не нужен тебе ХДТО. Юзай просто HTTPСервис от 1С.
   falselight
 
40 - 23.06.20 - 10:26
(39) ок, пошел в сторону HTTP
   falselight
 
41 - 23.06.20 - 10:27
(39) туда планируется с сайта передавать параметры, в этом не ясность, как они эту будут делать, как мне их принимать?
   falselight
 
42 - 23.06.20 - 10:30
(41) Подскажите как это протестировать? например выполнить в браузере простейший запрос по выборке номенклатуры с параметрами
или из регистра, что бы уже свое делать, прочувствовав как работает технология
   H A D G E H O G s
 
43 - 23.06.20 - 10:59
ЛивингСтар, завязывай ты с этим делом, не твое это.
   Chameleon1980
 
44 - 23.06.20 - 11:07
(42) заставь сайтописателей послать тебе запрос в 1с.
ты в 1с слогируй его в ЖР и разбирайся потом с телом этого запроса. как разберешься - тестируйте заново с созданием документа, например.
чего ты там хочешь
   Галахад
 
45 - 23.06.20 - 11:08
Хм. А публиковать сервис интересно кто будет? Тоже ТС или там админ есть...
   Chameleon1980
 
46 - 23.06.20 - 11:27
(45) он уже про тесты спрашивает
   MyNick
 
47 - 23.06.20 - 11:28
(42)
1. Опубликовать веб сервисы в конфигураторе.
2. Создать ХТТПзапрос
3. Написать функцию хеллоуворлд, которая принимает параметр и возвращает его же (можно еще на 2 умножить)  для пущей уверенности)
4. Установить Postman (1 минута) и проверить тук тук тук к своему сервису
   MyNick
 
48 - 23.06.20 - 11:29
(46) он не про тестирование, он не понимает с чего начать проверять свой хеллоуворлд. Ну типа сайтописатели от тебя результат хотят, а ты ни разу не собирал велосипед и не видел как собирают. Надо пробовать в процессе, что крутится колесо, работают тормоза и т.п.

Postman - простая и хорошая штука для этого.
   MyNick
 
49 - 23.06.20 - 11:31
(0) забей пока на джейсон. Напиши сервис, который будет принимать имя, и отвечать "Привет, Имярек".
   tgu82
 
50 - 23.06.20 - 11:42
(0) С помощью curl отправляю файл джейсон, Файл джейсон создаю в 7.7.
Можно конечно типа какого-нибудь winhttp но не вижу смысла, раз в неделю формирую файл продаж по поставщику и через его апи отправляю к нему post-запросом
   dezss
 
51 - 23.06.20 - 11:59
(47) ага...а еще нужна basic-авторизация))))
   Конструктор1С
 
52 - 23.06.20 - 12:48
(12) пространство имен это просто строка. Главное, чтобы было уникальным. Обычно принятов качестве пространства имен указывать веб-адрес

https://falselight.org
   Конструктор1С
 
53 - 23.06.20 - 12:56
(22) на сайте ИТС глянь, там есть примеры, даже демо-конфигурация есть


Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.