В кассовом ПО Artix предусмотрена возможность сторнирования одной выбранной позиции, а также удаление всех позиций с аннулированием чека. При аннулировании чека информация о нем сохраняется в базе данных, текущий чек при этом закрывается. Добавление новой позиции открывает новый документ со следующим порядковым номером. Информация о сторнированных позициях сохраняется в чеке и может быть использована при построении отчетов и передаче данных в товароучетную систему.

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

Операция сторнирования

Для настройки сторнирования в утилите администрирования Yuki необходимо на клавишу настроить действие:

  • "Сторно текущей позиции" для сторнирования текущей позиции с командой COMMAND_STORNOSELECT.
  • "Сторно все" для сторнирования всех позиций в чеке COMMAND_STORNOALL.

О настройке действий подробнее можно прочитать в разделе "Настройка действий". 

Подтверждение сторнирования другим пользователем

В зависимости от внутренних правил работы торговой сети операция сторнирования может быть разрешена кассиру или более привилегированному сотруднику магазина. Регламент сторнирования определяется параметром alwaysConfirmStorno в конфигурационном файле /linuxcash/cash/conf/ncash.ini в секции [Security.Restrictions]:

  • при значении параметра true выполнение сторнирования позиции или чека требует обязательного подтверждения, независимо от наличия прав на сторнирование у пользователя, который инициировал процедуру. Подтвердить операцию сторно можно по паролю или клавиатурным ключом;
  • при значении параметра false операции сторно могут выполнять все пользователи, имеющие на это права. Если права на выполнение операции сторнирования ограничены для текущего пользователя, то для ее осуществления требуется подтверждение более привилегированным пользователем. В базу данных записываются сведения о пользователе, подтвердившем операцию. 
НаименованиеТип данныхВозможные значенияОписаниеПримечания
alwaysConfirmStornoлогический
  • true
  • false

Подтверждение сторнирования позиции или всего чека другим пользователем

По умолчанию false
Пример настройки
[Security.Restrictions]
;
; Параметры, относящиеся к безопасности
;
...
;Подтверждение сторнирования позиции или всего чека другим пользователем
;По умолчанию false
;alwaysConfirmStorno = false

Печать отчета по сторнированным позициям

В кассовом ПО Artix реализована возможность печати отчета по сторнированным позициям после закрытия чека. Для этого необходимо:

  1. Активировать параметр ведения журнала выполненных операций activityJournal.
  2. Активировать плагин проверки ограничений в конфигурационном файле /linuxcash/cash/conf/ncash.ini.d/restrictions.ini в секции [plugins] с помощью параметра restrictions.

    НаименованиеТип данныхВозможные значенияОписание
    restrictionsстроковый
    • on
    • off
    Активация плагина проверки ограничений
  3. Установить возможность печати отчета в конфигурационном файле /linuxcash/cash/conf/ncash.ini.d/restrictions.ini в секции [Restrictions.Crights] с помощью параметра printStornoReport.

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

    • при значении параметра false отчет напечатан не будет.

    НаименованиеТип данныхВозможные значенияОписаниеПримечания
    printStornoReportлогический
    • true
    • false
    Печать отчета по сторнированным позициям после закрытия чекаПо умолчанию false
Пример настройки
[plugins]
; Плагин проверки ограничений
;restrictions = off   

; Печать отчета по сторнированным позициям после закрытия чека
; отчет restrictions_storno
; по умолчанию false
;printStornoReport = false

Свойства позиции при печати code и name регулируются параметром positionStornoProps.

Ограничения на выполнение сторнирования

По сумме чека/позиции

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

  • roles – список ролей пользователей, для которых разрешено выполнение команды,
  • sumRestrictions – список ограничений для каждой из ролей по сумме позиции или чека. Используется формат "код роли:сумма".

