Считать штрих код без поля ввода

Clarion, Clarion 7

Модератор: Дед Пахом

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7329
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

Считать штрих код без поля ввода

Сообщение Игорь Столяров »

Ну так или иначе, но если хочется "оп-па сканером и код в списке" - вполне можно по пути 1С с перепрограммированием сканера.
Я прогнал пилот на Clarion, всё работает. Здесь идея в том, что бы через эту [F7] разделить ввод с клавиатуры и USB HID сканера.

Сканер в COM порт удобней (и юзеру и программисту), но нет уже эти компортов, рудимент.
Только если прикручивать USB сканер через эмулятор COM порта, но это скорей для совместимости со старым прикладным софтом.
За теми кто отстал - не возвращаться. (С) Кодекс
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 4562
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 6 раз
Поблагодарили: 34 раза

Считать штрих код без поля ввода

Сообщение finsoftrz »

Когда я пишу про com порт, то не имею ввиду физическое подключение. Понятно, что многие модели подключаются через юсб. Либо на выбор.
В кассовых программах клавиатура и сканер идейно разные инструменты, для разных целей. Поэтому совмещать их считается плохой практикой.
Другое дело в рамках учетной системы. Сканер нужен не только при продажах, но и при заведении новых товаров, проверки приходов и т.п. В этом контексте сканер в разрыв клавиатуры выглядит вполне уместно. И тут как раз логичным выглядит использование обычного поля ввода.
C6/C11, ШВС, tps/btrieve.
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 4562
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 6 раз
Поблагодарили: 34 раза

Считать штрих код без поля ввода

Сообщение finsoftrz »

Если говорить про окно кассира в рамках учетной системы, то выигрыш варианта с ф7 по сравнению с полем ввода в том, что при необходимости редактирования строк чека экономится нажатие клавиши переключения фокуса. Насколько это критично? У нас на сервере собирается статистика по корректировке строк и отменах чеков на удаленных кассовых узлах. Смотрел ее, для продуктовой розницы с достаточно высокой загруженностью кассовых узлов операция не такая частая.
Если уж хочется настраивать сканер под программу и в конкретной ситуации это имеет обоснование, то лучше сделать это настраиваемой опцией.
C6/C11, ШВС, tps/btrieve.
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7329
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

Считать штрих код без поля ввода

Сообщение Игорь Столяров »

finsoftrz писал(а): 01 Декабрь 2019, 18:03И тут как раз логичным выглядит использование обычного поля ввода.
Да. Но ! Предположим таких полей для ввода сканером много: X. Или путь даже ещё больше: Y. :)

Вполне логично при считывании даже тривиального EAN-13 выполнить некие базовые проверки и действия
(длина 13 символов, цифровой состав, дополнение EAN-8 до EAN-13 для той же табачки и т.д.) и хорошо это делать
в одном месте, т.е. вводить их в одном окне считывания кода. Тогда возникает вопрос как автоматом открывать
это окно ввода кода сканером - и приходим к тому, как делается в 1С через программирование префикса кода со сканера.

С точки зрения юзера всё вообще хорошо - хочешь с клавиатуры вводишь, хочешь автоматом сканером с проверкой кода … :)
За теми кто отстал - не возвращаться. (С) Кодекс
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 4562
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 6 раз
Поблагодарили: 34 раза

Считать штрих код без поля ввода

Сообщение finsoftrz »

Ну а почему не сделать проверку человеческим способом - вызвать соответствующую функцию? И не надо окно какое-то открывать.
C6/C11, ШВС, tps/btrieve.
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7329
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

Считать штрих код без поля ввода

Сообщение Игорь Столяров »

Я не против. Как говорится, дайте мне поле ввода и я вызову на нём функцию проверки. ;)

Здесь ведь ещё вопрос в том, что есть это поле ввода.
Нужно получить в него некую строку со сканера, передать строку в функцию, обработать и
обратно в это поле перезаписать результат работы функции проверки …
А если ERROR кода то хотелось бы видеть в поле предыдущее значение, а не мусор.

