Имя: Пароль:
1C
 
Разработка веб сервиса
,
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) на сайте ИТС глянь, там есть примеры, даже демо-конфигурация есть