Bitrix-D7 23.9
 
Загрузка...
Поиск...
Не найдено
Класс DiscountBase
+ Граф наследования:DiscountBase:

Открытые члены

 __destruct ()
 
 createClone (\SplObjectStorage $cloneEntity)
 
 isClone ()
 
 setOrderRefresh ($state)
 
 isOrderRefresh ()
 
 isOrderNew ()
 
 setUseMode ($useMode)
 
 getUseMode ()
 
 setExecuteModuleFilter (array $moduleList)
 
 setApplyResult ($applyResult)
 
 getApplyResult ($extMode=false)
 
 isValidState ()
 
 getOrder ()
 
 isOrderExists ()
 

Открытые статические члены

static buildFromBasket (BasketBase $basket, Context\BaseContext $context)
 
static getApplyModeList ($extendedMode=false)
 
static getApplyMode ()
 
static getRegistryType ()
 
static getEmptyApplyBlock ()
 
static calculateDiscountPercent ($basePrice, $discount)
 

Открытые атрибуты

const EVENT_EXTEND_ORDER_DATA = 'onExtendOrderData'
 
const USE_MODE_FULL = 0x00001
 
const USE_MODE_APPLY = 0x0002
 
const USE_MODE_MIXED = 0x0004
 
const USE_MODE_COUPONS = 0x0008
 
const EXECUTE_FIELD_PREFIX = 'EXECUTE_'
 
const ERROR_ID = 'BX_SALE_DISCOUNT'
 
const APPLY_MODE_ADD = 0x0001
 
const APPLY_MODE_DISABLE = 0x0002
 
const APPLY_MODE_LAST = 0x0004
 
const APPLY_MODE_FULL_DISABLE = 0x0008
 
const APPLY_MODE_FULL_LAST = 0x0010
 
const ROUND_MODE_BASKET_DISCOUNT = 0x0001
 
const ROUND_MODE_SALE_DISCOUNT = 0x0002
 
const ROUND_MODE_FINAL_PRICE = 0x0004
 
const ENTITY_BASKET_ITEM = 'BASKET_ITEM'
 
const ENTITY_DELIVERY = 'DELIVERY'
 
const ENTITY_ORDER = 'ORDER'
 

Защищенные члены

 __construct ()
 
 setNewOrder ()
 
 isLoaded ()
 
 setValidState ($value)
 
 initInstanceFromOrder ()
 
 stopCalculate ()
 
 useOnlySaleDiscounts ()
 
 getBasket ()
 
 isBasketExist ()
 
 isBasketNotEmpty ()
 
 initUseMode ()
 
 loadOrderData ()
 
 getBasketItemFields (BasketItemBase $basketItem)
 
 getModuleSettings ()
 
 loadDefaultOrderConfig ()
 
 validateLoadedOrderConfig ($config)
 
 applyLoadedOrderConfig (array $data)
 
 getBasketItemValue ($code, $field)
 
 getBasketItemValueList ($code, array $fields)
 
 calculateApply ()
 
 calculateMixed ()
 
 getOrderConfig ()
 
 saveMixed ()
 
 normalizeNewResultRows (array &$rows)
 
 checkDiscountConditions ()
 
 applySaleDiscount ()
 
 checkBasketDiscounts ()
 
 calculateApplyBasketDiscount ()
 
 calculateApplyDiscountBlock ()
 
 tryToRevertApplyStatusInBlocks (array $stepResult)
 
 revertApplyBlockForBasketItem ($basketItemId)
 
 getRoundMode ()
 
 isRoundMode ($mode)
 
 setRoundIndex ($entity, array $index)
 
 getRoundIndex ($entity, $applyCounter=null)
 
 roundFullBasketPriceByIndex (array $index)
 
 roundApplyBasketPricesByIndex (array $index)
 
 correctStepResult (&$stepResult, $discount)
 
 setDiscountStoredActionData ($orderDiscountId, array $data)
 
 getDiscountStoredActionData ($orderDiscountId)
 
 isBasketApplyResultExist ()
 
 getApplyDiscounts ()
 
 getApplyPrices ()
 
 remakingDiscountResult ()
 
 getEntitySaveIdentifier (array $entity)
 
 isCustomPriceByCode ($code)
 
 isInSetByCode ($code)
 
 isNewBasketItemByCode ($code)
 
 isFreezedBasketItemByCode ($code)
 
 isBasketItemChanged ($code)
 
 isExistBasketItem ($code)
 
 isOrderChanged ()
 
 isMixedBasket ()
 
 getBasketCodes ($full=true)
 
 getAllowedBasketCodeList ()
 
 mergeDiscountActionResult ($index, $stepResult)
 
 fillEmptyDiscountResult ()
 
 fillDiscountResult ()
 
 clearCurrentApplyBlock ()
 
 fillEmptyCurrentStep ()
 
 fillCurrentStep ($data)
 
 modifyOrderData (&$newData)
 
 resetOrderState ()
 
 resetPrices ()
 
 resetOrderPrice ()
 
 resetBasketPrices ()
 
 resetDiscountAppliedFlag ()
 
 executeDiscountList ()
 
 fillBasketLastDiscount ()
 
 isBasketLastDiscount ()
 
 clearAdditionalCoupons (array $coupons)
 
 calculateApplySaleAdditionalCoupons (array $applyCoupons)
 
 getStatusApplyBasketDiscount ($basketCode, $orderDiscountId, $orderCouponId)
 
 normalizeDiscountResult ()
 
 getSiteId ()
 
 getSiteCurrency ()
 
 getExecuteFieldList ()
 
 getConditionField ()
 
 loadDiscountByUserGroups (array $filter=array())
 
 loadDiscountModules (array $modules)
 
 loadDiscountList ()
 
 getOrderDiscountClassName ()
 
 getDiscountCouponClassName ()
 
 getShipmentClassName ()
 
 getEntityMarkerClassName ()
 

Защищенные статические члены

static getStepResult (array $order)
 
static isCustomPrice (array $item)
 
static isInSet (array $item)
 
static isNewBasketItem (array $item)
 
static isFreezedBasketItem (array $item)
 
static formatDescription ($descr)
 
static instanceExists ($index)
 
static getInstance ($index)
 
static migrateInstance ($oldIndex, $newIndex)
 
static removeInstance ($index)
 
static getInstanceIndexByOrder (OrderBase $order)
 
static getInstanceIndexByBasket (BasketBase $basket, Context\BaseContext $context=null)
 
static getExecuteFieldName ($fieldName)
 
static getOrderPropertyCodes ()
 
static recursiveMerge (&$dest, $src)
 

Защищенные данные

 $isClone = false
 
 $orderRefresh = false
 
 $newOrder = null
 
 $useMode = null
 
 $context
 
 $order = null
 
 $executeModuleFilter = array('all', 'sale', 'catalog')
 
 $loadedModules = array()
 
 $discountIds = null
 
 $saleDiscountCache = array()
 
 $saleDiscountCacheKey = ''
 
 $basket = null
 
 $orderData = null
 
 $valid = true
 
 $saleOptions = array()
 
 $basketDiscountList = array()
 
 $basketItemsData = array()
 
 $discountsCache = array()
 
 $couponsCache = array()
 
 $discountResult = array()
 
 $discountResultCounter = 0
 
 $applyResult = array()
 
 $discountStoredActionData = array()
 
 $entityList = array()
 
 $entityResultCache = array()
 
 $currentStep = array()
 
 $forwardBasketTable = array()
 
 $reverseBasketTable = array()
 
 $roundApplyMode = self::ROUND_MODE_FINAL_PRICE
 
 $roundApplyConfig = array()
 
 $fullDiscountList = array()
 

Подробное описание

См. определение в файле discountbase.php строка 19

Конструктор(ы)

◆ __construct()

__construct ( )
protected

См. определение в файле discountbase.php строка 143

◆ __destruct()

__destruct ( )

См. определение в файле discountbase.php строка 148

Методы

◆ applyLoadedOrderConfig()

applyLoadedOrderConfig ( array $data)
protected

Set loaded order settings.

Аргументы
array$dataOrder settings from database.
Возвращает
void

См. определение в файле discountbase.php строка 1076

◆ applySaleDiscount()

applySaleDiscount ( )
protected

Apply discount rules.

Возвращает
Result

См. определение в файле discountbase.php строка 2220

◆ buildFromBasket()

static buildFromBasket ( BasketBase $basket,
Context\BaseContext $context )
static

Builds discounts from basket. Basket doesn't have to have a order. Context describes user and user groups which use in

Аргументы
BasketBase$basketBasket.
Context\BaseContext$contextContext.
Возвращает
DiscountBase|null
Исключения
Main

InvalidOperationException

См. определение в файле discountbase.php строка 288

◆ calculateApply()

calculateApply ( )
protected

Calculate discount by exist order.

Возвращает
Result

См. определение в файле discountbase.php строка 1343

◆ calculateApplyBasketDiscount()

calculateApplyBasketDiscount ( )
protected

Apply basket discount in exist order.

Возвращает
Result

См. определение в файле discountbase.php строка 2480

◆ calculateApplyDiscountBlock()

calculateApplyDiscountBlock ( )
protected

Calculate discount block for existing order.

Возвращает
Result

См. определение в файле discountbase.php строка 2585

◆ calculateApplySaleAdditionalCoupons()

