В данной статье рассмотрим настройку дотаций для гостей по средствам создания Талонов.
Талон (он же Купон) — это обычный товар, с отрицательной ценой.
Основная задача, это обеспечение некоего корпоративного списка гостей/клиентов ежедневной дотацией, т.е. суммой средств, которая привязана за их, к примеру, пропуск на день или же на некий отрезок дня.
Пункт 1. Настройка.
Выполняем скрипт C:\AVERS\TRIGGERS\couponch.sql.

Скрипт предназначен для настройки БД. Он выполняет следующую функцию:
Для чеков на сумму меньше нуля (сумма блюд меньше стоимости талона) удаляет отрицательный платеж и уменьшает на эту сумму стоимость талона в чеке.
Настраиваем скидку для использования талонов. Для этого нам потребуется создать:
- Категорию клиентов
- Отдел и цех для отработки Талонов
- Товар с отрицательной ценой
- Скидку с привязкой ко всему вышеперечисленному
Создаём категорию клиентов.


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




Создаём товар с отрицательной ценой.




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



На картинке выше указаны обязательные к выбору пункты. Кроме последнего — «Многоразовое использование в течении дня» — эта опция позволяет разбить стоимость талона на несколько чеков.
Т.е. если по условиям договора, гостям из данной категории клиентов позволено расходовать дотацию постепенно в течении дня, значит необходимо установить данную галочку.
Если же по договору дотацию можно потратить только раз в день и не имеет значение в полном размере или нет, то галочку не ставим, но используем специальный скрипт для блокировки клиентов из данной категории.
C:\AVERS\TRIGGERS\clientlock.sql
или
C:\AVERS\TRIGGERS\clientlocktime.sql
Предварительно отредактировав в них ID категорий клиентов. Можно использовать одновременно оба скрипта.
Первый блокирует после закрытия чека на клиента и снимает блокировку при удалении чека или при закрытии смены.
Второй позволяет блокировать и разблокировать по временному диапазону, указанному в свойствах скидки.

В скобках перечисляются ID категорий клиентов, которые необходимо блокировать и разблокировать. В скрипте необходимо заменить ВСЕ места где указаны ID категорий клиентов для корректной работы.
Настройка завершена.
Пункт 2. Применение.
Набирается заказ, применяется карта клиента или клиент выбирается из списка.
Если сумма заказа не превышает сумму талона, при оплате талон в счете становится равным значению минус набранной сумме заказа и счет закрывается с нулем.
Если сумма заказа превышает сумму талона, то при оплате Front запросит доплату, а в фискальном чеке цена товаров будет автоматически снижена на цену талона.

Талоны так же можно пробивать в ручную, просто выставив его «В продаже» как любой другой товар.
Примечание.
При отмене клиента в счёте, бонусный талон автоматически убирается из счёта.
Если в карточке клиента в поле «Организация» вписать название Категории клиента, то блокировка скриптами C:\AVERS\TRIGGERS\clientlock.sql
или
C:\AVERS\TRIGGERS\clientlocktime.sql
не будет действовать.

Так же схема блокировки может быть модифицирована по желанию клиента. Вопрос решается в каждом случае отдельно.
Первичная статья написана Мустафиным Р.Б. на http://kb.averstech.ru/