HTTP сервер, HTTP асинхронный клиент, клиент ГИС МТ "Честный знак": внешние компоненты для 1С 7.7

Компонента HttpSrv7 позволяет создавать веб-сервисы в среде 1С 7.7 и даже, используя файлы HTML, несложные веб-сайты. С помощью нее можно обеспечить доступ к данным 1С 7.7 из браузера. Дополнительно используя компоненту HTTP_Async или синхронный клиент HTTP для 1С 7.7 (публикация № 1152364) можно наладить обмен данными между удаленными информационными базами. С помощью компоненты HTTP_Async можно сначала послать несколько запросов к сайтам, веб-сервисам (в т.ч. к HttpSrv7), а затем обрабатывать данные по мере их поступления. Компонента GISMT в дополнение к HTTP_Async имеет функцию цифровой подписи и, таким образом, имеет все возможности для работы с API ГИС МТ "Честный знак" непосредственно из среды 1С 7.7.

Арт.: 1663863

Продано: 19

image1.png
image2.png
image3.png
image4.png
image5.png
image6.png
image7.png
image8.png
image8.png
image9.png
Gismt1.jpg
Gismt2.jpg
image1.png
image2.png
image3.png
image4.png
image5.png
image6.png
image7.png
image8.png
image8.png
image9.png
Gismt1.jpg
Gismt2.jpg
Лицензии

2000 руб.

2500 руб.

2000 руб.

Услуга

3500 руб.

Техподдержка и обновления

2500 руб.

Область применения

Компонента HttpSrv7 позволяет создавать веб-сервисы в среде 1С 7.7 и даже, используя файлы HTML, несложные веб-сайты. С помощью нее можно обеспечить доступ к данным 1С 7.7 из браузера. Дополнительно используя клиент HTTP для 1С 7.7 (публикация № 1152364) можно наладить обмен данными между удаленными информационными базами.
Компоненты разработаны по технологии создания внешних компонент COM. Тестировались на платформе 1С релиза 7.70.027 под управлением Windows 10.
С помощью компоненты HTTP_Async можно сначала послать несколько запросов к сайтам, веб-сервисам (в т.ч. к HttpSrv7), а затем обрабатывать данные по мере их поступления. 
Компонента GISMT в дополнение к HTTP_Async имеет функцию цифровой подписи и, таким образом, имеет все возможности для работы с API ГИС МТ "Честный знак" непосредственно из среды 1С 7.7.

 

HTTP сервер

Позволяет запускать HTTP или HTTPS сервер на любом порту.

Протокол HTTPS работает с библиотекой OpenSSL версии 1.0.2 и поддерживает TLS v1.2.

Каждый входящий HTTP-запрос обрабатывается в отдельном потоке. Все запросы регистрируются в общем массиве, размер которого можно устанавливать программно. Каждому запросу для обработки в 1С присваивается числовой идентификатор (ИД). По окончании обработки запрос удаляется из массива.

В зависимости от программных настроек сервера часть запросов может обрабатываться компонентой без участия 1С.

При регистрации запроса (обрабатываемого в 1С) в глобальном модуле 1С вызывается процедура «ОбработкаВнешнегоСобытия», в которую передается ИД нового запроса. Для обработки запросы можно выбирать по конкретному ИД или последовательно перебирая все.

Можно передавать обработку запросов другим экземплярам 1С, созданным как OLE-объекты. Для этого серверу передается имя файла, в который будет выгружен ответ, и время его ожидания. В OLE-экземпляр 1С передается также имя файла-результата и все необходимые параметры запроса. OLE- экземпляр формирует ответ и выгружает его в указанный файл. Как только файл ответа появляется, сервер передает его HTTP-клиенту и удаляет запрос из массива.

 
 Методы объекта AddIn.HTTPSrv7: 
 
 Свойства объекта AddIn.HTTPSrv7 (доступ: чтение+запись):
 
 Свойства объекта AddIn.HTTPSrv7 (доступ: чтение):

HTTP асинхронный клиент

Позволяет асинхронно работать с веб-сервисами по протоколу HTTP или HTTPS и использовать любые методы передачи: GET, POST, PUT, DELETE, OPTIONS.

Протокол HTTPS работает с библиотекой OpenSSL версии 1.0.2 и поддерживает TLS v1.2.

Поддерживается автоматическая распаковка данных сжатых в формате «gzip».

Имеется функция перевода строк JSON во вложенные объекты 1С 7.7 типа «СписокЗначений».

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

  • проконтролировать состояние любого запроса,
  • время его работы,
  • получить в случае готовности его результаты, а также завершить его работу, после чего запрос из массива удаляется.
 
 Методы объекта AddIn. HTTP_Async:
 
 Свойства объекта AddIn. HTTP_Async (свойства клиента):
 
 Свойства объекта AddIn. HTTP_Async ( текущего запроса):

