Правила расчета скидки на товар |
![]() ![]() ![]() |
Последовательность применения правил при расчете скидки на один товар чека указывается при выборе кнопки [Скидки на товар] в форме приказа.
Одна строка списка описывает либо одно правило, либо группу правил, либо указывает на окончание группы правил.
Расчет скидки выполняется в порядке номеров строк – от меньших номеров к большим. Если строка содержит описание группы, то начинается обработка всех строк этой группы. Строки внутри групп имеют составной номер: сначала номер группы, затем точка и номер строки внутри группы. По окончании перебора всех строк из группы выбирается строка, следующая за группой.
Для каждой обрабатываемой строки проверяется условие выполнения правила из строки. Если условие выполняется, то величина скидки считывается из описания правила. Перебор строк на этом прерывается.
Прекращение перебора строк в случае обнаружения выполняемого условия приводит к следующему. В ситуации, когда теоретически выполняются условия для двух и более правил (строк), скидка берется из правила, описанного в первой по порядку строке. Остальные строки даже не анализируются.
Если требуется иной алгоритм обработки одновременно выполняемых условий, то следует использовать группы правил. Возможны два способа обработки правил в группе: суммировать скидки или выбрать оптимальную (наибольшую) скидку.
Рис. Пример списка правил расчета скидки на товар
В случае выбора варианта суммировать скидки итоговая скидка будет рассчитана как сумма скидок по всем правилам в группе, для которых выполнено условие. В случае выбора варианта оптимальная скидка среди всех правил из группы, для которых выполнено условие, будет выбрано правило с наибольшей скидкой.
Создание строки приказа
Ввод новой сроки приказа начинается с указания типа строки. Тип строки определяет назначение и содержимое строки. Строка типа Правило содержит описание правила. Строки типа Группа правил и типа Окончание группы правил обрамляют строки одной группы.
Для выбора типа строки отображается следующее окно.
Рис. Список типов строк
Правило – строка содержит описание условия применения и величину скидку.
Группа правил – строка указывает на начало группы строк, объединенных в группу.
Если уже имеется группа правил и курсор расположен на этой группе, то список для выбора может выглядеть иначе.
Рис. Список типов строк
Окончание группы правил – строка указывает на конец группы строк, объединенных в группу.
Новая строка располагается выше той строки, на которой располагается курсор. Иногда это приводит к неточностям отображения строк на экране. В правильном варианте строки нумеруются от меньшего номера к большему. Внутри группы строки имеют сложные номера, начинающиеся с номера строки начала группы. Строки группы выделены серым цветом. Вложенные группы недопустимы. Для исправления ошибок отображения применяйте клавишу [Обновить] на панели инструментов списка приказов.
Необходимо следить за наличием строки окончания правила. Если такая строка отсутствует, то при попытке закрыть окно со списком правил на экране появится примерно вот такое сообщение.
Рис. Сообщение об отсутствии строки окончания группы правил
Следует найти строку с указанным номером, поместить на нее курсор и добавить строку окончания группы правил.
Кнопки на панели инструментов
Две кнопки [Поднять] и [Опустить] предназначены для перемещения строк по списку. Если перемещаемая строка находится внутри группы, то она передвигается только в пределах группы. Группы строк переносятся целиком. Для переноса группы следует установить курсор на строку начала группы.
[Поднять] – переместить текущую строку вверх по списку.
[Опустить] – переместить текущую строку вниз по списку.
[Товары] – отображает список выбранных товаров, если в описании правила заполнено условие Если товар один из.
[Группы] – отображает список выбранных групп товаров, если в описании правила заполнено условие Если группа товара одна из.
Последние две кнопки [Добавить в группу] и [Удалить из группы] позволяют изменить состав строк в группах.
[Добавить в группу] – перенести текущую строку в указанную группу. При нажатии кнопки будет предложено выбрать одну группу строк из имеющихся групп.
[Удалить из группы] – перенести текущую строку в общий список.
Описание форм для ввода правила и группы правил
Вид формы ввода зависит от выбранного типа строки. Если выбран тип строки Правило, то форма будет содержать множество полей для описания условия применения правила и величину скидки. Если выбран тип строки Группа правил, то форма будет содержать поле для выбора группового условия. Если выбран тип строки Окончание группы правил, то никакая форма не появится – в список строк сразу будет добавлена новая строка.
В форме группы правил следует выбрать вид группового условия.
Рис. Форма группы
Рис. Список вариантов группового условия
Суммировать скидки – по всем строкам группы скидки суммируются
Оптимальная скидка – среди всех скидок группы выбирается наибольшая скидка
Форма для описания правила
После выбора типа строки Правило отображается следующая форма.
Рис. Форма строки для описания правила
Категория скидки – выбирается из списка зарегистрированных категорий скидки
Действие – определяет способ расчета скидки
Рис. Список способов расчета скидки
Цена товара * (100 – скидка в процентах) / 100
Следующие поля определяют условия применения скидки.
Если для условия не указано значение, то данное условие не проверяется. Для безусловной скидки ни одно из условий не заполняется.
Скидка применяется только в том случае, когда выполняются все заполненные условия.
|