Или возьмём поле ввода для обычного EAN-13/14.
Для наглядного отображения и ввода с клавиатуры удобен шаблон: @P<##-#####-#####-#P
Но произвольную строку такое поле со сканера не примет.
И даже EAN-8 примет через … в общем плохо примет, совсем плохо. :(
За теми кто отстал - не возвращаться. (С) Кодекс
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 4562
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 6 раз
Поблагодарили: 34 раза

Считать штрих код без поля ввода

Сообщение finsoftrz »

Зачем так все усложнять? Пикнули, обработали, очистили поле, фокус передали снова на него. Обычная строка без паттернов.
C6/C11, ШВС, tps/btrieve.
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7329
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

Считать штрих код без поля ввода

Сообщение Игорь Столяров »

finsoftrz писал(а): 01 Декабрь 2019, 20:04Обычная строка без паттернов.
В простоте своей - да. Но хотелось бы на этапе ввода с той же клавиатуры контролировать ввод данных.
Да и 20-12345-67890-4 наглядней для проверки и считывания оператором, чем 2012345678904 ?
За теми кто отстал - не возвращаться. (С) Кодекс
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 4562
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 6 раз
Поблагодарили: 34 раза

Считать штрих код без поля ввода

Сообщение finsoftrz »

Я бы тут говорил про конкретные ситуации. В кассовой программе я отображаю список товаров после ввода первых 5 символов штрих-кода, затем обновляю его после каждого следующего. Кассир никогда не вводит весь штрих-код. Смотрит всегда на список товаров. Там, правда, не поле ввода, но общая техника понятна. Можно и что-то наподобии ф10 в кларионовской среде приделать. Ручной ввод штрих-кода не такая частая операция, обычно, когда штрих-код не читается.
C6/C11, ШВС, tps/btrieve.
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7329
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

Считать штрих код без поля ввода

Сообщение Игорь Столяров »

finsoftrz писал(а): 01 Декабрь 2019, 20:51 Ручной ввод штрих-кода не такая частая операция
Здесь речь идёт о поиске товара по вводимому штрих-коду и оптимизация этого запроса с возможностью
выбора из списка ассортимента. Но ведь есть место где этот справочник ассортимента формируется ?
Указывается новое наименование товара, вводится или считывается его штрих-код. Вот речь идёт о контроле ввода в этом месте.
За теми кто отстал - не возвращаться. (С) Кодекс
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 4562
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 6 раз
Поблагодарили: 34 раза

Считать штрих код без поля ввода

Сообщение finsoftrz »

Для новых товаров обычно сканируют. Я не понял, речь про визуальный контроль? Это серьезно? Для еан просто контрольный разряд проверяется.
C6/C11, ШВС, tps/btrieve.
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7329
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

Считать штрих код без поля ввода

Сообщение Игорь Столяров »

finsoftrz писал(а): 01 Декабрь 2019, 22:40Для еан просто контрольный разряд проверяется.
Правильность EAN кода конечно проявляется по контрольному разряду, но это актуально при ручном вводе.
Отображение EAN кода по маске делает его удобным для визуального контроля, считывания (например для
сравнения с данными на упаковке товара) и контроль вводимых данных.
Для этого маски формата ввода и существуют, чего не юзать-то бесплатно данное средой разработки счастье ? :)

Можно конечно всё и вся вводить строками, а потом как-то с этим разбираться, но и там ведь есть ограничение по длине.
Ну или тогда как в форматах данных Меркурия - у них что ни строка, то длина 255 … Надо оно, не надо оно - всё равно 255. :)
За теми кто отстал - не возвращаться. (С) Кодекс
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 4562
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 6 раз
Поблагодарили: 34 раза

Считать штрих код без поля ввода

Сообщение finsoftrz »

Да можно, конечно, и маску юзать. Просто я в этом не вижу практического смысла. Если видите, ради бога.
C6/C11, ШВС, tps/btrieve.
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7329
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

Считать штрих код без поля ввода

Сообщение Игорь Столяров »

porutchik писал(а): 01 Декабрь 2019, 7:07там есть управляющие символы - сканируешь их и меняешь поведение сканера
Что бы не было неопределённости (вдруг кто откопает это тему через пару лет, как обычно), подведу итог:

1. Вы были правы - с помощью утилиты сканера можно создать управляющий штрих-код и потом простым считыванием
этой "зебры" программировать префиксы (в т.ч. и [F7]) во всём стаде сканеров этой модели, без проблем. Я этого не знал раньше.

2. Лично мне не удалось добиться в программах на Clarion устойчивой работы технологии "как в 1С" (открытие окна ввода кода по F7).
ACCEPT делает слишком много всякого и разного, что эпизодически приводит к "проглатыванию" части клавиатурного ввода со сканера.
Плюнул на это дело и забросил его. :)
За теми кто отстал - не возвращаться. (С) Кодекс
Ответить