Переключение на Главную Страницу Страницы: [1]  ОтправитьПечать
Очень популярная тема (более 25 ответов) Перехват сканера штрихкодов в ФормеСписка справочника (число прочтений - 15802 )
simply
God Member
*****
Отсутствует


Мечта: избавиться от 1С

Сообщений: 573
Местоположение: Киев
Зарегистрирован: 31. Декабря 2008
Пол: Мужской
Перехват сканера штрихкодов в ФормеСписка справочника
09. Января 2009 :: 18:10
Печать  
Доброго времени суток всем!
Подскажите, пожалуйста, как при помощи FormEx можно перехватить отсканированный штрихкод, если курсор находится в ФормеСписка справочника?
Думаю, что такое возможно, надо только метод "хитрый" знать  Подмигивание

Причина вопроса - в ФормеСписка справочника товаров редактирование категорически запрещено. Но если ручным сканером был отсканирован любой штрихкод, то в ФормеСписка выбирается первая попавшаяся запись и ее поле становится доступным для редактирования, т.к. в настройках сканера включен <Enter> в конце.
  
Наверх
IP записан
 
MrDen
Junior Member
**
Отсутствует



Сообщений: 50
Местоположение: Краснодар
Зарегистрирован: 19. Ноября 2008
Пол: Мужской
Re: Перехват сканера штрихкодов в ФормеСписка справочника
Ответ #1 - 10. Января 2009 :: 16:43
Печать  
Если сканер не в разрыве клавиатуры то ОбработкаВнешнегоСобытия в ФормеСписка, если надо чтобы ФормаСписка открылась тогда в ГМ ОбработкаВнешнегоСобытия с передачей в форму
в ГМ
Процедура ОбработкаВнешнегоСобытия(Источник,Событие,Данные)
Если Событие="BarCodeValue"      Тогда
ОткрытьФорму(НужнаяФорма,Данные);
КонецЕсли;
в форме при открытии ловить параметр
если сканер в разрыве клавиатуры можно отловить в
Форме
ПриНажатииКнопкиКлавиатуры(КодКлавиши,Alt,Shift,Ctrl,Символ,ФСО)
причем следить за тем чтобы были числа, шли последовательно, последний Enter при цифрах ФСО в 0
  
Наверх
ICQ  
IP записан
 
simply
God Member
*****
Отсутствует


Мечта: избавиться от 1С

Сообщений: 573
Местоположение: Киев
Зарегистрирован: 31. Декабря 2008
Пол: Мужской
Re: Перехват сканера штрихкодов в ФормеСписка справочника
Ответ #2 - 10. Января 2009 :: 17:29
Печать  
Спасибо большое за желание помочь, и прошу прощения, что сразу не сообщил, сканер в разрыв клавиатуры.

Я пробовал в Отладчике отследить ЧТО и КАК передает сканер при помощи "ПриНажатииКнопкиКлавиатуры".
Передача символов идеть по-шагово, т.е. по одному символу. Получается, что нужно собирать все символы в строку, пока не будет передан Enter.

К сожалению, я даже не представляю, как объяснить программе, что это случайный штрихкод?! Ведь пользователи в основном пользуются набором цифр для быстрого поиска по реквизиту, а для открытия формы элемента - энтером.

Кстати, в дебагере я видел различные символы, но не в количестве 13. Там были цифры, "*", "^" и другие, но почти всегда в конце символ ")" и Enter.
  
Наверх
IP записан
 
MrDen
Junior Member
**
Отсутствует



Сообщений: 50
Местоположение: Краснодар
Зарегистрирован: 19. Ноября 2008
Пол: Мужской
Re: Перехват сканера штрихкодов в ФормеСписка справочника
Ответ #3 - 10. Января 2009 :: 18:03
Печать  
В зависимости от того какие используются типы штрихкодов так и обрабатывать. Собирать придется однозначно, ставить флаги типа собирается и тп. Все равно какойто изврат получается Улыбка
  
Наверх
ICQ  
IP записан
 
simply
God Member
*****
Отсутствует


Мечта: избавиться от 1С

Сообщений: 573
Местоположение: Киев
Зарегистрирован: 31. Декабря 2008
Пол: Мужской
Re: Перехват сканера штрихкодов в ФормеСписка справочника
Ответ #4 - 10. Января 2009 :: 18:12
Печать  
Мы используем только два типа штрихкодов: EAN13 и Code39.
Думаю, что Code39 передается посимвольно как есть. Обязательно в понедельник проверю.
А вот EAN13 передает не понято что. Я это частично описал выше.
  
Наверх
IP записан
 
MrDen
Junior Member
**
Отсутствует



Сообщений: 50
Местоположение: Краснодар
Зарегистрирован: 19. Ноября 2008
Пол: Мужской
Re: Перехват сканера штрихкодов в ФормеСписка справочника
Ответ #5 - 10. Января 2009 :: 18:16
Печать  
EAN13 цифры. Еще и сканер проверь может он мусор шлет
  
Наверх
ICQ  
IP записан
 
simply
God Member
*****
Отсутствует


Мечта: избавиться от 1С

Сообщений: 573
Местоположение: Киев
Зарегистрирован: 31. Декабря 2008
Пол: Мужской
Re: Перехват сканера штрихкодов в ФормеСписка справочника
Ответ #6 - 10. Января 2009 :: 18:20
Печать  
Не подскажешь - как проверить?
Я проверял в Блокноте - только цифры. В Табло 1С - тоже только цифры. Штрихкод считан правильно.
  
Наверх
IP записан
 
АЛьФ
FormEx developer
1c++ developer
Отсутствует



Сообщений: 1538
Местоположение: Санкт-Петербург
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Перехват сканера штрихкодов в ФормеСписка справочника
Ответ #7 - 11. Января 2009 :: 16:55
Печать  
Не проще ли просто запретить редактирование в списке?
  

FormEx developer
Наверх
www  
IP записан
 
simply
God Member
*****
Отсутствует


Мечта: избавиться от 1С

Сообщений: 573
Местоположение: Киев
Зарегистрирован: 31. Декабря 2008
Пол: Мужской
Re: Перехват сканера штрихкодов в ФормеСписка справочника
Ответ #8 - 11. Января 2009 :: 17:53
Печать  
АЛьФ писал(а) 11. Января 2009 :: 16:55:
Не проще ли просто запретить редактирование в списке?

Спасибо, АЛьФ, что уделил внимание.

Парадокс заключается в том, что запреты стоят везьде, где можно. И на элементах формы, и в программном коде (в т.ч. во всех предопределенных процедурах), и на уровне прав, и в самой конфигурации.

Этот справочник доступен пользователю только для просмотра. А его заполнение выполняется из обработок автообмена.

Но, если форма списка активна, и под сканер попал штрихкод, то выбирается первое попавшее поле (а это поле кода, по которому пользователи производят ручной поиск), и поле становится активным для редактирования, как при разрешенном редактировании в списке.
Я однажды сумел сэмулировать подобную ситуацию, когда очень очень быстро набрал цифру и Энтер. Под сканером это происходит всегда.

Было бы высшим пилотажем, если бы я смог перехватить отсканированный штрихкод, найти по нему элемент и спозиционироваться на нем...
Но сейчас задача минимум - хотя бы защитить справочник от правки.
  
Наверх
IP записан
 
simply
God Member
*****
Отсутствует


Мечта: избавиться от 1С

Сообщений: 573
Местоположение: Киев
Зарегистрирован: 31. Декабря 2008
Пол: Мужской
Re: Перехват сканера штрихкодов в ФормеСписка справочника
Ответ #9 - 13. Января 2009 :: 16:12
Печать  
Нашел решение проблемы!

В наших сканерах (Symbol LS2208) не были зашиты Префикс и Суффикс.
Перепрошили сканеры, установив Префикс и Суффикс равными "+++".

В 1С, меню "Сервис \ Параметры" на закладке "Торговое оборудование" в настройках сканера тоже указали эти Перфикс и Суффикс.

Теперь в 1С предопределенная глобальная процедура ОбработкаВнешнегоСобытия(Источник,Событие,Данные) принимает его правильно: <Источник> = "Сканер", а <Данные> содержит строку с полным штрихкодом.

Как всегда проблема оказалась в незнании

Всем большое спасибо!

P.S.: Чем больше осваиваю я FormEx, тем больше мне она нравится!
Вот только очень тяжело, когда нет примеров кодов по полезному применению ее методов ...
Улыбка
P.S.2: Рано обрадовался, на этом мои мучения не закончились. Немного позже, когда все отлажу - опишу подробно (27.01.2009)
« Последняя редакция: 27. Января 2009 :: 16:08 - simply »  
Наверх
IP записан
 
MrDen
Junior Member
**
Отсутствует



Сообщений: 50
Местоположение: Краснодар
Зарегистрирован: 19. Ноября 2008
Пол: Мужской
Re: Перехват сканера штрихкодов в ФормеСписка справочника
Ответ #10 - 13. Января 2009 :: 19:04
Печать  
simply писал(а) 13. Января 2009 :: 16:12:
Вот только очень тяжело, когда нет примеров кодов по полезному применению ее методов ...

Ну это ты зря. Пример кода прямо на офф-сайте.
  
Наверх
ICQ  
IP записан
 
simply
God Member
*****
Отсутствует


Мечта: избавиться от 1С

Сообщений: 573
Местоположение: Киев
Зарегистрирован: 31. Декабря 2008
Пол: Мужской
Re: Перехват сканера штрихкодов в ФормеСписка справочника
Ответ #11 - 13. Января 2009 :: 21:19
Печать  
MrDen писал(а) 13. Января 2009 :: 19:04:
simply писал(а) 13. Января 2009 :: 16:12:
Вот только очень тяжело, когда нет примеров кодов по полезному применению ее методов ...

Ну это ты зря. Пример кода прямо на офф-сайте.

Подскажи, пожалуйста. Лучше ссылкой.
Я здесь новичок. Да и в FormEx - тоже.
  
Наверх
IP записан
 
MrDen
Junior Member
**
Отсутствует



Сообщений: 50
Местоположение: Краснодар
Зарегистрирован: 19. Ноября 2008
Пол: Мужской
Re: Перехват сканера штрихкодов в ФормеСписка справочника
Ответ #12 - 13. Января 2009 :: 22:51
Печать  
simply писал(а) 13. Января 2009 :: 21:19:
MrDen писал(а) 13. Января 2009 :: 19:04:
simply писал(а) 13. Января 2009 :: 16:12:
Вот только очень тяжело, когда нет примеров кодов по полезному применению ее методов ...

Ну это ты зря. Пример кода прямо на офф-сайте.

Подскажи, пожалуйста. Лучше ссылкой.
Я здесь новичок. Да и в FormEx - тоже.

http://formex.dorex.ru/
http://www.1cpp.ru/forum/YaBB.pl?num=1191404333
http://ya.ru/
  
Наверх
ICQ  
IP записан
 
Bit
YaBB Newbies
*
Отсутствует



Сообщений: 13
Местоположение: Краснодар
Зарегистрирован: 19. Июня 2007
Пол: Мужской
Re: Перехват сканера штрихкодов в ФормеСписка справочника
Ответ #13 - 14. Января 2009 :: 09:41
Печать  
Может я чегото не понял, но не просче ислользовать уже готовые компаненты преднажначеные специально для работы со сканерами, например от Атола?
  
Наверх
 
IP записан
 
simply
God Member
*****
Отсутствует


Мечта: избавиться от 1С

Сообщений: 573
Местоположение: Киев
Зарегистрирован: 31. Декабря 2008
Пол: Мужской
Re: Перехват сканера штрихкодов в ФормеСписка справочника
Ответ #14 - 14. Января 2009 :: 11:03
Печать  
  
Наверх
IP записан
 
simply
God Member
*****
Отсутствует


Мечта: избавиться от 1С

Сообщений: 573
Местоположение: Киев
Зарегистрирован: 31. Декабря 2008
Пол: Мужской
Re: Перехват сканера штрихкодов в ФормеСписка справочника
Ответ #15 - 14. Января 2009 :: 11:18
Печать  
Bit писал(а) 14. Января 2009 :: 09:41:
Может я чегото не понял, но не просче ислользовать уже готовые компаненты преднажначеные специально для работы со сканерами, например от Атола?

С Атолом я не знаком. Стоящая вещь? В отношении сканера лучше ФормЭкса?
У ФормЭкса мне очень нравится Сервис со своими методами!

