Способы задания цены товара
Цена товара представляет собой денежный эквивалент стоимости товара, выраженный в единицах той или иной валютной системы. Для гибкого использования цены товара при продаже в свойствах товара могут задаваться:
- Цена по умолчанию. Цена, которая автоматически подставляется в чек при регистрации товара.
- Минимальная цена. Минимальная цена определяет политику контроля стоимости товара при продаже. Контроль минимальной цены задается в свойствах товара и учитывается при предоставлении скидок и вводе цены вручную.
- Дополнительная цена. Цена, которую можно использовать для продажи товара в различных ситуациях: оптовая продажа, выбор цены из списка, продажа по социальной цене и т.д.
- Переоценки. Изменение стоимости единицы товара при потере первоначальных потребительских свойств, изменения в законодательстве, проведение распродаж. Переоценка товара осуществляется на основании приказа руководителя торговой организации и подтверждается инвентаризационным актом.
- Минимальная розничная цена. Минимальная розничная цена – цена, ниже которой товар не может быть реализован с учетом бонусных воздействий, дисконта, скидки на мелочь, оплаты сертификатом, как скидкой, и применения модификатора цены.
Свойства товара, включая параметры цены товара, задаются в утилите администрирования Yuki или загружаются со справочниками из товароучетной системы. Цена и минимальная цена могут быть заданы в справочниках: разрезы (только цена), переоценки, штрих-коды, товары. Значения цены и минимальной цены выбираются последовательно из перечисленных справочников следующим образом:
Подбирается первое заполненное значение. Ноль является корректным значением!
- В случае использования дополнительных характеристик товара выполняется поиск цены в справочнике "Разрезы".
- Для введенного штрих-кода выполняется подбор цены и минимальной цены в справочнике "Переоценки".
- Повторяется подбор данных из справочника "Переоценки", но уже для кода товара.
- Считываются данные из справочника "Штрих-коды".
- В последнюю очередь, если цена или минимальная цена не были заданы ни в одном из предыдущих справочников, используются данные из справочника "Товары".
Цена товара в справочнике переоценок выбирается из переоценок, действительных на момент поиска, следующим образом:
- выбирается запись с наименьшей (самой ранней) датой окончания переоценки,
- если записей с наименьшей переоценкой несколько, то выбирается запись с наибольшей (самой поздней) датой начала переоценки,
- если записей с наименьшей переоценкой несколько и даты начала переоценок одинаковые, то будет выбрана первая запись,
- если дата окончания переоценки отсутствует, то выбирается запись с наибольшей датой переоценки.
По разным причинам цена товара может оказаться ниже минимальной, например, при выгрузке переоценки. Чтобы не допустить продажу товара по цене, ниже минимальной, кассовое ПО в такой ситуации позволяет блокировать продажу товара. Проверка значения минимальной цены определяется параметром disableInventSaleByMinPrice
, который задается в конфигурационном файле /linuxcash/cash/conf/ncash.ini
в секции [Check]
:
- при значении параметра
true
добавление товара с ценой ниже минимальной блокируется. На экран выводится сообщение о том, что цена продажи ниже минимальной, - при значении параметра
false
товар будет добавлен в чек даже в том случае, если цена продажи ниже минимальной.
Кассовое ПО Artix позволяет разрешать или запрещать продажу акцизной алкогольной продукции в случае, если минимальная цена товара равна 0 (null). Проверка возможности продажи алкоголя по минимальной цене, равной 0, определяется параметром allowZeroMinPriceForExciseAlco
, который задается в конфигурационном файле /linuxcash/cash/conf/ncash.ini
в секции [Check]
:
- при значении параметра
true
продажа акцизного алкогольного товара, имеющего минимальную цену, равную0
, разрешена; - при значении параметра
false
акцизный алкоголь с нулевой минимальной ценой запрещен к продаже. Минимальная цена алкогольного товара с акцизной маркой получается из справочника "Товары". При добавлении такого товара в чек на экран будет выведено сообщение "Не указана минимальная цена товара".
Подробнее о продаже алкогольной продукции можно прочитать в разделе "Продажа и возврат".
В кассовом ПО Artix реализована возможность задавать минимальную розничную цену для всех товаров, у которых МРЦ не указана в БД, с помощью параметра minRetailPrice
в конфигурационном файле /linuxcash/cash/conf/ncash.ini
в секции [Check]
.
Если цена товара равна нулю, то в кассовом ПО предусмотрена возможность блокировать ее добавление. Запрет регистрации позиции с нулевой ценой определяется параметром disableZeroPrice
, задаваемым в конфигурационном файле /linuxcash/cash/conf/ncash.ini
в секции [Security.Restrictions]
:
- при значении
true
добавление в чек товара с нулевой ценой запрещено. На экран кассира выводится предупреждение "Запрет регистрации с нулевой ценой", - при значении
false
в чек можно добавить товар, имеющий цену равную0
.
Секция | Наименование | Тип данных | Возможные значения | Описание | Примечания |
---|---|---|---|---|---|
[Check] | disableInventSaleByMinPrice | логический |
| Блокировать продажу товара, если цена меньше минимальной | По умолчанию false |
[Check] | allowZeroMinPriceForExciseAlco | логический |
| Разрешать продажу алкогольного товара с акцизной маркой, если минимальная цена товара равна 0 | По умолчанию true |
[Check] | minRetailPrice | строковый | Минимальная розничная цена товара | По умолчанию 0.0 | |
[Security.Restrictions] | disableZeroPrice | логический |
| Запрет регистрации позиции с нулевой ценой | По умолчанию false |
[Check] ; Настройки чека ... ; Блокировать продажу товара, если минимальная цена больше самой цены. ; По умолчанию false disableInventSaleByMinPrice = true ... ; Разрешать продажу алкогольного товара с акцизной маркой если минимальная цена товара равна 0. ; Минимальная цена товара с акцизной маркой всегда берется из карточки товара (tmc) ; true - разрешена продажа, false - запрещена ; По умолчанию true allowZeroMinPriceForExciseAlco = true ... [Security.Restrictions] ... ; Запрет регистрации позиции с нулевой ценой ; true - запрещено, false - разрешено ; По умолчанию false disableZeroPrice = true ...
Ввод цены вручную
При продаже товара могут возникать ситуации, когда необходимо изменить цену товара при его регистрации в чеке. Для указания цены товара вручную используется модификатор "Цена". Индикатор введенной цены отображается в области модификаторов. Для настройки модификатора "Цена" в утилите администрирования Yuki необходимо на клавишу настроить действие "Изменение цены" с командой COMMAND_PRICE
. О настройке действий подробнее можно прочитать в разделе "Настройка действий".
Модификатор "Цена" может быть:
- указан перед регистрацией товара в чеке. Значение цены автоматически присваивается товару, добавляемому после ввода модификатора,
- применен к зарегистрированной позиции. Для добавления цены из модификатора в текущую позицию используется клавиша "Применение модификаторов к позиции" с командой
COMMAND_APPLY
, - применен автоматически к выбранной позиции. Для этого необходимо у казать параметр
mode
со значением1
для действия "Изменение цены".
При попытке автоматического изменения цены позиции в пустом документе на экран будет выведено предупреждение "Документ не открыт".
В кассовом ПО Artix реализована возможность запрета применения дисконтных скидок при использовании модификатора "Цена". Для этого необходимо в утилите администрирования Yuki для действия COMMAND_PRICE
активировать параметр forbidDiscount
.
Если в свойствах товара указана минимальная цена, и введенная цена ниже ее значения, то в товарную позицию будет подставлено значение минимальной цены.
Для игнорирования минимальной цены товара необходимо включить настройку ignoreMinPriceWhenInputPriceManual
, которая задается в конфигурационном файле /linuxcash/cash/conf/ncash.ini
в секции [Misc]
:
- при значении
false
учитывается значение минимальной цены товара, - при значении
true
минимальная цена товара игнорируется, в товарную позицию будет подставлено значение введенное вручную.
Наименование | Тип данных | Возможные значения | Описание | Примечания |
---|---|---|---|---|
ignoreMinPriceWhenInputPriceManual | логический |
| Игнорировать минимальную цену товара, при вводе цены вручную | По умолчанию false |
[Misc] ... ; Игнорировать минимальную цену товара, при вводе цены вручную ; По умолчанию false ;ignoreMinPriceWhenInputPriceManual = false
В кассовом ПО Artix реализован функционал ограничения минимальной допустимой цены товара при использовании модификатора "Цена". Для этого необходимо:
Активировать плагин проверки ограничений в конфигурационном файле
/linuxcash/cash/conf/ncash.ini.d/restrictions.ini
в секции[plugins]
с помощью параметраrestrictions
.Наименование Тип данных Возможные значения Описание restrictions строковый - on
- off
Активация плагина проверки ограничений В конфигурационном файле
/linuxcash/cash/conf/ncash.ini.d/restrictions.ini
в секции[Restrictions.Price]
:установить значение для параметра
minAllowedPriceRatio
,задать список причин изменения цены товара с помощью параметра
reasons
.
Наименование Тип данных Возможные значения Описание Примечания minAllowedPriceRatio числовой Коэффициент для получения минимальной допустимой цены товара при вводе цены вручную По умолчанию
-1.0
.Если значение настройки меньше
0.0
, то проверка цен произведена не будетreasons строковый Список причин ввода цены вручную Список причин задается через запятую: "
Причина 1, Причина 2
".Если значение настройки не задано, то проверка цен произведена не будет
alwaysChoiceReason логический - true
- false
Всегда отображать выбор причины изменения цены По умолчанию
false
.Если настройка включена, то выбор причины изменения цены отображается как при уменьшении, так и при повышении цены
Пример настройки[plugins] ; Плагин проверки ограничений ;restrictions = off [Restrictions.Price] ; Настройки проверки цены товара ; Коэффициент для получения минимальной допустимой цены товара при вводе цены вручную ; (Если значение настройки меньше 0.0, то проверка цен производиться не будет) ; По умолчанию -1.0 ;minAllowedPriceRatio = -1.0 ; Список причин ввода цены вручную ; Список задается через запятую: "Причина 1, Причина 2" ; (Если значение настройки не задано, то проверка цен производиться не будет) ; По умолчанию "" ;reasons = "" ; Всегда отображать выбор причины изменения цены ; По умолчанию false ;alwaysChoiceReason = false
При попытке применить модификатор "Цена" со значением < "цена товара * коэффициент", на экран будет выведена ошибка "Минимальная допустимая цена товара <цена товара * коэффициент>", цена товара не будет изменена.
При попытке применить модификатор "Цена" со значением < "цена товара", но >= "цена товара * коэффициент", на экран будет выведен список выбора причины изменения цены:
- после выбора причины изменения цены модификатор "Цена" успешно применяется,
- при отказе от выбора причины изменения цены модификатор "Цена" не применяется.
При попытке применить модификатор "Цена" со значением >= "цена товара":
- при
alwaysChoiceReason = true
на экран будет выведен список выбора причины изменения цены. После выбора причины изменения цены модификатор "Цена" успешно применяется, - при
alwaysChoiceReason = false
успешно применяется без выбора причины изменения цены.
Модификатор "Цена" может быть применен совместно с другими модификаторами (количество, отдел, расфасовка).В кассовом ПО Artix реализована возможность настройки коэффициента для получения минимальной допустимой цены товара при вводе цены вручную для пользователя с заданной ролью. Данное поведение задается в конфигурационном файле
/linuxcash/cash/conf/ncash.ini.d/restrictions.ini
в секциях вида[Restrictions.Price.<Код роли пользователя>]
.Наименование Тип данных Описание Примечания minAllowedPriceRatio числовой Коэффициент для получения минимальной допустимой цены товара при вводе цены вручную для пользователя с заданной ролью По умолчанию соответствует значению настройки
minAllowedPriceRatio
из секции[Restrictions.Price]
.Если параметр задан, то применяется наименьшее значение настройки
minAllowedPriceRatio
из текущей секции и из общей секции[Restrictions.Price]
.Для ролей, коды которых не указаны в секциях, при проверке будет использовано значение параметра
minAllowedPriceRatio
из общей секции[Restrictions.Price]
.Если значение настройки меньше
0.0
, то проверка цен произведена не будетПример настройки[Restrictions.Price.<Код роли пользователя>] ; Настройка коэффициента для получения минимальной допустимой цены товара при вводе цены вручную для пользователя с заданной ролью ; Параметр minAllowedPriceRatio может быть задан для пользователя с заданной ролью ; В таком случае применится наименьшее значение настройки minAllowedPriceRatio из текущей секции и из общей секции [Restrictions.Price] ; (Если значение настройки меньше 0.0, то проверка цен производиться не будет) ; По умолчанию соответствует значению настройки minAllowedPriceRatio из секции [Restrictions.Price] ;minAllowedPriceRatio = -1.0
Пример использования значений из разных секций[Restrictions.Price] minAllowedPriceRatio = 0.9 reasons = "Неверная цена товара в зале, не применилась акция" [Restrictions.Price.2] minAllowedPriceRatio = 1.0 [Restrictions.Price.3] minAllowedPriceRatio = 0.5 [Restrictions.Price.4] minAllowedPriceRatio = -1.0
При проверке:
- для роли с кодом 4 будет использован коэффициент
-1.0
из секции[Restrictions.Price.4]
, для роли с кодом 3 будет использован коэффициент
0.5
из секции[Restrictions.Price.3]
,Если у роли
3
есть связанная роль4
или у пользователя указаны роли3
и4
, то будет использован коэффициент-1.0
из секции[Restrictions.Price.4]
.- для роли с кодом 2 будет использован коэффициент
0.9
из секции[Restrictions.Price]
, - для других ролей будет использован коэффициент
0.9
из секции[Restrictions.Price]
.
В кассовом ПО Artix реализована возможность записи в журнал выполненных операций информации об изменении цены товара вручную. Информация фиксируется в таблице Crights
поле commandname
в виде {"code": "<код товара>", "price": "<введенная цена>", "reason": "<причина изменения цены>"}
.
Указание скидки при применении модификатора "Цена" (для интерфейсов touch и combined)
Функционал поддержан для интерфейсов:
touch
– начиная с версии 4.6.241,combined
– начиная с версии 4.6.254.
Для изменения цены в соответствии со скидкой при применении модификатора "Цена" дисконтная система не используется. Изменения применяются к позиции аналогично вводу цены вручную.
В кассовом ПО реализована возможность задать для выбранной позиции скидку при применении модификатора "Цена". Для этого необходимо:
- В утилите администрирования Yuki на клавишу настроить действие "Изменение цены" с командой
COMMAND_PRICE
:- для действия "Изменение цены" необходимо задать параметр
mode
– со значением1
. - тип ставки для скидки можно изменить с помощью параметра
discType
, - точность округления цены после расчета скидки можно изменить с помощью параметра
precision
.
- для действия "Изменение цены" необходимо задать параметр
В конфигурационном файле
/linuxcash/cash/conf/ncash.ini.d/gui.ini
в секции[GUI]
включить настройкуshowDiscountButtonInPriceEdit
:- при значении
true
в диалоге редактирования цены дополнительно отображается кнопка "Скидка" и изначальная цена выбранной позиции, - при значении
false
кнопка "Скидка" и изначальная цена не отображаются, указать скидку при применении модификатора "Цена" невозможно. Значение по умолчанию.
Наименование Тип данных Возможные значения Описание Примечания showDiscountButtonInPriceEdit логический - true
- false
Отображать кнопку добавления скидки в диалоге редактирования цены По умолчанию false
Пример настройки[GUI] ... ; Отображать кнопку добавления скидки в диалоге редактирования цены ; По умолчанию false ;showDiscountButtonInPriceEdit = false
- при значении
Обязательный ввод цены
В кассовом ПО реализована возможность запрашивать ввод цены при регистрации товара в чеке. Обязательное условие ввода цены для товара определяется его свойствами и задается в утилите администрирования Yuki. При добавлении в чек товара с таким свойством на экран кассира будет выведен диалог ввода цены.
Добавление товара с обязательным вводом цены происходит с учетом значения минимальной цены. Если при вводе указана цена ниже минимальной, то товар будет добавлен в чек с минимальной ценой.
При применении модификатора цены или выборе цены товара из списка обязательный ввод цены не применяется к товарной позиции, поскольку первые два свойства имеют более приоритетное значение.
Выбор цены из списка
При добавлении товарной позиции в чек продажи предусмотрена возможности выбора цены из списка. Механизм выбора цены из списка используется при продаже товара, имеющего несколько цен, зависящих от партии товара. Формирование списка цен осуществляется на основании дополнительных цен, заданных в свойствах товара через утилиту администрирования Yuki или загруженных из товароучетной системы.
Для возможности выбора цены из списка необходимо в свойствах товара в утилите администрирования Yuki установить флаг "Обязательный выбор цены из списка".
Если цена товара, выбранная из списка, ниже минимальной цены, то при регистрации товара позиции присваивается цена из списка.
Кассовое ПО Artix позволяет отказаться от добавления товара при выборе цены из списка. Возможность отказа определяется параметром useCancelWhenSelectPrice
, который задается в конфигурационном файле /linuxcash/cash/conf/ncash.ini
в секции [Misc]
:
- при значении
true
возможен отказ от добавления товара. Диалог выбора цены товара из списка закрывается при нажатии клавиши "Отмена", в touch-интерфейсе отображается кнопка "Отмена". Значение по умолчанию, - при значении
false
отказаться от добавления товара невозможно. Диалог выбора цены товара из списка не закрывается при нажатии клавиши "Отмена", в touch-интерфейсе не отображается кнопка "Отмена".
При выборе дополнительных цен может учитываться дата переоценки (поле effectivedate
в БД Dictionaries
таблице Tprices
), регулируется параметром checkEffectiveDateOnSelectIndexPrices
в конфигурационном файле /linuxcash/cash/conf/ncash.ini
в секции [Check]
:
- при значении параметра
true
будет учитываться дата переоценки. Цена применяется, еслиeffectivedate
равна или меньше текущей даты. Если значения индекса (полеtindex
в БДDictionaries
таблицеTprices
) у нескольких дополнительных цен равны, то будет применена цена со значениемeffectivedate
, которое является прошедшей датой, ближайшей к текущей, - при значении параметра
false
дата переоценки учитываться не будет.
Секция | Наименование | Тип данных | Возможные значения | Описание | Примечания |
---|---|---|---|---|---|
[Misc] | useCancelWhenSelectPrice | логический |
| Закрытие диалога выбора цены товара из списка по клавише ESC и кнопке "Отмена" | По умолчанию true |
[Check] | checkEffectiveDateOnSelectIndexPrices | логический |
| Проверять дату переоценки при выборе дополнительных цен | По умолчанию false |
[Misc] ... ; Закрытие диалога выбора цены товара из списка по клавише ESC и кнопке "Отмена" ; При значении true - диалог закрывается при нажатии клавиши ESC, в touch интерфейсе отображается кнопка "Отмена" ; При значении false - диалог не закрывается, в touch интерфейсе не отображается кнопка "Отмена" ; По умолчанию true ;useCancelWhenSelectPrice = true ... [Check] ; Проверять дату переоценки при выборе дополнительных цен ; По умолчанию false checkEffectiveDateOnSelectIndexPrices = false