Здравствуйте.
очень большая к вам просьба. помогите разобраться как подвязать сканер штрих кода к самописной конфе.
слышал , что тма должны использоваться специальные библиотеки...шрифт...
нужно самое простое: на документе чтоб печатался штрих код, сканер брал его и записывал, что документ прошел. т.е. штрихкод здесь просто как идентификатор документа. помогите, если не сложно.
я не прошу сделать за меня что-то...решить.
прошу только помочь разобраться.
как работать со сканером. какой-нить пример функций чтоли...как выхватывать со сканера, то что у него на входе...как печатать сам код шьтиха, для этого ж нужен специальный шрифт как я понимаю, чтоб сканер его разобрал. может необходимы специальные библиотеки подключать...
сканер Metrologic MS9520.
прошу вас помочь.
возьми ТиС для примера, там и формирование штрих кода есть и считывание.
если морочиться на тему именно шрифта при печати, то в свое время помог из Бухгалтерии там на квартальных отчетах печатается штрих код.
считывание обрабатывается в процедуре Обработкавнешнихсобытий(<пер>) покапайся в ТиСе там все понятно...
Держи мегапак для работы со сканером.
В нем есть всё необходимое для подключения, сканирования и печати штрих-кодов.
Спасиб. вот еще такой интересный вопрос появился...
Дело в том, что сканер скорее всего будет работать с двумя конфигурациями.
Т.е. будет одновременно запущено два приложения. Оператор сам будет выбирать приложение в котором ему работать. Вазможна ли работа сканера в двух приложениях одновременно?
Т.е. ввел сначала в одном приложении, потом перешел на другое ввел там. Чтоб два приложения были одновременно запущены, ну и чтоб поочередно можно было работать в них с одним сканером?
Спс)
IngWar2008
насколько я знаю comий нет, с клавиатурным можно поэксперементировать...
IngWar2008
Можно реализовать через подключение - отключение сканера.
То есть, в первой конфе, зашел, открыл обработку, нажал кнопку - сканер подключился, отсканировал, нажал кнопку - сканер отключился
Открыл вторую конфу - проделал те же действия.
Благо, подключение - отключение осуществляется мгновенно.
Либо, как предложил Про, через прерывание клавиатуры.
нужна помощь:
разобраться со сканеров штрих кодов в разрыв клавиатуры.
хочу сделать, что б при печати документа формировался штрих код, который потом считывали б сканером в другом месте.
и после того как считали его в этом документе бы допустим проставлялся бы статус, что мол договор вернули.
т.е. вот напечатали договор, в нем есть штрих код. потом этот договор сканируют сканером(после того как все подпишут, как он пройдет все инстанции...)
и в этом же документе проставлялся бы статус возврата. ну что б было понятно, что договор вернули, что мол все инстанции обошли вс готово.
ну там просто организавать поиск по значению считанного штриха , открыть этот документ и изменить в нем реквезит.
как я понял, мне надо
1. сформировать глобальную функцию формирования штрих кода(ну там получается что в нем ток номер договора будет передоваться, в штрих коде)
которая будет записывать в штрих код номер документа.
2. функцию сканирования, которая будет получать данные при реагировании сканера.
я там смотрел примеры...что-то не очень разобрался...
ну здесь впринципе понятно:
а вот еще, нужен же еще специальный шрифт?
Функция глСформироватьШтрихКод(кДоку) Экспорт
//формат штрих кода
// стандарт кодировки - Code-39, произвольной длины код, ограничивается символом "звездочка"
// с двух сторон. поддерживает произвольную длину.
// использовать будем
// 1 код базы (для этой - "1")
// 2-6 код элемента справочника "Проекты"
// 7-12 сумма рубли
// 13-14 сумма копейки
// 15-20 номер документа Квитанция
НомерКвитанции = ДополнитьЛидирующимиНулями(кДоку.номерДок,6);
кДоку = кДоку.кДокументу.текущийДОкумент();
тДок = СоздатьОбъект("Документ."+кДоку.вид());
тДок.НайтиДокумент(кДоку);
тДок = тДок.текущийДокумент();
Если тДок.Выбран()=0 Тогда
Сообщить("Ошибка поиска документа!");
Возврат 0;
КонецЕсли;
//начинаем формировать штрихкод
barcode="*";
//код этой базы
barcode=barcode+"1";
//формируем 5 символьный номер проекта. Все параметры фиксированной длины
// поэтому их необходимо дополнять нулями
Если тДок.кПРоекту.выбран()=1 тогда
НомерПроекта = тДок.кПроекту.Код;
Иначе
//квитанция на привязана к проекту
НомерПроекта = 99999;
КонецЕсли;
НомерПроекта = ДополнитьЛидирующимиНулями(НомерПроекта,5);
barcode = barcode + НомерПроекта;
СуммаПоДокументу = глПолучитьСуммуПоДокументу(тДок);
СуммаРуб = Цел(СуммаПоДокументу);
СуммаРуб = ДополнитьЛидирующимиНулями(СуммаРуб,6);
barcode=barcode+СуммаРуб;
СуммаКоп = ДополнитьЛидирующимиНулями((СуммаПоДокументу - СуммаРуб)*100,2);
barcode=barcode+СуммаКоп;
barcode=barcode+НомерКвитанции;
//заканчиваем штрих-код
barcode=barcode+"*";
Возврат barcode;
КонецФункции
здесь в принципе понятно...функция заноса данных в штрих код.
вот ток не очень понятно: СуммаРуб = ДополнитьЛидирующимиНулями(СуммаРуб,6);
т.е. получается что надо что б штрих был записан полностью значениями?
т.е. если переменная короткая , то ее надо дополнять нулями?
потом вызываем эту функцию:
barCode = глСформироватьШтрихКод(Док);
и собственно печатаем "barCode" - это ж и есть наш штрих код.
а вот как потом его считать, после того как распечатали?
можете помочь?
очень надо...
большая просьба. может кто-нить привести простенький примерчик процедуры закодирования числа в штрих код
и процедуры чтения сканером?
Русская версия Invision Power Board (http://www.nulled.ws)
© Invision Power Services (http://www.nulled.ws)