Начиная с версии 4.6.218 реализовано частичное добавление в чек продажи позиций из софт-чека в зависимости от остатков товара на кассе.

Торговые сети нередко сталкиваются с проблемой возникновения очередей, которая решается различными методами. Одним из способов сократить очереди на кассе и повысить лояльность клиентов является софт-чек. Софт-чек, или "мягкий чек", представляет собой предварительный чек, включающий все покупки, совершенные клиентом. Софт-чек формируется в магазине на специально оборудованных местах для продавцов или в интернет-магазине. При считывании софт-чека на кассе в чек продажи добавляются все товары из софт-чека.

Настройка модуля работы с софт-чеками

Для настройки модуля SoftCheck необходимо в конфигурационном файле /linuxcash/cash/conf/ncash.ini.d/softcheck.ini:

  1. Активировать плагин softcheck в секции [plugins].

    НаименованиеТип данныхВозможные значенияОписаниеПримечания
    softcheckстроковый
    • on
    • off

    Активация плагина для работы с софт-чеками

    По умолчанию on
    Пример настройки
    [plugins]
    ; Софт-чеки
    softcheck = on
  2. Настроить параметры работы с софт-чеками в секции [SoftCheck].

    НаименованиеТип данныхВозможные значенияОписаниеПримечания
    engineстроковый
    • rest
    • file

    Движок для работы с софт-чеками. Файловый или по rest-протоколу

    По умолчанию rest
    pathстроковый
    Путь до размещения софт-чеков
    timeoutцелочисленный
    Таймаут ожидания ответа от сервераПо умолчанию 10 секунд
    maskстроковый
    Маска для автоматического распознавания идентификатора софт-чека

    Для корректного применения значения по умолчанию параметр engine необходимо раскомментировать.

    Пример настройки
    [SoftCheck]
    ; Тип движка для работы с софт-чеками. Файловый или по rest-протоколу
    ; Возможные значения: file, rest.
    ; По умолчанию rest
    ;engine = rest
    
    ; Путь до софт-чеков
    ; По умолчанию ""
    ;path = http://192.168.0.1:8080/CSrest/rest/
    
    ; Таймаут ожидания ответа от сервера
    ; По умолчанию 10 секунд
    ;timeout = 10
    
    ; Маска для автоматического распознавания идентификатора софт-чека
    ; По умолчанию ""
    ;mask =

Добавление товара по софт-чеку

В кассовом ПО Artix реализована возможность добавления товаров в чек продажи из софт-чека.

Софт-чек формируется в какой-либо внешней системе, после чего загружается в БД кассового сервера, откуда касса получает данные по запросу. При формировании софт-чека задаются опции, определяющие возможность:

  • редактирования позиций софт-чека в чеке продажи,
  • добавления позиций в документ, кроме позиций, добавленных из софт-чека,
  • применения к позициям софт-чека дисконтных и бонусных воздействий.

Подробнее о загрузке софт-чеков на кассовый сервер можно прочитать в разделе "Софт-чеки".

Для добавления софт-чека в контексте открытого документа в утилите администрирования Yuki необходимо на клавишу настроить действие "Добавить софт-чек" с командой COMMAND_SOFTCHECK. О настройке действий подробнее можно прочитать в разделе "Настройка действий". После нажатия клавиши "Добавить софт-чек" на экран выводится диалог с полем ввода, в которое требуется ввести идентификатор софт-чека с клавиатуры или при помощи сканера.

В кассовом ПО Artix добавлена возможность автоматического распознавания идентификатора софт-чека при считывании сканером или вводе с клавиатуры. Для этого необходимо в конфигурационном файле /linuxcash/cash/conf/ncash.ini задать маску идентификатора софт-чека в параметре mask.

Пример настройки

Если параметр mask=444\d{6}, то при вводе "444123456" вся последовательность символов будет распознана как идентификатор софт-чека.

Если параметр mask=444(?<barcode>\d{6}), то при вводе "444123456" префикс "444" будет обрезаться, а "123456" будет являться идентификатором софт-чека.

После успешного добавления софт-чека и закрытия чека продажи на кассовый сервер отправляется запрос на присвоение статуса софт-чеку (1 – чек продажи с позициями из софт-чека закрыт), такой софт-чек нельзя добавить в чек продажи повторно. Статусы софт-чеков хранятся в БД Documents в таблице SoftchеckStatus .