Еще нюанс:
У меня Рарус:Магазин (к сожалению, достался в наследство). И он (Рарус) очень не любит другие ВК. Но я не сдаюсь и взял за правило везьде, где вмешиваюсь - избавляться от него. Но штатные средства очень скудны. И тут меня "испортили" 1Срр и ФормЭксом.
Первый категорически не пойдет, пока не очищу конфигурацию. К тому же с ООП еще ни разу не сталкивался.
А от второй ВК - я в восторге!
Только очень не просто освоение дается  Подмигивание
Очень не хватает описаний "Кто? Где? и Зачем?". Особенно в жизненных примерах.
« Последняя редакция: 14. Января 2009 :: 12:59 - simply »  
Наверх
IP записан
 
Василий
YaBB Newbies
*
Отсутствует


I Love YaBB 2!

Сообщений: 4
Зарегистрирован: 02. Октября 2008
Re: Перехват сканера штрихкодов в ФормеСписка справочника
Ответ #16 - 04. Февраля 2009 :: 13:11
Печать  
Решал похожую задачу. Ловить события прямо на форме не получилось (не всегда правильно ловилось), а вот добавив поле ввода все получилось. При открытии формы фокус устанавливается на поле ввода, дальше отслеживается код Enterа на этом поле.
  
Наверх
 
IP записан
 
simply
God Member
*****
Отсутствует


Мечта: избавиться от 1С

Сообщений: 573
Местоположение: Киев
Зарегистрирован: 31. Декабря 2008
Пол: Мужской
Re: Перехват сканера штрихкодов в ФормеСписка справочника
Ответ #17 - 05. Февраля 2009 :: 10:56
Печать  
Василий писал(а) 04. Февраля 2009 :: 13:11:
Решал похожую задачу. Ловить события прямо на форме не получилось (не всегда правильно ловилось), а вот добавив поле ввода все получилось. При открытии формы фокус устанавливается на поле ввода, дальше отслеживается код Enterа на этом поле.

К сожалению в моем случае так нельзя.
Дело в том, что я сделал новый информационный справочник "Артикулы", по которому пользователи чаще всего ищут артикул быстрым поиском по первой колонке "Код" ("Артикул"), а Enter-ом открывать нужный элемент для детализированной информации.
Такое поле будет только мешать.
Я уже нашел решение и реализовал его.
Обязательно его здесь подробно опишу, но только чуточку позже. Время - дефицит  Печаль
  
Наверх
IP записан
 
simply
God Member
*****
Отсутствует


Мечта: избавиться от 1С

Сообщений: 573
Местоположение: Киев
Зарегистрирован: 31. Декабря 2008
Пол: Мужской
Re: Перехват сканера штрихкодов в ФормеСписка справочника
Ответ #18 - 11. Февраля 2009 :: 14:47
Печать  
Как обещал раньше, опишу поподробнее решение своей проблемы. Времени-то никогда не хватает. А вдруг кому пригодится?

Описание проблемы:
  Создал новый информационный справочник "Артикулы", только для чтения. Установил все запреты на изменение, какие только 1С 7.7 позволяет.
  У пользователей ФормаСписка этого справочника открыта постоянно (самый популярный справочник).
  На рабочем месте кладовщиков на подставке стоит постоянно включенный ручной лазерный сканер штрихкодов Symbol PS/2.
  Заметил, что когда курсор находится в МногострочнойЧасти ФормыСписка, а под сканер попадает какой-либо штрихкод, то в ФормеСписка выполняется проба произвести быстрый поиск (как при наборе на клавиатуре цифр для поиска), затем ближайшая ячейка становится доступной для редактирвония (как при редактировании в списке) и ее значение заменяется либо на остатки штрихкода, либо на символ клавиши, случайно нажатой пользователем, либо удаляется вообще.

  Еще раз повторюсь, никакие запреты ни в коде, ни в свойствах объекта не помогали.

