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

Публикация № 516810

Разработка - Системная интеграция - Интеграция с WEB

http

Если вы ничего не понимаете в 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>.

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

Специальные предложения

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. TitanLuchs 257 21.04.16 19:57 Сейчас в теме
"404 - если ошибка и вы возврщаете описание ошибки."
404 - "это страница не найдена". Если http-сервис возвращает ответ, то страница по указанному URL уже однозначно найдена, запрос по этому URL обработан, но в процессе обработки алгоритм пришел к выводу, что параметры в URL указаны неверно (а иначе не было бы ошибки). Так что тут логичнее отправлять 400 или 500. Так отправитель запроса хотя бы поймет, что он указал правильный базовый URL.
https://ru.wikipedia.org/wiki/%D0%A1%D0%BF%D0%B8%D1%81%D0%BE%D0%BA_%D0%BA%D0%BE%D­0%B4%D0%BE%D0%B2_%D1%81%D0%BE%D1%81%D1%82%D0%BE%D1%8F%D0%BD%­D0%B8%D1%8F_HTTP
POWone; jobkostya1c8; YAGolova; +3 Ответить
6. YAGolova 517 22.04.16 15:45 Сейчас в теме
(1) TitanLuchs, Спасибо за уточнение и ссылочку, поправлю)
2. sasha777666 310 22.04.16 02:31 Сейчас в теме
Отличная статья, была бы она год назад.....
3. Makushimo 157 22.04.16 06:06 Сейчас в теме
Лучше поздно, чем никогда.
Все понятно.
Спасибо!
4. SGordon1 22.04.16 14:52 Сейчас в теме
По аутентификации подскажите, под каким пользователем это должно работать, концепция так сказать какая должна быть?
5. YAGolova 517 22.04.16 15:44 Сейчас в теме
(4) SGordon1, Служба сервера Предприятия 1с запускается от имени какого-то пользователя Windows, в базе 1С заводим пользователя и устанавливаем у него аутентификацию операционной системы и связываем с тем пользователем, от имени которого запускается сервер предприятия
Taxes; SGordon1; +2 Ответить
17. SGordon1 04.05.16 16:36 Сейчас в теме
(5) Про аутентификацию - еще варианты имеются, а то у нас Служба сервера Предприятия 1с запускается с системной учетной записью на соседнем сервере и как бы трогать ее не хочется... А нельзя заставить пул приложений IIS аутентифицироваться?
21. CodeNull 01.06.16 10:38 Сейчас в теме
(5) что это даст? http-сервис станет доступен без авторизации и методы всегда будут выполняться под одним пользователем 1С?

Добавлю, что по-умолчанию 1С запрашивает стандартную Basic авторизацию в форму которой вводим логин и пароль пользователя 1С. В браузере FireFox есть проблема с авторизацией, если логин или пароль имеют русские буквы.
50. androgin 27.03.18 19:58 Сейчас в теме
(5) Пример: 4 роли в базе подключаются через http-сервис.
Если все они будут подключаться через системного пользователя - будет бардак (всем будут доступны одни и те же данные)!
Подключаться нужно под учетками пользователей 1С с учетом их ролей.
7. skif47 334 22.04.16 16:11 Сейчас в теме
Спасибо, ты помог мне сэкономить кучу времени!
8. Steelvan 95 23.04.16 10:18 Сейчас в теме
Чем табличку генерировали для примера ?
9. Xershi 1138 23.04.16 10:27 Сейчас в теме
Если я умею пользоваться веб сервисом, то для чего мне нужен ашттп?
11. TitanLuchs 257 23.04.16 14:49 Сейчас в теме
(9) Xershi, http-сервисы быстрее
10. starik-2005 2302 23.04.16 10:40 Сейчас в теме
Хорошая статья. Дергать HTTP-сервисы можно с помощью простого расширения к гугл-хрому "Бумеранг" - и не надо никаких сторонних сайтов. Единственное, чего мне лично не хватает в статье - это содержимого файла default.vrd. Можете опубликовать, а то в Linux-системах 1С по-умолчанию публикует только саму базу без сервисов (из командной строки если это делать).
12. TitanLuchs 257 23.04.16 14:50 Сейчас в теме
(10) starik-2005, http можно и просто из строки адреса браузера дергать посредством get-запросов.
13. starik-2005 2302 23.04.16 17:23 Сейчас в теме
(12) TitanLuchs, GET - да, а POST - нет.
14. TitanLuchs 257 23.04.16 21:24 Сейчас в теме
(13) starik-2005, в общем-то так я и написал. Но в 99.9% случаев достаточно get и строки адреса браузера.
15. starik-2005 2302 23.04.16 22:29 Сейчас в теме
(14) TitanLuchs, у разных людей разные случаи. Я вот, например, при интеграции маленькими пакетами не обмениваюсь - стараюсь сначала все подготовить, потом одним пакетом данные передать. А тут уже, сами понимаете, никаких GET. Да и вообще о запросах в цикле давно сказано, что глупости это ))
16. CSiER 30 25.04.16 06:24 Сейчас в теме
(10) starik-2005, мне вот это расширение очень понравилось - https://chrome.google.com/webstore/detail/advanced-rest-client/hgmloofddffdnphfgcellkdfbfbjeloo. Также Fiddler классная вещь - умеет и httpS проксировать через подмену сертификата, бесплатен, много статистики по запросам, можно формировать post и т.д.
18. Makushimo 157 27.05.16 10:16 Сейчас в теме
А расходует ли http-сервис лицензионный ключ 1С?
и каким образом?
19. Evil Beaver 7011 27.05.16 10:28 Сейчас в теме
(18) Makushimo, расходует. Один вызов = один сеанс, со всеми вытекающими.
20. starik-2005 2302 27.05.16 21:00 Сейчас в теме
(19) Evil Beaver, в веб-сервисах (SOAP) тоже сеанс стартует, но лицензию не жрет.
23. bonv 1133 03.06.16 12:06 Сейчас в теме
(19) Evil Beaver, для сервисов (HTTP, SOAP) это правило не работает. Технически клиентские лицензии не требуются. Юридически - нужно столько клиентских лицензии сколько одновременно запущенно сеансов.
30. Makushimo 157 22.03.17 05:26 Сейчас в теме
(19) я поэкспериментировал с лицензиями, оказалось одно соединение = 1 лицензия.
со страницы html за разными ресурсами было сделано примерно 15 запросов. Это я считал, сколько раз в обработчике метода НТТР-сервиса сработает точка останова. Но при этом набрав 5 соединений, дальнейший рост их прекратился.
Это я к тому что не 15 лицензий сожрало, а всего 5.
Лицензии съедает веб сервер, который принимает запросы. Он открывает соединение и через него уже открывает сеансы для обращения к базе.

Или я чего-то не того нагородил?
31. CSiER 30 22.03.17 10:33 Сейчас в теме
(30), возможно, что использовались уже существующие соединения из пула ( https://its.1c.ru/db/v8doc#content:26:1:issogl2_3.12.2.элементpool ) - то есть 5 существующих соединений обработали 15 запросов (поэтому и лицензий ушло 5).
22. sudmorsh 55 01.06.16 16:50 Сейчас в теме
Спасибо, ты помог мне сэкономить кучу времени и сил
24. serko8547 99 26.08.16 17:13 Сейчас в теме
Ув. Автор, прошу Вас поделиться опытом:
Я начал использовать http-сервисами недавно, и напоролся на такую проблему: Если в 1с завести пользователя - то мне ответ на любой Get или post запрос приходит Ошибка 401 (не авторизован). Как быть?
Был бы Вам очень благодарен, если Вы подскажете, как решить сию проблему )

авторизация в смысле запросом логина-пароли - программно, т.е. я не ручками ввожу логин-пароль, а как мне авторизоваться программно.
25. megaster 49 14.11.16 10:51 Сейчас в теме
Спасибо автору! Прочитав статью - все стало предельно ясно и сразу запустил http сервис... до этого ерунда какая-то получалась
26. Prisian 31.01.17 09:48 Сейчас в теме
Спасибо за статью! В ней более понятно описано как использовать параметры. Еще бы хотелось увидеть как программно, без запроса у пользователя, авторизоваться в 1С. Чтобы сайт сам, автоматически, подключался к 1С под определенным пользователем, без запроса данных.
27. Rudakov_D 21.03.17 11:50 Сейчас в теме
Спасибо автору, только вот вопрос как через HTTP-сервисы отправлять и получать картинки ?
28. starik-2005 2302 21.03.17 12:36 Сейчас в теме
(27)
отправлять и получать картинки
Берете картинку и кодируете ее в base64, помещаете в тело (или в XML, который помещаете в тело) и отправляете. Ну и обратно - из тела берете base64 (или из XML), после чего декодируете и используете по назначению (или даже не по назначению).
29. Cyberhawk 127 21.03.17 21:15 Сейчас в теме
Благодарю, упоминание в статье указания в заголовке контент-типа "text/html" помогло возвращать картинки из базы 1С в виде готовой картинки в браузере
32. V.Stavinsky 242 22.03.17 12:02 Сейчас в теме
Спасибо, хорошая статья :)
33. Afanasyev.sv@mail.ru 26.04.17 16:34 Сейчас в теме
Спасибо за статью.

