Штриховое кодирование представляет собой технологию идентификации, посредством которой осуществляется автоматическое распознавание, расшифровка, обработка, передача и запись информации, закодированной в штрих-коде. Для корректного распознавания штрих-кода товара используются правила интерпретации. Правила разбора штрих-кода фиксируются в конфигурационном файле /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