Имя: Пароль:
1C
1C 7.7
v7: поймать событие от сканера даже если 1с не в фокусе реально?
,
0 palpetrovich
 
09.04.14
10:07
если да - как?
1 2S
 
09.04.14
10:13
имхо, нет
2 2S
 
09.04.14
10:14
тебе нужно передать событие в 1С?
3 ikea
 
09.04.14
10:15
По ходу никак.
4 ikea
 
09.04.14
10:16
Другой вариант сделай так, чтобы 1С находилась все время в фокусе или на момент сканирования находилась в фокусе.
5 palpetrovich
 
09.04.14
10:26
(4) как? ...разве-что по рукам оператору дввать, что-б на другое не переключался
6 Топтыга
 
09.04.14
10:31
Средствами 1С не знаю, мы делали прогу на Делфях, весела в трее, ловила сканер, и разворачивала нужную конфу,передавая событие.
7 Топтыга
 
09.04.14
10:32
Читали информацию с порта
8 palpetrovich
 
09.04.14
10:39
(6) вариант ...может так и надо будет сделать
9 ikea
 
09.04.14
10:39
(5) Зачем по рукам. Есть Formex. Там объект Окна, там метод ВключитьМодальныйРежим().
10 ikea
 
09.04.14
10:41
(5) Еще вариант посадить оператора на терминал, там запускать 1с как приложение при в ходе в систему, соответственно у пользователя вообще ничего не будет кроме 1с.
11 Топтыга
 
09.04.14
10:46
а работать с одной базой или нет? Если с одной то (9) и (10), рабочие варианты только в терминле с  port mapping можно помучится.
12 varelchik
 
09.04.14
10:47
(0)Для начала определитесь что вы имеете под поймать событие от сканера.
в 1С есть глобальная процедура ОбработкаВнешнегоСобытия()
и ей до ломпадки в фокусе окно 1С или нет.
13 Ork
 
09.04.14
10:48
(0) С комовского сканера - вполне. С клавиатурного - нужен фокус. Иначе операционка передаст событие в активное окно.
14 varelchik
 
09.04.14
10:48
(0) тупой вопрос и соответственно тута не телепаты находятся.
15 Топтыга
 
09.04.14
10:51
(13) я думаю с клавиатурного, иначе вопросов бы не было
16 Ork
 
09.04.14
10:54
(15) Тогда только прокладка, которая будет следить за буфером клавиатуры, анализировать и вызывать уже свое событие в 1с, а все что оно посчитало не вводом со сканера оставлять на разграбление задачи с активным окном.
ЗЫ. Думаю - это задача не для одноэсника с этого форума.
17 palpetrovich
 
09.04.14
11:01
Сканер - ЮСБ-шный,  поключен к компу на проходной, микроконфа - регистрация входж/выход сотрудников. Кроме нее на компе крутится видеонаблюдение. Но, кто-б мог подумать, охранники почему-то зависают в интернете.. ну и забывают  переключаться на 1с
18 palpetrovich
 
09.04.14
11:01
(12) вранье
19 varelchik
 
09.04.14
11:02
(18)ты б уточнил у них 1С вообще-то запущена?
20 Ork
 
09.04.14
11:05
(17) Обычно дрова к ЮСБ сканерам умеют эмулировать КОМпорт.
Фишка в следующем : КОМ не могут занять два процесса одновременно. Там - кто первый встал того и тапки. Аж пока не отпустит. И не важно процесс выполняется в фоне или нет.
А фокус клавиатурного ввода может принадлежать только активному окну.
21 Lokli
 
09.04.14
11:05
(18) вот так вот!!! прям  враньё?! а как же у всех остальных работает?
22 palpetrovich
 
09.04.14
11:05
(19) спасибо :)
23 palpetrovich
 
09.04.14
11:06
(21) что работает, ОбработкаВнешнегоСобытия() когда я сижу в Опере? ... да ща
24 varelchik
 
09.04.14
11:14
(23)ты хоть сам то проверял?
выведе в глобальном обработчик сообщить
сверни 1с выбери оперу
отсканируй ченить.
вернись в 1С и посмотри что вывело.
25 Torquader
 
09.04.14
13:47
Вариант 1 - перевести сканер в режим USB-Serial, когда он опознаётся виртуальным COM-портом - тогда ничего не потеряется.
Вариант 2 - программировать в начале штрих-кода горячую клавишу, чтобы какая-то программа её ловила и получала весь штрих-код себе.
Также можно написать глобальный фильтр-драйвер, который будет перехватывать все данные от сканера (так как это одно HID-устройство) и пересылать их 1С, даже если она не в фокусе.
26 Torquader
 
09.04.14
13:47
Ну и ещё, как вариант - просто повесить утилиту, которая не даёт сворачивать 1С вообще.
27 ДенисЧ
 
09.04.14
13:48
(23) (24) внешнее событие - работает в любом состоянии (у меня оно ловило, даже когда на компе с 1с был cs запущен)...
28 Torquader
 
09.04.14
14:33
(27) Начнём с того, что сканеры бывают в разрыв клавиатуры и RS-232, так как последние действительно работают всегда, а первые - передают данные только в то приложение, которое находится в фокусе, как и обычные нажатия клавиш на клавиатуре.