Понравились фразы вида:
"(для простого тупого 1С-ника)"
"чтобы вас в прогрессивном мире не засмеяли"
34. system-3000 20.05.17 15:34 Сейчас в теме
35. Yashazz 3755 28.05.17 11:57 Сейчас в теме
Хорошая статья. Всё понятно с первого раза. Ничего лишнего, всё по делу, внятно, лаконично, без популизма и "воды". Спасибо!
36. dimasts 22 08.07.17 11:32 Сейчас в теме
Как всё-таки без запроса авторизации заставить его работать? Чтобы можно было по ссылке обращаться и получать ответ.
37. CSiER 30 09.07.17 13:13 Сейчас в теме
(36)
Как всё-таки без запроса авторизации заставить его работать? Чтобы можно было по ссылке обращаться и получать отве

на время тестирования можно добавить реквизиты прямо в URL (для примера из статьи):
http://LOGIN:PASSWORD@localhost/GolovaNews/hs/СтатусыЗаказов/hrc225
другой вариант - настройка web-сервера.
38. dimasts 22 09.07.17 15:25 Сейчас в теме
(37)Причина в типе метода который я выбрал. Там по умолчанию GET стоял, а надо ставить POST, а ещё лучше любой, чтобы понять, какие запросы вообще приходят.
39. dimasts 22 09.07.17 15:27 Сейчас в теме
(37)За строку авторизации спасибо, долго искал этот шаблон – не знал как сформулировать поисковику мою потребность.
45. grin_64 36 07.12.17 08:20 Сейчас в теме
47. CSiER 30 07.12.17 13:47 Сейчас в теме
(45), просьба раскрыть комментарий подробнее (я про Excel вообще ничего не писал).
48. grin_64 36 07.12.17 17:33 Сейчас в теме
(47)Создал http-сервис. Из Excel отправляется GET запрос в 1С, возвращается JSON-ответ, парсится и т.д.
Если Excel 2010, то все в порядке, но начиная с 2013 на строке ".Open "GET", sURL, False" Excel останавливается по ошибке
Если убрать LOGIN:PASSWORD@, то открывается окно авторизации с логином и паролем 1С, что не очень гуд. Может, есть еще варианты?
Public Function GetHTTPResponse(ByVal sURL As String) As String
Dim oXMLHTTP
On Error Resume Next
Set oXMLHTTP = CreateObject("MSXML2.XMLHTTP")
With oXMLHTTP
.Open "GET", sURL, False
.setRequestHeader "Cache-Control", "no-store, no-cache"
.setRequestHeader "User-Agent", "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.41 Safari/537.36 OPR/35.0.2066.10 (Edition beta)"
.setRequestHeader "Accept-Encoding", "deflate"
.setRequestHeader "Accept-Language", "ru-RU,ru;q=0.8,en-US;q=0.6,en;q=0.4"
.send
GetHTTPResponse = .ResponseText
End With
Set oXMLHTTP = Nothing
End Function
49. CSiER 30 12.12.17 15:58 Сейчас в теме
(48), как вариант - попробуйте установить fiddler, выполнить сценарий в обеих версиях Excel и сравнить результаты запросов в fiddler. Про формат URL можно посмотреть на вики.
53. ZloyProger 8 19.06.19 17:04 Сейчас в теме
(37) Доброго времени суток, Коллега. Извиняюсь за некропостинг, но по поводу авторизации уточнить хотел - имеем дефолтно (в принципе особо ничего не химичил с настройками, поставил и всё, виндовс-аутентификацию и прочее не трогал) настроенный IIS, создал в конфигурации http-сервис Test, у него задал шаблон url для описания своих обязательных параметров и добавил метод Get (обработчик метода созданный конструктором не менял, т.е. там просто возврат 200 кода по умолчанию, чтобы я ни передал), опубликовал всё, пытаюсь в строке браузера писать http://www:123@localhost/demo_buh/hs/Test/пар1/пар2/пар3/пар4 (www - пользователь базы с адм. правами, 123 - соответственно пароль) и получаю 404 ошибку что ничего не найдено... Просто http://localhost/demo_buh работает, открывает аутентификацию пользователя и после ввода пароля открывает базу. Собственно ЧЯДНТ? Должно ли в каталоге веб-публикации на диске появится что-либо после публикации? (сейчас только default.vrd и web.config)
54. CSiER 30 19.06.19 17:35 Сейчас в теме
(53) Здравствуйте. В .vrd файле должны появиться настройки работы с базой (строка подключения к базе, опубликованные сервисы, параметры пула соединений и т.п.). 404 ошибка в данном случае выглядит странно - будет ли запрос аутентификации при попытке открыть URL http://localhost/demo_buh/hs/Test/пар1/пар2/пар3/пар4 ?
56. ZloyProger 8 20.06.19 11:18 Сейчас в теме
(54) Добрый день, спасибо за отклик, Коллега. Всё оказалось в разы проще, чем думал, знаете как самый страшный сон программиста - он написал код, но что-то не работает и он уже часа 3 сидит, скурил 2 пачки, выпил 2 литра кофе - ничего.. зовет коллег на помощь и тут он видит самую наитупейшую семантическую ошибку и с ужасом ждёт, когда же её увидят коллеги :-) Ссылка РЕГИСТРОЧУВСТВИТЕЛЬНА блин!! Ну и неплохо после публикации перезапускать IIS тоже говорят помогает)
40. sergei198821 28 24.07.17 15:54 Сейчас в теме
Спасибо, хорошо описано
41. KazanKokos 8 24.07.17 15:58 Сейчас в теме
спасибо. а по вебсервису есть такая статья? я с ним уже работал но хотелось бы также по полочкам разложить
42. starik-2005 2302 24.07.17 22:50 Сейчас в теме
(41) http://infostart.ru/public/440532/ - вот тут с примером на PHP, например.
43. Anton64 301 02.11.17 11:26 Сейчас в теме
(42)
(14)
Коллеги, подскажите, как определить адрес веб-сервера, на котором опубликованы http сервисы клиента? Это можно посмотреть в самой 1С или надо лезть в настройки веб-сервера? Спасибо.
44. CodeNull 02.11.17 14:45 Сейчас в теме
(43) "http сервисы клиента"? Сервисы предоставляет сервер, клиент только обращается к ним. Если у вас есть доступ к клиенту, то адрес сервиса может быть у него либо в настройках, либо в коде. Всё зависит от реализации.
46. vpaoli 29 07.12.17 10:05 Сейчас в теме
Все хорошо, описаны детали - что и как делать. Но к сожалению нет нормального описания самой задачи, которая данным методом решается. Вижу в методе http-сервиса создает отчет. Ну создали, и что дальше ...? Какова конечная цель и как она достигается ?
Описание любой новой технологии всегда полезно сопровождать конкретными примерами.
gnrx69; Daynestro07; user756416; Gendelf; +4 Ответить
52. gosizo 33 14.06.19 12:08 Сейчас в теме
57. vkozak 26.09.19 10:38 Сейчас в теме
Спасибо за грамотную и лаконичную статью. Помогла быстро разобраться.
58. kostik_love 295 30.01.20 11:26 Сейчас в теме
Спасибо за статью.
но не нашел как можно вернуть http сервисом файл- что бы он в браузере сразу начал скачиваться
например есть вот такое обращение:
https://currencyrates.1c.ru/exchangerate/v1/840.tsv