Если роль пользователя не входит в список ролей, для которых разрешено выполнение команды сторно (параметр roles), или если сумма чека/позиции превышает ограничение для роли (параметр sumRestrictions), то выполнение операции требует обязательного подтверждения:

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

По коду подтверждения/штрих-коду, с вводом количества

Реализовано только для чеков продажи.

В кассовом ПО Artix реализована возможность сторнирования:

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

Для этого необходимо:

  1. Активировать плагин проверки ограничений в конфигурационном файле /linuxcash/cash/conf/ncash.ini.d/restrictions.ini в секции [plugins] с помощью параметра restrictions.

    НаименованиеТип данныхВозможные значенияОписание
    restrictionsстроковый
    • on
    • off
    Активация плагина проверки ограничений
  2. Включить ограничения для сторнирования товарных позиций и всего чека в конфигурационном файле /linuxcash/cash/conf/ncash.ini.d/restrictions.ini в секции [Restrictions.Storno] с помощью параметра enableStornoRestrictions:

    • при значении параметра true попытка сторнирования:

      • каждой товарной позиции требует:

        • подтверждения:

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

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

        • ввода количества товара, если количество штучных товаров в позиции не равно 1:

          • если введенное количество меньше количества товара выбранной позиции, то к позиции будет применен модификатор "Количество", позиция сторнирована не будет,
          • если количество товара для сторнирования равно количеству товара выбранной позиции, то позиция будет сторнирована.

      • всего чека требует ввести код, отображенный в диалоге подтверждения.

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

    • при значении параметра false сторнирование позиции или всего чека будет выполнено без подтверждения и ввода количества товара.

    НаименованиеТип данныхВозможные значенияОписаниеПримечания
    enableStornoRestrictionsлогический
    • true
    • false
    Включить ограничения для операций сторнирования товарных позиций и всего чекаПо умолчанию false
    Пример настройки
    [Restrictions.Storno]
    ; Включить ограничения для операций сторнирования товарных позиций и всего чека
    ; По умолчанию false
    ;enableStornoRestrictions = false

    Нежелательно использование ограничений для операций сторнирования товарных позиций и всего чека совместно с настройками unitePosition и checkBarcodeForUnion.

  3. Указать данные, с помощью которых может быть подтверждено сторнирование позиций, в конфигурационном файле /linuxcash/cash/conf/ncash.ini.d/restrictions.ini в секции [Restrictions.Storno].

    НаименованиеТип данныхВозможные значенияОписаниеПримечания
    confirmValuesстроковый
    • bcode
    • rawdata
    Данные позиции, с помощью которых может быть подтверждено сторнированиеПо умолчанию rawdata
    Пример настройки
    [Restrictions.Storno]
    ...
    ; Данные позиции, с помощью которых может быть подтверждено сторнирование. Возможные значения:
    ; bcode - штрих-код товара
    ; rawdata - исходные данные до любых преобразований, полученные при добавлении позиции в чек
    ; По умолчанию "rawdata"
    ;confirmValues = "rawdata"

    Если используются весовые ШК и наборы с наименьшей скидкой, то необходимо для настройки confirmValues задать значение bcode.

  4. Настроить параметры кода подтверждения confirmCodeAlphabet и confirmCodeLength в конфигурационном файле /linuxcash/cash/conf/ncash.ini.d/restrictions.ini в секции [Restrictions.Storno].

    НаименованиеТип данныхОписаниеПримечания
    confirmCodeAlphabetстроковыйАлфавит, на основе которого будет генерироваться случайный код подтвержденияПо умолчанию "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
    confirmCodeLengthстроковыйДлина случайного кода подтвержденияПо умолчанию 4
    Пример настройки
    [Restrictions.Storno]
    ...
    ; Алфавит, на основе которого будет генерироваться случайный код подтверждения
    ; По умолчанию "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
    ;confirmCodeAlphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
    
    ; Длина случайного кода подтверждения
    ; По умолчанию 4
    ;confirmCodeLength = 4
  • No labels