Учимся создавать http сервисы (часть вторая). Передача параметра в http сервис

22.09.20

Интеграция - WEB-интеграция

Пошаговое руководство по созданию http-сервиса (часть вторая). Передача параметра в http сервис.

На прошлом уроке, //infostart.ru/1c/articles/1293341/ , мы с вами научились создавать http сервис. Научились его опубликовывать. В результате работы сервиса мы получили данные из регистра сведений в виде JSON строки. Результат работы мы увидели в браузере.

Сегодня мы с вами разберем вопрос о том, как передавать параметры в http сервис.

Для чего это может быть нужно. Например, нам нужно получить информацию не о всей номенклатуре, а только о той номенклатуре, у которой определенный штрих код.

Цель: научиться передавать параметр в http сервис.

Итак, начнем.

-Откроем ветку «Общие» - «HTTP сервисы»

-Откроем http сервис «ОперацииСНоменклатурой»

-Перейдем на закладку «Шаблоны»

-Добавим новый шаблон. Назовем его «ИзучениеПередачиПараметров»

-Придумаем шаблон, например, «get_products_barcode»

До этого момента мы с вами повторили действия предыдущего занятия.

 

 

 

Перейдем к передаче параметров. Параметры в http сервисе, заключены в фигурные скобки. Например,  {beginDate} или {articul} или {} еще что-то.

 

Как можно предположить параметр {beginDate} – это какая-то начальная дата, параметр {articul} – это артикул. ИТАК, ПАРАМЕТРЫ В HTTP ЗАПРОСЕ ЗАКЛЮЧЕНЫ В ФИГУРНЫЕ СКОБКИ - {SOME_PARAMETER} - имя какого-то параметра. В нашей задаче нам нужен параметр штрих код. Таким образом мы его должны записать в фигурных скобках, вот так {barcode}. ПАРАМЕТРЫ ДОЛЖНЫ БЫТЬ НАЗВАНЫ ЛАТИНСКИМИ БУКВАМИ ПО ПРАВИЛУ СОЗДАНИЯ ИМЕН ПЕРЕМЕННЫХ.

Замечательно. Но куда этот параметр деть, куда его приложить?

А вот куда. Мы придумали имя шаблона «get_products_barcode», так вот после него и записывается параметр вот так, /get_products_barcode/{barcode}. Мы в шаблоне указали параметр.

 

 

//////////////////////////////////////////////////////

 

-В общем модуле «ОбщегоНазначения» создадим новую функцию, которая будет возвращать JSON строку с данными по номенклатуре, в зависимости от параметра штрих кода.

Функция будет называться «ПолучитьНоменклатуруПоШтрихкоду»

 

 

-В модуле http сервиса «ОперацииСНоменклатурой» - шаблон «ИзучениеПередачиПараметров» добавляем метод «ПолучитьНоменклатуруПоШтрихкоду». Далее переходим в модуль http сервиса и описываем код, который принимает параметр из Http запроса.

 

 

-Опубликовываем http сервис «ОперацииСНоменклатурой»

Меню - Администрирование - Публикация на веб-сервере

 

 

-Открываем браузер и собираем строку запроса. Как мы помним из прошлого урока строка собирается так:

Ip адрес / имя_публикации / hs / корневой_каталог / шаблон/{параметр}

localhost/my_name/hs/products/get_products/{barcode} – ТОЛЬКО ВМЕСТО ФИГУРНЫХ СКОБОК, КОНКРЕТНОЕ ЗНАЧЕНИЕ ШТРИХ КОДА, НАПРИМЕР 20000000583067

localhost/my_name/hs/products/get_products/20000000583067

 

 

Видео инструкция по передаче параметров в http сервис.

 

http web сервис apache IIS обмен данными

См. также

Модуль для обмена "1С:Предприятие 8. УАТ. ПРОФ" с FortMonitor

WEB-интеграция 8.3.8 Конфигурации 1cv8 Автомобили, автосервисы Беларусь Украина Россия Казахстан Управленческий учет Платные (руб)

