Задачка встала.. всю голову уже сломал и 500+ чеков отбил в экспериментах..
Версия 42сп4.
1. В нашей клубной системе клиенту с кл.картой даётся 7% скидки.
2. В базе товары заведены товары уже с учётом клубной карты, поэтому клиенту без карты делается наценка в 7.53%.
3. Скидка может быть проставленной (золотые карты), постоянной. От 1 до 3%
4. Скидка расчитывается каждый месяц сумматорами. От 1 до 3%.
5. Клиент не может получить одновременно скидку по золотой карте и по сумматору. Поэтому разграничено с помощью матрицы скидок
6. Есть понятие оптового количества. Если товара больше определённого количества - цена берётся из оптового прайслиста.
Встала задача ввести новую скидку.
В случае если у клиента есть карта новой акции (показывает кассиру).
1. Даём 17% скидки на определённую группу товаров если у клиента нет клубной карты.
2. Даём 10% скидки на определённую группу товаров если у клиента есть клубная карта.
3. Даём 5% скидки на определённую группу товаров если клиент набрал оптовое количество и у клиента есть клубная карта.
4. Даём 12% скидки если клиент набрал опт.колво и у клиента нет клубной карты
5. На этот товар не должны даватся скидки по сумматору или по золотой карте. На весь остальной товар скидки должны даватся.
Были созданы две скидки "на классификатор и артикул". Ручная и Ручная2 которые были забиндены на две кнопки и активировались кассиром.
В случае если кассиру показывают карту акции и клиент не имеет нашей кл.карты - кассир нажимает Ручная.
Если клубная карта у клиента есть и кассиру показывают акционную карту - кассир нажимает Ручная 2.
Со скидкой решил
В trm_in_disc_std_classif был забит классификатор:
discount_type,classif,id,amount,quantity,modificator:
37,57000000,0,0,-17x
37,57000000,0,10,-12x
37,57000000,0,10,-10x
(это для клиента без кл.карты)
Ну и для клиента с клубной карты похоже, только проценты другие.
Собственно главный вопрос по пункту 5.
Как давать скидку на один определённый товар, но сделать так чтобы на этот товар не применялась сумматорная скидка и фиксированные скидки по кл.картам?
С помощью матрицы можно либо не применять сумматорную скидку (тогда клиенты останутся без скидки), зато на акционный товар будет нужная скидка.
Либо сумматорная и фиксированная скидка будет применятся в том числе и на акционный товар.