Имя: Пароль:
1C
1С v8
Сканер не срабатывает по ВвестиСтроку() в ЧекККМ
0 Boudybuilder
 
21.09.15
22:58
Здравствуйте!

В модуле формы документа ЧекККМ стоит процедура с функцией ВвестиСтроку(), в которую надо вводить данные сканером штрих-кода.

Очень интересно то, что если я тестю на своем железе, где сканер не настроен в 1С с драйверами, то все работает.

А у клиента сканер подключен в 1С в торговом оборудовании с драйвером, и ВвестиСтроку() сканером не получается. А только ручками с клавиатуры.

Заметил что настроенный сканер перехватывает процедура формы ВнешнееСобытие(). А не настроенный вроде нет.

Как тут быть?
1 marty0701
 
21.09.15
23:22
(0)С твоим кодом, подключи сканер как "клавиатуру" и всё заработает, только вот клиент наверняка будет не очень доволен)
2 marty0701
 
21.09.15
23:25
Нарисуй свою форму ввода штрихкода и обработай ввод со сканера наверняка подключенного в режиме эмуляции COM.
3 Boudybuilder
 
21.09.15
23:30
(2) На ВнешнееСобытие() возврат данных из открытой в модальном режиме думаю не будет уже распространятся?
Ведь ее только модально прийдется открывать.
4 marty0701
 
21.09.15
23:32
(3)Почему только модально? Убери всё лишнее с формы и будет ничем не отличимая форма ввода строки.
5 Boudybuilder
 
21.09.15
23:36
Ну, просто надо чтобы "поле ввода" не искали лишний раз :) Если переключатся на другую форму.
6 marty0701
 
21.09.15
23:41
(5)Зачем это всё вообще, обрисуй ситуацию, может и не нужно оно тебе это окно ввода строки
7 Сияющий в темноте
 
21.09.15
23:48
Жил был человек,который не умел настраивать префикс в сканере,а без него обработка во внешнее событие ничего не получит.
Если сканер уже настроен,то нечего танцевать с бубном вокруг ввести строку,а нужно честно обработать внешнее событие,например как в форме списка номенклатуры,но нужно ещё и не забыть подключить и отключить форму
8 marty0701
 
21.09.15
23:57
(7)Попробуй в модальной форме, потом возвращайся в разговор;)
9 Boudybuilder
 
22.09.15
00:41
(7) Человек понятия не имеет о каких префиксах идет речь.
(8) Не уж то в модальном режиме внешнеесобытие сработает?
10 Boudybuilder
 
22.09.15
00:45
(6) Нужно. Так как клиенту захотелось разрешить менять данные в документе только после ввода регистрационной карты пользователям с правами. Иначе ЭтаФорма.ТолькоПросмотр = Истина;
11 Boudybuilder
 
22.09.15
20:59
Все таки в получать данные из формы открытой в модальном режиме дает тот же эффект что и Ввестистроку().
12 Сияющий в темноте
 
22.09.15
21:43
если сканер цеплять как порт,то модальность формы не мешает,просто придётся порт читать из формы
опять же подписка на события сомобьекта будет работать
тем болен,что в 1с форму в отдельный поток не вываливают как в вебпридожениях вот там действительно фокус не выходит
13 Boudybuilder
 
08.10.15
13:37
У меня так ничего и не получилось...
Даже так не помогло:

Процедура ДействияФормыИзменить(Кнопка)
    
    Ф = ПолучитьФорму("ФормаВводаРегистрационнойКарты");
    Ф.Заголовок = "Введите код регистрационной карты.";
    Ф.РодительскаяФорма = ЭтаФорма;
    Ф.Открыть();
        
КонецПроцедуры



А в той форме нарисовал поле ввода, и процедуру:

Перем РодительскаяФорма Экспорт;


Процедура ПолеВВодаПриИзменении(Элемент)
    
    РодительскаяФорма.ВвестиКодРегистрационнойКарты(Элемент.Значение);
    ЭтаФорма.Закрыть();
    
КонецПроцедуры
14 Boudybuilder
 
13.10.15
21:11
(13) Есть идеи?