Сборка внешней компоненты под веб-клиент (Chrome)
Добрый день.
Есть внешняя компонента собранная на базе архива с итс. Полезной нагрузки пока никакой по сути один метод который возвращает переданную строку. Под тонким клиентом запустил, подключил - работает.
Если интересно код подключения:
Далее: согласно описанию на том-же итс делаю установщик для хрома:
config.cpp
manifest.json
}[/1C-CODE]
AddInChromeSetup.nsh
Собираю 2 exe файла AddInChr32.exe и AddInChr64.exe
MANIFEST.XML
В макете - 2 длл: AddInNativeWin32.dll и AddInNativeWin64.dll, AddInChr64.exe и AddInChr32.exe, manifest.json, manifest.ff.json, MANIFEST.XML.
При запуске в хроме скачивается файл установщик. Запускаю - устанавливаю. В реестре создаются записи по адресу:
HKEY_CURRENT_USER\Software\Google\Chrome\NativeMessagingHost s\com.MV.MVAPI32.3
HKEY_CURRENT_USER\Software\Google\Chrome\NativeMessagingHost s\com.MV.MVAPI64.3 (устанавливал также 64 вариант)
В системе по адресу %appdata%\Roaming\MV - 2 каталога MVAPI32 и MVAPI64 с каталогом версией 1.0.0.3 в котором файлы ДЛЛ и манифесты.
обновляю в браузере окно с предприятием - и он опять скачивает установщик не пытаясь подключить компоненту.
ЧЯДНТ?!
Есть внешняя компонента собранная на базе архива с итс. Полезной нагрузки пока никакой по сути один метод который возвращает переданную строку. Под тонким клиентом запустил, подключил - работает.
Если интересно код подключения:
&НаКлиенте
Процедура ПриОткрытии(Отказ)
ИдентификаторКомпоненты = "_" + СтрЗаменить(Новый УникальныйИдентификатор, "-", "");
ВыполнитьПодключениеВнешнейКомпоненты(Истина);
КонецПроцедуры
&НаКлиенте
Процедура ВыполнитьПодключениеВнешнейКомпоненты(ДополнительныеПараметры) Экспорт
НачатьПодключениеВнешнейКомпоненты(
Новый ОписаниеОповещения("ПодключениеВнешнейКомпонентыЗавершение", ЭтаФорма, ДополнительныеПараметры),
"ОбщийМакет.AddInNative", ИдентификаторКомпоненты, ТипВнешнейКомпоненты.Native);
КонецПроцедуры
&НаКлиенте
Процедура ПодключениеВнешнейКомпонентыЗавершение(Подключение, ДополнительныеПараметры) Экспорт
Если Подключение Тогда
//ВнешняяКомпонента = Новый("AddIn." + ИдентификаторКомпоненты + ".WindowsControl");
ОбъектВК = Новый("AddIn."+ ИдентификаторКомпоненты +".AddInNativeExtension");
res = ОбъектВК.МойТест(2, true);
Сообщить(res);
ИначеЕсли ДополнительныеПараметры = Истина Тогда
ОписаниеОповещения = Новый ОписаниеОповещения("ВыполнитьПодключениеВнешнейКомпоненты", ЭтаФорма, Ложь);
НачатьУстановкуВнешнейКомпоненты(ОписаниеОповещения, "ОбщийМакет.AddInNative");
КонецЕсли;
КонецПроцедуры
ПоказатьДалее: согласно описанию на том-же итс делаю установщик для хрома:
config.cpp
#include "config.h"
AddInComponentType typeComponent = eAddInNative;
const char *nameFilePrj = "AddInChr64.exe";
const char *nameFileComponent = "AddInNativeWin64.dll";
manifest.json
{
"name": "com.MV.MVAPI64.3",
"description": "Description of add-in for Chrome and Firefox",
"path": "AddInChr64.exe",
"type": "stdio",
"allowed_origins": [
"chrome-extension://pbhelknnhilelbnhfpcjlcabhmfangik/"
]
AddInChrome.rc
[1C-CODE]BEGIN
BLOCK "StringFileInfo"
BEGIN
BLOCK "040904e4"
BEGIN
VALUE "CompanyName", "MV"
VALUE "FileDescription", "AddInChr"
VALUE "FileVersion", "1,0,0,03"
VALUE "InternalName", "AddInChr"
VALUE "LegalCopyright", "Copyright © MyCompany 2020 All rights reserved."
VALUE "OriginalFilename", "AddInChr64.exe"
VALUE "ProductName", "MVAPI64"
VALUE "ProductVersion", "1,0,0,03"
END
END
BLOCK "VarFileInfo"
BEGIN
VALUE "Translation", 0x409, 1252
END
END
Показать}[/1C-CODE]
AddInChromeSetup.nsh
!ifndef ADDINCONST_INCLUDED
!define ADDINCONST_INCLUDED
!define Version "1.0.0.3"
!define ProductVersion "1.0.0.3"
!define Product "MVAPI64"
!define Manufacturer "MV"
!define CompanyURL "www.moneyveo.ua"
!define Description "MV AddIn Extension for Chrome"
!define AddInName "com.MV.MVAPI64.3"
!define AddInJson "manifest.json"
!define AddInFFJson "manifest.ff.json"
!define AddInAdaptor "config.cpp"
!define AddInComponent "AddInNativeWin64.dll"
!define Bits "64"
!define SuffixPF ""
!define OutFileName "AddInChr"
!define ProductName "MVAPI64"
!endif
ПоказатьСобираю 2 exe файла AddInChr32.exe и AddInChr64.exe
MANIFEST.XML
<?xml version="1.0" encoding="UTF-8"?>
<bundle xmlns="http://v8.1c.ru/8.2/addin/bundle">
<component os="Windows" path="AddInChr32.exe" type="plugin" object="com.MV.MVAPI32.3" arch="i386" client="Chrome" />
<component os="Windows" path="AddInChr64.exe" type="plugin" object="com.MV.MVAPI64.3" arch="x86_64" client="Chrome" />
<component os="Windows" path="AddInNativeWin32.dll" type="native" arch="i386"/>
<component os="Windows" path="AddInNativeWin64.dll" type="native" arch="x86_64"/>
</bundle>
В макете - 2 длл: AddInNativeWin32.dll и AddInNativeWin64.dll, AddInChr64.exe и AddInChr32.exe, manifest.json, manifest.ff.json, MANIFEST.XML.
При запуске в хроме скачивается файл установщик. Запускаю - устанавливаю. В реестре создаются записи по адресу:
HKEY_CURRENT_USER\Software\Google\Chrome\NativeMessagingHost
HKEY_CURRENT_USER\Software\Google\Chrome\NativeMessagingHost
В системе по адресу %appdata%\Roaming\MV - 2 каталога MVAPI32 и MVAPI64 с каталогом версией 1.0.0.3 в котором файлы ДЛЛ и манифесты.
обновляю в браузере окно с предприятием - и он опять скачивает установщик не пытаясь подключить компоненту.
ЧЯДНТ?!
По теме из базы знаний
- Внешняя компонента Sundries: несколько полезных системных функций
- Vanessa Automation. Как начать создавать видеоинструкции
- Когда интерфейсам 1С нужны веб-технологии
- Применение внешних компонент для решения задач сценарного тестирования
- Решение для работы внешней компоненты в веб-браузере под Windows: CMake+NSIS
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот