Передача кодов маркировок

В кассовом ПО Artix реализована возможность передачи кодов маркировок (СИ и УКЗ) в ПКС "Цифровые кассы".

  • СИ (средство идентификации) – код маркировки в машиночитаемой форме, представленный в виде штрихового кода,
  • УКЗ (унифицированный контрольный знак) – документ с определенной степенью защиты, предназначенный для маркировки товаров.

Для передачи КМ необходимо чтобы модуль маркированных товаров markedgoods был активирован в конфигурационном файле /linuxcash/cash/conf/ncash.ini.d/markedgoods.ini в секции [plugins]. Подробнее об этом можно прочитать здесь.

Для передачи маркировки СИ в конфигурационном файле /linuxcash/cash/conf/ncash.ini.d/markedgoods.ini должны быть настроены соответствующие подсекции. Подробнее об этом можно прочитать в разделе "Реализация маркированных товаров".

Добавление в чек товара с маркировкой СИ возможно следующими способами:

  • Последовательным сканированием штрих-кода и маркировки СИ.
    При сканировании штрих-кода товара на экран будет выведен диалог "Отсканируйте код маркировки". Отсканируйте СИ маркировку, после чего маркированный товар будет добавлен в чек.
  • Сканированием маркировки СИ.
    При сканировании маркировки СИ маркированный товар будет добавлен в чек.

Для передачи маркировки УКЗ необходимо добавить подсекцию [MarkedGoods.Ukz] в конфигурационный файл /linuxcash/cash/conf/ncash.ini.d/markedgoods.ini:

Настройки в подсекции являются скрытыми, необходимо прописать их вручную.

[MarkedGoods.Ukz]
; Товары с унифицированными контрольными знаками (Республика Беларусь)
 
; Товары являются товарами с унифицированными контрольными знаками
ukz = true

; Маска для проверки УКЗ
mask = "01([0-9]{14})21([0-9]{9})([a-zA-Z]{3})"

Добавление в чек товара с маркировкой УКЗ возможно двумя способами:

  • Последовательным сканированием штрих-кода и маркировки УКЗ.
    При сканировании штрих-кода товара на экран будет выведен диалог "Отсканируйте код маркировки". Отсканируйте маркировку УКЗ, после чего маркированный товар будет добавлен в чек.
  • Последовательным сканированием маркировки УКЗ и штрих-кода товара.
    При сканировании УКЗ на экран будет выведен диалог "Необходима дополнительная информация. Отсканируйте штрих-код товара". Отсканируйте штрих-код, после чего маркированный товар будет добавлен в чек.

Добавление товаров с двумя видами маркировки

  • Для добавления товаров с двумя видами маркировки в БД Dictionaries таблице Tmc для поля op_mode необходимо задать значение 2097152.
  • При закрытии чека продажи коды маркировки для добавленных позиций сохраняются в БД Documents таблице Goodsitem:
    • СИ – в поле excisemark,
    • УКЗ – в поле additionalexcisemark.

Добавление в чек товара с двумя видами маркировки возможно следующими способами:

  • Последовательным сканированием штрих-кода, маркировки СИ и УКЗ.
    При сканировании штрих-кода товара на экран будет выведен диалог "Отсканируйте код маркировки".
    При сканировании маркировки СИ на экран будет выведен диалог "Сканируйте маркировку УКЗ". Отсканируйте маркировку УКЗ, после чего маркированный товар будет добавлен в чек.
  • Последовательным сканированием штрих-кода, маркировки УКЗ и СИ.
    При сканировании штрих-кода товара на экран будет выведен диалог "Отсканируйте код маркировки".
    При сканировании маркировки УКЗ на экран будет выведен диалог "Сканируйте маркировку СИ". Отсканируйте маркировку СИ, после чего маркированный товар будет добавлен в чек.
  • Последовательным сканированием маркировки СИ и УКЗ.
    При сканировании маркировки СИ на экран будет выведен диалог "Сканируйте маркировку УКЗ". Отсканируйте маркировку УКЗ, после чего маркированный товар будет добавлен в чек.
  • Последовательным сканированием маркировки УКЗ и СИ.
    При сканировании маркировки УКЗ на экран будет выведен диалог "
    Необходима дополнительная информация. Отсканируйте штрих-код товара". Отсканируйте маркировку СИ, после чего маркированный товар будет добавлен в чек.
  • Последовательным сканированием УКЗ, штрих-кода и маркировки СИ.
    При сканировании маркировки УКЗ на экран будет выведен диалог "
    Необходима дополнительная информация. Отсканируйте штрих-код товара".
    При сканировании штрих-кода на экран будет выведен диалог "Сканируйте маркировку СИ". Отсканируйте маркировку СИ, после чего маркированный товар будет добавлен в чек.

