[ОБУЧАЛОВКА] Ликбез по сканерам ШК
Краткое описание основных принципов работы/настройки сканеров ШК в программе 1С (по мотивам ветки T1C)
- Описание
- Подробнее
Описание
Q. Люди, подскажите чайнику принцип работы в проге со сканером штрих-кода. Подключил сканер <модель>, установил драйвера. В программе ТиС тест проходит, а что дальше? Каков принцип работы в номенклатурах и накладных? В номенклатуре написано: «Штрихкоды единиц измерения можно ввести со сканера».
A.
1. Штатная ТиС
2. ШК задается НА КАЖДУЮ ЕДИНИЦУ ИЗМЕРЕНИЯ НОМЕНКЛАТУРЫ. «Единицы» — это справочник «Единицы», подчиненный «Номенклатуре». Базовая и основная единицы «выведены» в карточке товара, остальные — в справочнике «Единицы». ШК в единицы можно вводить как вручную так и сканером.
3. ШК на товар (задается в единице) — должен быть УНИКАЛЬНЫМ в пределах всей базы. Иначе — бяка (для работы с «бякой» — типа //sale.itcity.ru/profile/174/projects/1211/image.php?img=770 — см. картинки).
4. ШК бывают «в разрыв клавиатуры» и «в порт (USB, COM)».
5. ШК в разрыв клавы работает по умолчанию — но работает очень тяжко, так как эмулирует нажатия клавиш и ENTER в конце ШК — что получится зависит от того, !!!где в момент сканирования находился курсор (фокус)!!!
6. Для сканеров устанавливаются спецдрайвера (как правило — проблем не бывает).
7. При (правильной)установке (правильного)драйвера ШК «в разрыв» и ШК «в порт» они (ШК через драйвер) генерят «внешнее событие», на которое реагирует 1Сина путем выполнения предопределенной процедуры ОбработкаВнешнегоСобытия() (которая может быть как в форме, так и в глоб.модуле). На вход процедуры поступает собственно сам ШК, «имя события» и «имя источника ШК» — а они уже обрабатываются 1Сными ТИПОВЫМИ процедурами, которые наштрямкали программисты.
8. Соответственно, если у вас открыта какая-нибудь форма (элемент справочника, документ и пр) и в этой форме есть процедура ОбработкаВнешнегоСобытия() — отрабатывает она и выполняет действия в зависимости от «ситуации»: а) получает ШК б) смотрит «в каком месте» был получен ШК и в зависимости от этого в) вносит ШК в соответствующие поля или осуществляет поиск товара по полученному ШК с «передачей» найденного товара «дальше» — куда «дальше» — зависит от того, что прописано в алгоритме.
9. Сам сканер ШК при сканировании генерит КОД, который может состоять собственно из самого ШК и префикса с суффиксом… Для того, чтобы сработало «внешнее событие» и ОбработкаВнешнегоСобытия() — должен быть в настройках программы(драйвера) корректно описан СУФФИКС ШК — т.е. спец.символ(последовательность спец.символов), которые «говорят» что ШК «закончился»… можно его «обрабатывать»… т.е.
— со сканера идет: <Префикс><ОтсканированныйШК><Суффикс>;
— <Префикс> и <Суффикс> настраиваются по книжке с настройками сканера;
— если правильно В ДРОВАХ настроены <Префикс> и <Суффикс> (т.е. такие же, как у сканера), то дрова их отбрасывают, оставляя <ОтсканированныйШК> для 1С-ны.
— если правильно В ДРОВАХ настроен <Суффикс>, то по его приходу и генерится «Внешнее событие». Иначе — ждем это событие до второго пришествия…
— <Суффикс> — это символ(спец.код), который говорит компу о том, что переданная от железа последовательность закончилась;
— <Префикс> — символ, позволяющий отличать «нашу» последовательность (со сканера) от «не нашей» (с фиг знает еще какого устройства) или, например, <префикс> можно использовать чтобы отличать наши «внутренние» ШК от ШК производителей/поставщиков.

