Найти в Дзене

Решение для работы внешней компоненты в веб-браузере под Windows и Linux: 1С + Installer

Небольшой цикл статей про внешние компоненты (ВК) для веб-браузеров. Цель – описать общий механизм взаимодействия платформы 1С и ВК в этом режиме, предложить как доработанное решение, основанное на примере от 1С, так и собственную разработку - внешнюю обработку 1С. Решение позволяет обеспечивать работу в веб-браузере для любой нативной библиотеки, разработанной на основе шаблона ВК от 1С и работающей в тонком клиенте. На вход решение получает наименование компании, продукта, номер версии и т.д., а также файл библиотеки, на выходе - zip-архив для загрузки в макет в 1С. Третья статья из цикла: Работа с решением Решение представляет собой внешнюю обработку 1С. Для работы с решением необходима платформа 1С версии 8.3.18 и выше. Все необходимые инструменты для работы интегрированы во внешнюю обработку и установки не требуют. Необходимо заполнить все значения в обработке на закладке Параметры сборки. По умолчанию значения заполняются также, как и в файле cmake.settings из предыдущих статей.

Небольшой цикл статей про внешние компоненты (ВК) для веб-браузеров. Цель – описать общий механизм взаимодействия платформы 1С и ВК в этом режиме, предложить как доработанное решение, основанное на примере от 1С, так и собственную разработку - внешнюю обработку 1С. Решение позволяет обеспечивать работу в веб-браузере для любой нативной библиотеки, разработанной на основе шаблона ВК от 1С и работающей в тонком клиенте. На вход решение получает наименование компании, продукта, номер версии и т.д., а также файл библиотеки, на выходе - zip-архив для загрузки в макет в 1С.

СборкаСобственногоПриложенияДляВебРасширения_1_0_0_3.epf

Третья статья из цикла:

  1. Решение для работы внешней компоненты в веб-браузере под Windows и Linux: 1С + Installer (данная статья).

Работа с решением

Решение представляет собой внешнюю обработку 1С. Для работы с решением необходима платформа 1С версии 8.3.18 и выше. Все необходимые инструменты для работы интегрированы во внешнюю обработку и установки не требуют.

Необходимо заполнить все значения в обработке на закладке Параметры сборки.

Закладка Параметры сборки
Закладка Параметры сборки

По умолчанию значения заполняются также, как и в файле cmake.settings из предыдущих статей. Тип ОС и разрядность вычисляются при открытии обработки. В дальнейшем разрядность можно изменить. При этом контроль соответствия разрядности в обработке и в нативной библиотеки ложится на пользователя. Заполнив все значения, нужно нажать на кнопку Собрать. В результате получиться zip-пакет для помещения в макет в 1С. Для каждой ОС и разрядности может быть получен только один пакет. Таким образом, обработку нужно запускать в Windows для получения пакетов 64 и 32 разряда, и в Linux, выбирая разрядность 64 и 32. Полученные четыре пакета можно собрать в один на закладке обработки Пакеты.

Закладка Пакеты
Закладка Пакеты

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

Для ОС Windows используется внешняя компонента ResourcePlacer. В качестве установщика применяется собственная разработка на C++ (MainForms) - Installer,

Installer
Installer

для деинсталяции - разработка на C++ (MainForms) Uninstaller.

Uninstaller
Uninstaller

Обработка с помощью ВК ResourcePlacer помещает в Installer файлы как ресурсы: нативную библиотеку, манифесты для Chrome и Firefox, адаптер, деинсталятор Uninstaller. А также ключи реестра с необходимыми значениями. После скачивания установщика, его необходимо открыть и начать кнопку Установить. Собственное приложения появится в списке установленных приложений ОС, его можно удалить стандартным образом.

При использовании установщика Installer возможны отказы из-за ложного срабатывания антивирусных систем. Прошу сообщать об этом в комментариях, буду устранять по мере возможности. Надеюсь, что таким образом, с помощью сообщества, удастся создать решение для работы ВК в веб-браузерах под Windows без использования кода разработчика.

Для ОС Linux при создании установщика применяется Makeself. Результат ничем не отличается от того, что описано в статье Решение для работы внешней компоненты в веб-браузере под Linux: Cmake + Makeself. Для ОС Linux также ничего дополнительно устанавливать не нужно.

Тестирование

Решение тестировалось:

в Windows 10 x64, 1С:Предприятие 8.3 (8.3.23.1739) x64, 1С:Предприятие 8.3 (8.3.21.1302) x32, Chrome 121.0.6167.161 x64, Firefox 122.0.1 x64,

в Ubuntu 22.04 x64, 1С:Предприятие 8.3 (8.3.23.1912), Firefox 110.0.1 не snap!!!, 122.0.1, Chrome 120.0.6099.224,

в Debian 12.04 x32, 1С:Предприятие 8.3 (8.3.23.1997), Firefox 115.7.0esr (32-разрядный), Chrome 120.0.6099.224.