Добавление товаров с двумя видами маркировки при возврате по чеку продажи

Для добавления товаров с двумя маркировками в чек возврата по чеку продажи достаточно отсканировать одну из маркировок – СИ или УКЗ. 

Позицию можно выбрать из списка вручную в режиме выбора позиций либо сразу отсканировать одну из маркировок.

Добавление товара в чек возврата без сканирования кода маркировки

При закрытии чека возврата по чеку продажи для добавленных позиций в БД Documents таблице Stornogoodsitem сохраняются:

  • код маркировки СИ или УКЗ – в поле excisemark (если не было пропущено сканирование),
  • код маркировки УКЗ – в поле additionalexcisemark (если были отсканированы оба кода маркировки – СИ и УКЗ),
  • код маркировки до любых преобразований – в поле markingcode (сохраняется всегда).

В кассовом ПО реализована возможность пропускать сканирование кодов маркировок в чеке возврата по чеку продажи (отображается кнопка "Без маркировки"). Для этого необходимо вручную добавить и включить параметр skipScanMarksInBackBySale в конфигурационном файле /linuxcash/cash/conf/ncash. ini.d/markedgoods.ini в секцию [MarkedGoods.Ukz]:

  • при значении true, при выборе товара:

    • вручную, из списка позиций – на экран будут последовательно выведены диалоги сканирования:

      1. первого кода маркировки (в диалоге есть возможность пропустить сканирование).

      2. второго кода маркировки (в диалоге есть возможность пропустить сканирование):
        • СИ – если до этого был отсканирован УКЗ
        • УКЗ – если до этого был отсканирован СИ.
    • сканированием кода маркировки СИ – на экран будет выведен диалог сканирования кода маркировки УКЗ (в диалоге есть возможность пропустить сканирование).
    • сканированием кода маркировки УКЗ – на экран будет выведен диалог сканирования кода маркировки СИ (в диалоге есть возможность пропустить сканирование).
  • при значении false, при выборе товара:
    • вручную, из списка позиций – на экран будут последовательно выведены диалоги сканирования:

      1. первого кода маркировки.

      2. второго кода маркировки:
        • СИ – если до этого был отсканирован УКЗ
        • УКЗ – если до этого был отсканирован СИ.
    • сканированием кода маркировки СИ – на экран будет выведен диалог сканирования кода маркировки УКЗ.
    • сканированием кода маркировки УКЗ – на экран будет выведен диалог сканирования кода маркировки СИ.
НаименованиеТип данныхВозможные значенияОписаниеПримечания
skipScanMarksInBackBySaleлогический
  • true
  • false
Пропускать сканирование кодов маркировок в чеке возврата по чеку продажиПо умолчанию false
Пример настройки
[MarkedGoods.Ukz]
...
; Пропускать сканирование кодов маркировок в чеке возврата по чеку продажи
skipScanMarksInBackBySale = true
  • Товар, добавленный в чек возврата без сканирования одного из кодов маркировки, не может быть добавлен в новый чек продажи с этим кодом маркировки. При сканировании будет выведена ошибка "Код маркировки уже был зарегистрирован ранее".
  • Товар, добавленный в чек возврата без сканирования обоих кодов маркировки, не может быть добавлен в новый чек продажи с этими кодами маркировки. При сканировании обоих кодов маркировки будет выведена ошибка "Код маркировки уже был зарегистрирован ранее".

Передача GTIN

Если у товара указывается GTIN, то он передаётся через параметр id при закрытии чека. Если GTIN отсутствует, то в id будет передаваться:

  • Штрих-код.
    При длине штрих-кода  14 символов.
  • Код товара.
    • При длине штрих-кода > 14 символов.
    • При отсутствии штрих-кода.
    • При наличии нецифровых символов в значении штрих-кода.

При передаче id происходит:

  • Удаление лидирующих нулей.
    При наличии нулей в начале строки у каждого значения.

  • Удаление всех символов, кроме цифр.
    При наличии нецифровых символов в значениях.

  • Добавление лидирующих нулей.
    Для соответствия данным товароучетных систем.
  • No labels