Решение:
1. Запрограммировал в ручные сканеры префикс "+++" и суффикс "+++". "Объяснил" это 1С-у.
2. ПриОткрытии() ФормыСписка установил - Форма.ТолькоПросмотр(1)
  Так я полностью защитил элементы справочника.

  Но появились новые беды.
  - Сканер после штрихкода в конце передает <Enter> и пользователь при быстром поиске нужного артикула в конце нажимает <Enter>. При нажатии Enter-а открывается форма элемента, в которой детализируется нужная инфомация.
  - <Enter> после сканера сначала попадает в процедуру ПриНажатииКнопкиКлавиатуры(), а только потом в процедуру ОбработкаВнешнегоСобытия(Источник,Событие,Данные).

  Пришлось выкручиваться дальше:
3. В предопределенной процедуре FormEx-а ПриНажатииКнопкиКлавиатуры(КодКлавиши,Альт,Шифт,Контрл,СимвКл,ФСО) прописал необходимые, ставшие недоступными, стандартные обработки нажатия кнопок клавиатуры.
  А также начал перехватывать символ "+" при нажатии <Shift>+<=> и на цифровой клавиатуре.
  Заметил, что при прохождении штрихкода через сканер в этой процедуре надежно можно отловить только эти символы, которые стал накапливать в переменной чКвоПлюсы. Опытным путем вычислил, что при сканировании штрихкода чКвоПлюсы всегда равно 2.
  Так я стал различать Enter от сканера и  от пользователя.
  А чКвоПлюсы обнуляю при открытии формы элемента при помощи замечательного метода Сервис.УстановитьПеременнуюКонтекста()

Возможно все это слишком сложно, но все другие опробованные мною варианты - еще сложнее и не помогают.  Улыбка
« Последняя редакция: 11. Февраля 2009 :: 15:55 - simply »  
Наверх
IP записан
 
vip
1c++ power user
Отсутствует



Сообщений: 1570
Зарегистрирован: 19. Мая 2006
Re: Перехват сканера штрихкодов в ФормеСписка справочника
Ответ #19 - 11. Февраля 2009 :: 15:40
Печать  
Цитата:
2. ПриОткрытии() ФормыСписка установил - Форма.ТолькоЧтение(1)
  Так я полностью защитил элементы справочника.

Поделись, как сумел установить Форма.ТолькоЧтение(1) Улыбка
  
Наверх
ICQ  
IP записан
 
simply
God Member
*****
Отсутствует


Мечта: избавиться от 1С

Сообщений: 573
Местоположение: Киев
Зарегистрирован: 31. Декабря 2008
Пол: Мужской
Re: Перехват сканера штрихкодов в ФормеСписка справочника
Ответ #20 - 11. Февраля 2009 :: 15:54
Печать  
vip писал(а) 11. Февраля 2009 :: 15:40:
Цитата:
2. ПриОткрытии() ФормыСписка установил - Форма.ТолькоЧтение(1)
 Так я полностью защитил элементы справочника.

Поделись, как сумел установить Форма.ТолькоЧтение(1) Улыбка

Смех
сорри
Форма.ТолькоПросмотр(1)
а ТолькоЧтение - в голове засело ...

P.S.: уже исправил. Так старался в минимум текста вложить максимум доступного смысла, что заговорился  Улыбка
  
Наверх
IP записан
 
vip
1c++ power user
Отсутствует



Сообщений: 1570
Зарегистрирован: 19. Мая 2006
Re: Перехват сканера штрихкодов в ФормеСписка справочника
Ответ #21 - 11. Февраля 2009 :: 16:01
Печать  
Почитай http://www.uasoft.com.ua/content/articles/318/
Все твои проблемы расписаны.  Улыбка
  
Наверх
ICQ  
IP записан
 
simply
God Member
*****
Отсутствует


Мечта: избавиться от 1С

Сообщений: 573
Местоположение: Киев
Зарегистрирован: 31. Декабря 2008
Пол: Мужской
Re: Перехват сканера штрихкодов в ФормеСписка справочника
Ответ #22 - 11. Февраля 2009 :: 17:26
Печать  
vip писал(а) 11. Февраля 2009 :: 16:01:
Почитай http://www.uasoft.com.ua/content/articles/318/
Все твои проблемы расписаны.  Улыбка

Статья - СУПЕР!
Нижайший тебе поклон, vip!!!

Выходит, добавь я в суффиксе символ энтера, и не было бы головных болей.
Суффикс = "+++&13".

