Функции работают только с сервисом счетчиков!

countersQuantByBcode – Значение счетчика количества товаров со штрих-кодом

countersQuantByBcode(idCounter, bcode, percent, limit, calcWhenLessLimit, alwaysCalcDiscount) – функция проверяет значения счетчика и возвращает процент скидки в соответствии с количеством товара по штрих-коду.

Параметры функции:

  • idCounter – идентификатор счетчика, указывается в одинарных кавычках, например '111'. Ведение счетчиков выполняется сервисом счетчиков, правила применения счетчика задаются в системе лояльности Artix Loyalty Management;
  • bcode – штрих-код (массив штрих-кодов) товара;
  • percent – размер скидки в процентах;
  • limit – количество товара, которым ограничивается применение скидки;
  • calcWhenLessLimit – параметр, определяющий необходимость предоставления скидки до достижения лимита или после его превышения (строго больше или меньше, при значении =limit условие не сработает):
    • true – лимит ограничен верхним уровнем (для акций вида – скидка при покупке до 5 единиц товара);
    • false – лимит ограничен нижним уровнем (для акций вида – скидка при покупке более 5 единиц товара);
  • alwaysCalcDiscount – поведение при отсутствии связи с сервисом счетчиков (определяется в системе лояльности и подставляется в функцию):
    • true – при отсутствии связи с сервисом счетчиков скидка предоставляется, считается, что условие выполнено;
    • false – при отсутствии связи с сервисом счетчиков скидка не предоставляется, считается, что условие не выполнено.

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

Пример
Для того чтобы ограничить применение скидки по карте некоторым количеством товаров, необходимо:
сделать условие cf.countersQuantByBcode('111', 456789123852, 10, 5, True, False)
сделать процентную расчетную ставку rf.countersQuantByBcode('111', 456789123852, 10, 5, True, False)
При добавлении карты в чек на товар со штрих-кодом 456789123852 будет предоставлена скидка 10% до достижения количества товара равного 5. При закрытии чека значение счетчика изменяется на количество товара со штрих-кодом 456789123852 и будет учтено при следующей покупке. Если в момент покупки сервис счетчиков не доступен, то скидка предоставлена не будет.
Расчетная функция применяется совместно с функцией в условиях скидок. О поведении функции "Назначить на товар цену из каталога" можно подробнее прочитать в разделе "Функции для работы со счетчиками".

countersQuantByCode – Значение счетчика количества товаров с кодом

countersQuantByCode(idCounter, code, percent, limit, calcWhenLessLimit, alwaysCalcDiscount) – функция проверяет значения счетчика и возвращает процент скидки в соответствии с количеством товара по коду.

Параметры функции:

  • idCounter – идентификатор счетчика, указывается в одинарных кавычках, например '111'. Ведение счетчиков выполняется сервисом счетчиков, правила применения счетчика задаются в системе лояльности Artix Loyalty Management;
  • code – код (массив кодов) товара;
  • percent – размер скидки в процентах;
  • limit – количество товара, которым ограничивается применение скидки;
  • calcWhenLessLimit – параметр, определяющий необходимость предоставления скидки до достижения лимита или после его превышения (строго больше или меньше, при значении =limit условие не сработает):
    • true – лимит ограничен верхним уровнем (для акций вида – скидка при покупке до 5 единиц товара);
    • false – лимит ограничен нижним уровнем (для акций вида – скидка при покупке более 5 единиц товара);
  • alwaysCalcDiscount – поведение при отсутствии связи с сервисом счетчиков (определяется в системе лояльности и подставляется в функцию):
    • true – при отсутствии связи с сервисом счетчиков скидка предоставляется, считается, что условие выполнено;
    • false – при отсутствии связи с сервисом счетчиков скидка не предоставляется, считается, что условие не выполнено.

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

Пример
Для того чтобы ограничить применение скидки по карте некоторым количеством товаров, необходимо:
сделать условие cf.countersQuantByCode('111', 444, 10, 4, False, True)
сделать процентную расчетную ставку rf.countersQuantByBcode('111', 444, 10, 4, False, True)
При добавлении карты в чек на товар с кодом 444 будет предоставлена скидка 10% в случае превышения количества товара равного 4. При закрытии чека значение счетчика изменяется на количество товара с кодом 444 и будет учтено при следующей покупке. Если в момент покупки сервис счетчиков не доступен, то скидка предоставлена будет.
Расчетная функция применяется совместно с функцией в условиях скидок. О поведении функции "Назначить на товар цену из каталога" можно подробнее прочитать в разделе "Функции для работы со счетчиками".

countersQuantByCatalog – Значение счетчика количества товаров из каталога

countersQuantByCatalog(idCounter, catalog, percent, limit, calcWhenLessLimit, alwaysCalcDiscount) – функция проверяет значения счетчика и возвращает процент скидки в соответствии с количеством товара из определенного каталога.

Параметры функции:

  • idCounter – идентификатор счетчика, указывается в одинарных кавычках, например '111'. Ведение счетчиков выполняется сервисом счетчиков, правила применения счетчика задаются в системе лояльности Artix Loyalty Management;
  • catalog – каталог (массив каталогов) с товарами;
  • percent – размер скидки в процентах;
  • limit – количество товара, которым ограничивается применение скидки;
  • calcWhenLessLimit – параметр, определяющий необходимость предоставления скидки до достижения лимита или после его превышения (строго больше или меньше, при значении =limit условие не сработает):
    • true – лимит ограничен верхним уровнем (для акций вида – скидка при покупке до 5 единиц товара);
    • false – лимит ограничен нижним уровнем (для акций вида – скидка при покупке более 5 единиц товара);
  • alwaysCalcDiscount – поведение при отсутствии связи с сервисом счетчиков (определяется в системе лояльности и подставляется в функцию):
    • true – при отсутствии связи с сервисом счетчиков скидка предоставляется, считается, что условие выполнено;
    • false – при отсутствии связи с сервисом счетчиков скидка не предоставляется, считается, что условие не выполнено.

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