Расширение предназначено для конфигурации "1С:Предприятие 8. Управление Автотранспортом. ПРОФ". Функционал модуля: 1. Заполнение регистров сведений по подсистеме "Мониторинг", а именно: события по мониторингу, координаты по мониторингу, пробег и расход по мониторингу, текущее местоположение ТС по мониторингу 2. Заполнение путевого листа: пробег по мониторингу, время выезда/заезда, табличная часть ГСМ 3. Отчеты по данным загруженным в регистры сведений. 4. В версии "с функцией автозагрузки данных" предусмотрена автоматическая загрузка данных в фоновом режиме (условия работы данной загрузке читайте в описании товара) Модуль работает без включенной константы по настройкам мониторинга. Модуль формы предоставляется с открытым кодом, общий модуль защищен. Любой заинтересованный пользователь, имеет возможность скачать демо-версию расширения.

600 руб.

25.05.2021    11792    9    4    

8

Интеграция с сервисом vetmanager

WEB-интеграция Платформа 1С v8.3 Бухгалтерский учет 1С:Бухгалтерия 3.0 Бытовые услуги, сервис Платные (руб)

Данная обработка разрабатывалась для загрузки документов из Ветменеджер в 1С: Бухгалтерия 3.

6000 руб.

02.02.2021    14520    35    43    

19

Заполнение по ИНН или наименованию реквизитов контрагента по данным сайта ФНС

Обмен с ГосИС WEB-интеграция Платформа 1С v8.3 Управляемые формы 1С:Комплексная автоматизация 1.х 1С:Бухгалтерия 2.0 1С:Управление торговлей 10 1С:Управление производственным предприятием 1С:Управление нашей фирмой 1.6 1С:Бухгалтерия государственного учреждения 1С:Документооборот 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Платные (руб)

Обработка является альтернативой механизму, разработанному фирмой 1С и заполняющему реквизиты контрагента по ИНН или наименованию. Не требуется действующей подписки ИТС. Вызывается как внешняя дополнительная обработка, т.е. используется, непосредственно, из карточки контрагента. Заполнение по ИНН или наименованию реквизитов контрагента по данным сайта ФНС (egrul.nalog.ru) для БП 2.0, БП 3.0, БГУ 1.0, БГУ 2.0, УТ 10.3, УТ 11.x, КА 1.1, КА 2.x, УПП 1.x, ERP 2.x, УНФ 1.5, УНФ 1.6, УНФ 3.0, ДО 2.1

2400 руб.

28.04.2016    85316    142    211    

297

Прайс-лист с фотографиями, выгрузкой в Excel с подсчетом суммы заказа, загрузкой заказа в Управление торговлей 11 (Россия) и Управление торговлей для Беларуси 3

Прайсы Загрузка и выгрузка в Excel Оптовая торговля WEB-интеграция Платформа 1С v8.3 Оперативный учет 1С:Управление торговлей 11 Россия Управленческий учет Платные (руб)

Прайс-лист для программы 1С: Управление торговлей 11 и Управление торговлей для Беларуси 3, позволяющий: 1) Формировать прайс-лист с фотографиями; 2) Сохранить прайс-лист в Excel с формулами, подсчитывающими количество и сумму заказа; 3) Передать сформированный прайс-лист по каналу ftp на сайт; 4) Сохранить прайс-лист в формате CSV; 5) Загрузить сделанный по прайс-листу заказ обратно в программу.

6000 руб.

04.09.2014    120972    44    105    

53

Sync1C: Синхронизация 1С и OpenCart

WEB-интеграция Оптовая торговля Розничная торговля Платформа 1С v8.3 Оперативный учет 1С:Управление торговлей 11 Управленческий учет Платные (руб)

Внешняя обработка для обмена данными с интернет-магазином OpenCart. Позволяет быстро наполнить магазин товарами, затем обновлять цены и добавлять новые товары. Далее можно средствами OpenCart настраивать и дополнять карточки товаров как надо для магазина, при этом связь товаров с 1С не теряется.

3840 руб.

30.03.2018    41971    78    133    

82

Merlion Commander Версия 1.3.9.2 - июль 2022 г. (Интеграция с 1С: УT, редакция 11.4, 1С:Розница 2.3,1С:ERP Управление предприятием 2, УТ 10.3, редакция веб-сервиса MERLION API 3.0 от 18.08.2021)

Оптовая торговля Розничная торговля WEB-интеграция Платформа 1С v8.3 1С:Управление торговлей 11 Россия Платные (руб)

Расширении конфигурации "Управление торговлей, редакция 11" для работы с веб-сервисом Мерлион с помощью Merlion API. Расширение и набор подключаемых дополнительных обработок позволяет без изменения конфигурации получить возможность работы с API крупнейшего российского дистрибьютора http://merlion.com. Логика работы максимально приближена к работе веб-сервиса b2b. Вы сможете создать и исправить заказ, зарезервировать товар прямо из 1С, посмотреть актуальные остатки и цены, импортировать штрихкода EAN13 товаров, загружать заказ c автоматическим созданием номенклатуры в 1С и корректности создания. Можно выбирать характеристики по товарным группам и загружать товар с выбранными характеристиками, загружать изображения товара. Не требуется установки дополнительного ПО для работы с веб-сервисом. Кроссплатформенное решение для ОС Windows и Linux. Весь код модулей открыт и доступен для просмотра и внесения изменений.

8280 руб.

02.05.2017    37429    40    45    

47
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. quazare 3432 22.09.20 15:03 Сейчас в теме
Написано очень просто и примитивно - как раз для начинающих, поэтому, однозначно плюс!
kaaasteeen; mikl79; vitika_m; +3 Ответить
2. user1304317 23.09.20 14:30 Сейчас в теме
Спасибо! По больше статей ваших про XDTO к примеру)
3. malikov_pro 1263 24.09.20 04:40 Сейчас в теме
Попробуйте к описанию добавить использование Postman и OpenAPI, чтобы новички начали изучать этот инструмент, это must have для работы с HTTP API.

Коммиты с примерами в cfe и postman коллекцией
https://github.com/malikov-pro/examples_hpi_http/commits/master
Удобно смотреть изменения по коду
https://github.com/malikov-pro/examples_hpi_http/commit/251e63bad2fa675f24ee93d94e89443­cc73d9443

Там же пример open_api документации
https://github.com/malikov-pro/examples_hpi_http/commit/5105073abcb8fedd9046009a277b89d­61fd1a610

Спойлеры лучше подписывать "Скриншот/скриншоты/{наименование модуля}",
Не мешать в одном спойлере скриншоты и код, с модулем HTTP неудобно получилось.
kaaasteeen; Ish_2; artbear; +3 Ответить
4. acvatoris 499 24.09.20 08:08 Сейчас в теме
По поводу Postman эта статья у меня в планах.
5. user1035175 2 01.10.20 09:20 Сейчас в теме
Буду ждать новые публикации. Понравился стиль подачи материала.
6. ICeZm 21 12.10.20 15:36 Сейчас в теме
Спасибо за статью!
7. user1360744 22.04.21 10:36 Сейчас в теме
Вопрос от начинающего: Обязательно ли чтобы 1с и web-сервер были на одном компьютере?
У меня есть сайт(на Апаче) магазин, есть серверы 1с (с белым ip и серым). Хочу чтобы информация( допустим бонусы) подтягивалась из 1С при авторизации на сайте. Вот и вопрос можно ли делать публикации web-сервиса на удалённый(не в своей сети) Апач?
8. Nikola_N 29.01.22 18:41 Сейчас в теме
Спасибо!
9. acvatoris 499 30.01.22 19:53 Сейчас в теме
Для того чтобы передать несколько параметров нужно их указать в строке get запроса,
например: Ip адрес / имя_публикации / hs / корневой_каталог / шаблон/{параметр1}/{параметр2}/{параметр3} или так Ip адрес / имя_публикации / hs / корневой_каталог / шаблон/beginDate/{параметр1}/endDate/{параметр2}/typeDoc/{параметр3}
10. acvatoris 499 30.01.22 19:58 Сейчас в теме
Ссылка на статью в которой разбирается пример передачи нескольких параметров в get запрос https://infostart.ru/public/1303368/
Оставьте свое сообщение