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