Продажа по софт-чеку в кластерном режиме

При использовании кластерного режима возникает необходимость вести софт-чеки отдельно для каждого из клиентов, подключенных к кассовому серверу. В этом случае при запросе данных софт-чека, запросе на присвоение статуса софт-чеку касса отправляет на кассовый сервер запрос, включающий идентификатор софт-чека и идентификатор кластера. При подключении к кассовому серверу в файле настроек sync-агента /linuxcash/cash/sync/properties/cash.ini устанавливается ID кластера.

Обработка заказов

Работа с акцизными товарами (алкогольная и табачная продукция, обувь) осуществляется только в режиме заказа.

Восстановление софт-чека с заказом

При получении софт-чека проверяется наличие хотя бы у одной позиции тега necessaryScan (в поле tags).

  • Если в софт-чеке ни у одной позиции не установлен тег necessaryScan, то софт-чек сразу восстанавливается в чек продажи.
  • Если в софт-чеке есть хотя бы одна позиция с тегом necessaryScan, то касса переходит в контекст обработки заказа.

При передаче заказа в софт-чеке в позиции обязательно должны быть заполнены код товара, наименование, цена и количество. Для акцизных товаров обязательно должен быть указан тег necessaryScan, так как для них требуется считывание акцизной марки.

Работа в режиме заказа

Восстановление софт-чека с заказом

При восстановлении софт-чека с заказом осуществляется переход в контекст заказа, который представляет собой список товарных позиций с указанием кода, наименования, цены и количества.

При развертывании заказа товары в списке упорядочиваются: сначала отображаются товары, которые необходимо сканировать (товарная позиция на белом фоне, рядом с позицией иконка сканера штрих-кода), затем товары, для которых сканирование не требуется (товарная позиция выделена серым цветом, иконка отсутствует).

Если товары в заказе заданы некорректно (например, отсутствует наименование), то при восстановлении заказа на экран будет выведено сообщение об ошибке "Товары с некорректными данными удалены из заказа", и эти товары будут удалены из заказа. Если в заказе все товары заданы некорректно, то на экран будет выведено сообщение "Товары в заказе заданы некорректно. Заказ не сформирован", и переход в контекст обработки заказа не осуществляется.

Сканирование товаров из заказа

Для сканирования товара из заказа необходимо сканировать штрих-код товара или ввести код товара в поле ввода. После сканирования товар будет перемещен в конец списка товаров в заказе. Если количество товара в позиции > 1 или в заказе несколько позиций с одинаковым кодом, то сканировать товар требуется только один раз. После сканирования соответствующие позиции будут перемещены в конец списка товаров в заказе.

Для алкогольной и маркированной продукции требуется сканирование штрих-кода товара и штрих-кода акцизной марки или кода маркировки. После ввода корректной акцизной марки или корректного кода маркировки, если количество товара в позиции = 1, товар перемещается в конец списка товаров в заказе. Если количество товара в позиции > 1, то требуется сканирование штрих-кода и акцизной марки или кода маркировки для каждой единицы товара. В этом случае отсканированный товар выделяется из позиции и помещается в конец списка. Контроль акцизных марок и кодов маркировки в заказе осуществляется аналогично обычному чеку.

Для весовой маркированной продукции, независимо от количества товара в позиции, сканирование штрих-кода и кода маркировки требуется только один раз.

При вводе кода/штрих-кода товара, который есть в заказе (уже был сканирован или не требует сканирования), никаких изменений не происходит. При вводе кода/штрих-кода товара, которого нет в заказе, на экран выводится предупреждение "Товара нет в заказе".

Сторнирование позиций из заказа

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

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

При сторнировании последнего товара в заказе осуществляется переход в контекст открытого документа.

Переход из заказа в чек продажи

Цена товара, указанная в заказе, является минимальной ценой. Цены для товара из БД кассы игнорируются. Наименование товара в заказе соответствует наименованию, заданному в команде формирования софт-чека. При завершении сканирования товаров в заказе и переходе в контекст открытого документа наименования товаров заменяются на наименования товаров из БД кассы.

После того, как все товары будут отсканированы, необходимо нажать "Ввод", и на основе заказа будет сформирован чек продажи. Если часть товаров не была отсканирована, то при попытке перейти к чеку продажи по нажатию клавиши "Ввод" на экран будет выведено сообщение "Не все товары из заказа отсканированы".

