Данная группа функций позволяет производить работу с позицией чека. Позицией считается одна строка в чеке продажи со всеми ее характеристиками, при этом неважно количество позиций во всем чеке.
inventCountInCheckByOption(options)
– функция сработает, если количество позиций с указанными опциями равно (<,>, <=, >=, !=) выбранному значению.
Параметры функции:
options
– опции товара.создать условие cf.inventCountInCheckByOption([u"num"]) == 2 Скидка с данным условием сработает, если количество позиций в чеке с опцией "num" равно 2. Количество товара в позиции не учитывается. |
При задании акции необходимо учитывать, что воздействие функции применяется к позициям с товарами, входящими в набор. |
inventCountInCheckWithAllOptions(options,withPartOfKit)
– функция сработает, если количество позиций с указанными опциями равна (<,>, <=, >=, !=) выбранному значению.
Параметры функции:
option
– опции товара;withPartOfKit
– параметр для учета товаров, являющихся частью комплекта (набора), при подсчете количества позиций с опцией. Функция проверяет выполнение заданного условия, скидка предоставляется на все позиции в чеке, включая позиции, входящие в комплект. При значении параметра withPartOfKit
= True
функция при подсчете количества позиций товара с опцией учитывает позиции, которые включены в набор.
cf.inventCountInCheckWithAllOptions([u"num"],True) == 3 Скидка с данным условием сработает, если количество позиций в чеке с опцией "num" равно 3. При подсчете количества позиций учитываются позиции с товарами, входящими в набор. |
При задании акции необходимо учитывать, что воздействие функции применяется к позициям с товарами, входящими в набор. |
inventCountInCheckByCode
(code)
– функция сработает, если количество позиций в чеке с указанным кодом равно (<,>, <=, >=, !=) выбранному значению.
Параметры функции:
code
– код товара.cf.inventCountInCheckByCode([u"102"]) == 2 Скидка с данным условием сработает, если количество всех позиций в чеке с кодом 102 будет равно 2. |
При задании акции необходимо учитывать, что воздействие функции применяется к позициям с товарами, входящими в набор. |
inventCountInCheckByBcode
(bcode)
– функция сработает, если количество позиций в чеке с указанным штрих- кодом равно (<,>, <=, >=, !=) выбранному значению.
Параметры функции:
bcode
– штрих-код товара.cf.inventCountInCheckByBcode([u"4607032142362"]) == 2 Скидка с данным условием сработает, если количество всех позиций в чеке со штрих-кодом "4607032142362" будет равно 2. |
При задании акции необходимо учитывать, что воздействие функции применяется к позициям с товарами, входящими в набор. |
inventCountInCheckByCatalog(catalog, withPartOfKit)
– функция сработает, если количество позиций в чеке с указанным каталогом равно (<,>, <=, >=, !=) выбранному значению.
Параметры функции:
catalog
– код каталога;withPartOfKit
– параметр для учета товаров, являющихся частью комплекта (набора), при подсчете количества позиций с опцией. При значении параметра withPartOfKit
= True
функция при подсчете количества позиций товара с опцией учитывает позиции, которые включены в набор. cf.inventCountInCheckByCatalog([u"num"],True) == 1 Скидка с таким условием сработает, если количество позиций в чеке с каталогом "num" равно 1. При подсчете количества позиций учитываются позиции с товарами, входящими в набор. |
При задании акции необходимо учитывать, что воздействие функции применяется к позициям с товарами, входящими в набор. |
inventCountInCheckWithAllCatalogs
– функция сработает, если количество позиций в чеке со всеми указанными каталогами равно (<,>, <=, >=, !=) выбранному значению.(
catalog, withPartOfKit)
Параметры функции:
catalog
– код каталога;withPartOfKit
– параметр для учета товаров, являющихся частью комплекта (набора), при подсчете количества позиций с опцией. При значении параметра withPartOfKit
= True
функция при подсчете количества позиций товара с опцией учитывает позиции, которые включены в набор. cf.inventCountInCheckWithAllCatalogs([u"num1",u"num2"],True) == 2 Скидка с данным условием сработает, если количество позиций в чеке, которые входят в оба каталога ("num1" и "num2") равно 2. При подсчете количества позиций учитываются позиции с товарами, входящими в набор. |
При задании акции необходимо учитывать, что воздействие функции применяется к позициям с товарами, входящими в набор. |
inventCountInCheck
– функция сработает, если количество позиций в чеке равна (<,>, <=, >=, !=) выбранному значению.
cf.inventCountInCheck() == 3 Скидка с таким условием сработает, если количество позиций в чеке равно 3. |
При задании акции необходимо учитывать, что воздействие функции применяется к позициям с товарами, входящими в набор. |
inventCountInCheckByGroup(group, withPartOfKit)
– функция сработает, если количество позиций с указанной группой в чеке равно (<,>, <=, >=, !=) выбранному значению.
Параметры функции:
group
– код группы;withPartOfKit
– параметр для учета товаров, являющихся частью комплекта (набора), при подсчете количества позиций с опцией. При значении параметра withPartOfKit
= True
функция при подсчете количества позиций товара с опцией учитывает позиции, которые включены в набор. cf.inventCountInCheckByGroup([u"1000"],True) == 1 Скидка с данным условием сработает, если количество позиций с группой 1000 равно 1. При подсчете количества позиций учитываются позиции с товарами, входящими в набор. |
При задании акции необходимо учитывать, что воздействие функции применяется к позициям с товарами, входящими в набор. |
hasBackInSalePosition
– функция сработает, если в чеке имеется позиция "возврат в чеке продажи". not cf.hasBackInSalePosition() Скидка с таким условием сработает, если в чеке нет позиции "возврат в чеке продажи". |
При задании акции необходимо учитывать, что воздействие функции применяется к позициям с товарами, входящими в набор. |
proportionalDiscount(sum, conditions)
– функция сработает, если в чеке есть позиции, подходящие по условию.
Параметры функции:
sum
– сумма скидки, которая будет равномерно распределена между позициями;conditions
– условия. Можно применять условия для позиций, либо использовать значение 'True
', тогда сумма скидки будет распределена между всеми позициями чека.object['posnum'] in cf.proportionalDiscount(5, 'object["code"] == u"10" and abs(object["sumi"] - object["sumb"] < 0.005)') Скидка с таким условием сработает на все товары в чеке с кодом 10, если к ним не применились другие скидочные воздействия. |
Функция |
Приоритет акций должен быть задан таким образом, чтобы пропорциональная скидка отрабатывала в последнюю очередь. |
inventQuantInCheckByPriceMore(price)
– функция возвращает количество позиций в чеке с ценой больше указанной.
Параметры функции:
price
– цена, от которой будет вестись подсчет позиций.cf.inventQuantInCheckByPriceMore(100.50) >= 2 Скидка с таким условием сработает, если количество позиций с ценой больше 100.50 в чеке больше или равно 2. |