![]() |
![]() |
![]() |
|
Подключение сканера в разрыв клавиатуры | ☑ | ||
---|---|---|---|---|
0
кассир
21.08.25
✎
14:47
|
Добрый день.
Есть сканер который работает в режиме клавиатуры. Необходимо его подключить к форме 1с 8. Есть следующий код(нашел в интернете), но не получается получить штрих код Процедура ПриОткрытии() ПодключитьОбработчикОжидания("ОбработатьНажатиеКлавиши", 0.1, Ложь); // Периодичность - 0.1 секунды КонецПроцедуры Процедура ПриЗакрытии() ОтключитьОбработчикОжидания("ОбработатьНажатиеКлавиши"); КонецПроцедуры Процедура ОбработатьНажатиеКлавиши() // Как получить здесь нажатые клавиши( при сканировании будет штрих)? КонецПроцедуры |
|||
1
Fragster
гуру
21.08.25
✎
14:51
|
продолжайте наблюдение
|
|||
2
Волшебник
21.08.25
✎
14:51
|
(0) Не надо врать. Многократный обработчик ожидания с периодичностью менее 1 сек не подключится!
Если указано значение меньше 1, то значение третьего параметра должно быть равно Истина. |
|||
3
Fragster
гуру
21.08.25
✎
14:55
|
(2) а кто сказал, что найденный в интернете код будет работать?
|
|||
4
Fragster
гуру
21.08.25
✎
14:57
|
нет бы инструкцию поискать, документацию к конфигурации или библиотеке подключаемого оборудования поизучать.
на крайняк - подумать, как сделать так, чтобы оно работало просто так. например через установку у сканера префикса типа F7 и кнопки в 1с, с этим сочетанием клавиш, которая открывает ввод строки (как в ТиС было сделано когда-то) |
|||
5
кассир
21.08.25
✎
14:58
|
Да для 0.1 устанавливается только однократный вызов поэтому ложь. Переправил на 1 и поставил истина. Выполняется многократно. Подскажите тогда без драйверов можно ли подключить сканер в режиме клавиатуры к форме?
|
|||
6
Fragster
гуру
21.08.25
✎
15:00
|
(5) > Подскажите тогда без драйверов можно ли подключить сканер в режиме клавиатуры к форме?
да |
|||
7
кассир
21.08.25
✎
15:01
|
Есть документация по работе со сканером 1CScanOPOSScan_v2.epf. Но интересно поянять можно ли это сделать по простому. Я 1с 7.7 я делал через formex.dll Там можно было настроить сканер в режиме STX ... ETX и потом как нажатые клавиши это прочитать. В 1с 8 не нахожу эту возможность.
|
|||
8
кассир
21.08.25
✎
15:03
|
(6) Подстажите ссылку плиз где почитать как это сделать?
|
|||
9
Злопчинский
21.08.25
✎
15:08
|
(7) "Я 1с 7.7 я делал через formex.dll Там можно было настроить сканер в режиме STX ... ETX и потом как нажатые клавиши это прочитать. "
- а поподробнее можно про упомянутое..? |
|||
10
Злопчинский
21.08.25
✎
15:09
|
(8) только учесть, что скорее всего сканирование будет отрабатывать в зависимости от того, на каком элементе формы стоит фокус...
? |
|||
11
Fragster
гуру
21.08.25
✎
15:16
|
(8)(10) см (4)
|
|||
12
Fragster
гуру
21.08.25
✎
15:17
|
(7) какой формекс, нафига? в клюшках использовался либо драйвер либо подход из (4)
|
|||
13
Злопчинский
21.08.25
✎
15:26
|
(11) это надо 8-ую конфигу править, а если без правок...?
|
|||
14
Злопчинский
21.08.25
✎
15:26
|
(12) или держать на форме только одно активное поле для ввода и фокус постоянно на нем...
|
|||
15
кассир
21.08.25
✎
17:12
|
(9) Ответ:
// Настраиваем сканер префикс STX суфикс ETX // Подключаем formex.dll ЗагрузитьВнешнююКомпоненту("FormEx.dll") // предопределенная процедура из formex.dll используется для считывания штрих-кодов USB-сканером Процедура ПриНажатииКнопкиКлавиатуры(Конт,КодКлавиши,Alt,Shift,Ctrl,Символ,ФСО) МояОбработкаКлавиши(Конт,КодКлавиши,Alt,Shift,Ctrl,Символ,ФСО); КонецПроцедуры // Функция МояОбработкаКлавиши(Конт,КодКлавиши,Alt,Shift,Ctrl,Символ,ФСО) Экспорт Если Символ =Симв(2) Тогда // это перфикс STX Сообщить("Начало ШК"); КонецЕсли; считываемШтрихКод = 1; глШтрихКод = ""; Возврат 0; КонецЕсли; Если Символ =Симв(3) Тогда //это суфикс ETX Сообщить("Конец ШК"); считываемШтрихКод = 0; ОбработатьШрихкод();//это Ваша процедура которая возьмет переменную глШрихКод и сделает что нужно))) КонецЕсли; Если считываемШтрихКод = 1 тогда глШрихКод = глШтрихКод + Символ;//это глобальная КонецЕсли; КонецФункции |
|||
16
кассир
21.08.25
✎
15:33
|
Нужно при создании документа приходная накладная при сканировании товара автоматом добавлять его в документ. Это только через OPOSscan в 1с 8 реализуемо?
|
|||
17
Злопчинский
21.08.25
✎
16:15
|
(15) ETX STX - это само оборудование отдает, или это символы считанного ШК (какого формата)..?
|
|||
18
кассир
21.08.25
✎
16:18
|
(17) это сам сканер добавляет( в штрих коде их нет). Это называется суфикс и префикс настраивается в самом сканере
|
|||
19
кассир
21.08.25
✎
16:21
|
https://help.mertech.ru/barcode_scanners/SUPERLEAD/suffix_ETX.html ссылка на пример сканера mertech
|
|||
20
Fragster
гуру
21.08.25
✎
17:04
|
(13) если у тебя типовая - то там есть БПО. если нетиповая - то что мешает править?
|
|||
21
Fragster
гуру
21.08.25
✎
17:05
|
(16) нет
|
|||
22
Fragster
гуру
21.08.25
✎
17:06
|
Волшебник почему в (15) нет подсветки у ссылки на (9)?
|
|||
23
Волшебник
21.08.25
✎
17:13
|
(22) Не знаю. Надо дебажить
Upd. В коде была фраза: Симв(02), почему-то из-за неё ломалось После замены на Симв(2) цифра стала синей |
|||
24
Builder
21.08.25
✎
17:17
|
Я один не понимаю нахрена эти извраты, когда уже давно (и даже в клюшках) драйвера умеют генерить событие для клавиатурных сканеров?
|
|||
25
MWWRuza
гуру
21.08.25
✎
20:58
|
+(24) Именно так.
И вообще, что мешает использовать сканер в режиме эмуляции com-порта? Не умеет? Где вы такие сканеры берете. Все современные сканеры переключаются и в КБ и в ком... Зато сразу отпадает куча вопросов по сканированию ШК маркировки. А то, то язык не тот, то регистр, то управляющие символы не передаются, то сжирает часть кода. С COM-портовыми сканерами таких проблем нет. Единственное оправдание использования КБ сканеров - если их нужно в нескольких программах, запущенных одновременно использовать. А так, работает везде, в том числе и по RDP. |
|||
26
H A D G E H O G s
21.08.25
✎
22:29
|
(25) "если их нужно в нескольких программах, запущенных одновременно использовать."
Ставим VSPE, добавляем Splitter и расшариваем COMпорт на множество программ |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |