HTTP-сервисы для тех, кто ничего не понимает в WEB

Если вы ничего не понимаете в WEB технологиях и такие слова, как json, get, post и прочее для вас ничего не значат и вы просто заядлый 1С-ник до мозга костей, но вам кровь из носу надо подружить 1С со сторонними приложениями или сайтом, то эта статья для вас
HTTP-сервисы для тех, кто ничего не понимает в WEB
Фото Всеволода Альшанского, Кублог

Если вы ничего не понимаете в WEB технологиях и такие слова, как json, get, post и прочее для вас ничего не значат и вы просто заядлый 1С-ник до мозга костей, но вам кровь из носу надо подружить 1С со сторонними приложениями или сайтом, то эта статья для вас.

Начну с того, что когда-то я был вынужден самостоятельно разбираться с Web-сервисами. Тогда как-то потихоньку мне удалось освоить это дело и понять, что и куда надо нажать, чтобы все заработало. Благо конфигурация, с которой пришлось работать, уже была напичкана Web-сервисами и можно было подглядеть и сделать по аналогии, а также в интернете мне удалось найти достаточно статей по этому делу. И так, на примерах (для меня это лучший способ изучения), я освоил это дело, и теперь меня они уже не пугают.

После обновления платформы до версии 8.3 мне стало интересно попробовать новые технологии - те самые HTTP-сервисы. Тут уже воспользоваться моим любимым методом - подглядеть, как было сделано раньше, - мне не удалось - объект новый. Полистав интернет, я нашел пару статей самой фирмы 1С и чуток сторонних статей, в которых какая-то информация есть, но написана сложновато (для простого тупого 1С-ника). В итоге на своем опыте, методом проб и ошибок, я чуток приблизился к осознанию, что это за зверь, и хочу поделиться информацией с вами (может, кому-то поможет быстренько что-нибудь сделать, когда горит).

ИТАК. Основной задачей любой интеграции, будь то КД, Web-сервисы или HTTP-сервисы, является что-нибудь откуда-нибудь передать, что-нибудь с этим сделать и вернуть ответ. Вот в таком формате мы и рассмотрим новую технологию.

В дереве метаданных HTTP-сервисы располагаются в ветке Общие: 

Добавляется новый HTTP-сервис точно так же, как и любой другой объект метаданных. Имя и синоним как хотите. Тут важен только "Корневой URL" - это, собственно, и есть идентификатор HTTP-сервиса в данной базе, т.е. именно то, что вы напишете в этом свойстве, вы передадите стороннему разработчику (ну или себе) в качестве ссылки на сервис.

Уж не знаю, можно ли тут писать кириллицей, но чтобы вас в прогрессивном мире не засмеяли, пишите латиницей). 

Дальше переходим на закладку Шаблоны URL и добавляем новый шаблон.

Тут важно само свойство Шаблон:

С помощью шаблона вы впоследствии сможете обратить к тем данным, которые вам передали. ИТАК: все данные, которые вы хотите получить извне, можно разделить на 2 блока - обязательные и не обязательные. 

