=====Создание собственного алгоритма расчета скидок===== С использованием [[кассир5:внешниемодули:apiлогическихмодулей|API логических модулей]] возможно реализовать практически любые скидки, которые не получится создать штатным функционалом.\\ \\ В каком виде хранятся данные о скидках можно ознакомиться по [[кассир5:внешниемодули:apiлогическихмодулей:структурахраненияскидок|ссылке]].\\ \\ ===Общее описание механизма расчета скидок=== Вызов функции расчета скидок происходит в конфигурации при применении любых скидок, добавлении диск. карт, отмене любой скидки.\\ Вызов функции расчета скидок происходит в защищенной компоненте при любом изменении состава чека, а также при закрытии чека.\\ Стоит заметить, что если при закрытии закрытии чека после расчета скидок промежуточный итог (сумма чека) изменится, то чек не будет закрыт. Следовательно, изменение состава используемых скидок нужно изменять до закрытия чека.\\ Для реализации автоматических скидок, не реализованных в штатном функционале, нужно создать необходимое количество схем скидок с необходимыми условиями, далее в пред/пост-обработчиках устанавливать использование тех или иных схем/скидок.\\ [[кассир5:внешниемодули:логическиемодулидляскидок:пример1|Пример 1. Установка используемых скидок]].\\ \\ Если требуется изменить алгоритм расчета сумм скидок или бонусов, то можно использовать следующие способы:\\ * изменить значение скидки в кэше скидок. [[кассир5:внешниемодули:логическиемодулидляскидок:пример2|Пример 2]]\\ * создать предобработчики [[кассир5:внешниемодули:apiлогическихмодулей:функцииконтрольскидок|экспортных функций формы КонтрольСкидок]], в них изменять суммы скидок.