Возврат товара на склад

Тема в разделе "Общие вопросы", создана пользователем zver28, 5 янв 2019.

  1. optimlab

    optimlab Продвинутый пользователь

    Сообщения:
    924
    Симпатии:
    240
    Голову сегодня сломал над этими Статусами заказов. Вроде разобрался, но чую завтра опять забуду.

    @Romans, можно хелп расширить для тройки по поводу этих статусов, я буду менеджерам ссылку давать.
     
  2. ATV

    ATV Новичок

    Сообщения:
    15
    Симпатии:
    0
    уважаемые участники подскажите пожалуйста
    пробовал в public_html\admin\model\sale\order.php добавить код.
    админка на 0 ложится
    opencart pro 2.3
    куда именно вставить код?
     
  3. Tom

    Tom Специалист

    Сообщения:
    687
    Симпатии:
    207
    А для каких целей вы вставляете какой то код в этот файл?
     
  4. ATV

    ATV Новичок

    Сообщения:
    15
    Симпатии:
    0
    все понял! из-за своей некомпетентности в познании кода. и необходимости решить задачу.
    сделал так в catalog\model\checkout\order.php заменил
    // If old order status is the processing or complete status but new status is not then commence restock, and remove coupon, voucher and reward history if ($order_info['order_status_id'] == $this->status && in_array($order_status_id, $this->config->get('config_complete_status')) && empty($is_admin)) {
    на
    // If old order status is the processing or complete status but new status is not then commence restock, and remove coupon, voucher and reward history if (in_array($order_info['order_status_id'], array_merge($this->config->get('config_processing_status'), $this->config->get('config_complete_status'))) && !in_array($order_status_id, array_merge($this->config->get('config_processing_status'), $this->config->get('config_complete_status')))) {
    но нормальная логика не до конца вернулась. при смене к примеру на отказ, идет + на остаток и не важно менять на возврат или отказ норм. если сделать на статус в обработке(в работе) обратно не минусует. но при возврат/отказ все равно заново плюсует...
     
  5. Tom

    Tom Специалист

    Сообщения:
    687
    Симпатии:
    207
    Две линии в начали строки //, означают что данный код скажем так отключен (закоментирован).
    То есть вы изменили то, что не работало на то что не должно работать и пишите, что стало по другому....
    Если не изменяет память, то на уровне кода ничего менять не нужно. Всё "крутится" вокруг настроек статусов заказов, в разделе Система - Настройки.
     
    Последнее редактирование: 12 сен 2022
  6. ATV

    ATV Новичок

    Сообщения:
    15
    Симпатии:
    0
    МОЖЕТ кому пригодится...
    // относится к строке с комментарием If old order status....
    не знаю, статусы правильно выставлены. опенкарт про откуда и какая сборка не заню, может модули или модификаторы нашаманили. главное сделал так и все работает как и должно. код ниже.
    catalog\model\checkout\order.php
    if ($order_info['order_status_id'] == $this->status && in_array($order_status_id, $this->config->get('config_complete_status')) && empty($is_admin)) {
    заменить на
    if (in_array($order_info['order_status_id'], array_merge($this->config->get('config_processing_status'), $this->config->get('config_complete_status'))) && !in_array($order_status_id, array_merge($this->config->get('config_processing_status'), $this->config->get('config_complete_status')))) {
    а
    if ((in_array($order_info['order_status_id'], $this->config->get('config_complete_status')) && $order_status_id == $this->status) || empty($order_info['order_status_id']) && empty($is_admin)) {
    заменить на
    if (!in_array($order_info['order_status_id'], array_merge($this->config->get('config_processing_status'), $this->config->get('config_complete_status'))) && in_array($order_status_id, array_merge($this->config->get('config_processing_status'), $this->config->get('config_complete_status')))) {