Bitrix-D7 23.9
 
Загрузка...
Поиск...
Не найдено
Класс AvailableQuantityCalculator

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

 setStoreQuantity (int $storeId, int $productId, float $quantity)
 
 addReservationHistory (int $storeId, int $productId, int $basketId, float $quantity)
 
 getQuantityForItem (int $productId, int $basketId, int $storeId)
 
 getQuantityForBatch (array $basket2productId)
 

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

Calculation of balances based on the reservation history.

For example:

$calculator = new \Bitrix\Sale\Reservation\AvailableQuantityCalculator();
// load store balance
$rows = StoreProductTable::getList([...]);
foreach ($rows as $row)
{
$calculator->setStoreQuantity($row['STORE_ID'], $row['PRODUCT_ID'], $row['AMOUNT']);
}
// load history
$rows = BasketReservationHistoryTable::getList([...]);
foreach ($rows as $row)
{
$calculator->addReservationHistory(
$row['STORE_ID'],
$row['PRODUCT_ID'],
$row['BASKET_ID'],
$row['QUANTITY']
);
}
// get count
$calculator->getQuantityForBatch([
$basketId => $productId,
$basketId => $productId,
// ...
]);
$calculator->getQuantityForItem($productId, $basketId, $storeId);

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

Методы

◆ addReservationHistory()

addReservationHistory ( int $storeId,
int $productId,
int $basketId,
float $quantity )

Add an item reservation history. The order of addition is IMPORTANT!

Аргументы
int$storeId
int$productId
int$basketId
float$quantity
Возвращает
void

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

◆ getQuantityForBatch()

getQuantityForBatch ( array $basket2productId)

Get available for debit product quantity for batch with basket items.

Аргументы
array$basket2productIdin format ['basketId' => 'productId', 'basketId' => 'productId', ...]
Возвращает
array in format ['basketId' => ['storeId' => 'avaiableQuantity']]

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

◆ getQuantityForItem()

getQuantityForItem ( int $productId,
int $basketId,
int $storeId )

Get available for debit product quantity for store.

Аргументы
int$productId
int$basketId
int$storeId
Возвращает
float

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

◆ setStoreQuantity()

setStoreQuantity ( int $storeId,
int $productId,
float $quantity )

Set product store quantity.

Аргументы
int$storeId
int$productId
float$quantity
Возвращает
void

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