calculateApplySaleAdditionalCoupons ( array $applyCoupons)
protected

Calculate additional sale coupons.

Аргументы
array$applyCouponsCoupons data.
Возвращает
Result

См. определение в файле discountbase.php строка 5080

◆ calculateDiscountPercent()

static calculateDiscountPercent ( $basePrice,
$discount )
static

Calculate discount percent for public components.

Аргументы
int | float$basePriceBase price.
int | float$discountDiscount value (for an extra can be negative).
Возвращает
float|int|null

См. определение в файле discountbase.php строка 5762

◆ calculateMixed()

calculateMixed ( )
protected

Calculate discount by exist order with new items.

Возвращает
Result

См. определение в файле discountbase.php строка 1417

◆ checkBasketDiscounts()

checkBasketDiscounts ( )
protected

Check product discount list for basket items.

См. определение в файле discountbase.php строка 2315

◆ checkDiscountConditions()

checkDiscountConditions ( )
protected

Check duscount conditions.

Возвращает
bool

См. определение в файле discountbase.php строка 2161

◆ clearAdditionalCoupons()

clearAdditionalCoupons ( array $coupons)
protected

Clear coupons from already used discounts.

См. определение в файле discountbase.php строка 4835

◆ clearCurrentApplyBlock()

clearCurrentApplyBlock ( )
protected

Internal. Fill current apply block empty data.

Возвращает
void

См. определение в файле discountbase.php строка 4435

◆ correctStepResult()

correctStepResult ( & $stepResult,
$discount )
protected

Correct data for exotic coupon.

Аргументы
array&$stepResultCurrenct discount result.
array$discountDiscount data.
Возвращает
void

См. определение в файле discountbase.php строка 3685

◆ createClone()

createClone ( \SplObjectStorage $cloneEntity)

Clone entity.

См. определение в файле discountbase.php строка 163

◆ executeDiscountList()

executeDiscountList ( )
protected

Execute sale discount list.

Возвращает
Result

См. определение в файле discountbase.php строка 4655

◆ fillBasketLastDiscount()

fillBasketLastDiscount ( )
protected

Fill last discount flag for basket items. Only for basket or new order or refreshed order.

Возвращает
void

См. определение в файле discountbase.php строка 4759

◆ fillCurrentStep()

fillCurrentStep ( $data)
protected

Internal. Fill current step data.

Аргументы
array$dataOnly not empty keys.
Возвращает
void

См. определение в файле discountbase.php строка 4462

◆ fillDiscountResult()

fillDiscountResult ( )
protected

Fill result order data.

Возвращает
array

Переопределяется в Discount.

См. определение в файле discountbase.php строка 4407

◆ fillEmptyCurrentStep()

fillEmptyCurrentStep ( )
protected

Internal. Clear current step data.

Возвращает
void

См. определение в файле discountbase.php строка 4444

◆ fillEmptyDiscountResult()

fillEmptyDiscountResult ( )
protected

Fill empty discount result list.

Возвращает
void

Переопределяется в Discount.

См. определение в файле discountbase.php строка 4388

◆ formatDescription()

static formatDescription ( $descr)
staticprotected

Return formatted discount description.

Аргументы
array$descrDescription.
Возвращает
array

См. определение в файле discountbase.php строка 4538

◆ getAllowedBasketCodeList()

getAllowedBasketCodeList ( )
protected

См. определение в файле discountbase.php строка 4336

◆ getApplyDiscounts()

getApplyDiscounts ( )
protected

Returns discount and coupon list.

Возвращает
void

См. определение в файле discountbase.php строка 3774

◆ getApplyMode()

static getApplyMode ( )
static

Returns current sale discount apply mode.

Возвращает
int
Исключения
Main

ArgumentNullException

См. определение в файле discountbase.php строка 418

◆ getApplyModeList()

static getApplyModeList ( $extendedMode = false)
static

Return apply mode list.

Аргументы
bool$extendedModeGet mode list with names.
Возвращает
array

См. определение в файле discountbase.php строка 390

◆ getApplyPrices()

getApplyPrices ( )
protected

Fill prices in apply results.

Возвращает
void

Переопределяется в Discount.

См. определение в файле discountbase.php строка 3877

◆ getApplyResult()

getApplyResult ( $extMode = false)

Return discount list description.

Аргументы
bool$extModeExtended mode.
Возвращает
array

Переопределяется в Discount.

См. определение в файле discountbase.php строка 551

◆ getBasket()

getBasket ( )
protected

Return current basket.

Возвращает
BasketBase

См. определение в файле discountbase.php строка 774

◆ getBasketCodes()

getBasketCodes ( $full = true)
protected

Returns basket codes for calculate.

Аргументы
bool$fullFull or apply mode.
Возвращает
array

См. определение в файле discountbase.php строка 4272

◆ getBasketItemFields()

getBasketItemFields ( BasketItemBase $basketItem)
protected

Returns array with basket item field values.

Аргументы
BasketItemBase$basketItemBasket collection item.
Возвращает
array

См. определение в файле discountbase.php строка 978

◆ getBasketItemValue()

getBasketItemValue ( $code,
$field )
protected

Return basket item data value from provider.

См. определение в файле discountbase.php строка 1249

◆ getBasketItemValueList()

getBasketItemValueList ( $code,
array $fields )
protected

Return basket item data from provider.

См. определение в файле discountbase.php строка 1264

◆ getConditionField()

getConditionField ( )
protected

Return field with discount condition code.

Переопределяется в Discount.

См. определение в файле discountbase.php строка 5415

◆ getDiscountCouponClassName()

getDiscountCouponClassName ( )
protected

Returns current discount coupons manager class name.

Возвращает
string
Исключения
Main

ArgumentException

Исключения
Main

NotImplementedException

См. определение в файле discountbase.php строка 5618

◆ getDiscountStoredActionData()

getDiscountStoredActionData ( $orderDiscountId)
protected

Returns stored action data for discount.

Аргументы
int$orderDiscountIdConverted discount id.
Возвращает
array|null

См. определение в файле discountbase.php строка 3745

◆ getEmptyApplyBlock()

static getEmptyApplyBlock ( )
static

Return empty apply block.

Возвращает
array

См. определение в файле discountbase.php строка 5746

◆ getEntityMarkerClassName()

getEntityMarkerClassName ( )
protected
Возвращает
string
Исключения
Main

ArgumentException

Исключения
Main

NotImplementedException

См. определение в файле discountbase.php строка 5644

◆ getEntitySaveIdentifier()

getEntitySaveIdentifier ( array $entity)
protected

Returns data for save to database.

Аргументы
array$entity
Возвращает
array|null

Переопределяется в Discount.

См. определение в файле discountbase.php строка 4026

◆ getExecuteFieldList()

getExecuteFieldList ( )
protected

Return field list for eval.

Переопределяется в Discount.

См. определение в файле discountbase.php строка 5403

◆ getExecuteFieldName()

static getExecuteFieldName ( $fieldName)
staticfinalprotected

Return field name for save eval result. Only for core.

См. определение в файле discountbase.php строка 5391

◆ getInstance()

static getInstance ( $index)
staticprotected

Returns discount instance.

Аргументы
string$indexEntity instance identifier.
Возвращает
DiscountBase

См. определение в файле discountbase.php строка 5224

◆ getInstanceIndexByBasket()

static getInstanceIndexByBasket ( BasketBase $basket,
Context\BaseContext $context = null )
staticprotected

Return instance index for basket.

См. определение в файле discountbase.php строка 5290

◆ getInstanceIndexByOrder()

static getInstanceIndexByOrder ( OrderBase $order)
staticprotected

Return instance index for order.

См. определение в файле discountbase.php строка 5275

◆ getModuleSettings()

getModuleSettings ( )
protected

Returns the current module settings required for calculating discounts.

Возвращает
array
Исключения
Main

ArgumentNullException

Исключения
Main

ArgumentOutOfRangeException

См. определение в файле discountbase.php строка 1036

◆ getOrder()

getOrder ( )

Return order.

Возвращает
OrderBase|null

См. определение в файле discountbase.php строка 5304

◆ getOrderConfig()

getOrderConfig ( )
protected

Returns order configuration for save to database.

Возвращает
array

Переопределяется в Discount.

См. определение в файле discountbase.php строка 1670

◆ getOrderDiscountClassName()

getOrderDiscountClassName ( )
protected

Returns current order discount class name.

Возвращает
string
Исключения
Main

ArgumentException

Исключения
Main

NotImplementedException

См. определение в файле discountbase.php строка 5604

◆ getOrderPropertyCodes()

static getOrderPropertyCodes ( )
staticprotected

Return order property codes for translate to order fields.

Возвращает
array

См. определение в файле discountbase.php строка 5701

◆ getRegistryType()

static getRegistryType ( )
static

Return parent entity type. The method must be overridden in the derived class.

Переопределяется в Discount.

См. определение в файле discountbase.php строка 5263

◆ getRoundIndex()

getRoundIndex ( $entity,
$applyCounter = null )
protected

Return index data for use round.

См. определение в файле discountbase.php строка 3280

◆ getRoundMode()

getRoundMode ( )
protected

Return order round apply mode.

См. определение в файле discountbase.php строка 3191

◆ getShipmentClassName()

getShipmentClassName ( )
protected

Return current shipment class name.

Возвращает
string
Исключения
Main

ArgumentException

Исключения
Main

NotImplementedException

