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

Clarion, Clarion 7

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

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

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

Сообщение Игорь Столяров » 01 Декабрь 2019, 17:23

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

Сканер в COM порт удобней (и юзеру и программисту), но нет уже эти компортов, рудимент.
Только если прикручивать USB сканер через эмулятор COM порта, но это скорей для совместимости со старым прикладным софтом.
«V» значит Вендетта !

Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 1394
Зарегистрирован: 06 Ноябрь 2014, 12:48

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

Сообщение finsoftrz » 01 Декабрь 2019, 18:03

Когда я пишу про com порт, то не имею ввиду физическое подключение. Понятно, что многие модели подключаются через юсб. Либо на выбор.
В кассовых программах клавиатура и сканер идейно разные инструменты, для разных целей. Поэтому совмещать их считается плохой практикой.
Другое дело в рамках учетной системы. Сканер нужен не только при продажах, но и при заведении новых товаров, проверки приходов и т.п. В этом контексте сканер в разрыв клавиатуры выглядит вполне уместно. И тут как раз логичным выглядит использование обычного поля ввода.
Рязань решает.

Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 1394
Зарегистрирован: 06 Ноябрь 2014, 12:48

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

Сообщение finsoftrz » 01 Декабрь 2019, 18:27

Если говорить про окно кассира в рамках учетной системы, то выигрыш варианта с ф7 по сравнению с полем ввода в том, что при необходимости редактирования строк чека экономится нажатие клавиши переключения фокуса. Насколько это критично? У нас на сервере собирается статистика по корректировке строк и отменах чеков на удаленных кассовых узлах. Смотрел ее, для продуктовой розницы с достаточно высокой загруженностью кассовых узлов операция не такая частая.
Если уж хочется настраивать сканер под программу и в конкретной ситуации это имеет обоснование, то лучше сделать это настраиваемой опцией.
Рязань решает.

Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 4323
Зарегистрирован: 07 Июль 2005, 9:19
Откуда: г. Ростов-на-Дону

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

Сообщение Игорь Столяров » 01 Декабрь 2019, 18:35

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

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

С точки зрения юзера всё вообще хорошо - хочешь с клавиатуры вводишь, хочешь автоматом сканером с проверкой кода … :)
«V» значит Вендетта !

Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 1394
Зарегистрирован: 06 Ноябрь 2014, 12:48

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

Сообщение finsoftrz » 01 Декабрь 2019, 19:13

Ну а почему не сделать проверку человеческим способом - вызвать соответствующую функцию? И не надо окно какое-то открывать.
Рязань решает.

Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 4323
Зарегистрирован: 07 Июль 2005, 9:19
Откуда: г. Ростов-на-Дону

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

Сообщение Игорь Столяров » 01 Декабрь 2019, 19:58

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

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

Или возьмём поле ввода для обычного EAN-13/14.
Для наглядного отображения и ввода с клавиатуры удобен шаблон: @P<##-#####-#####-#P
Но произвольную строку такое поле со сканера не примет.
И даже EAN-8 примет через … в общем плохо примет, совсем плохо. :(
«V» значит Вендетта !

Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 1394
Зарегистрирован: 06 Ноябрь 2014, 12:48

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

Сообщение finsoftrz » 01 Декабрь 2019, 20:04

Зачем так все усложнять? Пикнули, обработали, очистили поле, фокус передали снова на него. Обычная строка без паттернов.
Рязань решает.

Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 4323
Зарегистрирован: 07 Июль 2005, 9:19
Откуда: г. Ростов-на-Дону

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

Сообщение Игорь Столяров » 01 Декабрь 2019, 20:08

finsoftrz писал(а):
01 Декабрь 2019, 20:04
Обычная строка без паттернов.
В простоте своей - да. Но хотелось бы на этапе ввода с той же клавиатуры контролировать ввод данных.
Да и 20-12345-67890-4 наглядней для проверки и считывания оператором, чем 2012345678904 ?
«V» значит Вендетта !

Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 1394
Зарегистрирован: 06 Ноябрь 2014, 12:48

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

Сообщение finsoftrz » 01 Декабрь 2019, 20:51

Я бы тут говорил про конкретные ситуации. В кассовой программе я отображаю список товаров после ввода первых 5 символов штрих-кода, затем обновляю его после каждого следующего. Кассир никогда не вводит весь штрих-код. Смотрит всегда на список товаров. Там, правда, не поле ввода, но общая техника понятна. Можно и что-то наподобии ф10 в кларионовской среде приделать. Ручной ввод штрих-кода не такая частая операция, обычно, когда штрих-код не читается.
Рязань решает.

Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 4323
Зарегистрирован: 07 Июль 2005, 9:19
Откуда: г. Ростов-на-Дону

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

Сообщение Игорь Столяров » 01 Декабрь 2019, 21:20

finsoftrz писал(а):
01 Декабрь 2019, 20:51
Ручной ввод штрих-кода не такая частая операция
Здесь речь идёт о поиске товара по вводимому штрих-коду и оптимизация этого запроса с возможностью
выбора из списка ассортимента. Но ведь есть место где этот справочник ассортимента формируется ?
Указывается новое наименование товара, вводится или считывается его штрих-код. Вот речь идёт о контроле ввода в этом месте.
«V» значит Вендетта !

Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 1394
Зарегистрирован: 06 Ноябрь 2014, 12:48

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

Сообщение finsoftrz » 01 Декабрь 2019, 22:40

Для новых товаров обычно сканируют. Я не понял, речь про визуальный контроль? Это серьезно? Для еан просто контрольный разряд проверяется.
Рязань решает.

Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 4323
Зарегистрирован: 07 Июль 2005, 9:19
Откуда: г. Ростов-на-Дону

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

Сообщение Игорь Столяров » 01 Декабрь 2019, 22:57

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

Можно конечно всё и вся вводить строками, а потом как-то с этим разбираться, но и там ведь есть ограничение по длине.
Ну или тогда как в форматах данных Меркурия - у них что ни строка, то длина 255 … Надо оно, не надо оно - всё равно 255. :)
«V» значит Вендетта !

Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 1394
Зарегистрирован: 06 Ноябрь 2014, 12:48

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

Сообщение finsoftrz » 01 Декабрь 2019, 23:18

Да можно, конечно, и маску юзать. Просто я в этом не вижу практического смысла. Если видите, ради бога.
Рязань решает.

Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 4323
Зарегистрирован: 07 Июль 2005, 9:19
Откуда: г. Ростов-на-Дону

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

Сообщение Игорь Столяров » 10 Декабрь 2019, 12:56

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

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

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

Ответить