Взять кассу

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

Взять кассу

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

RaFaeL писал(а): 29 Май 2023, 14:35 "Мой" сканер не сжирает, но у него код непечатного символа - 31!
Дело в том, что символ-разделитель - это стандарт кода GS1, а не сканера.
(Я скопировал PDF с описанием стандарта в папку TMP в FTP разделе форума - посмотрите пожалуйста).

Лично не видел (!) но по форумам слышал, что 1C-ники иногда перепрограммируют сканеры для
авто-распознования кода по первому символу заменяя 29 на неиспользуемые коды символов.
Проверьте - возможно у Вас такой "настроенный" сканер ...
За теми кто отстал - не возвращаться. (С) Кодекс
Аватара пользователя
RaFaeL
✯ Ветеран ✯
Сообщения: 1376
Зарегистрирован: 24 Март 2009, 17:59
Откуда: НН
Благодарил (а): 7 раз
Поблагодарили: 1 раз
Контактная информация:

Взять кассу

Сообщение RaFaeL »

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

Взять кассу

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

RaFaeL писал(а): 29 Май 2023, 15:19Проще сделать
Надо сначала сделать сброс сканера до заводских настроек. Как правило этого достаточно.
Мы всегда это делаем даже для сканеров из коробки, а если девайс уже где-то поработал - тем более. :)

И это не проще. Сейчас Вы завяжете программу на перепрограммированный сканер, а завтра он сгорит
или программу переставят на другой компьютер - и всё по новой. :( Лучше сразу сделать правильно.
За теми кто отстал - не возвращаться. (С) Кодекс
Аватара пользователя
RaFaeL
✯ Ветеран ✯
Сообщения: 1376
Зарегистрирован: 24 Март 2009, 17:59
Откуда: НН
Благодарил (а): 7 раз
Поблагодарили: 1 раз
Контактная информация:

Взять кассу

Сообщение RaFaeL »

Игорь Столяров писал(а): 29 Май 2023, 15:28 И это не проще. Сейчас Вы завяжете программу на перепрограммированный сканер, а завтра он сгорит
или программу переставят на другой компьютер - и всё по новой. Лучше сразу сделать правильно.
Так я замену сделаю по позиции, будет неважно что там придет, если остальные символы на месте и по стандарту, аналог вашего метода RecodeMarking, только тот проверяет отсутствие символа вообще, а здесь будет не вставка символа, а замена, остальное то же самое. Кстати, "правильно" может стоило бы именно туда и добавить этот вариант. А сканер потестируем, там много вариантов может быть, грешу еще на RDP
Аватара пользователя
RaFaeL
✯ Ветеран ✯
Сообщения: 1376
Зарегистрирован: 24 Март 2009, 17:59
Откуда: НН
Благодарил (а): 7 раз
Поблагодарили: 1 раз
Контактная информация:

Взять кассу

Сообщение RaFaeL »

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

Взять кассу

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

RaFaeL писал(а): 30 Май 2023, 11:51Есть мысли?
Как я понимаю, Вы сейчас транслируете слова некого условного Рудольфа за тысячу км. и сами этого не видели ? ;)
Сканер 2D - это достаточно сложное устройство, имеющий процессор и микропрограмму.
И если из устройства с USB подключением выводится хоть что-то в Блокнот - значит работает драйвер HID устройства.

Что бы ответить на Ваш вопрос по существу, нужна информация. С Блокнотом понятно - это ввод через буфер клавиатуры.
А как Вы получаете строку с кодом в программу ? Может быть реализована эмуляция COM порта (если Вы вообще видите коды) ?
Если да - значит в драйвере эмуляции COM порта настроена перекодировка спец. символов - о причинах я говорил ранее.
За теми кто отстал - не возвращаться. (С) Кодекс
Аватара пользователя
RaFaeL
✯ Ветеран ✯
Сообщения: 1376
Зарегистрирован: 24 Март 2009, 17:59
Откуда: НН
Благодарил (а): 7 раз
Поблагодарили: 1 раз
Контактная информация:

