Окно конструктора

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

Конструктор результатов позволяет редактировать следующие элементы шаблона:

  1. Номер шаблона. Номер шаблона является уникальным идентификатором в рамках одной схемы лояльности (скидки, начисление бонусов, списание бонусов).

    ВАЖНО! Если при создании шаблона указать номер, который уже используется у другого шаблона, то новый шаблон полностью заменит существующий.
  2. Название шаблона. Содержит короткое описание шаблона, отображается в списке шаблонов результатов, в интерфейсе модуля управления.
  3. Вид результата. Выбирается из списка, включающего такие виды как:
    • на чек,
    • на позицию,
    • на набор.
  4. Тип ставки. Выбирается из списка, включающего такие типы как:
    • процент – сумма скидки будет рассчитана как процент от суммы объекта скидки,
    • сумма – сумма скидки будет равна указанной ставке,
    • индекс – размер скидки вычисляется как разность стоимости объекта и индексной цены,
    • фиксированная цена – используется скидка для достижения фиксированной цены. При работе с наборами скидка распределяется пропорционально между товарам набора,

      Фиксированная цена может быть использована только для позиции и набора.
    • расчетная (%) – результатом вычисления выражения будет процентная скидка, примененная к набору.

      Расчетная (%) ставка может быть использована только для набора.
  5. Метки. Выбираются установкой флага. Используются в фильтре шаблонов:

  6. Выражение условия. При построении выражения результата могут быть использованы элементы чека и функции из конструктора, к которым применяются логические выражения.

    Для наборной акции выражение условия результата, содержащее некоторые функции, поля товаров или позиций, может работать некорректно (из-за особенностей применения функций для работы с наборами и товарами):

    Рекомендуется нажать кнопку "Вернуться к редактированию" шаблона и скорректировать выражение.

  7. Переключение между редактированием выражений результатов, подарков, условий и счетчиков акции. 
  8. Список элементов. Перечень элементов чека и функций, используемых для составления выражения шаблона. Для быстрого поиска элемента предназначен фильтр. 
  9. Сроки действия счетчиков. Перечень переменных для задания сроков жизни счетчиков. Переменные будут отображаться, если срок действия счетчика задан вручную. Обязательно добавить в живой текст.
  10. Список переменных. Перечень всех переменных, входящих в результат из условий и счетчиков. При выборе в качестве элемента результата готовой функции список переменных выводится автоматически. Если составляется новое выражение, то переменные появляются по мере их добавления в выражение.
  11. Живой текст. Комбинация текста и переменных, которая используется для заполнения данных результата при составлении акции.
  12. Редактор описания шаблона. Предназначен для составления подробного описания шаблона с примерами. Описание шаблона можно просмотреть в модуле управления и при составлении акции при выборе соответствующего шаблона. 
  13. Список условий для шаблона результата. Добавление и редактирование условий производится через упрощенное окно конструктора шаблонов условий.
  14. Результат счетчика. Добавление и редактирование счетчиков производится через окно конструктора шаблонов счетчиков. Вкладка доступна для шаблонов скидок и начисления бонусов.

Составление выражения для результата

Основные правила для составления выражений

Выражение для результата является основным полем конструктора шаблонов. 

Результатом расчета выражения должно являться конкретное числовое значение, которое может быть дробным или целочисленным в зависимости от настроек шаблона.

Примеры выражения результатов

Пример №1

Задано выражение:

object['tmc']['cquant'] * 10

В данном выражении используется объект количество товара, которое при расчете результата выражения будет умножено на 10.

Пример №2

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

25 * object['tmc']['price'] / 100

В данном выражении будет получено значение равное 25% от стоимости товара.

Пример №3

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

object['department']['code'] + 2

В данном выражении к значению кода отдела будет прибавлено число 2.

Список элементов и функций

Список элементов и функций для составления шаблона результатов идентичен списку элементов и функций, используемому в конструкторе шаблонов условий.

Список переменных

Исключение составляют 2 дополнительных переменных, используемых для округления полученного при расчете результата. Эти переменные могут быть применены в выражении, но они не отражаются в списке переменных.

Переменная
Пример
Описание
${roundValue}2Количество знаков после запятой, до которого будет произведено округление. Величина округления задается в модуле Управление во вкладке Настройки отдельно для дисконтных и бонусных акций.
${riseRoundValue}0.0001Величина корректировки округления. Напрямую зависит от значения roundValue.

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