См. определение в файле discountbase.php строка 5632

◆ getSiteCurrency()

getSiteCurrency ( )
protected

Return site currency.

См. определение в файле discountbase.php строка 5368

◆ getSiteId()

getSiteId ( )
protected

Return site id for calculate.

См. определение в файле discountbase.php строка 5325

◆ getStatusApplyBasketDiscount()

getStatusApplyBasketDiscount ( $basketCode,
$orderDiscountId,
$orderCouponId )
protected

Return apply status for basket discount.

См. определение в файле discountbase.php строка 5140

◆ getStepResult()

static getStepResult ( array $order)
staticprotected

Returns result after one discount.

Аргументы
array$orderOrder current data.
Возвращает
array

Переопределяется в Discount.

См. определение в файле discountbase.php строка 3649

◆ getUseMode()

getUseMode ( )

Return calculate mode.

Возвращает
int

См. определение в файле discountbase.php строка 367

◆ initInstanceFromOrder()

initInstanceFromOrder ( )
protected

Initial instance data after set order.

Возвращает
void

Переопределяется в Discount.

См. определение в файле discountbase.php строка 737

◆ initUseMode()

initUseMode ( )
protected

Initialization of the discount calculation mode.

Возвращает
void

См. определение в файле discountbase.php строка 820

◆ instanceExists()

static instanceExists ( $index)
staticprotected

Returns true, if instance exist.

Аргументы
string$indexEntity instance identifier.
Возвращает
bool

См. определение в файле discountbase.php строка 5210

◆ isBasketApplyResultExist()

isBasketApplyResultExist ( )
protected

Return true, if exist apply result from form for basket.

Возвращает
bool

См. определение в файле discountbase.php строка 3760

◆ isBasketExist()

isBasketExist ( )
protected

Return exists basket.

Возвращает
bool

См. определение в файле discountbase.php строка 787

◆ isBasketItemChanged()

isBasketItemChanged ( $code)
protected

Return true if ordered basket item changed (change PRODUCT_ID).

Аргументы
int$codeBasket code.
Возвращает
bool

@noinspection PhpInternalEntityUsedInspection

См. определение в файле discountbase.php строка 4169

◆ isBasketLastDiscount()

isBasketLastDiscount ( )
protected

Check last discount flag for basket items. Only for basket or new order or refreshed order.

Возвращает
bool

См. определение в файле discountbase.php строка 4800

◆ isBasketNotEmpty()

isBasketNotEmpty ( )
protected

Returns the existence of a non-empty basket.

Возвращает
bool

См. определение в файле discountbase.php строка 800

◆ isClone()

isClone ( )

Returns true if discount entity is cloned.

Возвращает
bool

См. определение в файле discountbase.php строка 193

◆ isCustomPrice()

static isCustomPrice ( array $item)
staticprotected

Returns exist custom price for basket item.

Аргументы
array$itemBasket item.
Возвращает
bool

См. определение в файле discountbase.php строка 4077

◆ isCustomPriceByCode()

isCustomPriceByCode ( $code)
protected

Returns exist custom price for basket item code.

Аргументы
int$codeBasket code.
Возвращает
bool

См. определение в файле discountbase.php строка 4064

◆ isExistBasketItem()

isExistBasketItem ( $code)
protected

Return true, if basket item exists.

Аргументы
string | int$codeBasket item code.
Возвращает
bool

См. определение в файле discountbase.php строка 4191

◆ isFreezedBasketItem()

static isFreezedBasketItem ( array $item)
staticprotected

Returns true, if allowed apply discounts to basket item.

Аргументы
array$itemBasket item.
Возвращает
bool

См. определение в файле discountbase.php строка 4158

◆ isFreezedBasketItemByCode()

isFreezedBasketItemByCode ( $code)
protected

Returns true, if allowed apply discounts to basket item.

Аргументы
int | string$codeBasket code.
Возвращает
bool

См. определение в файле discountbase.php строка 4145

◆ isInSet()

static isInSet ( array $item)
staticprotected

Returns check item in set for basket item.

Аргументы
array$itemBasket item.
Возвращает
bool

См. определение в файле discountbase.php строка 4103

◆ isInSetByCode()

isInSetByCode ( $code)
protected

Returns check item in set for basket item code.

Аргументы
int$codeBasket code.
Возвращает
bool

См. определение в файле discountbase.php строка 4090

◆ isLoaded()

isLoaded ( )
protected

Returns true if the data for calculations is loaded.

Возвращает
bool

См. определение в файле discountbase.php строка 250

◆ isMixedBasket()

isMixedBasket ( )
protected

Returns exist new item in basket.

Возвращает
bool

См. определение в файле discountbase.php строка 4213

◆ isNewBasketItem()