Отмена заказа

Выход из контекста заказа осуществляется по нажатию клавиши "Отмена" или "Сторно все". При выходе из контекста заказа осуществляется переход в контекст открытого документа.

Восстановление после аварийного завершения работы 

В случае аварийного завершения работы кассы в контексте заказа восстановление происходит в том же состоянии. 

Закрытие чека с заказом

После успешного восстановления софт-чека с заказом и закрытия чека продажи на кассовый сервер отправляется запрос на присвоение статуса заказу (1 – чек продажи с позициями из заказа закрыт), такой заказ нельзя добавить в чек продажи повторно. Статусы софт-чеков/заказов хранятся в БД Documents в таблице SoftchеckStatus .

Чек, сформированный на основе заказа, закрывается и сохраняется в БД по аналогии с чеком, сформированным на основе обычного софт-чека.

Ограничение количества позиций в чеке

В кассовом ПО Artix предусмотрена возможность задавать ограничение количества позиций в чеке с помощью параметра positionsLimit в конфигурационном файле /linuxcash/cash/conf/ncash.ini в секции [Check]. Если суммарное количество позиций в чеке и софт-чеке/софт-чеке с заказом превышает максимальное количество позиций в чеке, то восстановление софт-чека/софт-чека с заказом невозможно, на экран будет выведено предупреждение:

  • для софт-чеков – "Превышен лимит позиций в чеке";
  • для софт-чеков с заказом – "Суммарное количество позиций в заказе и чеке превышает лимит позиций в чеке. Заказ не сформирован".

Если для товара установлено ограничение количества в документе по коду (БД Dictionaries таблица Tmc поле quant_mode = 256), и суммарное количество товара в чеке продажи и софт-чеке/софт-чеке с заказом превышает ограничение, то:

  • при восстановлении софт-чека на экран будет выведено предупреждение "Количество товара на чек ограничено. Максимум <количество товара>". Восстановление софт-чека невозможно;
  • после сканирования товаров в заказе (без акцизных товаров) и при переходе в режим продажи на экран будет выведено предупреждение "Количество товара на чек ограничено. Максимум <количество товара>". Чек продажи сформирован, товары сверх лимита удалены из чека;
  • при восстановлении софт-чека с заказом (с акцизными товарами) на экран будет выведено предупреждение "Количество товара на чек по коду ограничено. Максимум <количество товара>. Заказ не сформирован". Восстановление софт-чека с заказом невозможно.

Если для товара установлено ограничение количества в документе по штрих-коду (БД Dictionaries таблица Tmc поле quant_mode = 512), и суммарное количество товара в чеке продажи и софт-чеке/софт-чеке с заказом превышает ограничение, то:

  • при восстановлении софт-чека на экран будет выведено предупреждение "Количество товара на чек по штрих-коду ограничено. Максимум <количество товара>". Восстановление софт-чека невозможно;
  • после сканирования товаров в заказе (без акцизных товаров) и при переходе в режим продажи на экран будет выведено предупреждение "Количество товара на чек по штрих-коду ограничено. Максимум <количество товара>". Чек продажи сформирован, товары сверх лимита удалены из чека;
  • при восстановлении софт-чека с заказом (с акцизными товарами) на экран будет выведено предупреждение "Количество товара на чек по штрих-коду ограничено. Максимум <количество товара>. Заказ не сформирован". Восстановление софт-чека с заказом невозможно.

Частичное добавление позиций из софт-чека в зависимости от остатка товаров на кассе

Частичное добавление позиций из софт-чека в чек продажи возможно, если:

В кассовом ПО Artix реализована возможность частичного добавления позиций из софт-чека в зависимости от остатка товаров на кассе. В чек продажи могут быть добавлены не все позиции из софт-чека либо позиции в неполном количестве.

Если количество товара, указанное в позиции софт-чека, превышает остаток товара на кассе (БД Dictionaries таблица Tmc поле remain), то:

  • при ненулевом остатке необходимо подтвердить или отказаться от добавления позиции в неполном количестве:
    • при подтверждении в чек будет добавлена позиция с количеством, равным остатку,
    • при отказе позиция из софт-чека не будет добавлена в чек.
  • при нулевом остатке позиция из софт-чека не будет добавлена в чек, будет выведено соответствующее предупреждение.

После этого будет осуществлен переход к добавлению следующей позиции софт-чека.


  • No labels