Для округления результата необходимо в выражении указывать режим округления в следующем формате:

round(функция+${riseRoundValue}, ${roundValue})
Пример использования переменных округления

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

round(${percentValue}/100.0 * object['price'] + ${riseRoundValue}, ${roundValue}) * object['bquant']

В этом выражении:

round - режим округления, распространяемый на выражение в круглых скобках,
${percentValue} - размер бонусов в процентах,
object['price'] - цена товара,
${riseRoundValue} - величина корректировки округления,
${roundValue} - количество знаков после запятой,
object['bquant'] - количество товара.
При расчете выражения будет получено значение равное указанному в акции проценту, округленное до ${roundValue} и умноженное на количество товара.

Живой текст

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

Условия 

В шаблон результата может быть добавлено условие акции. Для задания выражения условия необходимо перейти на вкладку "Условия":

С условиями можно выполнять следующие действия:

  • добавление условия ,
  • редактирование условия ,
  • удаление условия .

При добавлении и редактировании условия открывается окно конструктора условий, отображается общий список переменных. Система позволяет держать под рукой единый список переменных для результатов и условий и использовать их совместно.

Результаты счетчиков

В шаблон результата может быть добавлен счетчик акции. Вкладка доступна для шаблонов скидок и начисления бонусов.

Для задания выражения счетчика необходимо перейти на вкладку "Счетчики":

Со счетчиками можно выполнять следующие действия:

  • добавление счетчика
  • редактирование счетчика
  • удаление счетчика

Редактор счетчика

Окно редактора счетчика открывается при добавлении и редактировании счетчика:

Редактор счетчика позволяет редактировать следующие элементы:

  1. Выражение счетчика. При построении выражения результата могут быть использованы элементы чека и функции из конструктора, к которым применяются логические выражения.
  2. Идентификатор. Название переменной для идентификатора счетчика, которое может быть введено пользователем вручную или сгенерировано автоматически. Используется для составления выражения счетчика.

    Идентификаторы регистронезависимы. Нельзя создавать несколько счетчиков с идентификаторами в разных регистрах, но с одинаковым сочетанием букв.

  3. Срок действия счетчика. Настройка начала и окончания действия счетчика. Срок действия счетчика можно задать:
    • "Вручную" - переменная будет добавлена в список переменных шаблона результата. Необходимо обязательно добавить переменную в живой текст,
    • "В конструкторе" - при выборе данной настройки станет активна кнопка "Срок действия счетчика", при нажатии на нее откроется окно, в котором задается начало и окончание действия счетчика:

      После выбора срока действия счетчика переменная будет отображаться только в списке переменных результата счетчика.
    • "Не задано" - срок действия счетчика не задан.
  4. Опции счетчика. Счетчик может отрабатывать по позициям в чеке (флаг "По позициям") и в чеке возврата/возврат по чеку продажи (флаг "В чеке возврата").
  5. Переключение между редактированием выражений результатов счетчика и его условиями.
  6. Список элементов. Перечень элементов чека и функций, используемых для составления выражения счетчика. Для быстрого поиска элемента предназначен фильтр, в поле которого вводится наименование элемента или его части, после чего в списке отображаются только элементы, содержащие введенный текст.
  7. Список переменных. Перечень всех переменных, входящих в шаблон результата. При выборе в качестве элемента результата готовой функции список переменных выводится автоматически. Если выражение составляется с нуля, то переменные появляются по мере их добавления в выражение.

Результат счетчика

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

Исключение составляют 2 дополнительных переменных, используемых для округления полученного при расчете результата. Эти переменные могут быть применены в выражении, но они не отражаются в списке переменных.

Условия счетчика

В шаблон результата счетчика может быть добавлено условие. Для задания выражения условия необходимо перейти на вкладку "Условия счетчика".

С условиями счетчика можно выполнять следующие действия:

  • добавление условия ,
  • редактирование условия ,
  • удаление условия .

Добавление и редактирование условий счетчика производится через окно конструктора условий шаблона, в котором отображается:

  • общий список переменных,
  • для удобства присутствует название переменной идентификатора счетчика. Для добавления переменной в выражение необходимо нажать на нее.
  • No labels