Штриховое кодирование представляет собой технологию идентификации, посредством которой осуществляется автоматическое распознавание, расшифровка, обработка, передача и запись информации, закодированной в штрих-коде. Для корректного распознавания штрих-кода товара используются правила интерпретации. Правила разбора штрих-кода фиксируются в конфигурационном файле /linuxcash/cash/conf/bcode.ini и применяются в заданном порядке. Также осуществляется считывание конфигурации bcodeparser из директории /linuxcash/cash/conf/bcode.ini.d/ (считывание файлов происходит в алфавитном порядке). Итоговая конфигурация выводится в основной лог программы /linuxcash/logs/current/terminal.log.
При указании правил разбора штрих-кода в конфигурационном файле /linuxcash/cash/conf/bcode.ini и в файлах директории /linuxcash/cash/conf/bcode.ini.d/ сначала происходит считывание файла /linuxcash/cash/conf/bcode.ini.
Формат записи файла bcode: Mask=Rule, где:
Mask– маска сканируемого штрих-кода, по которой осуществляется поиск на соответствие вводимого штрих-кода правилу интерпретации;Rule– правило интерпретации штрих-кода, соответствующего маске.
Маска штрих-кода
Macка штрих-кода – строковое выражение, состоящее из следующих символов:
- ? – любой символ, занимающий данное знакоместо;
- * – любая последовательность символов;
- С – любая константа.
При совпадении сканируемого штрих-кода (или ручного ввода) с маской считается, что к введенному штрих-коду необходимо применить правило его интерпретации, описываемое в правой части выражения.
Правила интерпретации штрих-кода
Начиная с версии 4.6.162-3 для кода маркировки табачной продукции (M), штрих-кода акцизной марки алкогольной продукции (E), кода маркировки обувных товаров (m) и кода маркировки лекарственных препаратов (L) правило интерпретации задавать не требуется.
Правило интерпретации представляет собой строку, содержащую маски назначения. Маска назначения – последовательность одинаковых символов, определяющих значение соответствующих знакомест. Возможны следующие значения маски назначения:
| Символ | Значение | Примечания |
|---|---|---|
| B | штрих-код товара | |
| Z | штрих-код товара без лидирующих нулей | |
| Y | штрих-код товара без завершающих нулей | |
| Q | количество (вес) | |
| P | цена | |
| I | индекс цены для чека | |
| i | индекс цены для товара | |
| D | номер отдела для чека | |
| d | номер отдела для товара | |
| T | код тары | |
| W | вес тары | |
| X | символ игнорирования | |
| C | номер карты | |
| с | номер купона | |
| . | десятичная точка - разделитель целой и дробной части для веса и цены | |
| U | пароль консультанта | |
| S | задание шифрованных купонов | |
| O | номер уникального (онлайн) купона | |
| e | признак товара | Используется при предоставлении скидки по штрих-коду. |
| E | штрих-код акцизной марки алкогольной продукции | Стандартная длина штрих-кода акцизной марки алкогольной продукции составляет 68 символов, длина штрих-кода новой акцизной марки - 150. |
| M | код маркировки табачной продукции | Стандартная длина кода маркировки для пачки составляет 29 символов. Для блока длина кода маркировки не фиксирована, но не может быть меньше 41 символа. |
| m | код маркировки обувных товаров | Стандартная длина кода маркировки 134 символа, длина нового кода маркировки - 127. |
| L | код маркировки лекарственного препарата | |
| : | правило применения интерпретированных штрих-кодов | |
| K | данные комплектного товара | Используется для комплектных товаров. |
Правило интерпретации штрих-кода в bcode.ini: 28???????????=BBBBBBBQQ.QQQX *=BBBBBBBBBBBBBBBBBB Разбор штрих-кода: 1. При вводе вручную или при помощи сканера штрих-кода 2812345005769 строка будет интерпретирована следующим образом: Реальный штрих-код = 2812345, Вес (кол-во) товара = 0.576 кг. В чек будет добавлен товар со штрих-кодом 2812345 и количеством 0.576 кг. 2. При вводе штрих-кода 4602685501894 товар пройдет через маску * и будет добавлен в чек с этим штрих-кодом.
Правила интерпретации для шифрованных купонов (S), уникальных купонов (O), кода маркировки табачной продукции (M), штрих-кода акцизной марки алкогольной продукции (E), кода маркировки обувных товаров (m) и кода маркировки лекарственных препаратов (L) могут быть заданы двумя способами:
фиксированное количество символов, соответствующее маске.
Пример правила интерпретации кода маркировки табачной продукции (пачка)?????????????????????????????=MMMMMMMMMMMMMMMMMMMMMMMMMMMMM
произвольное количество символов, соответствующее маске.
Пример правила интерпретации кода маркировки табачной продукции (пачка)?????????????????????????????=M*
Правило применения интерпретированных штрих-кодов (:) используется при одновременном вводе разных типов данных. Данные будут последовательно считываться и применяться до первой ошибки.
QR-код содержит номер уникального (онлайн) купона и номер карты. При считывании QR-кода сначала будет осуществлена проверка купона, затем - карты. Если при добавлении купона возникла ошибка, то добавление карты в чек осуществляться не будет.
При корректных данных купон и карта будут добавлены в чек.
Реализовано только в контексте открытого документа.
Правило интерпретации штрих-кода в bcode.ini: ???????????????????=OOOOOOOOOOOO:CCCCCC Разбор штрих-кода: При вводе штрих-кода 111222333444:123456 строка будет интерпретирована следующим образом: Номер уникального (онлайн) купона = 111222333444, Номер карты = 123456. В чек будут добавлены купон с номером 111222333444 и карта с номером 123456.
Использование правил интерпретации при добавлении товара
В большинстве случаев добавление товара в чек осуществляется при считывании штрих-кода сканером или его вводе с клавиатуры вручную. В кассовом ПО Artix предусмотрена возможность добавления товара по штрих-коду при его считывании через ридер карт.
Возможность добавлять товар в чек при считывании карты через ридер задается настройкой useBcodeParserForMsrData в конфигурационном файле /linuxcash/cash/conf/ncash.ini в секции [Misc]:
- при значении
falseв чек добавляется карта клиента при считывании карты через ридер карт; - при значении
trueв чек добавляется товар при считывании карты через ридер карт.
В обоих случаях штрих-код распознается в соответствии с правилами интерпретации, заданными в конфигурационном файле /linuxcash/cash/conf/bcode.ini.
| Наименование | Тип данных | Возможные значения | Описание | Примечания |
|---|---|---|---|---|
| useBcodeParserForMsrData | логический |
| Использовать правила интерпретации штрих-кодов при считывании карты через ридер | По умолчанию false |
[Misc] ; ; Разное ; ... ; Использовать правила интерпретации штрих-кодов при считывании карты через ридер ; true - использовать, false - нет. По умолчанию false ;useBcodeParserForMsrData = false