здесь сразу указывается что будем получать tsv файл
как в 1с подготовить такой файл и настроить сервис?
59. Akuji 18 04.02.20 11:07 Сейчас в теме
http сервис не видит общие модули?
Вроде с разными галками пробовал сервер/внеш соединение/вызов - ошибка инициализации модуля.
60. CodeNull 05.02.20 02:36 Сейчас в теме
(59) В модулях http сервисов доступен весь серверный контекст, проблем с этим нет.
61. Akuji 18 05.02.20 11:08 Сейчас в теме
(60)хм, может платформа мала...
делаю для ут10 на платформе 8.3.11.3034.
А в каком релизе поддержка модулей появилась или сразу с http сервисами?
62. CodeNull 05.02.20 14:35 Сейчас в теме
(61) http сервис обрабатывается на сервере и серверный контекст (модули менеджеров, объектов, общие модули и т.д.) был доступен всегда. Проверьте параметры модуля (галочки компиляции и доступности), убедитесь, что функции модуля объявлены как экспортные и т.д..
63. user1181356 16.04.20 07:35 Сейчас в теме
Доброго времени! Спасибо за статью, разобрался!
Подскажите, а как обратиться к сервису если использовался метод POST?
64. CodeNull 16.04.20 10:48 Сейчас в теме
65. user1181356 17.04.20 13:15 Сейчас в теме
(64) Спасибо. Но я уже разобрался в другом дополнении - "Postman". Очень удобно, правда с настройками там есть экивоки (вкладка Setting), вчера пол дня разбирался🙂
https://app.getpostman.com/app/download/win64
66. kotovav81 03.03.21 23:40 Сейчас в теме
1C 8.3.18.1289
Как через внешний Apache24 с https-ssl проксировать на внутренний Apache24(1C8.3.18.1289) тоже с ssl?(не получилось,открывает пустую страницу)
Хотелось бы внутренний трафик тоже шифрованным,пока добился только внешний Apache24 с https ssl проксировать на внутренний Apache24(1C8.3.18.1289) http
Оставьте свое сообщение

См. также

.Net в 1С. На примере использования HTTPClient, AngleSharp. Удобный парсинг сайтов с помощью библиотеки AngleSharp, в том числе с авторизацией аля JQuery с использованием CSS селекторов. Динамическая компиляция Промо

Практика программирования WEB v7.7 v8 Бесплатно (free)

Часто приходится парсить сайты, в том числе с авторизацией, перескакивая со страницы на страницу по ссылкам. Тот, кто занимался вэб программированием, знает, как удобно использовать JQuery и CSS селекторы. На .Net написана очень удобная библиотека AngleSharp. Я покажу, как с её помощью можно значительно облегчить себе труд.

10.03.2016    57060    Serginio    33    

API ОФД-Я разбор документации с примерами

WEB v8 1cv8.cf Россия Бесплатно (free)

Примеры запросов 1С для получения данных с ОФД-Ярус через API.

20.04.2021    304    www76    0    

Работа через сервис 1С-Отчетность нескольких пользователей

Регламентированная отчетность Зарплата WEB v8 v8::СПР ЗУП3.x Россия БУ ФОМС, ПФ, ФСС Бесплатно (free)

Организации, в которых количество сотрудников превышает установленное значение, обязаны отправлять отчетность по телекоммуникационным каналам связи. Это может быть Контур-Экстерн, Такском или любой другой провайдер. Все чаще пользователи 1С используют сервис 1С-отчетность. И все чаще сертификат оформляется на сотрудника отдела кадров или бухгалтерии. В случае, если нужно оформить несколько сертификатов, возникают трудности в версии ЗУП 3.1.14 и более поздних. О том, как с ними справиться, пойдет речь в данной публикации.

05.04.2021    571    keat24    1    

Правила обмена больше не нужны

Внешние источники данных Обмен через XML Перенос данных из 1C8 в 1C8 Распределенная БД (УРИБ, УРБД) WEB v8 Бесплатно (free)

Есть несколько общепринятых подходов к написанию обмена между 1С-системами, каждый из которых упирается в длительное изучение технологии, мучительную отладку правил конвертации и написание большого количества сервисного кода, в котором потом тяжело разобраться. О принципах работы универсального фреймворка liteExchange, который реализует быстрые обмены между 1С и внешними системами, и берет на себя всю техническую обвязку по стандартному преобразованию данных, на INFOSTART MEETUP Saint Petersburg.Online рассказал Николай Крылов.

17.03.2021    6882    Nikola23    35    

Online телефонный справочник из 1С: Зарплата и управление персоналом Промо

WEB Управление персоналом (HRM) Управление персоналом (HRM) v8 ЗУП3.x Россия Бесплатно (free)

В интернете представлено много реализаций online телефонных справочников организаций. Есть справочники, которые использует для хранения информации базу Active Directory (LDAP), есть справочники, которые реализованы с использованием СУБД (например, MySQL). Но я не нашел справочника, который использует информацию из базы 1С. Далее я рассмотрю данную разработку.

10.03.2017    26623    ruha    21    

Как отправить сообщение Telegram в группу?

WEB v8 Россия Бесплатно (free)

Отправка сообщения в группу Telegram.

01.03.2021    894    kite2    2    

Альфа-Авто 5.0 и современные HTTP сервисы

WEB v8 1cv8.cf Автомобили, автосервисы УУ Бесплатно (free)

Решение, позволяющее программным продуктам, работающим на устаревших версиях платформы 1С (8.2), интегрироваться с современными HTTP сервисами. Решение, интегрированное с HTTP-сервисом программы по расчету компонентов для изготовления ЛКМ, описанное в настоящей статье, успешно работает в одном из автосервисов, работающем на устаревшей платформе и конфигурации Альфа-Авто 5.0.

01.03.2021    611    osivv    1    

Доступ из базы 1С к стандартному интерфейсу Odata базы 1С, в которой заведен пользователь

WEB v8 Россия Бесплатно (free)

Есть база, с пользователем/паролем, нужно подключиться к Odata из другой базы 1С, получить элементы справочника.

24.02.2021    697    user823999    6    

Кэширование COM-соединения. Три способа Промо

Практика программирования Перенос данных из 1С7.7 в 1C8.X Внешние источники данных WEB v8 Россия Бесплатно (free)

Статья о трех способах кэширования COM-соединения в 1С:Предприятии 8.x.

11.04.2013    42368    YPermitin    41    

Интеграция с API WB (Wildberries). Создание карточки товара (спецификации)

WEB v8 1cv8.cf ИТ-компания Россия Бесплатно (free)

Опыт интеграции с API WB (Wildberries), опыт создания карточки товара, получение токенов API WB.

18.01.2021    10790    jenyavp    43    

HTML редактор/editor (Wysiwyg) для WebKit 1С (CMS, B2B), альтернатива TinyMCE и стандартному ФорматированныйДокумент

WEB Интеграция v8 v8::УФ 1cv8.cf Бесплатно (free)

Suneditor - отличная замена HTML редактору TinyMCE (бесплатному), в публикации с открытым кодом подключим его в 1С с WebKit, скачать HTMLeditor обработку можно бесплатно.

28.12.2020    2260    SizovE    23    

Выгрузка HTML описаний с картинками (Base64) товаров на сайт/интернет-магазин/B2B, разберем регулярное выражение получения тега body, ПолучитьHTML, ФорматированныйДокумент

Практика программирования WEB Универсальные функции v8 v8::УФ 1cv8.cf Бесплатно (free)

Редактор HTML платформы 1С простой и очень удобный для небольших задач, однако ПолучитьHTML возвращает отдельно картинки и отдельно целиком HTML страницу со ссылкой на имена этих картинок, что неудобно для отправки в базу данных сайта/интернет-магазина/веб-приложения/B2B. Разберем на открытом коде, как решить эту проблему, напишем универсальную функцию получения значения любого тега HTML на регулярных выражениях. Бонусом - возможность редактировать теги HTML в текстовом режиме.

24.11.2020    846    SizovE    4    

Заготовка для загрузки файлов по ftp Промо

WEB Перенос данных из 1C8 в 1C8 v8 1cv8.cf Бесплатно (free)

3 процедуры и 1 макет

03.06.2013    30922    anig99    6    

Как сделать интеграцию (обмен) с интернет-магазином? Пошаговый план действий (Часть 1)

WEB v8 1cv8.cf УУ Бесплатно (free)

C 2011 года я занимаюсь интеграцией с интернет-магазинами и за это время, наверное, повидал все. Делал интеграцию как «культурными», так и «экзотическими» способами. Количество магазинов исчисляется сотнями. В этой серии статей я буду делиться своим опытом, а также выкладывать какие-то полезные наработки.

19.11.2020    4724    markbraer    11    

Чтение вложенных свойств Структур Структуры, Соответствий, свойства через точку, разбор JSON

Практика программирования WEB Интеграция Универсальные функции v8 Бесплатно (free)

JSON: {user.device.type} - как получить значение {type}? А если вложенность значительно глубже? Как проверить, что оно заполнено или удалить его - всё это в публикации с открытым кодом и даже без рекурсии. Бонусом разбор дерева значений - ДанныеФормыЭлементДерева, СтрокаДереваЗначений.

17.11.2020    1810    SizovE    2    

Web Dashboard (мобильная и десктопная версия): оптимальная схема организации взаимодействия с зоопарком систем

WEB v8 Бесплатно (free)

Задача: из множества систем (1С:ERP, 1C:CRM, Кронос:WMS, 1С:Розница, 1С:УПП...) оперативно и онлайн осуществлять мониторинг на телефоне/десктопе/планшете/телевизоре бизнес-аналитику в дашборде для директора. Рассмотрим в статье, как правильно интегрировать между собой все базы, какие для этого инструменты использовать.

10.11.2020    7324    SizovE    2    

Отладка модуля ДиадокПро

WEB v8 1cv8.cf Бесплатно (free)

В обработке ДиадокПро все дополнительные модули встроены во внешние обработки, которые хранятся в макетах. Это усложняет процесс самостоятельной интеграции, так как теряется возможность попасть в них в режиме отладки. Но не всё так страшно, поэтому ниже инструкция)

