Переключение на Главную Страницу Страницы: [1] 2  ОтправитьПечать
Очень популярная тема (более 25 ответов) Перехват сканера штрихкодов в ФормеСписка справочника (число прочтений - 15696 )
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 записан
 
Переключение на Главную Страницу Страницы: [1] 2 
ОтправитьПечать