Клиент ГИС МТ "Честный знак"

Включает в себя объекты: Addin.HTTP_Async (описанный выше) и Addin.GISMT

Дополнительно к полной функциональности HTTP_Async позволяет выбрать сертификат цифровой  подписи из личного хранилища сертификатов и сформировать цифровую подпись в формате Base64, как того требует "True API" ГИС МТ "Честный знак".

Методы ПолучитьКлючСессии() и ПолучитьДокументы() разработаны согласно "Описанию True API" ГИС МТ версии 354.0 (по состоянию на 1.03.2024г).

 
 Свойства объекта Addin.GISMT:
 
 Методы объекта Addin.GISMT:

Бесплатные демо-версии

Демо-конфигурация с демо-обработками и демо-компонентами доступны для бесплатного скачивания в разделе «Бесплатные файлы».

Ограничения demo-версий библиотек  *.dll:
 - объект Addin.HTTPSrv7 действует только в пределах localhost; 
 - объект Addin.HTTP_Async действует только в пределах localhost; 
 - у объекта Addin.GISMT не работает метод Подписать;
 - у объекта Addin.GISMT свойство КлючСессии по чтению и записи не доступно.

 
 Демо-обработка HttpSrv7
 
 Демо-обработка HTTP_Async
 
Демо-обработка GISMT
 
 История изменения версий HttpSrv7
 
 История изменения версий HTTP_Async

 

Статистика:
Просмотры 8126
Загрузки 19
Рейтинг 31
Создание 27.05.22 17:23
Обновление 08.05.24 19:41
№ Публикации 1663863
Характеристики:
Теги

Внешняя компонента 7.7 сервер HTTP веб web

Рубрики Разработка внешних компонент WEB-интеграция
Кому Программист
Тип файла Архив с данными
Платформа Платформа 1С v7.7
Конфигурация Конфигурации 1cv7
Операционная система Windows
Страна Не имеет значения
Отрасль Не имеет значения
Налоги Не имеет значения
Вид учета Не имеет значения
Доступ к файлу Платные (руб)
Код открыт Нет
Наименование Файл Версия Размер
HTTP сервер 1С 7.7 + HTTP асинхронный клиент: подробное описание, демо-конфигурация, демо- компоненты для 1С 7.7 .zip 0.2.2.0_0.2.0.0 2,26Mb 41 Скачать
1. CheBurator 27.05.22 20:03 Сейчас в теме
2. JetBrain 27.05.22 21:50 Сейчас в теме
платная dll зачем и кому? open-source gRPC node.JS сервер разворачивается за 5 минут!
4. ЗС1 03.06.22 17:30 Сейчас в теме
(2)
Можно подробнее, как потом gRPC взаимодействует с 7.7?
5. JetBrain 03.06.22 19:34 Сейчас в теме
(4) взаимодействие 1с 7.7 с gRPC будет аналогичным по примерам реализации из 8ки, и оно может быть и с серверной и с клиентской частью ( Осваиваем протокол gRPC по HTTP/2 в 1С ). если точнее 7-ке нужно генерировать JS скрипты, т.к этот язык доступен протоколу.
8. Техподдержка 06.06.22 13:02
(5) Система 1с 7.7 с node.JS получается очень замороченная, т.к. напрямую обмен JS с 1с 7.7 наладить невозможно.
9. JetBrain 06.06.22 13:16 Сейчас в теме
(8) есть вариант не нагружать 1С этими задачами совсем, а чтение/запись с БД производить на стороне сервера gRPC фоново (программный язык для написания службы тогда не привязан к JS). можно еще посмотреть в сторону проекта metadata.js.
6. JetBrain 04.06.22 19:11 Сейчас в теме
(4) а если не критично использование HTTP/1.1 то можете попробовать работу gRPC-web из браузера.
Прикрепленные файлы:
7. ЗС1 04.06.22 22:54 Сейчас в теме
Спасибо, интересно. буду смотреть
3. user707242_Gold_karas 02.06.22 10:19 Сейчас в теме
10. isteroid 15.08.23 15:46 Сейчас в теме
Купил обработку. При попытке использования выдает: stop Demo Version
11. alexey-zmey 25.08.23 11:17 Сейчас в теме
Купил эту вещь, и сразу пожалел!

