Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

[Поддержка] Отмена заказа и возврат товара на склад (vqmod)


Recommended Posts

сам спросил - сам отвечу:

 

Если необходимо, чтобы в блоках "Всего продано на сумму" и "Всего продано в этом году на сумму" в админке отображалась информация только по отгруженным заказам, то:

Заходим в admin\model\sale , файл order.php

 

Находим:

 

    public function getTotalSales() {
          $query = $this->db->query("SELECT SUM(total) AS total FROM `" . DB_PREFIX . "order` WHERE order_status_id > '0'");
        return $query->row['total'];
    }
    public function getTotalSalesByYear($year) {
          $query = $this->db->query("SELECT SUM(total) AS total FROM `" . DB_PREFIX . "order` WHERE order_status_id > '0' AND YEAR(date_added) = '" . (int)$year . "'");
        return $query->row['total'];
    }

 

Заменяем на:

 

    public function getTotalSales() {
          $query = $this->db->query("SELECT SUM(total) AS total FROM `" . DB_PREFIX . "order` WHERE order_status_id > '0' and order_status_id not in (9,1,8,7,17,2)");
        return $query->row['total'];
    }
    public function getTotalSalesByYear($year) {
          $query = $this->db->query("SELECT SUM(total) AS total FROM `" . DB_PREFIX . "order` WHERE order_status_id > '0' and order_status_id in (18,27) AND YEAR(date_added) = '" . (int)$year . "'");
        return $query->row['total'];
    }

 

где 18,27 - ID статусов отгруженных заказов

 

Чтобы в "Всего заказов" в админке отображалась информация только по отгруженным заказам, то делаем следующее:

Заходим в admin\model\sale , файл order.php

 