Дело в том, что отлаживать мне не где. На всем нашем офисе нет ни одного ПК с PS/2. А через переходник PS/2-USB сканер не работает. Поэтому выкручивался как мог.
Но ведь сделал!  Подмигивание

На днях проверю в каком-нибудь магазине.
  
Наверх
IP записан
 
Salimbek
God Member
*****
Отсутствует



Сообщений: 862
Зарегистрирован: 06. Июня 2006
Пол: Мужской
Re: Перехват сканера штрихкодов в ФормеСписка справочника
Ответ #23 - 11. Февраля 2009 :: 19:57
Печать  
Я пользовался драйвером Атол-а atol.ru - особых проблем - не было
  
Наверх
ICQ  
IP записан
 
simply
God Member
*****
Отсутствует


Мечта: избавиться от 1С

Сообщений: 573
Местоположение: Киев
Зарегистрирован: 31. Декабря 2008
Пол: Мужской
Re: Перехват сканера штрихкодов в ФормеСписка справочника
Ответ #24 - 12. Февраля 2009 :: 07:55
Печать  
simply писал(а) 11. Февраля 2009 :: 17:26:
Суффикс = "+++&13".

simply писал(а) 11. Февраля 2009 :: 17:26:
На днях проверю в каком-нибудь магазине.

Промучался весь вечер и все утро, размышлял над символом <Enter> в конце суффикса.
Если рассуждать логически, то 1С должна съесть <Enter>, считая его окончанием штрихкода от сканера.
А у меня в конфигурации очень много поисковых полей в формах, где автоматически в конце должен быть нажат <Enter>.

   Убедился в том, что и с Enter-ом в конце суффикса все поисковые поля отрабатывают как и раньше.
   Тогда я закоментировал в программном  коде проверку счетчика <чКвоПлюсы>. Проверка показала, что <Enter> от сканера отрабатывается раньше чем попадает в ОбработкаВнешнегоСобытия().

Выводы: в моем случае установка символа <Enter> в суффиксе ничего не меняет. Единственым надежным решением остается - моё.

Атол использовать не могу, т.к. у меня Рарус-Компонента
  
Наверх
IP записан
 
vip
1c++ power user
Отсутствует



Сообщений: 1570
Зарегистрирован: 19. Мая 2006
Re: Перехват сканера штрихкодов в ФормеСписка справочника
Ответ #25 - 12. Февраля 2009 :: 11:12
Печать  
Цитата:
Выводы: в моем случае установка символа <Enter> в суффиксе ничего не меняет. Единственым надежным решением остается - моё.

Выводы неправильные.
Позволю себе процитировать.
Цитата:
При считывании кода карты, происходит передача информации в виде нажатий клавиш на клавиатуре, как будто вводится вручную, но очень быстро. Чтобы различить нажатия клавиш пользователя от «нажатия клавиш» торговым оборудованием используются лидирующие (префикс) и завершающие символы (постфикс). Символ может быть один или несколько. Обязательным условием является наличие и префикса, и постфикса.

Теперь коротко о том как это работает. Сначала ожидается ввод префикса. Когда происходит нажатие символа(ов) префикса, определенное время ожидается (таймаут) ввод постфикса. Если постфикс был введен до истечения таймаута, то все символы, введенные в промежутке между префиксом и постфиксом, идентифицируются как считанный код карты. Из буфера клавиатуры распознанная последовательность нажатий клавиш удаляется и генерируется внешнее событие в 1С, передается информация о считанной карте. Эти занимается внешняя компонента RestU.dll. Она автоматически загружается при старте программы и находится в памяти до завершения работы 1С:Предприятия. Если не выполнится какое либо из вышеперечисленных условий – последовательность нажатий будет оставлена в буфере клавиатуры без изменений. Так будет происходить, если программе неверно указать префикс, постфикс или таймаут ожидания.

<Enter> здесь не при чем.
Сделай префикс например "#" и постфикс "#" без <Enter>.
Если не получится, поиграй с таймаутом.
  
Наверх
ICQ  
IP записан
 
simply
God Member
*****
Отсутствует


Мечта: избавиться от 1С