static isNewBasketItem ( array $item)
staticprotected

Returns check new basket item for basket item.

Аргументы
array$itemBasket item.
Возвращает
bool

См. определение в файле discountbase.php строка 4131

◆ isNewBasketItemByCode()

isNewBasketItemByCode ( $code)
protected

Returns check new basket item for basket item code.

Аргументы
int | string$codeBasket code.
Возвращает
bool

См. определение в файле discountbase.php строка 4116

◆ isOrderChanged()

isOrderChanged ( )
protected

Returns true, if changed children order entities.

Возвращает
bool

См. определение в файле discountbase.php строка 4203

◆ isOrderExists()

isOrderExists ( )

Return flag is order exists.

Возвращает
bool

См. определение в файле discountbase.php строка 5314

◆ isOrderNew()

isOrderNew ( )

Returns new order flag value.

Возвращает
bool

См. определение в файле discountbase.php строка 226

◆ isOrderRefresh()

isOrderRefresh ( )

Returns full refresh status value.

Возвращает
bool

См. определение в файле discountbase.php строка 216

◆ isRoundMode()

isRoundMode ( $mode)
protected

Return true, if selected check round apply mode.

См. определение в файле discountbase.php строка 3203

◆ isValidState()

isValidState ( )

См. определение в файле discountbase.php строка 697

◆ loadDefaultOrderConfig()

loadDefaultOrderConfig ( )
protected

Load default order config for order.

Возвращает
void

Переопределяется в Discount.

См. определение в файле discountbase.php строка 1050

◆ loadDiscountByUserGroups()

loadDiscountByUserGroups ( array $filter = array())
protected

Load from database discount id for user groups.

См. определение в файле discountbase.php строка 5429

◆ loadDiscountList()

loadDiscountList ( )
protected

Load sale discount from database

См. определение в файле discountbase.php строка 5511

◆ loadDiscountModules()

loadDiscountModules ( array $modules)
protected

Load discount modules.

См. определение в файле discountbase.php строка 5483

◆ loadOrderData()

loadOrderData ( )
protected

Load order information.

Возвращает
Result

Переопределяется в Discount.

См. определение в файле discountbase.php строка 841

◆ mergeDiscountActionResult()

mergeDiscountActionResult ( $index,
$stepResult )
protected

Merge discount actions result with old data.

Аргументы
int$indexDiscount index.
array$stepResultNew result.
Возвращает
void

См. определение в файле discountbase.php строка 4360

◆ migrateInstance()

static migrateInstance ( $oldIndex,
$newIndex )
staticprotected

См. определение в файле discountbase.php строка 5235

◆ modifyOrderData()

modifyOrderData ( & $newData)
protected

Modify order data from handlers.

Аргументы
array&$newDataNew order data from handler.
Возвращает
void

См. определение в файле discountbase.php строка 4526

◆ normalizeDiscountResult()

normalizeDiscountResult ( )
protected

Round and correct discount calculation results.

Переопределяется в Discount.

См. определение в файле discountbase.php строка 5177

◆ normalizeNewResultRows()

normalizeNewResultRows ( array & $rows)
protected

Fill common system fields for new discount results.

Аргументы
array$rowsPrepared new discount results.
Возвращает
void

См. определение в файле discountbase.php строка 2140

◆ recursiveMerge()

static recursiveMerge ( & $dest,
$src )
staticprotected

Added keys from source array to destination array.

Аргументы
array&$destDestination array.
array$srcSource array.
Возвращает
void

См. определение в файле discountbase.php строка 5719

◆ remakingDiscountResult()

remakingDiscountResult ( )
protected

Change result format.

Возвращает
void

Переопределяется в Discount.

См. определение в файле discountbase.php строка 3906

◆ removeInstance()

static removeInstance ( $index)
staticprotected

См. определение в файле discountbase.php строка 5247

◆ resetBasketPrices()

resetBasketPrices ( )
protected

Fill basket prices from base prices.

Возвращает
void

См. определение в файле discountbase.php строка 4624

◆ resetDiscountAppliedFlag()

resetDiscountAppliedFlag ( )
protected

Reset flag of applying discounts for basket items.

Возвращает
void

См. определение в файле discountbase.php строка 4640

◆ resetOrderPrice()

resetOrderPrice ( )
protected

Fill base entity price.

Возвращает
void

См. определение в файле discountbase.php строка 4603

◆ resetOrderState()

resetOrderState ( )
protected

Set order parameters to their original state before the start of calculations.

Возвращает
void

См. определение в файле discountbase.php строка 4581

◆ resetPrices()

resetPrices ( )
protected

Fill prices from base prices.

Возвращает
void

Переопределяется в Discount.

См. определение в файле discountbase.php строка 4593

◆ revertApplyBlockForBasketItem()