Не удаётся найти Куки в заголовках сервера.
Браузер отрабатывает Set-Cookie - записывает их у себя. Отправляет их на сервер - по логам это видно. Но на сервере их почему-то нет!
Может я не там их ищу? Тогда подскажите, где их искать?
Как работать без Куков?

Вот что отправляет Браузер:

GET / HTTP/1.1
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7
Accept-Encoding: gzip, deflate, br
Accept-Language: ru,en;q=0.9
Cache-Control: max-age=0
Connection: keep-alive
Cookie: token=QqVTLvAWUNEQgdCimF0xRk8Ek1XIz6zgQ23HLK
Host: localhost
Sec-Fetch-Dest: document
Sec-Fetch-Mode: navigate
Sec-Fetch-Site: none
Sec-Fetch-User: ?1
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 YaBrowser/23.7.1.1232 Yowser/2.5 Safari/537.36
sec-ch-ua: "Not.A/Brand";v="8", "Chromium";v="114", "YaBrowser";v="23"
sec-ch-ua-mobile: ?0
sec-ch-ua-platform: "Windows"



А ВОТ ЧТО ВИДИМ на СЕРВЕРЕ HTTPSrv7:
Куда пропали КУКИ?


Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7
Accept-Encoding: gzip, deflate, br
Accept-Language: ru,en;q=0.9
Connection: keep-alive
Host: localhost
User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 YaBrowser/23.7.1.1232 Yowser/2.5 Safari/537.36
Cache-Control: max-age=0
sec-ch-ua: "Not.A/Brand";v="8", "Chromium";v="114", "YaBrowser";v="23"
sec-ch-ua-mobile: ?0
sec-ch-ua-platform: "Windows"
Upgrade-Insecure-Requests: 1
Sec-Fetch-Site: none
Sec-Fetch-Mode: navigate
Sec-Fetch-User: ?1
Sec-Fetch-Dest: document
12. alexey-zmey 30.08.23 13:54 Сейчас в теме
Компонента доработана в отношении Куков. За что огромная благодарность.
Было бы неплохо доработать компоненту в отношении получения данных формы, передаваемых клиентом методом POST. Сейчас они передаются в теле запроса, и их приходится дополнительно "выковыривать" оттуда. Было бы неплохо иметь метод или свойство компоненты для получения этих данных.

------WebKitFormBoundaryAp5j9kEoaDKXQO9H
Content-Disposition: form-data; name="UserName"

User1
------WebKitFormBoundaryAp5j9kEoaDKXQO9H
Content-Disposition: form-data; name="Password"

12345
------WebKitFormBoundaryAp5j9kEoaDKXQO9H--
13. alexey-zmey 01.09.23 10:33 Сейчас в теме
Добавлено свойство ПоляФормыЗапроса
Отлично! Огромное спасибо!
14. suslik.83 27.04.24 20:44 Сейчас в теме
После примерно 8500 запросов валится со словами "StartHTTP: Thread creation error: Недостаточно памяти для обработки команды". Вопрос к разработчику - поможет ли обновление версии с 0.1.0.0 до 0.1.1.0. Система Win7 x86 3GB DDR4. Логи в аттаче
Прикрепленные файлы:
_log20240427204346.zip
15. Техподдержка 09.05.24 09:23
(14) Компонента доработана, объем используемой оперативной памяти уменьшен кардинально. Проверить можно на демо-версии 0.2.0.0.
16. user1023298 10.05.24 18:05 Сейчас в теме
Написано "Позволяет запускать HTTP или HTTPS сервер на любом порту." Но не понял, как меняется порт, если он только чтение
17. Ветер в поле 23.05.24 10:18 Сейчас в теме
(16) при запуске сервера в параметре указывается порт: оВебСервер.Старт(ПортСервера, ФлагHTTPS)

Оставьте свое сообщение

См. также

Компонента ExchangeStruc (Структура Обмена). Прямой обмен данными между потоками, сессиями и окнами.

Аддон "Структура Обмена" (ExchangeStruc) - это компонента, которая обеспечивает доступ к разделяемым процессом структурам, аналогичным структурам 1С. Обеспечивает прозрачную передачу данных примитивных типов, в том числе Двоичных ...

7200 руб.

Форма для ввода количества товаров

Расширяем уровень взаимодействия c пользователем с помощью новых возможностей - форма для ввода количества для перемещений и форма ввода количества с упаковками и штуками.

1200 руб.

Компонента для 1С, принимающая вес с железнодорожных, автомобильных, крановых весов

Программа "Компонента приёма веса для 1С, версия 3.0" позволяет принимать и заносить вес с весов непосредственно в программу "1С" - то есть, прием веса осуществляется целиком и полностью из программы "1С".

26400 руб.