Пример
Для того чтобы ограничить применение скидки по карте некоторым количеством товаров, необходимо:
сделать условие cf.countersQuantByCatalog('111', ['14'], 10, 5, True, False)
сделать процентную расчетную ставку rf.countersQuantByCatalog('111', ['14'], 10, 5, True, False)[object['posnum']]
При добавлении карты в чек на товар с кодом 444 будет предоставлена скидка 10% в случае превышения количества товара равного 4. При закрытии чека значение счетчика изменяется на количество товара с кодом 444 и будет учтено при следующей покупке. Если в момент покупки сервис счетчиков не доступен, то скидка предоставлена будет.
Расчетная функция применяется совместно с функцией в условиях скидок. О поведении функции "Назначить на товар цену из каталога" можно подробнее прочитать в разделе "Функции для работы со счетчиками".

countersQuantByGroup – Значение счетчика количества товаров из группы

countersQuantByGroup( idCounter, group, percent, limit, calcWhenLessLimit, alwaysCalcDiscount) – функция проверяет значения счетчика и возвращает процент скидки в соответствии с количеством товара из определенной группы.

Параметры функции:

  • idCounter – идентификатор счетчика, указывается в одинарных кавычках, например '111'. Ведение счетчиков выполняется сервисом счетчиков, правила применения счетчика задаются в системе лояльности Artix Loyalty Management;
  • group – группа (массив групп) товаров;
  • percent – размер скидки в процентах;
  • limit – количество товара, которым ограничивается применение скидки;
  • calcWhenLessLimit – параметр, определяющий необходимость предоставления скидки до достижения лимита или после его превышения (строго больше или меньше, при значении =limit условие не сработает):
    • true – лимит ограничен верхним уровнем (для акций вида – скидка при покупке до 5 единиц товара);
    • false – лимит ограничен нижним уровнем (для акций вида – скидка при покупке более 5 единиц товара);
  • alwaysCalcDiscount – поведение при отсутствии связи с сервисом счетчиков (определяется в системе лояльности и подставляется в функцию):
    • true – при отсутствии связи с сервисом счетчиков скидка предоставляется, считается, что условие выполнено;
    • false – при отсутствии связи с сервисом счетчиков скидка не предоставляется, считается, что условие не выполнено.

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

Пример
Для того чтобы ограничить применение скидки по карте некоторым количеством товаров, необходимо:
сделать условие cf.countersQuantByGroup('111', 26, 10, 5, True, False)
сделать процентную расчетную ставку rf.countersQuantByBcode('111', 26, 10, 5, True, False)
При добавлении карты в чек на товар из группы 26 будет предоставлена скидка 10% до достижения количества товара равного 5. При закрытии чека значение счетчика изменяется на количество товара из группы 26 и будет учтено при следующей покупке. Если в момент покупки сервис счетчиков не доступен, то скидка предоставлена не будет.
Расчетная функция применяется совместно с функцией в условиях скидок. О поведении функции "Назначить на товар цену из каталога" можно подробнее прочитать в разделе "Функции для работы со счетчиками".

countersQuantByAccumulation – Расчет индекса скидки по счетчику

countersQuantByAccumulation(idCounter, ranges, defaultIndex) – функция проверяет значения счетчика и возвращает процент скидки в соответствии с вхождением счетчика в определенный диапазон значений.

Параметры функции:

  • idCounter – идентификатор счетчика, указывается в одинарных кавычках, например '111'. Ведение счетчиков выполняется сервисом счетчиков, правила применения счетчика задаются в системе лояльности Artix Loyalty Management;
  • ranges – список диапазонов значений счетчика. Для карты может быть указано несколько диапазонов значения счетчика, каждому из которых будет присвоен определенный процент скидки. Например, [(0,4),(5,None)], где None – неограниченный верхний интервал;
  • defaultIndex – индекс скидки по умолчанию. Скидка с указанным индексом будет использована в том случае, когда отсутствует связь с сервером счетчиков:
    • 0 – будет использована скидка, указанная первой в расчетной ставке;
    • -1 – скидка не предоставляется при отсутствии связи;
    • номер индекса – соответствующий индекс в списке % скидок.

В том случае, если счетчик акции в чеке не найден, то значение счетчика принимается равным 0 и для него подбирается соответствующий диапазон.

Пример
Для того чтобы разграничить процент скидки, предоставляемой по дисконтной карте необходимо:
сделать условие cf.countersQuantByAccumulation('111',[(0,4),(5,None)],0) >= 0
сделать процентную расчетную ставку [1,10,50][rf.countersQuantByAccumulation('111', [(0,4),(5,None)],0)],
где [1,10,50] – список % скидок.
При отсутствии связи с сервисом счетчиков:
Если индекс скидки указан 0, то будет использована скидка 1%.
Если индекс скидки указан 1, то будет использована скидка 10% и т.д.
  
При наличии связи с сервером процент скидки определяется по значению счетчика.
Если счетчик попадает в диапазон (0,4), то по карте будет предоставлена скидка 10%.
Если счетчик попадает в диапазон (5,None), то по карте будет предоставлена скидка 50%.
Если счетчик не обнаружен, то его значение устанавливается в 0 и применяется соответствующий диапазон.
Расчетная функция применяется совместно с функцией в условиях скидок. О поведении функции "Назначить на товар цену из каталога" можно подробнее прочитать в разделе "Функции для работы со счетчиками".
  • No labels