revertApplyBlockForBasketItem ( $basketItemId)
protected

Reverts apply flag in blocks for basket items which has for example cumulative discount which cancels previous discounts on item.

Аргументы
int$basketItemId
Возвращает
void

См. определение в файле discountbase.php строка 3018

◆ roundApplyBasketPricesByIndex()

roundApplyBasketPricesByIndex ( array $index)
protected

Round prices in sale discount mode for exist order.

См. определение в файле discountbase.php строка 3524

◆ roundFullBasketPriceByIndex()

roundFullBasketPriceByIndex ( array $index)
protected

Round prices in sale discount mode for new order.

См. определение в файле discountbase.php строка 3505

◆ saveMixed()

saveMixed ( )
protected

Save discount result for mixed order.

Возвращает
Result

См. определение в файле discountbase.php строка 1938

◆ setApplyResult()

setApplyResult ( $applyResult)

Change applied discount list.

Аргументы
array$applyResultChange apply result.
Возвращает
void

Переопределяется в Discount.

См. определение в файле discountbase.php строка 520

◆ setDiscountStoredActionData()

setDiscountStoredActionData ( $orderDiscountId,
array $data )
protected

Fill additional discount data.

Аргументы
int$orderDiscountIdConverted discount id.
array$dataDiscount data.
Возвращает
void

См. определение в файле discountbase.php строка 3727

◆ setExecuteModuleFilter()

setExecuteModuleFilter ( array $moduleList)

Sets list of execute module which will be used to filter discount.

См. определение в файле discountbase.php строка 379

◆ setNewOrder()

setNewOrder ( )
protected

Set new order flag.

Возвращает
void

См. определение в файле discountbase.php строка 236

◆ setOrderRefresh()

setOrderRefresh ( $state)

Set full refresh status from edit order form.

Аргументы
bool$stateRefresh or not order.
Возвращает
void

См. определение в файле discountbase.php строка 204

◆ setRoundIndex()

setRoundIndex ( $entity,
array $index )
protected

Set discount index for use round. Only for sale discount mode.

См. определение в файле discountbase.php строка 3261

◆ setUseMode()

setUseMode ( $useMode)

Set calculate mode.

Аргументы
int$useModeCalculate mode.
Возвращает
void

См. определение в файле discountbase.php строка 354

◆ setValidState()

setValidState ( $value)
protected

См. определение в файле discountbase.php строка 702

◆ stopCalculate()

stopCalculate ( )
protected

Return is allow discount calculate.

Возвращает
bool

См. определение в файле discountbase.php строка 747

◆ tryToRevertApplyStatusInBlocks()

tryToRevertApplyStatusInBlocks ( array $stepResult)
protected

Tries to revert apply status of discounts. It depends on current $stepResult. If it has REVERT_APPLY like true, that we have to cancel discounts on basket items which were affected.

Аргументы
array$stepResult
Возвращает
void

См. определение в файле discountbase.php строка 2979

◆ useOnlySaleDiscounts()

useOnlySaleDiscounts ( )
protected

Return true, if only sale discounts is allowed. For new order or refreshed order use sale option, otherwise use order option.

Возвращает
bool

См. определение в файле discountbase.php строка 761

◆ validateLoadedOrderConfig()

validateLoadedOrderConfig ( $config)
protected

Validate loaded order config.

Аргументы
mixed$configOrder configuration.
Возвращает
bool

См. определение в файле discountbase.php строка 1061

Данные класса

◆ $applyResult

$applyResult = array()
protected

См. определение в файле discountbase.php строка 115

◆ $basket

BasketBase $basket = null
protected

См. определение в файле discountbase.php строка 84

◆ $basketDiscountList

$basketDiscountList = array()
protected

См. определение в файле discountbase.php строка 98

◆ $basketItemsData

$basketItemsData = array()
protected

См. определение в файле discountbase.php строка 101

◆ $context

$context
protected

См. определение в файле discountbase.php строка 61

◆ $couponsCache

$couponsCache = array()
protected

См. определение в файле discountbase.php строка 107

◆ $currentStep

$currentStep = array()
protected

См. определение в файле discountbase.php строка 125

◆ $discountIds

$discountIds = null
protected

См. определение в файле discountbase.php строка 75

◆ $discountResult

$discountResult = array()
protected

См. определение в файле discountbase.php строка 111

◆ $discountResultCounter

$discountResultCounter = 0
protected

См. определение в файле discountbase.php строка 113

◆ $discountsCache

$discountsCache = array()
protected

См. определение в файле discountbase.php строка 105

◆ $discountStoredActionData

$discountStoredActionData = array()
protected

См. определение в файле discountbase.php строка 118

◆ $entityList

$entityList = array()
protected

