order_reduce_stock_counts_after

Срабатывает после списания остатков заказанных модификаций товаров со склада во время обработки заказа. Позволяет отслеживать изменения складских остатков — например, для синхронизации с маркетплейсами.

Доступно начиная с версии 10.2.0.

Shop-Script

Входящие параметры (передаются по ссылке)

$params['order_id'] int ID заказа.
$params['counts'] array Массив с информацией о количестве заказанных модификаций товаров, которое было списано со складов.
$params['counts'][sku_id][stock_id] float Количество модификации товара с sku_id, списанное со склада stock_id.
… код плагина …

Результат работы плагина

Shop-Script

Пример кода плагина

PHP

public function orderReduceStockCountsAfter($params)
{
    $log_strings = [];

    foreach ($params['counts'] as $sku_id => $sku_quantities) {
        foreach ($sku_quantities as $stock_id => $sku_stock_quantity) {
            $log_strings[] = sprintf(
                '- removed %0.3f of sku #%d from stock #%d',
                $sku_stock_quantity,
                $sku_id,
                $stock_id
            );
        }
    }

    $log_text = sprintf(
        'Values written of from the quantities of product variants during the processing of order #%d:%s',
        $params['order_id'],
        PHP_EOL . implode(PHP_EOL, $log_strings)
    );

    waLog::log(
        $log_text,
        'shop/plugins/' . $this->getId() . '/order_reduce_stock_counts_after.log'
    );
}