Внешний компонент "1С:Сканер штрихкода" (Native) версия для платформы "1С Предприятие 8.3".
Коллеги здравствуйте!
Суть вопроса заключается в использовании внешней компонеты (Версия 10.3.1.2.). Взял ее из "Библиотека подключаемого оборудования для мобильных приложений". В общем проблема работы самого приложения "Библиотека подключаемого оборудования для мобильных приложений" с выбранным сканером на андроид устройстве решена. (Сканер "Netum", использовали разные модели). Решена проблема работы этого сканера в своей конфигурации путем переноса функционала из "Библиотека подключаемого оборудования для мобильных приложений". Но, решение получилось слегка громоздким.
Попытались упростить всю эту схему и столкнулись с тем, что внешнее событие в упрощенной схеме не ловится. Суть упрощения в том, что получаем драйвер из макета , подключаем внешнюю компоненту , ну и дальше как всегда поступали со старыми драйверами надеемся получить внешнее событие при сканировании. Но нет. Так мало того еще и мобильный клиент при попытке сканирования слетает.
Смотрим как зачарованные на реализацию в "Библиотека подключаемого оборудования для мобильных приложений" . Ну используют там модуль сеанса , где устанавливают в этом модуле параметр сеанса, который называется "РабочееМестоКлиента" и тип имеет "СправочникСсылка.РабочиеМеста". Ну и как бы нет ни чего такого. Но, подозрение есть , что без этой штуки не работает связка драйвер - внешнее событие. Есть ли у кого понимание в этом вопросе? Благодарю. Для предвосхищения вопросов типа "Зачем тебе этот новый драйвер? Возьми драйвер постарше и попроще, на котором все работает и не мучайся." Отвечаю, у ряда планшетов на предприятии есть встроенный сканер и там мы результаты сканирования получаем через механизм Broadcast . Вот зачем.
Важное замечание: Содержание лога от внешней компоненты в случае когда мы работаем из функционала БПО и своего упрощенного функционала слегка разный получаю.
В приложенных файлах файл с именем "scan_opos (5)" отвечает не работающей ситуации, файл с именем scan_opos (6) работающей ситуации.
Параметры внешней компоненты в своей реализации устанавливал глядя на то как это все делается в "Библиотека подключаемого оборудования для мобильных приложений". Но в итоге получил не работающий вариант. Все это тестировал в рамках одного и того же мобильного клиента, внешнюю компоненту брал из одного и того же макета.
Заранее благодарю за содействие.
Суть вопроса заключается в использовании внешней компонеты (Версия 10.3.1.2.). Взял ее из "Библиотека подключаемого оборудования для мобильных приложений". В общем проблема работы самого приложения "Библиотека подключаемого оборудования для мобильных приложений" с выбранным сканером на андроид устройстве решена. (Сканер "Netum", использовали разные модели). Решена проблема работы этого сканера в своей конфигурации путем переноса функционала из "Библиотека подключаемого оборудования для мобильных приложений". Но, решение получилось слегка громоздким.
Попытались упростить всю эту схему и столкнулись с тем, что внешнее событие в упрощенной схеме не ловится. Суть упрощения в том, что получаем драйвер из макета , подключаем внешнюю компоненту , ну и дальше как всегда поступали со старыми драйверами надеемся получить внешнее событие при сканировании. Но нет. Так мало того еще и мобильный клиент при попытке сканирования слетает.
Смотрим как зачарованные на реализацию в "Библиотека подключаемого оборудования для мобильных приложений" . Ну используют там модуль сеанса , где устанавливают в этом модуле параметр сеанса, который называется "РабочееМестоКлиента" и тип имеет "СправочникСсылка.РабочиеМеста". Ну и как бы нет ни чего такого. Но, подозрение есть , что без этой штуки не работает связка драйвер - внешнее событие. Есть ли у кого понимание в этом вопросе? Благодарю. Для предвосхищения вопросов типа "Зачем тебе этот новый драйвер? Возьми драйвер постарше и попроще, на котором все работает и не мучайся." Отвечаю, у ряда планшетов на предприятии есть встроенный сканер и там мы результаты сканирования получаем через механизм Broadcast . Вот зачем.
Важное замечание: Содержание лога от внешней компоненты в случае когда мы работаем из функционала БПО и своего упрощенного функционала слегка разный получаю.
В приложенных файлах файл с именем "scan_opos (5)" отвечает не работающей ситуации, файл с именем scan_opos (6) работающей ситуации.
Параметры внешней компоненты в своей реализации устанавливал глядя на то как это все делается в "Библиотека подключаемого оборудования для мобильных приложений". Но в итоге получил не работающий вариант. Все это тестировал в рамках одного и того же мобильного клиента, внешнюю компоненту брал из одного и того же макета.
Заранее благодарю за содействие.
Прикрепленные файлы:
scan_opos (5).txt
scan_opos (6).txt
По теме из базы знаний
- Маркировка: 2D Android Штрихкод сканер + драйвер устройства для 1С
- Первоначальная настройка 1С:Управление торговлей 11
- Обзор полезных методов БСП 3.1.4
- Подключение сканера штрихкода через драйвер NativeAPI для типовых конфигураций
- Подключение сканера магнитных карт через драйвер NativeAPI для типовых конфигураций
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(2)Если можно, дайте, пожалуйста, попробую.
Еще просьба: взгляните на код подключения, ни чего ли не упущено при подключении ВК?
Еще просьба: взгляните на код подключения, ни чего ли не упущено при подключении ВК?
Procedure ConnectingExternalComponentForScanToMC()
//If Attached Then
//ExternalComponent = New("AddIn.InputDevice.InputDevice");
OK = ПодключитьВнешнююКомпоненту("CommonTemplate.Драйвер1ССканерШтрихкода", "InputDevice", ТипВнешнейКомпоненты.Native);
ExternalComponent = Новый ("AddIn.InputDevice.InputDevice");
//P1 = "";
//P2 = "";
//P3 = "";
//P4 = "";
//P5 = "";
//P6 = "";
//P7 = "";
//ExternalComponent.GetDescription(P1, P2, P3, P4, P5, P6, P7); // получаем описание
ExternalComponent.SetParameter("EquipmentType", "УстройствоВвода");
ExternalComponent.SetParameter("Action", "android.intent.action.DEFAULT");
ExternalComponent.SetParameter("BluetoothDevice", "DEV_KEYBOARD"); // устанавливаем тип сканера блютус девайЗ
ExternalComponent.SetParameter("COMEncoding", "UTF-8");
ExternalComponent.SetParameter("Category", "");
ExternalComponent.SetParameter("DataBits", 8);
ExternalComponent.SetParameter("Extra", "android.intent.extra.STREAM");
ExternalComponent.SetParameter("ExtraType", "String");
//ExternalComponent.SetParameter("GSSymbolKey", 7);
ExternalComponent.SetParameter("GSSymbolKey", 7);
ExternalComponent.SetParameter("LogFilePath", "/storage/emulated/0/Download/scan_opos.txt");
ExternalComponent.SetParameter("LogType", 0); // Логируем в файл
ExternalComponent.SetParameter("OutputDataType", 0); // тип данных выходных
ExternalComponent.SetParameter("Parity", 0); //
ExternalComponent.SetParameter("Prefix", -1); //
ExternalComponent.SetParameter("Speed", 9600); //
ExternalComponent.SetParameter("StandardAction", "NONE"); //
ExternalComponent.SetParameter("StandardCategory", "NONE"); //
ExternalComponent.SetParameter("StandardExtra", "NONE"); //
ExternalComponent.SetParameter("StopBits", 0); //
ExternalComponent.SetParameter("Suffix", 3338); //
ExternalComponent.SetParameter("Timeout", 75); //
//ExternalComponent.SetParameter("AppType", 6); //
IDParametr = "";
OK = ExternalComponent.Open(IDParametr); // подключаем компоненту
РезультатТеста = "";
АктивированДемоРежим = "";
РезультатТеста = ExternalComponent.ТестУстройства(РезультатТеста, АктивированДемоРежим);
Сообщить(ExternalComponent.ПолучитьНомерВерсии());
Параметры1 = "";
ExternalComponent.ПолучитьПараметры(Параметры1); // получаем параметры
СтрокаПараметры = Параметры1;
ОписаниеДрайвера = "";
ExternalComponent.ПолучитьОписание(ОписаниеДрайвера);
If Not OK Then
Message(ExternalComponent.GetLastError(P7));
EndIf;
//EndIf;
EndProcedure
Показать
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот