Настройка сканера для маркировки
Сначала надо разобраться со сканером штрих кода, так как от его настройки зависит будет работать у вас маркировка или нет.
Главная головная боль при считывании QR кода с маркировкой, что там есть спец.символ GS (он же 0x1d), встречается обычно 2 раза, перед первой частью крипто-хвоста (начинается с 91), и перед второй частью крипто-хвоста (начинается с 92).
Режим COM порта
Тут все просто: если ваша программа поддерживает подключение по COM порту сканера , то лучше использовать этот режим.
Эмуляция клавиатуры
С другой стороны проще работать в режиме как внешняя клавиатура, так как данные можно наблюдать в текстовом редакторе. Но тут есть важный нюанс: нужен текстовый редактор, который может показывать спец символы.
Может показаться, что программа notepad32 сможет вам помочь. НО НА САМОМ ДЕЛЕ ОНА ЕЩЕ БОЛЬШЕ ВАС ЗАПУТАЕТ.
Вот как может выглядеть считанный код маркировки к примеру:
Наблюдаем выше два спец символа GS (примерно в середине). Значит сканер настроен с передачей спец символа GS. Но оказывается это далеко не факт. Дело в том, что notepad32 может и не показывать GS символы, а они на самом деле будут.
Зависит это похоже от скорости передачи символов сканером, мощности компьютера и т.д.
К счастью у нас есть программа написанная на С++ для проверки сканеров штрих кода barcode_scanner_kb_test.exe. Скачать можно здесь https://kkmspb.ru/software/BIT-driver-KKT/download/ .
И вот видео к ней , в чем там приколы от производителей сканеров штрих кода, как они зачем-то переопределяют GS в F8 или в Ctrl+0x1D и самое главное как выходить из положения.
https://kkmspb.ru/video/bit_drv_kkt/%D1%82%D0%B5%D1%81%D1%82-%D1%81%D0%BA%D0%B0%D0%BD%D0%B5%D1%80%D0%B0-%D1%88%D0%BA-%D0%B2-%D1%80%D0%B5%D0%B6%D0%B8%D0%BC%D0%B5-%D0%BA%D0%BB%D0%B0%D0%B2%D0%B8%D0%B0%D1%82%D1%83%D1%80%D1%8B-%D1%83%D1%82%D0%B8%D0%BB%D0%B8%D1%82%D0%B0-%D0%BF%D0%BE%D0%B4-%D0%B2%D0%B8%D0%BD%D0%B4%D0%BE%D1%83%D1%81.mp4
Первое видео как пробивать товары с маркировкой в БИТ драйвер ККТ на кассах Меркурий со сканером штрих кода GS-3200 в режиме клавиатуры .
https://kkmspb.ru/video/bit_drv_kkt/%D0%9C%D0%B0%D1%80%D0%BA%D0%B8%D1%80%D0%BE%D0%B2%D0%BA%D0%B0-%D0%BF%D0%BE-%D0%A4%D0%A4%D0%94-1.2-%D0%BD%D0%B0-%D0%BA%D0%BA%D1%82-%D0%9C%D0%B5%D1%80%D0%BA%D1%83%D1%80%D0%B8%D0%B9-%D1%81%D0%BE-%D1%81%D0%BA%D0%B0%D0%BD%D0%B5%D1%80%D0%BE%D0%BC-USB-HID-%D0%B2-%D0%91%D0%98%D0%A2-%D0%B4%D1%80%D0%B0%D0%B9%D0%B2%D0%B5%D1%80-%D0%9A%D0%9A%D0%A2.mp4
Так вот теперь, что касаемо кассовых аппаратов:
Для корректной работы с маркировкой на всех кассовых аппаратах Меркурий , Атол мы должны передавать в коде маркировки спец символы GS .
Признаком корректно считанного сканером кода и прошедшим проверку онлайн, является буква [M+] печатаемая на чеке рядом с названием продаваемого товара.
[M-] означает, что онлайн проверка не прошла, правда это также означает , что связь с ОИСМ отсутствует или еще как вариант, что код маркировки передан не корректно (с потерей данных) или он реально на Qr коде на валидный.
[M] осталась как рудимент и означает, что код прошел проверку только в ФН, онлайн проверки не было (это для ФФД 1.05). На сегодня является признаком, что маркированный товар нельзя продавать.
Источник:
https://kkmspb.ru/software/BIT-driver-KKT/markirovka-M/