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

Скидки на позицию чека

Скидки на позицию чека могут назначаться:

  1. Кассиром вручную.
  2. Специальным предложением. Специальное предложение может быть назначено на упаковку товара, товар, группу товаров. Также специальное предложение может быть назначено на все товары в магазине.
  3. Вводом купонов. Скидка по купону может назначаться на товар, группу товаров, на всю номенклатуру товаров.

Скидки на чек

Скидки на чек могут назначаться:
  1. Кассиром вручную.
  2. Вводом дисконтной карточки.

Условия срабатывания скидок

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

Дата – диапазон действия скидки, либо указание фиксированных дней недели.
Время – диапазон действия скидки в пределах указанной даты.
Код купона – скидка будет активирована только при вводе кода купона.

Специальные условия:

  1. По количеству в позиции – скидка будет назначаться на товарную позицию чека, если количество товара в позиции чека соответствует значению из указанного диапазона.
  2. По сумме на позицию – скидка будет назначаться на товарную позицию чека, если сумма позиции чека соответствует значению из указанного диапазона.
  3. По сумме клиента – скидка будет назначаться на товарную позицию, если сумма покупок клиента за период соответствует указанному диапазону.
  4. По номеру чека – скидка будет назначаться на каждый n-й чек, в соответсвии с указанным значением (например, на каждый 10-й чек).
  5. По группе клиентов – скидка будет назначаться на товарную позицию в случае, если владелец дисконтной карты принадлежит к указанной группе (используется только для специальных предложений).
  6. По сумме на чек – скидка будет назначаться на товарную позицию, если общая сумма чека соответствует указанному диапазону сумм.
Специальные условия можно комбинировать между собой логическими операторами и скобками.

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

Приоритеты скидок

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

Значения скидок

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

Взаимодействие скидок

Сумма скидки на позицию состоит из двух частей: сумма скидки на позицию и часть суммы скидки на чек, приходящаяся на эту позицию. Общая сумма вычисляется в зависимости от настроек профиля кассы. Эти суммы либо суммируются, либо выбирается максимальная сумма скидки.

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

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

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

Торговые площадки

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

Купоны

Специальное предложение может активироваться при помощи ввода кода купона. Это позволяет создавать купоны на определенные товары, группы товаров или на все товары. Для этого в специальном предложении необходимо задать код купона.

Создание собственных библиотек дисконтных политик

Библиотека дисконтной политики представляет собой сборку .NET Framework. Внутри сборки находятся классы, реализующие интерфейс IDiscount. При запуске касса производит поиск всех сборок в которых содержатся классы, реализующие вышеуказанный интерфейс. Выбор дисконтной политики производится на основании свойства «DiscountName». Его значение можно задать в «Менеджере торговых площадок» в профиле кассы.

namespace SoftMarket.MP2003.CashDesk.CashDeskSys.Domain 
{ 
  ///  
  /// Рассчитывает дисконт для указанного чека.  
  ///  
  public interface IDiscount 
  { 
     ///  
     /// Рассчитывает дисконт для указанного чека. 
     ///  
     /// Чек. 
         void CalcDiscount(SoftMarket.MP2003.CashDesk.CashDeskSys.Domain.Receipt receipt); 
         ///  
         /// Возвращает значения для ручного ввода длЯ указанной скидки. 
         ///  
         /// Значения скидки. 
         /// Значения для ручного ввода. 
         DiscManualInputValue GetDiscManualInputValue(DiscValues discValues); 
         ///  
         /// Имя дисконтной политики. Должно быть уникальным для всех дисконтных политик. 
         ///  
         string DiscountName{get;} 
  } 
}  /// Интерфейс библиотек дисконтных политик.  

В комплект поставки Маркет+ входит полный исходный код стандартной дисконтной политики. Для его компиляции необходима установка Visual Studio 2005.

Откройте проект Пуск – Программы – Маркет+4 - Создание скидок.

Отредактируйте или напишите собственную дисконтную политику. Измените DiscountName на ваше уникальное имя. Пропишите это имя в профиль кассы. Скомпилируйте проект.

Скомпилированную сборку (по умолчанию MyDiscount.dll и MyDiscount.pdb) скопируйте в рабочую папку кассы. Подождите, пока касса загрузит измененный профиль. Перезапустите кассу.

Автоматизация магазинов, складов, переучетов «»