Взять кассу

Сообщение RaFaeL »

Игорь Столяров писал(а): 30 Май 2023, 12:18 Что бы ответить на Ваш вопрос по существу, нужна информация. С Блокнотом понятно - это ввод через буфер клавиатуры.
А как Вы получаете строку с кодом в программу ? Может быть реализована эмуляция COM порта (если Вы вообще видите коды) ?
Я попросил записать подробное видео, вот оно: https://www.youtube.com/watch?v=j-ObqSIPqtw
Только надо в максимальном качестве смотреть, тогда видно будет все коды и т.п.
Сканируем в программу, потом копируем в блокнот с режимом просмотра спецсимволов. Потом сканируем туда же. Коды разные...
Насколько я знаю, да, эмуляция COM-порта, с HID были проблемы с потерей заглавных букв, о чем выше как-то писал. Марку просто в текстовом поле принимаю, если можно как-то через порт то я так не умею (но наверное могу научиться, надо пример)
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7327
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

Взять кассу

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

Уф ! Что показано на этом видео ? :(
Почему для проверки сканера не считать код сразу в блокнот и не увидеть что возвращает сканер ?
Если Вы ищите толкователя фокусов - то лучше начать с сисадмина, который знает как настроен сканер. :)

Мы (и судя по интернету все) просто втыкаем сканер в USB разъём и Windows 10 устанавливает HID драйвер.
Из настроек делаем сброс и иногда замену завершающего символа с штатного TAB на ENTER. И это всё.
Эмуляция COM порта нужная для получения необработанной строки и для совместимости со старыми программами.
За теми кто отстал - не возвращаться. (С) Кодекс
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7327
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

Взять кассу

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

А вообще - купите себе сканер за $50, отработайте технологию в программе и тогда сможете предлагать её пользователям.
За теми кто отстал - не возвращаться. (С) Кодекс
Аватара пользователя
RaFaeL
✯ Ветеран ✯
Сообщения: 1376
Зарегистрирован: 24 Март 2009, 17:59
Откуда: НН
Благодарил (а): 7 раз
Поблагодарили: 1 раз
Контактная информация:

Взять кассу

Сообщение RaFaeL »

Игорь Столяров писал(а): 30 Май 2023, 13:28 Уф ! Что показано на этом видео ?
Почему для проверки сканера не считать код сразу в блокнот и не увидеть что возвращает сканер ?
На видео показано, как сканирование в программу на Кларионе искажает разделитель. Мне же в неё сканировать надо, не в блокнот. Почему искажает, в этом и вопрос
Игорь Столяров писал(а): 30 Май 2023, 13:28 Мы (и судя по интернету все) просто втыкаем сканер в USB разъём и Windows 10 устанавливает HID драйвер.
Из настроек делаем сброс и иногда замену завершающего символа с штатного TAB на ENTER. И это всё.
Раз за вас. А у нас в таком режиме при сканировании в RDP большие буквы заменяются на маленькие, как это решить тоже судя по всему никто не знает. Локально все работает, но нужно в RDP
Игорь Столяров писал(а): 30 Май 2023, 13:30 А вообще - купите себе сканер за $50, отработайте технологию в программе и тогда сможете предлагать её пользователям.
Ну да, отработаю для конкретного сканера и локально. А потом в боевом режиме на другом сканере и RDP начинаются вот такие приколы. Тут тоже два сканера из трех нормально работают, а с третьим вот такое
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7327
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

Взять кассу

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

RaFaeL писал(а): 30 Май 2023, 13:41 Почему искажает, в этом и вопрос
Масса вариантов. Например обработка ALERT на поле ввода. И какое это вообще поле ENTER или TEXT ?
Тип данных строки STRING ? Нет никаких промежуточных присваиваний между буфером и строкой на экране ?
RaFaeL писал(а): 30 Май 2023, 13:41 Тут тоже два сканера из трех нормально работают, а с третьим вот такое
Т.е. простая замена сканера решает вопрос ? Тогда сбросьте настройки проблемного сканера до заводских.
За теми кто отстал - не возвращаться. (С) Кодекс
Аватара пользователя
RaFaeL
✯ Ветеран ✯
Сообщения: 1376
Зарегистрирован: 24 Март 2009, 17:59
Откуда: НН
Благодарил (а): 7 раз
Поблагодарили: 1 раз
Контактная информация:

Взять кассу

Сообщение RaFaeL »

Игорь Столяров писал(а): 30 Май 2023, 13:49 Масса вариантов. Например обработка ALERT на поле ввода. И какое это вообще поле ENTER или TEXT ?
Тип данных строки STRING ? Нет никаких промежуточных присваиваний между буфером и строкой на экране ?
Алертов нет, поле Entry, переменная CSTRING, присваивания нет, есть только update(?Dump) по таймеру
Игорь Столяров писал(а): 30 Май 2023, 13:49 Т.е. простая замена сканера решает вопрос ? Тогда сбросьте настройки проблемного сканера до заводских.
Да конечно можно. На текущий момент. А потом он сломается, воткнут другой и что-то перестанет работать, и ладно если просто сканирование перестанет, а если марки ошибочные пойдут и потом списываться не будут чеком, что намного хуже. Мне же надо все предусмотреть. А чтобы предусмотреть, надо понять причину проблемы
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7327
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

Взять кассу

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

RaFaeL писал(а): 30 Май 2023, 13:57 поле Entry, переменная CSTRING
Я бы для данных с бинарными кодами использовал STRING и пробежался по ней в цикле и посмотрел
какие коды записаны сразу после присваивания (до экранного отображения через Update).
RaFaeL писал(а): 30 Май 2023, 13:57 Да конечно можно. На текущий момент
Вы упрощённо воспринимаете современный сканер. Это сложное устройство с кучей настроек.
Вы ведь не сможете сделать программу, которая будет работать на любой Windows с изуродованными настройками ?
И я не смогу - должны быть выполнены определённые требования. Так вот со сканером тоже самое. :)
За теми кто отстал - не возвращаться. (С) Кодекс
Аватара пользователя
RaFaeL
✯ Ветеран ✯
Сообщения: 1376
Зарегистрирован: 24 Март 2009, 17:59
Откуда: НН
Благодарил (а): 7 раз
Поблагодарили: 1 раз
Контактная информация:

Взять кассу

Сообщение RaFaeL »

Игорь Столяров писал(а): 30 Май 2023, 14:16 Я бы для данных с бинарными кодами использовал STRING и пробежался по ней в цикле и посмотрел
какие коды записаны сразу после присваивания (до экранного отображения через Update).
Так тут наоборот - в переменную присваивается через Update с поля
Игорь Столяров писал(а): 30 Май 2023, 14:16 Вы ведь не сможете сделать программу, которая будет работать на любой Windows с изуродованными настройками ?
Я стараюсь делать именно так, чтобы потом лет 10 ко мне не обращались
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7327
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

Взять кассу

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

RaFaeL писал(а): 30 Май 2023, 14:45 в переменную присваивается через Update с поля
Возможно я не понимаю ...
- Код со сканера попадает (неважно как) в поле;
- У кода сканер всегда возвращает завершающий символ (TAB или ENTER);
- По нему отрабатываем штатное событие Accepted получаем в переменную код марки ...

При чём здесь таймер ? Или вот эти вот дёрганья строки при считывании кода на видео - это прерывания на попытки
анализа считываемого кода на лету по таймеру ?! Так после прерывания на ACCEPT там в строке будет что угодно. :(
RaFaeL писал(а): 30 Май 2023, 14:45 чтобы потом лет 10 ко мне не обращались
О ! Вам бы с такими идеями сразу в Думу или Правительство РФ. Если решитесь - пишите, я поддержу ! :)
За теми кто отстал - не возвращаться. (С) Кодекс
Ответить