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