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