Добрый день, коллеги!
Создаю заказ примерно так.
$orderModel = new shopOrderModel();
$orderData = array(
//тут массив для заказа
);
$order_id = $orderModel->insert($orderData);
$orderItemModel = new shopOrderItemsModel();
$productData = array(
//тут массив 1 позиции
);
$orderItemModel->insert($productData);
$order_log_model = new shopOrderLogModel();
$order_log_model->add(array(
'order_id' => $order_id,
'contact_id' => $result['contact_id'],
'before_state_id' => 'new',
'after_state_id' => 'new',
'text' => 'Автоматическое создание заказа',
'action_id' => '',
));
Всё хорошо, кроме одного. Списание товара не происходит. Что нужно добавить или как нужно создавать заказ, чтобы списание товара происходило. А также, чтобы при удалении заказа количество увеличивалось.
Для этого заказ надо создавать через workflow. Гляньте например shopFrontendCheckout.action.php
Спасибо, коллеги! Посмотрю...
Если кто разобрался как создавать через workflow был бы признателен за примеры. Пока сделал через API shop.order.add
В доках более-менее понятно расписано. Переводим заказ в статус указанный в настройках складов:
и вызовом соответствующего действия
Но по сути workflow вызывает
т.ч. если не нужны сопутствующие действия, то можно обновить кол-во напрямую.
Не факт, что я делаю идеально, но приведу пример кода из плагина, где я создаю заказы через наполнение корзины.
creativit.ru я же говорю - момент списание кол-ва зависит от настроек в настройках складов