Сообщений: 573
Местоположение: Киев
Зарегистрирован: 31. Декабря 2008
Пол: Мужской
Re: Перехват сканера штрихкодов в ФормеСписка справочника
Ответ #26 - 12. Февраля 2009 :: 13:01
Печать  
vip писал(а) 12. Февраля 2009 :: 11:12:
Чтобы различить нажатия клавиш пользователя от «нажатия клавиш» торговым оборудованием используются лидирующие (префикс) и завершающие символы (постфикс). Символ может быть один или несколько. Обязательным условием является наличие и префикса, и постфикса.

<Enter> здесь не при чем.
Сделай префикс например "#" и постфикс "#" без <Enter>.
Если не получится, поиграй с таймаутом.

На снимке все параметры настройки сканера.
Единственное, что мне не было известно - это установка в постфикс (суффикс) символа <Enter>.

Как видно на рисунке, в 1С таймаут установлен на 500 мс, точнее - 501.
Префикс = "+++"
Постфикс= "+++&13"

Все тоже запрограммировано в сканер.

Все, как написано в статье, происходит и у меня. Я наблюдал это при отладке ранее. Единственное отличие - название файла внешней компоненты, у меня Shop2Ukr.dll.
  В моей ФормеСписка, в процедуре ПриНажатииКнопкиКлавиатуры() я перехватываю нажатие пользователем <Enter> и открываю форму текущего элемента.
  Сюда же попадает <Enter> после сканера и естественно - тоже открывает форму элемента. А только потом данные сканера передаются в процедуру ОбработкаВнешнегоСобытия().
  После того, как я записал в префикс и суффикс значения "+++", 1С стало четко определяет, что это событие от сканера. Но ситуация с <Enter> осталась прежней.
  Поэтому я ввел счетчик чКвоПлюсы, который помогает мне отделить <Enter> сканера от <Enter> пользователя.

  Мне один пользователь показал как он один в один повторил ситуацию со сканером до настройки префикса и суффикса.
  На цифровой клавиатруе он быстро набирал цифры артикула и клавишу <Enter>. Курсор вошел в режим редактирования в списке. И код артикула стал доступен для изменения.
  Вот тогда я и ввел ПриОткрытии() - Форма.ТолькоПросмотр(1).
А теперь вынужден перехватывать клавишу <Enter> и двойной клик мыши, т.к. они в режиме просмотра не обрабатываются.

  vip, спасибо тебе огромное, что так много времени уделяешь моей проблеме!
  Слушай, может отличие ВК между мной и автором статьи и есть ключевым?!
  А то я уже не знаю на что еще смотреть ...
  

SetupScanerPS2_1.jpg ( 105 KB | Загрузки )
SetupScanerPS2_1.jpg
Наверх
IP записан
 
vip
1c++ power user
Отсутствует



Сообщений: 1570
Зарегистрирован: 19. Мая 2006
Re: Перехват сканера штрихкодов в ФормеСписка справочника
Ответ #27 - 12. Февраля 2009 :: 13:24
Печать  
Убери <Enter> из постфикса!!!
  
Наверх
ICQ  
IP записан
 
vip
1c++ power user
Отсутствует



Сообщений: 1570
Зарегистрирован: 19. Мая 2006
Re: Перехват сканера штрихкодов в ФормеСписка справочника
Ответ #28 - 12. Февраля 2009 :: 13:28
Печать  
И таймаут поменьше сделай.
  
Наверх
ICQ  
IP записан
 
simply
God Member
*****
Отсутствует


Мечта: избавиться от 1С

Сообщений: 573
Местоположение: Киев
Зарегистрирован: 31. Декабря 2008
Пол: Мужской
Re: Перехват сканера штрихкодов в ФормеСписка справочника
Ответ #29 - 12. Февраля 2009 :: 15:51
Печать  
vip писал(а) 12. Февраля 2009 :: 13:28:
И таймаут поменьше сделай.

Без <Enter>-а у меня и работало.
А какой таймаут установить? Как по умолчанию 200?

Да и есть ли смысл, что-либо менять? С реализованной у меня логикой - все работает надежно.
Если "Солнце всходит и заходит каждый день" - зачем что-то трогать? Улыбка
« Последняя редакция: 13. Февраля 2009 :: 07:00 - simply »  
Наверх
IP записан
 
Переключение на Главную Страницу Страницы: [1] 
ОтправитьПечать