Функции работают только с сервисом счетчиков!
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)
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)
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']]
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)
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)],
countersQuantIndexPrice – Расчет скидки по индексу
countersQuantIndexPrice(idCounter, limit, indexPrice, conditionProperties, calcWhenLessLimit, alwaysCalcDiscount)
– функция проверяет значения счетчика и возвращает индекс цены в соответствии с вхождением счетчика в определенный диапазон значений.
Параметры функции:
idCounter
– идентификатор счетчика, указывается в одинарных кавычках, например '111'. Ведение счетчиков выполняется сервисом счетчиков, правила применения счетчика задаются в системе лояльности Artix Loyalty Management;limit
– количество товара, которым ограничивается применение скидки;indexPrice
– индексная цена товара;conditionProperties
– условия предоставления скидки. Например:
;{"code": ["1070", "1072"], "catalogs": "333"}
calcWhenLessLimit
– параметр, определяющий необходимость предоставления скидки до достижения лимита или после его превышения (строго больше или меньше, при значении =limit условие не сработает):true
– лимит ограничен верхним уровнем (для акций вида – скидка при покупке до 5 единиц товара);false
– лимит ограничен нижним уровнем (для акций вида – скидка при покупке более 5 единиц товара);
alwaysCalcDiscount
– поведение при отсутствии связи с сервисом счетчиков (определяется в системе лояльности и подставляется в функцию):true
– при отсутствии связи с сервисом счетчиков скидка предоставляется, считается, что условие выполнено;false
– при отсутствии связи с сервисом счетчиков скидка не предоставляется, считается, что условие не выполнено.
Если хоть одно из свойств conditionProperties
не выполняется – скидка не применяется.
В том случае, если счетчик акции в чеке не найден, то значение счетчика принимается равным 0.
cf.countersQuantIndexPrice("123_" + object["code"], 20, 1, {"code": ["1070", "1072"], "catalogs": "333"}, True
, False
)
r
f.countersQuantIndexPrice("123_" + object[''code''], 20, 1, {"code": ["1070", "1072"], "catalogs": "333"}, True
,
False
) object[''posnum'']]
В случае если у товара не задана дополнительная цена или отсутствует цена с указанным индексом, скидка на товар предоставлена не будет.
Если индексная цена превышает базовую цену товара, то скидка на товар предоставлена не будет.
Если индексная цена меньше минимальной цены товара, то цена с учетом скидки опустится до порога минимальной цены.