Вычисление размера скидок

Документ продажи состоит из объектов, к которым могут быть применены воздействия (скидки). Объектами чека выступают:

  • чек,
  • товарная позиция,
  • набор.

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

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

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

Результатом применения скидки является воздействие, применяемое к объекту скидки. Величина скидки определяется типом скидки и правилом расчета размера воздействия. Правило расчета суммы зависит от типа ставки:

  • Процентная. Сумма скидки определяется как процент от суммы объекта скидки.
    СуммаСоСкидкой = Сумма - (Сумма * (ПроцентСкидки / 100))
  • Абсолютная (суммовая). Сумма скидки равна указанной ставке.
    СуммаСоСкидкой = Сумма - СуммаСкидки

    В случае применения абсолютной скидки к позиции ее размер не зависит от количества товара в данной позиции.

  • Индексная. Размер скидки вычисляется как разность стоимости объекта и индексной цены.
    СуммаСоСкидкой = ИндекснаяЦена
    РазмерСкидки = НачальнаяЦена - ИндекснаяЦена
  • Расчетная. Размер ставки рассчитывается согласно заданному условию.

Процентная ставка

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

Механизм задания и применения процентной скидки следующий:

  1. В параметрах скидки выбирается процентная ставка:
  2. В окне задания скидки указывается значение ставки:
  3. При добавлении товара в чек дисконтная система осуществляет проверку выполнения условий, заданных в акции:
    • если условия выполнены, то к позиции, набору или чеку применяется скидка в размере указанного процента от цены объекта скидки;
    • если условия не выполнены, то товары в чеке продаются без предоставления скидки.
    Проверка выполнения условий осуществляется для каждой позиции в чеке.

Суммовая ставка

В параметрах акции, проводимой торговой сетью, может быть задано предоставление абсолютной (суммовой) скидки на товар, набор товаров или чек. В этом случае, покупатель получит скидку в размере конкретной суммы при выполнении условий акции. Например, при сумме чека на 1000 рублей и более покупатель получает скидку 50 рублей. Размер скидки задается в виде неизменяемой суммы, поэтому при сумме чека в 1000 и в 1450 рублей скидка будет одинаковой - 50 рублей.

Механизм задания и применения суммовой скидки следующий:

  1. В параметрах скидки выбирается суммовая ставка:

  2. В окне задания скидки указывается значение ставки:

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

Индексная ставка

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

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

Механизм задания и применения индексной скидки следующий:

  1. Для акционного товара задается дополнительная цена с индексом:
  2. В параметрах скидки выбирается индексная ставка:
  3. Указывается значение индекса акционной цены:
  4. При добавлении товара в чек дисконтная система осуществляет поиск индекса дополнительной цены, указанного в акции:
    • если индекс найден, то соответствующая ему цена подставляется в качестве цены, по которой необходимо продать товар;
    • если индекс не найден, то индексная скидка не предоставляется, товары в чеке продаются по основной цене.
    Поиск дополнительных цен выполняется для каждой позиции в чеке.
Пример задания индексной ставки

Пусть первоначальная стоимость товара составляет 50 рублей.

В свойствах товара присвоим ему акционную цену с индексом 6.

Создадим скидку "Все по 20!" с объектом скидки - позиция.

Изменим ставку по скидке на индексную. В значении индекса укажем индекс дополнительной цены (в нашем случае - 6), заданный в свойствах товара.

При добавлении в чек цена товара пересчитывается в соответствии с условиями акции:

Стоимость товарной позиции: 1*(50 - 30 (скидка)) = 20 рублей

Расчетная ставка

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

Каждый параметр расчетной ставки возвращает определенное значение. Например, сумма чека, количество товара в позиции, код валюты и т.д.  Если возвращено числовое значение, то оно может быть использовано в качестве применяемой скидки. Дополнительно к возвращаемому значению могут быть применены различные математические операции, например, умножение, вычисление процента и т.д., что позволяет расширить возможности задания расчетной ставки. В том случае, если параметром расчетной ставки возвращено нечисловое значение, например, код кассы, содержащий буквенное выражение, то такое значение не может быть применено для расчета ставки. 

Расчет ставки для товарных позиций чека производится аналогично другим ставкам: после того, как условия акции были выполнены, определяется значение ставки. Результатом ставки может быть процентное, суммовое или индексное выражение, которое вместе со значением ставки дает размер скидки, которую получит покупатель. В зависимости от объекта скидки, ее значение будет распределено на чек или товарную позицию. 

Механизм работы скидки с расчетной ставкой

Механизм задания и применения расчетной скидки следующий:

  1. В параметрах скидки выбирается расчетная ставка:
  2. Выражение для расчета ставки указывается в поле ввода или по кнопке "Построить выражение с помощью конструктора" вызывается конструктор.
  3. При составлении выражения в конструкторе могут быть использованы отдельные элементы для составления выражения или готовые функции. Описание работы с конструктором см.ниже.
  4. Указывается результат ставки путем выбора его значения из списка:

    • Сумма. Значение расчетной ставки применяется к позициям чека как суммовая скидка.
    • Проценты. Значение расчетной ставки применяется к позициям чека как процентная скидка.
    • Индексы. Значение расчетной ставки представляет собой индекс дополнительной цены.
  5. При добавлении товара в чек дисконтная система осуществляет проверку условий, заданных в акции:
    • если условия выполнены, то к позиции, набору или чеку применяется скидка в размере расчетной ставки;
    • если условия не выполнены, то товары в чеке продаются без предоставления скидки.
    Проверка выполнения условий осуществляется для каждой позиции в чеке.

Примеры задания расчетной ставки

Пример 1

Допустим, что скидку в 3% необходимо предоставлять на каждые последующие 100 рублей в чеке. То есть для чека стоимостью 100 рублей скидка составит 3%, для чека стоимостью 200 рублей скидка составит 6%, для чека стоимостью 300 рублей скидка составит 9% и т.д. Для того, чтобы реализовать такую скидку, в дисконтной акции зададим скидку с расчетной ставкой.

В качестве выражения расчетной ставки сумму чека необходимо поделить на 100 и умножить на 3. Результат ставки следует указать как "процентную" скидку:

Пример 2

Пусть необходимо задать скидку, согласно которой многодетные покупатели получают скидку в большем размере. Например, за каждого ребенка к скидке будет добавлен + 1%.

Установим базовую скидку в размере 10% на товар, а к базовому проценту будем суммировать количество детей у покупателя. Выражение для расчетной ставки должно получиться следующим:

Конструктор выражений для расчетной ставки

Конструктор выражений для расчетной ставки позволяет создавать сложные функции для определения значения расчетной ставки.

  1. Для того, чтобы открыть конструктор выражений для расчетной ставки, при изменении ставки на расчетную следует нажать кнопку "Построить выражение с помощью конструктора":
  2. Окно работы с конструктором состоит из двух блоков: выражение и конструктор.

Построение выражения для расчета скидки из простых выражений

При построении выражения используются элементы из конструктора и математические выражения.

  1. В блоке конструктора представлен список элементов, которые могут применяться для составления математических выражений. Для возможности быстрого поиска нужного элемента в конструкторе можно использовать фильтр. Укажите наименование элемента или его части - в списке элементов отразятся только элементы, содержащие введенный текст: 
  2. После того, как необходимый элемент выбран в списке, под списком элементов появится расшифровка элемента, в правой части окна будет отображено простое выражение, соответствующее выбранному элементу.
  3. Для того, чтобы перенести простое выражение в выражение для расчетной ставки нажмите кнопку "В основное выражение":
  4. В основном выражении к простому выражению могут быть применены математические действия. Для проверки корректности выражения нажмите кнопку "Проверить". Если выражение задано правильно, то в специальном поле будет выведено сообщение "Условие корректно", иначе будет записана ошибка корректности выражения.
  5. Для добавления выражения ставки в скидку нажмите кнопку "Добавить".

Построение выражения для расчета скидки при помощи функций

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

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

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

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

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

Зададим базовую скидку 10%.

Для того, чтобы к этому значению базовой скидки добавлялось количество позиций в чеке, добавим в выражение функцию "Количество позиций с опцией", указав опцию товара, участвующего в акции:

Проверяем корректность выражения:

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

При добавлении в чек ставка по скидке будет расти с каждой добавляемой в чек позицией - на 1 товарную позицию будет дана скидка 11%, на две - 12%, на 3 - 13% и т.д.

  • No labels