Находим:public function getTotalOrders($data = array()) {

          $sql = "SELECT COUNT(*) AS total FROM `" . DB_PREFIX . "order`";

        if (isset($data['filter_order_status_id']) && !is_null($data['filter_order_status_id'])) {
            $sql .= " WHERE order_status_id = '" . (int)$data['filter_order_status_id'] . "'";
        } else {
            $sql .= " WHERE order_status_id > '0'";
        }

 

Заменяем на:

 

    public function getTotalOrders($data = array()) {
          $sql = "SELECT COUNT(*) AS total FROM `" . DB_PREFIX . "order`";

        if (isset($data['filter_order_status_id']) && !is_null($data['filter_order_status_id'])) {
            $sql .= " WHERE order_status_id = '" . (int)$data['filter_order_status_id'] . "'";
        } else {
            $sql .= " WHERE order_status_id > '0' and order_status_id in (18,27)";
        }

 

где 18,27 - ID статусов отгруженных заказов

 

За способ спасибо MisterGold

Надіслати
Поділитися на інших сайтах


  • 3 weeks later...

Здравствуйте!

А скажите товары вернуться на свои места с учетом опций? Т.е. если купили штаны зеленые, то именно опция зеленые и вернутся (там было 5 штук, стало быть станет 6 штук) или же просто общее кол-во товара станет больше на единицу?

Надіслати
Поділитися на інших сайтах


Здравствуйте!

А скажите товары вернуться на свои места с учетом опций? Т.е. если купили штаны зеленые, то именно опция зеленые и вернутся (там было 5 штук, стало быть станет 6 штук) или же просто общее кол-во товара станет больше на единицу?

Только что попробовал у себя, штаны-2 зеленые-1,при покупке ш-1 з-0, после отмены все возвращается и штаны и опция.

Надіслати
Поділитися на інших сайтах


  • 3 weeks later...
  • 5 weeks later...

OcStore 15511, cкрипт положил в vqmod/xml. В заказе в разделе "Итого" ставлю "Отменено", сохраняю, количество не изменяется.

Где посмотреть, какой id у статуса "Отменено"?

 

UPD. Id нашел, но все равно, при отмене не прибавляет количество

Змінено користувачем xdelta
Надіслати
Поділитися на інших сайтах


  • 1 month later...
  • 2 weeks later...

OcStore 1.5.5.1.2 vqmod 2.4.1 не работает

Пардон, работает.

Статус заказа можно менять и в "изменить" и в "просмотр"

Когда отменяешь  в "просмотре" - модуль возвращает товар.

Заказы-просмотр-история-отменено-добавить историю.

 А я делал: заказы-изменить-итого-отменено, потому и не работало.

Надіслати
Поділитися на інших сайтах


  • 2 weeks later...

Ребята, как сделать, чтобы товары возвращались на склад при id статуса 7,8 и 9?? А не только при id=7...

Здесь этот вопрос поднимался уже, но ответа я так и не нашел в теме((

Змінено користувачем gandhari
Надіслати
Поділитися на інших сайтах


  • 1 month later...
  • 2 months later...

Если у кого-то есть решение для 2, сбросьте в Лс. Буду очень благодарен.

Отправлено с моего iPhone используя Tapatalk

Надіслати
Поділитися на інших сайтах


Нашли аналог? Может посоветуете как решили проблему? 

Нет пока, вот ожидаем переход на 2.3, может кто подшустрит с модулем, ведь нужная штука, много желающих будет.

Надіслати
Поділитися на інших сайтах


  • 8 months later...
  • 8 months later...
1 час назад, avkm сказал:

Странно, что для 2.3 ничего подобного так и не появилось. Очень нужен такой модуль

Как же так?

 

			// 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')))) {
				// Restock
				$product_query = $this->db->query("SELECT * FROM " . DB_PREFIX . "order_product WHERE order_id = '" . (int)$order_id . "'");

 

Надіслати
Поділитися на інших сайтах

В 14.03.2018 в 15:23, chukcha сказал:

Как же так?

 


			// 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')))) {
				// Restock
				$product_query = $this->db->query("SELECT * FROM " . DB_PREFIX . "order_product WHERE order_id = '" . (int)$order_id . "'");

 

 

а причем тут клиентская часть?

речь идет о смене статуса заказа в админке

Надіслати
Поділитися на інших сайтах


  • 1 month later...
  • 4 weeks later...
  • 1 year later...
13 часов назад, varscat сказал:

Очень нужен подобный модуль для ocStore 2.3.0.2.3

Странно, при отмене заказа,  если новый статус в списке отмены, то товар возвращается.

Надіслати
Поділитися на інших сайтах

В 25.09.2019 в 10:54, chukcha сказал:

Странно, при отмене заказа,  если новый статус в списке отмены, то товар возвращается.

Не совсем понятно, что значит "если новый статус в списке отмены". После оформления заказа, он появляется в админке со статусом "В обработке". Если ему поставить статус "Отменён", то товар не возвращается. Если после этого заказ удалить, то товар тоже не возвращается. Вероятно, что я неправильно наставил галочек в настройках.Screenshot_1.thumb.jpg.42443d8250faef9ff4945e4d8d15761e.jpg

Надіслати
Поділитися на інших сайтах


  • 1 year later...
В 06.06.2016 в 14:49, gandhari сказал:

Ребята, как сделать, чтобы товары возвращались на склад при id статуса 7,8 и 9?? А не только при id=7...

Здесь этот вопрос поднимался уже, но ответа я так и не нашел в теме((

 

Все просто , просто копируете в файле код , столько раз сколько нужно , например 


        $order_info = $this->getOrder($order_id);
        if($order_info['order_status_id']==10) //  статус заказа - отказ 102
        {
            $this->uncancelOrder($order_id); // добавление товара
        }
        
        $order_info = $this->getOrder($order_id);
        if($order_info['order_status_id']==19) //  статус заказа - отказ 103
        {
            $this->uncancelOrder($order_id); // добавление товара
        }
        
        $order_info = $this->getOrder($order_id);
        if($order_info['order_status_id']==20) //  статус заказа - отказ 108
        {
            $this->uncancelOrder($order_id); // добавление товара
        }
        

Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.