30.10.2020    2304    Максим-777    14    

JSON примеры меню B2B web-приложения "Личный кабинет" на движке EDIbot для телефона/десктопа

WEB v8 Бесплатно (free)

Рассмотрим на примерах работу движка EDIbot при организации меню B2B "Личного кабинета" (мобильная версия, версия десктоп) грузовладельца WMS-системы.

29.10.2020    1022    SizovE    0    

Обмен с сайтом посредством Post-запроса, json

WEB v8 1cv8.cf Бесплатно (free)

Задача - передавать на сайт объекты с наименованием и уникальным идентификатором (УИ), которые изменяются в 1С. Также нужно сохранять историю отправленных пакетов.

29.10.2020    4482    John_d    26    

Организация HTTP публикации каталога товаров используя PostgREST

WEB v8 1cv8.cf Бесплатно (free)

В статье опишу порядок установки настройки и использования PostgREST на примере организации каталога товаров.

05.10.2020    1172    malikov_pro    2    

Интеграционная прослойка(middleware) на Golang. Часть 5 - Обмен с 1С через HTTP-сервисы платформы

WEB v8 Бесплатно (free)

В этой статье научим прослойку отправлять данные в 1С, для этого используем HTTP-сервисы платформы. Обменяемся данными с новым справочником Клиенты. Но главное создадим HTTP-сервис для получения сообщений из очереди RabbitMQ.

28.09.2020    1887    dmitry-irk38    4    

Отладка http сервиса

WEB v8 Бесплатно (free)

При разработке http сервиса возникает ситуация, а как протестировать http сервис? Создали мы сервис, настроили шаблоны, передали, если нужно параметры, открываем браузер заполняем строку подключения и БАХ, ошибка. Что делать?

23.09.2020    3102    hpi    10    

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

WEB v8 1cv8.cf Бесплатно (free)

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

22.09.2020    6254    hpi    7    

Организация данных и вариант обработки для организации обмена с сайтом

WEB v8 1cv8.cf Бесплатно (free)

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

22.09.2020    1578    malikov_pro    4    

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

Практика программирования Обмен данными 1С WEB v8 1cv8.cf Бесплатно (free)

В статье показан пример, как реализовать формирование списка документов клиента/пользователя по коду, а затем скачать его (документа) печатную форму по ссылке

18.09.2020    1194    R_o_n_n_y    3    

Формирование HTTP запроса формата multipart/form-data с двоичными данными, используя ПотокВПамяти

WEB v8 1cv8.cf Бесплатно (free)

В статье опишу вариант формирования запроса

11.09.2020    3661    malikov_pro    11    

Ферма приложений на Kubernetes

WEB v8 Бесплатно (free)

При эксплуатации большого количества информационных систем 1С, предоставляющих интернет-сервисы, возникают проблемы, связанные с зависимостью от производительности и стабильности веб-сервера. Как объединить отдельно стоящие веб-сервера с помощью платформы Kubernetes для централизованного мониторинга всех опубликованных интернет-сервисов на конференции Infostart Event 2019 Inception рассказал программист компании BIA Technologies Владимир Кирбаба.

24.08.2020    1839    ComboBoy    1    

Использование шаблонного процессора для формирования HTML страниц

WEB v8 1cv8.cf Бесплатно (free)

В статье опишу использование шаблонного процессора Handlebars запущенного на Node.js

24.08.2020    1758    malikov_pro    26    

Загрузка или обновление файла на яндекс диске через rest-api

Практика программирования Файловые протоколы обмена, FTP WEB v8 Бесплатно (free)

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

12.08.2020    3027    pavelpribytkin96    10    

Самый простой парсинг и обработка веб-страниц в 1С

WEB Универсальные функции v8 1cv8.cf Бесплатно (free)

Рассмотрим самый простой парсинг веб-страниц средствами платформы 1С и еще некоторые полезные приемы работы с веб-страницами.

07.08.2020    7985    YPermitin    22    

Загрузка или обновление файла на гугл диске

Практика программирования Файловые протоколы обмена, FTP WEB v8 1cv8.cf Бесплатно (free)

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

06.08.2020    2124    pavelpribytkin96    6    

Использование Yandex Translate (Яндекс.Переводчик)

WEB v8 1cv8.cf Бесплатно (free)

В статье опишу вариант подключения и использования Yandex Translate.

08.07.2020    5134    malikov_pro    8    