Обязательные данные/параметры запихиваем в шаблон, тем самым если тот, кто обращается к сервису, их не заполнил, то сервис априори выдаст ошибку, а вы при разработке текста модуля обработчика будете уверены, что эти данные есть. Как это делается: в строке Шаблон в фигурных скобках "{}", чередуя с со знаком "/", пишем имена переменных. Например, нам обязательно нужен артикул - тогда пишем /{artikul}. Если нам надо получить артикул, имя и имя пользователя, строка шаблона будет выглядеть так: /{artikul}/{name}/{user} и т.д. Каждый из таких параметров в тексте модуля обработчика можно будет получить так: Запрос.ПараметрыURL["<имя параметра>"]. Если обязательных нет, то шаблон выглядит так: /*.

Не обязательные данные, которые мы хотим получать через сервис, в шаблоне НЕ описываются. При построении ссылки, для обращения к сервису они описываются в конце ссылки после знака "?", разделяются символом амперсанда "&" и имеют структуру <имя параметра>=<значение параметра>. В тексте модуля обработчика к ним можно обратиться конструкцией: Запрос.ПараметрыЗапроса.Получить("<имя параметра>"). НО: важно помнить, раз они не обязательны, то их может и не быть, соответственно значение проверяем на Неопределено.

Далее добавляем новый метод для нашего шаблона. Тут важно свойство HTTP-метод. Их тут огромное количество, НО мы не будем вдаваться во все тонкости. Для реализации любой вашей задачи вам нужны только 2: GET и POST.

Как выбрать: Если того, что мы с вами описали в двух предыдущих абзацах, для работы вам достаточно, т.е. все нужные вам данные вы сможете получить с помощью обязательных и не обязательных параметров самого запроса, то берем GET. В этом случае в любом браузере, если вы правильно введете адресную строку, вы увидите результат действия своего HTTP-сервиса - ПРОФИТ! Если вдруг для работы вашего сервиса нужны данные в более сложном виде (xml например, или еще чего), то, что нельзя запихнуть в простую адресную строку, то берем POST. Из минусов такая легкая проверка через адресную строку браузера, как с GET, не прокатит, но на просторах интернета легко можно найти какие-нибудь сайты, на которых можно проверить сервисы методом POST (например, сайт https://www.hurl.it). В случае, если выбран метод POST, то у запроса помимо URL (адреса) появляется тело, в которое можно запихнуть все, что угодно, а в обработчике метода обратиться к нему через конструкцию Запрос.ПолучитьТелоКакСтроку(). У любого шаблона может быть как GET метод, так и POST. У них будут соответственно разные обработчики, а 1С-ка в зависимости от того, как был отправлен запрос, будет выбирать тот или иной метод.

Обработчик HTTP-сервиса - это функция, которая всегда возвращает значение типа HTTPСервисОтвет, который строится конструктором Новый HTTPСервисОтвет(<КодСостояния>). <КодСостояния> - это число, чтобы не мучаться с выбором что писать, пишем: 200 - если все хорошо и вы возвращаете какое то логичное значение, 400 - если ошибка и вы возврщаете описание ошибки. У данного типа есть различные методы (можно почитать в синтакс помошнике, там все понятно написано). Опять же, всегда можно вернуть все что нужно в виде строки - метод УстановитьТелоИзСтроки(). (одна небольшая хитрость: если вы возвращаете html и хотите чтобы браузер при вводе в адресную строку адреса вашего сервиса на экране красиво отобразил его, в свойстве ответ Заголовки напишите: Ответ.Заголовки.Вставить("Content-Type","text/html; charset=utf-8") - тем самым вы укажите, что это не просто набор символов, а HTML и его надо показать соответствующе)

После того как вы все сделаете, HTTP-сервис надо опубликовать. Делается это на компьютере с установленным веб-сервером (про настройки писать не буду, есть полно статей) через меню: 

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

Там закладка HTTP-сервисы. Ставим галки и нажимаем "Опубликовать"

Итак, мы получили готовый HTTP-сервис. КАК к нему обратиться? Если у нас используется метод GET то в адресной строке браузера пишем: http://<имя веб сервера>/<имя базы>/hs/<корневой URL>/<обязательный параметр1>/<обязательный параметр2>?<имя не обязательного параметра 1>=<значение не обязательного параметра 1>&<имя не обязательного параметра 2>=<значение не обязательного параметра 2>.

Ну и, наконец, еще раз в картинках))):

Источник: http://infostart.ru

Начать дискуссию

Как повысить доверие и интерес аудитории к вашему бизнесу? Читайте на «Клерке» блог компании SmartWidgets!

Специалисты создают решения для сайтов, которые в один клик могут повысить вовлеченность аудитории, нарастить конверсию и продажи.

Как повысить доверие и интерес аудитории к вашему бизнесу? Читайте на «Клерке» блог компании SmartWidgets!

Как списать бракованный товар в налоговом учете

Когда реализация и возврат бракованного товара происходят в разных налоговых периодах, то непонятно, как это отразить в отчетности. При этом не всегда нужно восстанавливать НДС за бракованный товар. Рассказываем, как правильно списать бракованный товар в налоговом учете.

Как списать бракованный товар в налоговом учете

Недобросовестные участники ООО исключаются из компании: практика ЮК «Генезис»

В компании возникла кризисная ситуация, при которой ООО могло быть признано банкротом и, как следствие, прекратить деятельность. Однако на общих собраниях невозможно было принять решения по важным финансовым вопросам в связи с отсутствием кворума.

Курсы повышения
квалификации

18
Официальное удостоверение с занесением в госреестр Рособрнадзора
НДС

🛀 За СПА, фитнес и Wi-Fi в отеле с 1 сентября будет ставка НДС 0%

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

Произошел глобальный сбой в работе Windows. Он затронул работу аэропортов, банков, СМИ и операторов связи по всему миру

Технический сбой привел к неполадкам в работе авиакомпаний, СМИ и банков по всему миру.

2
АУСН

✅ При АУСН разрешат торговать на маркетплейсах. Оценка председателя Ассоциации участников рынка электронной коммерции

Сейчас бизнес с агентскими договорами не может применять АУСН. Эту норму изменят.

Опытом делятся эксперты-практики, без воды

Куда уйти уставшему бухгалтеру из профессии

Кому-то кажется, что карьера бухгалтера — это престижно, выгодно и перспективно, и он мечтает о вхождении в мир сводок, цифр, отчетов, планов и смет. В то время как другие, проводя годы за ведением бухгалтерского учета, ощущают, будто каждый день — это повторение одного и того же. Хорошая новость: из рутины есть выход, и не один.

Куда уйти уставшему бухгалтеру из профессии

Счета-экраны: как устроены бухгалтерские счета 30-39

Сегодня в бухгалтерском ликбезе рассказываю, зачем нужены счета 30-39 Плана счетов бухгалтерского учета финансово-хозяйственной деятельности организаций и как ими пользоваться. У этих счетов нет даже названий, но по задумке Минфина они предназначались для конкретной цели.

Счета-экраны: как устроены бухгалтерские счета 30-39

🧠Мозгонапрягатель. Счетоводный

А не посчитать ли нам, уважаемые бухгалтеры?

🧠Мозгонапрягатель. Счетоводный
3

Экспортеры подтверждают нулевую ставку НДС только электронными реестрами

Чтобы подтвердить НДС 0% по экспорту товаров за пределы ЕАЭС, до 2024 года требовалось представление таможенной декларации, контракта, транспортных (товаросопроводительных) документов.

На год продлена отсрочка по налогам и взносам для бизнеса в Белгородской области

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

Электронные подписи

Самый универсальный вид электронной подписи или почему вам нужна УНЭП

В эпоху цифровизации, когда каждая секунда на счету, предприниматели стараются максимально упростить и ускорить свои бизнес-процессы. И электронная подпись (ЭП) в данном случае — один из главных помощников. Она экономит бюджет на закупку бумаги, курьерские услуги и хранение документов и, что самое главное — ваше время.

Самый универсальный вид электронной подписи или почему вам нужна УНЭП

На 9,5% увеличилось за год число переходов МСП Кавказа в более высокие категории бизнеса

В Северо-Кавказском федеральном округе (СКФО) в 2024 году улучшилась динамика переходов малого и среднего бизнеса (МСП) в более высокие категории.

Ипотека

Ставку по Арктической ипотеке поднимут до 8%

В Минфине считают, что низкая льготная ставка приведет к ценовому пузырю на рынке недвижимости. Власти будут постепенно менять условия льготных программ.

Если сотрудник работал в выходной 4 часа, оплату он получит только за это время, а не полный день: пример

Работа в выходной или нерабочий праздничный день оплачивается не менее чем в двойном размере. Но значение имеет фактически отработанное время, а не только сам факт выхода на работу.

Распоряжение «инспектора трудовой комиссии» о проведении проверки — это фейк мошенников

Роструд обратил внимание на случаи направления «инспекторами трудовой комиссии» в июне-июле 2024 года в адрес контролируемых лиц нелегитимных распоряжений о проведении проверки с целью выявления нарушений ТК и правил охраны труда в связи с якобы поступлением в Роструд заявления о нарушении ст. 5.27.1 КоАП.

🥳 Успейте купить онлайн-курсы по 3 290 рублей в честь Дня рождения школы «Клерка»! Сегодня последний день акции

22 июля нашей школе пять лет! Мы хотим разделить этот праздник с вами, поэтому устраиваем суперакцию на онлайн-курсы. Сегодня, 19 июля, последний день, когда вы можете купить курсы по учету на маркетплейсах, финансовому анализу, ВЭД, работе на УСН и зарплате всего за 3 290 рублей.

За применение искусственного интеллекта мошенников будут наказывать жестче

Если группа мошенников применяет возможности искусственного интеллекта для обмана населения, наказание за преступление должно быть серьезнее.

Бухгалтеры

Готовимся к изменениям с умом: новые разборы законов и онлайн-курсы в подписке Клерк.Премиум за неделю

Законопроект по налоговой реформе был принят в третьем чтении, и поэтому мы стали готовить все больше материалов, чтобы вы были в курсе всех изменений. Рассказываем, какой актуальный контент появился в подписке Клерк.Премиум за эту неделю.

Готовимся к изменениям с умом: новые разборы законов и онлайн-курсы в подписке Клерк.Премиум за неделю

Интересные материалы

Банки

Суд арестовал часть акций UniCredit

Юникредит Банк должен Уральскому заводу больше 3 млн евро. Суд принял решение арестовать 23 тыс. акций UniCredit в качестве обеспечительной меры.