![]() |
![]() |
|
Хотел по легкому подключить ТСД (Андроид) к 1С - не выходит. ProxyInspector, H A D G E H O G s, ОператорПК, ДемьянТ, p-soft, МаленькийВопросик, Builder, lEvGl, zenon46, shuhard, Группа неравнодушных, Михаил_, Vostochnick, X Leshiy, diamkms, Sabron, NikVars, kostik79, nshrek, 2mugik, Вадим33, evorle145, obs191, seabug, АгентБезопаснойНацио, Гипервизор, Sanchez_22, CepeLLlka, Garikk, Kongo2019, Somebody, NikeArz, skafandr, Baiji, MWWRuza, Многолетний Апельсин, nextssbt, Олдж, mkfadmin, DeeK
| ☑ | ||
---|---|---|---|---|
0
ОператорПК
24.09.25
✎
22:32
|
Здравствуйте.
Попробую коротко... Что хотим: Считать Штрихкод со штатных физических кнопок ТСД и передать его в 1С. Что имеем: 1 Развернута база на сервере (БПО для мобильных устройств - последний релиз 3.2.725), база опубликована через Apache 2.2. в базу по минимуму внесено доработок (свои справочники и документы) без расширений. Платформа 1C 8.3.27.1606. 2 ТСД globalpos на базе Андроид 13 (модель GP-N4100) тут установлен мобильный клиент 8.3.27.55 и прописан путь к базе. Что делаем: Делаем все как описано тут https://fastcode.im/Templates/9801/ispolzovanie-v-mobilnom-prilozhenii-android-skanera-shtrixkodov-s-komponentoj-drajver1sustrojstvovvodanative-ot-1s только используя ветку Подключение сканера к пустой 1С 8 через nativeapi и рекомендации lEvGl дописываем код типа рекомендованного в (10) и вуаля процедура "ПодключитьСканерМобильноеПриложение" выдает радостное сообщение "Успешно подключен!" но беда в том что не отрабатывает ОбработкаВнешнегоСобытия.... в форме документа сколько не жмякай на считывание кода процедура ОбработкаОповещения "молчит". Есть идеи что не так? |
|||
1
p-soft
24.09.25
✎
22:44
|
(0) там не все так просто, для генерации событий клавиатуры надо сервис отдельный разворачивать (ACCESSIBILITY) а только потом их ловить драйвером.
смотрите тему A-WMS Mobile - cистема управления мобильными рабочими местами на складе |
|||
2
p-soft
24.09.25
✎
22:44
|
(1) со сканером все значительно проще, там и стандартная компонента работает
|
|||
3
ОператорПК
24.09.25
✎
23:02
|
(1) я грешным делом подумал (особенно учитывая что у товарища из https://fastcode.im/Templates/9801/ispolzovanie-v-mobilnom-prilozhenii-android-skanera-shtrixkodov-s-komponentoj-drajver1sustrojstvovvodanative-ot-1s заработало все "так") работать должно так: сам драйвер ловит от Android оповещения (тем более что в параметрах указываются интенты. зачем они драйверу если он с ними все равно работать не может?!) :
Интент = "scan.rcv.message"; //Указано в настройках Сканера ИнтентДанные = "barcodeData"; глСканер.УстановитьПараметр("Action" , Интент); глСканер.УстановитьПараметр("Extra" , ИнтентДанные); Но спасибо за ветку. А сервис ACCESSIBILITY - это приложение (apk файл) я так понял из контекста ветки, его где взять можно? |
|||
4
p-soft
24.09.25
✎
23:45
|
(3) ссылка в разделе загрузки есть: https://awms.ru/distr/AWMSDeviceBrokerService.apk
надо поставить, потом зайти в системное меню "Спец.возможности" или "ACCESSIBILITY" и включить "AWMS:Device broker" оно генерит событие "com.awms.message.keycode", с полем "keycode" уже это событие надо ловить компонентой в 1с |
|||
5
p-soft
24.09.25
✎
23:37
|
(3) да, событие со сканера оно ловит, но чтобы ловить событие клавы у приложения 1с нет нужного разрешения. был вариант поправить манифест платформы (взлом, по сути), но вроде уже так не работает.
|
|||
6
ОператорПК
25.09.25
✎
00:07
|
(1)+(2)+(5) я в терминах что-то запутался совсем... то Вы пишите "там не все так просто," то "со сканером все значительно проще, там и стандартная компонента работает" или "а, событие со сканера оно ловит," вот что Вы имеете в виду под "сканером"? Вот тут например "https://vkvideo.ru/video300336536_456239401?t=7m7s&ref_domain=yastatic.net&showAutoLoginModal=1" описывается работа когда физических кнопок сканирования нет (например обычный смартфон) это имеете в виду под "сканером"? если "да" то о какой компоненте речь? тут из "компонент" кроме как самого мобильного клиента 1С ничего и не нужно. Если Вы все-таки мой случай имеете в виду когда мне от "клавиатуры" всего то и нужно "отсканировать" на события всех клавиш я как бы не претендую... тогда не понятно почему не отрабатывают обработки оповещения.
(4) Спасибо! |
|||
7
p-soft
25.09.25
✎
00:18
|
(6) сканер - это то что сканирует штрихкод. событие сканера можно отловить внешней компонентой из приложения.
кнопки аппаратной клавиатуры - это реальные выпуклые кнопки, на которые можно нажать и это не тачскрин. для отлова событий клавы нужна специальная прога |
|||
8
p-soft
25.09.25
✎
00:28
|
(7) да, каждой физической кнопке соответствует цифровой код.
в этом контексте, выражение "Считать Штрихкод со штатных физических кнопок ТСД" некорректное - вы считаете код кнопки. но через ваше приложение вы можете сделать что угодно |
|||
9
ОператорПК
25.09.25
✎
00:31
|
(7) см видос из (6) чтобы считать ШК с использованием "тачскина" (предварительно нарисовав там кнопку) никакие дополнительные ВК не нужны - все необходимое встроено в мобильный клиент 1С. Еще раз спасибо за ссылку из (4) - завтра уже буду пробовать, сегодня "я уже все"...
|
|||
10
p-soft
25.09.25
✎
00:41
|
(9) это не считывание - эмуляция. естественно, обрабатывать с помощью вк там ничего не надо.
считывание - это когда лазерный лучик скачет по этикетке со штрихкодом, и программа через вк получает значение считанного шк. |
|||
11
Маленький Вопросик
25.09.25
✎
05:16
|
(9) у меня в профиле посмотри на известном ресурсе - там есть рабочий пример работы с ТСД
|
|||
12
ОператорПК
25.09.25
✎
08:35
|
(11) я так понимаю что про вот это https://infostart.ru/1c/tools/2242904/ речь?
Меня там несколько смущает вот это "В приложенном к публикации файле, так же даны пояснения по дополнительной настройке сервера iis, без которых полноценная работа со сканером терминала не получится." - на Apache 2.2 будет работать? |
|||
13
ОператорПК
25.09.25
✎
09:05
|
(10) Ну понятно что тут камера работает а не лазер. - ок.
В свете написанного в (2) и (10) получается что стандартная компонента должна реагировать не на нажатие кнопки (а на луч лазера который собственно и является следствием нажатия кнопки) и получается раз луч есть то должно все работать без доп. приложений как у гражданина из https://fastcode.im/Templates/9801/ispolzovanie-v-mobilnom-prilozhenii-android-skanera-shtrixkodov-s-komponentoj-drajver1sustrojstvovvodanative-ot-1s ... (4) Установил, вошел в спец. возможности и там есть приложение "AWMS..."на котором написано "Отключено" если кликнуть на него то пишет "настройки с ограниченным доступом", "В целях безопасности доступ к этой функции пока ограничен" из кнопок только "ок"... - как включить то его? |
|||
14
ОператорПК
25.09.25
✎
09:23
|
+(13) включил приложение "AWMS... но войти в него не могу (нет на экране его как приложения) так и должно быть?
|
|||
15
ОператорПК
25.09.25
✎
09:31
|
+(14) в обработку оповещения ничего не прилетает... в коде же как я понимаю интенты вот такие Интент = "scan.rcv.message"; //Указано в настройках Сканера
ИнтентДанные = "barcodeData"; глСканер.УстановитьПараметр("Action" , Интент); глСканер.УстановитьПараметр("Extra" , ИнтентДанные); остаются? нигде прописывать вот это "com.awms.message.keycode" не нужно? |
|||
16
p-soft
25.09.25
✎
09:32
|
(13) да, в последних андроидах включается через жопу.
(14) да, все нормально, это сервис. он только включается и генерит события, своего окна не имеет. |
|||
17
p-soft
25.09.25
✎
10:26
|
(15) нужно заменить настройку события на то, что я выше указывал
|
|||
18
ОператорПК
25.09.25
✎
09:42
|
(16) - спасибо!
(17) переписал код определения интентов вот так: Интент = "com.awms.message.keycode"; //Указано в настройках Сканера ИнтентДанные = "keycode"; глСканер.УстановитьПараметр("Action" , Интент); глСканер.УстановитьПараметр("Extra" , ИнтентДанные); не срабатывает обработка оповещения. :( где нужно изменить "настройку события"? |
|||
19
ОператорПК
25.09.25
✎
09:44
|
(17) или в настройках самого ТСД нужно интенты поменять на "com.awms.message.keycode" и "keycode"
? |
|||
20
p-soft
25.09.25
✎
09:49
|
(18) если все включено, то при нажатии на физическую клавишу должно приходить событие с кодом нажатой клавиши.
проверяйте включен ли сервис, загружается ли вк.. |
|||
21
p-soft
25.09.25
✎
09:51
|
(19) и все таки попробуйте разобраться с кашей в голове: как работает механизм интентов android, как именно нужно ловить события, что такое аппаратный сканер и клавиатура тсд.
|
|||
22
p-soft
25.09.25
✎
09:53
|
(21) там много нюансов, сложно бывает понять где застрял.
|
|||
23
p-soft
25.09.25
✎
09:57
|
на сайте, в разделе скачать по самой нижней ссылке есть приложение, которое помогает отладить работу с событиями: выдает код нажатых клавиш и данные сканирования, если указан идентификатор события. пробуйте с ним поиграться сначала.
да, оно также требует сервиса для отображения событий клавы |
|||
24
ОператорПК
25.09.25
✎
10:02
|
(20) если под ВК понимается штатная "Драйвер1ССканерШтрихкода" то "да" она работает (о чем пишет приложение мобильный клиент 1С при входе в базу), Ваш сервис "AWMS..." работает судя по "Спец. возможностям" - пишет "включено".
|
|||
25
p-soft
25.09.25
✎
10:06
|
(24) пробуйте приложение в (23) - это поможет понять, работает ли сервис. https://awms.ru/distr/AWMSTest-arm.apk
тут коллеги писали, что драйвер от 1с не всегда получается настроить. я свой драйвер писал. |
|||
26
ОператорПК
25.09.25
✎
10:08
|
(21) как работает механизм интентов android - ну я х.з. в основном на ресурсах инета "все просто" типа посмотрите в настройках ТСД его интенты и внесите их значения в параметры настроек 1С - все.... что тут еще придумать можно... сейчас правда в 1С интенты внесены получается не от ТСД а от Вашего сервиса как я писал в (18).
"как именно нужно ловить события" - ну тут вроде как должа просто отрабатывать обработка "ОбработкаВнешнегоСобытия" в модуле приложения и она делает рассылку оповещения открытым формам через "Оповестить" открытые формы в свою очередь ловят это оповещение через ОбработкаОповещения. "что такое аппаратный сканер" - ну я так понимаю это тот самый лазерный луч который возникает при нажатии на физическую кнопку в ТСД. "клавиатура тсд" - ну тут скорее всего имеется в виду физическая клавиатура ТСД, но есть и виртуальная на экране. |
|||
27
ОператорПК
25.09.25
✎
10:16
|
(25) Приложение AWMSTest поставил, при открытии выдает "подключено". если сканирую ШК то приложение AWMSTest "молчит" - ничего в нем не меняется.
|
|||
28
p-soft
25.09.25
✎
10:18
|
(26) сервис только события от клавы генерит и все.
по событиям. события андроида 1с сама ловить не умеет, для этого используется вк. процесс выглядит так: 1с инициирует внешнюю компоненту, с этого момента вк начинает мониторить указанное в настройках событие андроид. как только поймало - генерится вызов обработки внешнего события 1с, а дальше все как указано. виртуальная клава на экране не генерит обсуждаемые события 1с! |
|||
29
p-soft
25.09.25
✎
10:19
|
(27) потому что надо прописать идентификатор события сканера там же в настройках.
событие клавы прописывать не нужно, оно уже само ловится - просто включите ползунок для отображения |
|||
30
ОператорПК
25.09.25
✎
10:19
|
+(27) если прописать "Событие"="com.awms.message.keycode" в настройках то при считывании ШК пишет:
ПодключаемоеОборудование/Barcode: |
|||
31
p-soft
25.09.25
✎
10:24
|
(30) говорю же - разберитесь с кашей.
видите - ловит. но это событие клавиатуры, что сервис генерит. поле данных не указали - поэтому данных нет. событие сканера сами выше приводили: имя: scan.rcv.message данные: barcodeData но это если оно в настройках сканера так прописано в системном меню - проверяйте |
|||
32
ОператорПК
25.09.25
✎
10:26
|
+(19) в настройках ТСД поменял интенты на "com.awms.message.keycode" и "keycode" все равно не работает...
|
|||
33
ОператорПК
25.09.25
✎
10:28
|
(31) данные прописал "keycode" но в результате все равно так:
ПодключаемоеОборудование/Barcode: |
|||
34
ОператорПК
25.09.25
✎
10:29
|
+(33) тут имелось в виду Данные в настройках AWMStest
|
|||
35
p-soft
25.09.25
✎
10:30
|
(33) в настройках "Тип события" в "Клавиатура" переведите
|
|||
36
ОператорПК
25.09.25
✎
10:30
|
+(34) по новой вошел в приложение AWMStest и уже теперь ест ПодключаемоеОборудование/Barcode:4670008492716
|
|||
37
ОператорПК
25.09.25
✎
10:31
|
(35) перевел, теперь в окне "результат" ни чего не меняется...
|
|||
38
ОператорПК
25.09.25
✎
10:31
|
+(37) при сканировании
|
|||
39
ОператорПК
25.09.25
✎
10:34
|
(35) сейчас в настройках ТСД вернул интенты на
имя: scan.rcv.message данные: barcodeData и теперь в приложении AWMStest при сканировании пишет ПодключаемоеОборудование/Barcode:621 - видимо это код кнопки... |
|||
40
ОператорПК
25.09.25
✎
10:38
|
+(39) вернул интенты в настройках самого ТСД на "com.awms.message.keycode", с полем "keycode" и теперь при каждом сканировании выдается сразу две строки:
ПодключаемоеОборудование/Barcode:621 ПодключаемоеОборудование/Barcode:4670008492716 |
|||
41
p-soft
25.09.25
✎
10:38
|
(39) "Тип события" переключайте.
все правильно, если событие клавы прописать в настройке сканера, то словим глюк, т.к. оно УЖЕ прописано в коде вк и ловится отдельным потоком. |
|||
42
ОператорПК
25.09.25
✎
10:39
|
+(40) если бы такое прилетало в 1С меня бы вполне устроило (просто по длине строки отсек бы лишнее и все)
|
|||
43
p-soft
25.09.25
✎
10:39
|
(40) ну в общем все так и должно быть при кривых настройках.
главное - получили связь своих действий с изображением на экране, дальше проще. удачи!) |
|||
44
ОператорПК
25.09.25
✎
10:40
|
(39) если переключить тип события на "Клавиатура" то в окне сообщения ничего нет при сканировании.
|
|||
45
ОператорПК
25.09.25
✎
10:49
|
(43) Спасибо, удача мне понадобится :)
|
|||
46
ОператорПК
25.09.25
✎
15:20
|
Если кому то интересно, то уважаемый "p-soft" предоставил мне "каркасную (тестовую) конфигурацию" в виде cf, в которой встроен им разработанный драйвер + нужен файлик из (4) на ТСД установить (и обеспечить работу). С их помощью все заработало: ШК считывается и передается в мобильное приложение 1С! СПАСИБО!
|
|||
47
Маленький Вопросик
25.09.25
✎
17:05
|
(46) вот мой пример с "лазером"
https://infostart.ru/1c/tools/2242904/ может не своевременно, но он точно рабочий уважаемый p-soft вероятно не сказал, что публикация должна быть по ряду параметров, если это через приложение 1с ? |
|||
48
ОператорПК
25.09.25
✎
17:57
|
(47) Да именно об этом примере я писал в (12).
"уважаемый p-soft вероятно не сказал, что публикация должна быть по ряду параметров" - я публиковал из конфигуратора 1С на сервере, в качестве web сервера использую Apache 2.2 ни каких особых настроек при этом не делал - стандартная процедура публикации базы для того чтоб ее можно было использовать например через браузер. |
|||
49
ProxyInspector
25.09.25
✎
18:24
|
(0) Считать Штрихкод со штатных физических кнопок ТСД и передать его в 1С ....
Что то не понятно что вы хотите |
|||
50
ОператорПК
25.09.25
✎
18:32
|
(49) видимо я не удачно выразился. имелось в виду следующее: ШК можно считать "камерой" и без проблем передать в 1С (описано тут например https://vkvideo.ru/video300336536_456239401?t=7m7s&ref_domain=yastatic.net&showAutoLoginModal=1) - работает это "из коробки" без каких либо драйверов и реализуется за 10 минут с перерывом на чай :), но само собой такой способ на ТСД "не айс", на ТСД есть физические кнопки которые включают лазер для считывания - вот мне и нужно было "считать лазером" ШК и передать его в 1С.
|
|||
51
ОператорПК
25.09.25
✎
18:36
|
(49) кстати!!!! этож Ваш код то тут https://fastcode.im/Templates/9801/ispolzovanie-v-mobilnom-prilozhenii-android-skanera-shtrixkodov-s-komponentoj-drajver1sustrojstvovvodanative-ot-1s может расскажите как у Вас то все взлетело??? у меня не работало считывание чисто на вашем слегка измененном коде по части загрузки драйвера (писал об этом в (0))...
|
|||
52
Маленький Вопросик
25.09.25
✎
18:44
|
(48) я работаю штатным iis
стандартно тоже опубликуется, но "лазер" не подхватится |
|||
53
ОператорПК
25.09.25
✎
18:58
|
(52) если у меня перестанет что-то устраивать в текущей схеме работы, то ваша разработка из https://infostart.ru/1c/tools/2242904/ будет определенно первым кандидатом, для покупки бесценных знаний по настройке IIS для нужного мне механизма.
|
|||
54
ProxyInspector
25.09.25
✎
19:13
|
(51) Да это мой код. все взлетело и летает.На нескольких типах ТСД
|
|||
55
ProxyInspector
25.09.25
✎
19:15
|
А если вы хотите использовать Камеру вместо лазера, то вам никакие компоненты не нужны. В мобильном приложении есть свои методы. Но я не использовал их.
|
|||
56
ОператорПК
25.09.25
✎
19:19
|
(54)+(55) может быть у Вас секрет такой же как у (52) вы в качестве web сервера используете iis с хитрыми настройками а не Apache? камеру я разумеется использовать не хочу
|
|||
57
ProxyInspector
25.09.25
✎
19:24
|
(50) "считать лазером" ШК и передать его в 1С
1С вы называете Мобильное приложение? Тогда вам нужна компонента от 1С. Если у вас компонента установилась, а событие не попадает, то вам надо смотреть настройки сканера ТСД. Для разных ТСД в разных местах настраивается. Вам надо настроить ТСД, так чтобы он генерировал BROADCАST сообщение с ожидаемыми компонентой "Intent action" и "Intent string extra" Больше там ничего нет. |
|||
58
ОператорПК
25.09.25
✎
19:27
|
(57) 1С у меня "мобильный клиент".
|
|||
59
ProxyInspector
25.09.25
✎
19:27
|
А при чем здесь IIS? А меня конечно Apach. Там наверно важно в каком режиме у вас работает Мобильное приложение. Мое мобильное приложение ничего не знает об IIS
|
|||
60
ProxyInspector
25.09.25
✎
19:31
|
Наверно что "Мобильный клиент" что "Мобильное приложение" большой разницы не имеет.
Если вы установили компоненту от 1С. И вызвали метод ПолучитьПараметры() ПараметрыКомпонентыXML = ""; // Получаем XML документ описывающий возможные параметры Компоненты глСканер.ПолучитьПараметры(ПараметрыКомпонентыXML); И вам вернулся разумный текст XML. То дальше вам надо копать в сторону настройки ТСД |
|||
61
ProxyInspector
25.09.25
✎
19:33
|
IIS - это зло.
|
|||
62
ОператорПК
25.09.25
✎
19:35
|
(60) ну я на счет ПараметрыКомпонентыXML не в курсе был... параметры устанавливал как у Вас в коде было типа:глСканер.УстановитьПараметр("Prefix" , -1); // NONE
|
|||
63
ОператорПК
25.09.25
✎
19:35
|
(61) ну коллега из (52) так не считает например :)
|
|||
64
ProxyInspector
25.09.25
✎
19:37
|
ПолучитьПараметры() возвращает вам описание доступных методов на компоненте от 1С
|
|||
65
ProxyInspector
25.09.25
✎
19:39
|
Там как раз и прописаны возможные параметры.
Плюс эти параметры описаны на сайте 1С |
|||
66
ОператорПК
25.09.25
✎
19:40
|
(57)+ Тогда вам нужна компонента от 1С. - разумеется компонента из макета "Драйвер1СУстройстваВводаNative" есть (об этом я писал еще в (0) что она есть и вполне себе "стартует") итенты разумеется были настроены в коде (ваша процедура Процедура ПодключитьСканерМобильноеПриложение()) точно такие же как были на устройстве. но меня смущают другие параметры типа "глСканер.УстановитьПараметр("Prefix" , -1); // NONE"
на сколько они Важны в коде? если что-то не дописал или не так написал могло это как раз повлиять на то что ШК не передавался? |
|||
67
ProxyInspector
25.09.25
✎
19:41
|
Если у вас одна база то IIS может и пойдет. А если десятки баз, то нет.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |