есть плагин добавить заказ в резерв или что-то подобное со списанием временным?

0

в общем идея такая принимать заказ кнопкой резерв он списывается, а в Журнал изменений остатков пишется что заказ №такой-то принят в резерв

вот я сделал кнопку резерв, а как ее заставить списывать товар (хотя-бы так)!?


1 комментарий

  • +1
    Петр Петр 16 мая 2018 12:08 #

    в общем я сделяль

    фаил shopWorkflowRezervAction.class.php

    <?php
    
    class shopWorkflowRezervAction extends shopWorkflowAction
    {
        public function postExecute($order_id = null, $result = null)
        {
            $data = parent::postExecute($order_id, $result);
            if ($order_id !== null) {
                $log_model = new waLogModel();
                $log_model->add('order_process', $order_id);
    
                $log_model = new shopOrderLogModel();
                $state_id = $log_model->getPreviousState($order_id);
    
                $app_settings_model = new waAppSettingsModel();
                $update_on_create   = $app_settings_model->get('shop', 'update_stock_count_on_create_order');
    
                if (!$update_on_create && $state_id == 'new') {
                    // jump through 'processing' state - reduce
                    
                    // for logging changes in stocks
                    shopProductStocksLogModel::setContext(
                            shopProductStocksLogModel::TYPE_ORDER,
                            _w('Заказ %s добавлен в резерв'),
                            array(
                                'order_id' => $order_id
                            )
                    );
                    
                    $order_model = new shopOrderModel();
                    $order_model->reduceProductsFromStocks($order_id);
                    
                    shopProductStocksLogModel::clearContext();
                }
            }
            return $data;
        }
    }
    

    работает

    Добавить комментарий

    Чтобы добавить комментарий, зарегистрируйтесь или войдите