Правила разбора, заданные в конфигурационном файле /linuxcash/cash/conf/bcode.ini, применяются в случае, если не были применены правила разбора из конфигурационного файла /linuxcash/cash/conf/ncash.ini.d/input.ini.
При указании правил разбора штрих-кода в конфигурационном файле /linuxcash/cash/conf/ncash.ini.d/input.ini, в /linuxcash/cash/conf/bcode.ini и в файлах директории /linuxcash/cash/conf/bcode.ini.d/ считывание файла происходит в следующем порядке:
- /linuxcash/cash/conf/ncash.ini.d/input.ini.
- /linuxcash/cash/conf/bcode.ini.
- /linuxcash/cash/conf/bcode.ini.d/.
Правила разбора штрих-кода фиксируются в конфигурационном файле /linuxcash/cash/conf/bcode.ini и применяются в заданном порядке. Также осуществляется считывание конфигурации bcodeparser из директории /linuxcash/cash/conf/bcode.ini.d/ (считывание файлов происходит в алфавитном порядке). Итоговая конфигурация выводится в основной лог программы /linuxcash/logs/current/terminal.log.
Формат записи файла bcode: Mask=Rule, где:
- Mask– маска сканируемого штрих-кода, по которой осуществляется поиск на соответствие вводимого штрих-кода правилу интерпретации,
- Rule– правило интерпретации штрих-кода, соответствующего маске.
Маска штрих-кода
Macка штрих-кода – строковое выражение, состоящее из следующих символов:
- ? – любой символ, занимающий данное знакоместо,
- * – любая последовательность символов,
- С – любая константа.
При совпадении сканируемого штрих-кода (или ручного ввода) с маской считается, что к введенному штрих-коду необходимо применить правило его интерпретации, описываемое в правой части выражения.
Правила интерпретации штрих-кода
Начиная с версии 4.6.162-3 для кода маркировки табачной продукции (M), штрих-кода акцизной марки алкогольной продукции (E), кода маркировки обувных товаров (m) и кода маркировки лекарственных препаратов (L) правило интерпретации задавать не требуется.
Правило интерпретации представляет собой строку, содержащую маски назначения. Маска назначения – последовательность одинаковых символов, определяющих значение соответствующих знакомест. Возможны следующие значения маски назначения:
| Символ | Значение | Примечания | 
|---|---|---|
| B | штрих-код товара | |
| Z | штрих-код товара без лидирующих нулей | |
| Y | штрих-код товара без завершающих нулей | |
| Q | количество (вес) | |
| P | цена | |
| i | индекс цены для товара | |
| d | номер отдела для товара | |
| X | символ игнорирования | |
| C | номер карты | |
| с | номер купона | |
| . | десятичная точка – разделитель целой и дробной части для веса и цены | Указывается только в правиле интерпретации, описанном в правой части выражения | 
| U | пароль консультанта | |
| S | задание шифрованных купонов | |
| s | срок годности товара в формате ддММ, ддММГГ, ддММГГчч, ддММГГччмм | Используется для контроля срока годности товара | 
| O | номер уникального (онлайн) купона | |
| e | дополнительная опция товара | Используется при предоставлении скидки по штрих-коду | 
| : | правило применения интерпретированных штрих-кодов | В процессе разбора считывается как отдельный символ, поэтому указывается в маске штрих-кода и в правиле интерпретации, описанном в правой части выражения | 
| K | данные комплектного товара | Используется для комплектных товаров | 
Правило интерпретации штрих-кода в bcode.ini: 28???????????=BBBBBBBQQ.QQQX *=BBBBBBBBBBBBBBBBBB Разбор штрих-кода: 1. При вводе вручную или при помощи сканера штрих-кода 2812345005769 строка будет интерпретирована следующим образом: Реальный штрих-код = 2812345, Вес (кол-во) товара = 0.576 кг. В чек будет добавлен товар со штрих-кодом 2812345 и количеством 0.576 кг. 2. При вводе штрих-кода 4602685501894 товар пройдет через маску * и будет добавлен в чек с этим штрих-кодом.
Правило интерпретации штрих-кода в bcode.ini: 4601339001193?????=BBBBBBBBBBBBBPPP.PP Разбор штрих-кода: При вводе вручную или при помощи сканера штрих-кода 460133900119312323 строка будет интерпретирована следующим образом: Реальный штрих-код = 4601339001193, Цена товара = 123.23. В чек будет добавлен товар со штрих-кодом 4601339001193 и ценой 123.23.
Правила интерпретации для шифрованных купонов (S) и уникальных купонов (O) могут быть заданы двумя способами:
- фиксированное количество символов, соответствующее маске. Пример правила интерпретации шифрованных купонов- ?????=SSSSS 
- произвольное количество символов, соответствующее маске. Пример правила интерпретации шифрованных купонов- ?????=S* 
Правило применения интерпретированных штрих-кодов (:) используется при одновременном вводе разных типов данных. Данные будут последовательно считываться и применяться до первой ошибки.
QR-код содержит номер уникального (онлайн) купона и номер карты. При считывании QR-кода сначала будет осуществлена проверка купона, затем - карты. Если при добавлении купона возникла ошибка, то добавление карты в чек осуществляться не будет.
При корректных данных купон и карта будут добавлены в чек.
Реализовано только в контексте открытого документа.
Правило интерпретации штрих-кода в bcode.ini: ???????????????????=OOOOOOOOOOOO:CCCCCC Разбор штрих-кода: При вводе штрих-кода 111222333444:123456 строка будет интерпретирована следующим образом: Номер уникального (онлайн) купона = 111222333444, Номер карты = 123456. В чек будут добавлены купон с номером 111222333444 и карта с номером 123456.
Штрих-код содержит дополнительную опцию товара и номер купона. При считывании штрих-кода сначала будет определена дополнительная опция, затем - номер купона.
При корректных данных купон и товар с дополнительной опцией будут добавлены в чек.
Реализовано только в контексте открытого документа.
Правило интерпретации штрих-кода в bcode.ini: ?????_?????=eeee:cccc Разбор штрих-кода: При вводе штрих-кода 4455_5544 строка будет интерпретирована следующим образом: Дополнительная опция товара = 4455, Номер купона = 5544. В чек будет добавлен купон с номером 5544 и товар с дополнительной опцией.