Когда хотим знать IP клиента...

WEB v8 Бесплатно (free)

В процессе разработки web приложения на 1С, и это не шутка))), а пожелание заказчика, возникла ситуации когда понадобилось знать, с какого IP подключался клиент.

03.07.2020    7313    IMihalev    10    

Ограничение доступа к HTTP публикациям 1С сервера используя NGINX

WEB v8 1cv8.cf Бесплатно (free)

В статье опишу вариант ограничения доступа к HTTP публикациям 1С сервера используя NGINX.

02.07.2020    7848    malikov_pro    7    

Структура обработки загрузки цен и остатков поставщика с примерами и комментариями

Внешние источники данных WEB v8 1cv8.cf Россия Бесплатно (free)

В статье опишу структуру обработки по загрузке цен и остатков от поставщика с примерами.

27.06.2020    1968    malikov_pro    0    

Вариант использования документа "Операция по Яндекс.Кассе" для других сервисов по оплате через интернет

WEB v8 1cv8.cf Россия Бесплатно (free)

В статье рассмотрю организацию эквайринга в УТ 11.4 и доработки для создания заказов на оплату к стороннему сервису, как пример Сбербанк.

24.06.2020    1633    malikov_pro    3    

Работа с AliExpress через API

WEB v8 Бесплатно (free)

В публикации опишу подход работы с API AliExpress и примеры кода.

23.06.2020    6878    malikov_pro    24    

История создания успешной системы чат-ботов на 1С

WEB v8 Бесплатно (free)

Использование чат-ботов в мессенджерах позволяет автоматизировать многие сложные бизнес-процессы путем диалога с системой через виртуального собеседника. О том, как создать универсальную систему ботов с бэкендом на 1С, работающую в Telegram, Viber и Facebook Messenger одновременно, на конференции Infostart Event 2019 Inception рассказал программист-фрилансер Константин Гейнрих.

21.05.2020    8721    CyberCerber    15    

Парсинг html страниц с выводом информации через JavaScript с использованием Selenium

WEB v8 1cv8.cf Бесплатно (free)

Есть девочки как девочки, есть мальчики как мальчики, есть сайтики как сайтики, но странички их обманщики. В целях сохранить информацию, от автоматизированного сбора, многие ресурсы пытаются защитить ее. Один из таких способов - вывод информации на странице через JavaScript. При получении такой страницы в 1С, JavaScript не успевает вывести необходимые данные, и в 1с получаем практически пустую страницу. В статье приведу пример разработки, для парсинга таких страниц, без регистрации и смс.

20.05.2020    6727    platonov.e    25    

Интеграция 1С и CMS WordPress посредством Rest API сайта. Шаг третий, WooCommerce, публикация категорий товаров

WEB v8 1cv8.cf Бесплатно (free)

Интеграция 1С и CMS WordPress посредством функционала Rest API. Используем только язык программирования 1С и штатный функционал Rest API предоставляемый CMS, без дополнительных библиотек и плагинов. Процедуры и функции публикации категорий товаров в магазин WooCommerce, с комментариями внутри.

13.05.2020    3949    osivv    3    

Интеграция 1С и CMS WordPress посредством Rest API сайта. Шаг второй, публикация картинок

WEB v8 Бесплатно (free)

Интеграция 1С и CMS WordPress посредством функционала Rest API. Используем только язык программирования 1С и штатный функционал Rest API предоставляемый CMS, без дополнительных библиотек и плагинов. Процедуры и функции передачи фото из 1С, с комментариями внутри.

13.05.2020    2589    osivv    0    

Интеграция Camunda BPM и 1С

WEB Интеграция v8 Бесплатно (free)

Быстрый старт. Только практические примеры. Установка, запуск и публикация бизнес-процесса на сервере Camunda BPM. Управление бизнес-процессами из 1С при помощи Camunda REST API.

12.05.2020    5063    zhichkin    30    

Интеграция 1С и CMS WordPress посредством Rest API сайта. Первый шаг

WEB v8 Россия Бесплатно (free)

Интеграция 1С и CMS WordPress посредством функционала Rest API. Используем только язык программирования 1С и штатный функционал Rest API предоставляемый CMS, без дополнительных библиотек и плагинов. Процедуры и функции 1С с комментариями внутри.

28.04.2020    6007    osivv    23    

Выразительный Web API

WEB v8 Бесплатно (free)

Теория разработки Web API с ожидаемым поведением, за который не будет стыдно за пределами мира 1С.

27.04.2020    8339    nbeliaev    22