См. определение в файле discountbase.php строка 121

◆ $entityResultCache

$entityResultCache = array()
protected

См. определение в файле discountbase.php строка 123

◆ $executeModuleFilter

$executeModuleFilter = array('all', 'sale', 'catalog')
protected

См. определение в файле discountbase.php строка 68

◆ $forwardBasketTable

$forwardBasketTable = array()
protected

См. определение в файле discountbase.php строка 128

◆ $fullDiscountList

$fullDiscountList = array()
protected

См. определение в файле discountbase.php строка 141

◆ $isClone

$isClone = false
protected

См. определение в файле discountbase.php строка 53

◆ $loadedModules

$loadedModules = array()
protected

См. определение в файле discountbase.php строка 70

◆ $newOrder

$newOrder = null
protected

См. определение в файле discountbase.php строка 57

◆ $order

$order = null
protected

См. определение в файле discountbase.php строка 63

◆ $orderData

$orderData = null
protected

См. определение в файле discountbase.php строка 88

◆ $orderRefresh

$orderRefresh = false
protected

См. определение в файле discountbase.php строка 55

◆ $reverseBasketTable

$reverseBasketTable = array()
protected

См. определение в файле discountbase.php строка 130

◆ $roundApplyConfig

$roundApplyConfig = array()
protected

См. определение в файле discountbase.php строка 134

◆ $roundApplyMode

$roundApplyMode = self::ROUND_MODE_FINAL_PRICE
protected

См. определение в файле discountbase.php строка 133

◆ $saleDiscountCache

$saleDiscountCache = array()
protected

См. определение в файле discountbase.php строка 77

◆ $saleDiscountCacheKey

$saleDiscountCacheKey = ''
protected

См. определение в файле discountbase.php строка 79

◆ $saleOptions

$saleOptions = array()
protected

См. определение в файле discountbase.php строка 94

◆ $useMode

$useMode = null
protected

См. определение в файле discountbase.php строка 59

◆ $valid

$valid = true
protected

См. определение в файле discountbase.php строка 92

◆ APPLY_MODE_ADD

const APPLY_MODE_ADD = 0x0001

См. определение в файле discountbase.php строка 32

◆ APPLY_MODE_DISABLE

const APPLY_MODE_DISABLE = 0x0002

См. определение в файле discountbase.php строка 33

◆ APPLY_MODE_FULL_DISABLE

const APPLY_MODE_FULL_DISABLE = 0x0008

См. определение в файле discountbase.php строка 35

◆ APPLY_MODE_FULL_LAST

const APPLY_MODE_FULL_LAST = 0x0010

См. определение в файле discountbase.php строка 36

◆ APPLY_MODE_LAST

const APPLY_MODE_LAST = 0x0004

См. определение в файле discountbase.php строка 34

◆ ENTITY_BASKET_ITEM

const ENTITY_BASKET_ITEM = 'BASKET_ITEM'

См. определение в файле discountbase.php строка 42

◆ ENTITY_DELIVERY

const ENTITY_DELIVERY = 'DELIVERY'

См. определение в файле discountbase.php строка 43

◆ ENTITY_ORDER

const ENTITY_ORDER = 'ORDER'

См. определение в файле discountbase.php строка 44

◆ ERROR_ID

const ERROR_ID = 'BX_SALE_DISCOUNT'

См. определение в файле discountbase.php строка 30

◆ EVENT_EXTEND_ORDER_DATA

const EVENT_EXTEND_ORDER_DATA = 'onExtendOrderData'

См. определение в файле discountbase.php строка 21

◆ EXECUTE_FIELD_PREFIX

const EXECUTE_FIELD_PREFIX = 'EXECUTE_'

См. определение в файле discountbase.php строка 28

◆ ROUND_MODE_BASKET_DISCOUNT

const ROUND_MODE_BASKET_DISCOUNT = 0x0001

См. определение в файле discountbase.php строка 38

◆ ROUND_MODE_FINAL_PRICE

const ROUND_MODE_FINAL_PRICE = 0x0004

См. определение в файле discountbase.php строка 40

◆ ROUND_MODE_SALE_DISCOUNT

const ROUND_MODE_SALE_DISCOUNT = 0x0002

См. определение в файле discountbase.php строка 39

◆ USE_MODE_APPLY

const USE_MODE_APPLY = 0x0002

См. определение в файле discountbase.php строка 24

◆ USE_MODE_COUPONS

const USE_MODE_COUPONS = 0x0008

См. определение в файле discountbase.php строка 26

◆ USE_MODE_FULL

const USE_MODE_FULL = 0x00001

См. определение в файле discountbase.php строка 23

◆ USE_MODE_MIXED

const USE_MODE_MIXED = 0x0004

См. определение в файле discountbase.php строка 25