tommy982 Опубліковано: 9 червня 2012 Share Опубліковано: 9 червня 2012 Здравствуйте такой вопрос... покупатель сделал заказ, но потом отменил чтобы вернуть товар на склад я должен удалить заказ можно ли возвращать товар не удаляя заказ, а меняя его статус на "Отменен" ? Надіслати Поділитися на інших сайтах More sharing options...
rus34 Опубліковано: 10 липня 2012 Share Опубліковано: 10 липня 2012 очень актуально, никто не поможет? Надіслати Поділитися на інших сайтах More sharing options...
pmp Опубліковано: 10 липня 2012 Share Опубліковано: 10 липня 2012 странный вопрос ! смотря какие цели преследуете многие так и делают - ставят заказу статус - отмена 1 Надіслати Поділитися на інших сайтах More sharing options...
chump Опубліковано: 10 липня 2012 Share Опубліковано: 10 липня 2012 вопрос в том, что еще бы количество товара тоже изменялось Надіслати Поділитися на інших сайтах More sharing options...
mikscore Опубліковано: 28 січня 2013 Share Опубліковано: 28 січня 2013 Здравствуйте! Вам удалось решить данную проблему? Надіслати Поділитися на інших сайтах More sharing options...
Sed Опубліковано: 28 січня 2013 Share Опубліковано: 28 січня 2013 Такая же проблема. Если заказ удалять, то товар как бы вернется на склад. Если заказу присваивать статус "Отменен" или "возврат", то количество товара на складе не прибавляется, приходиться вручную изменять. Удалять заказ полностью не хочется по разным причинам. Подскажет ли кто решение данной проблемы? Надіслати Поділитися на інших сайтах More sharing options...
Гість Опубліковано: 12 лютого 2013 Share Опубліковано: 12 лютого 2013 Для меня тоже актуально Надіслати Поділитися на інших сайтах More sharing options...
Sed Опубліковано: 17 лютого 2013 Share Опубліковано: 17 лютого 2013 Никто не решил? Надіслати Поділитися на інших сайтах More sharing options...
vivivor Опубліковано: 19 березня 2013 Share Опубліковано: 19 березня 2013 тоже интересен этот вопрос! Надіслати Поділитися на інших сайтах More sharing options... 3 weeks later... Hootsy Опубліковано: 5 квітня 2013 Share Опубліковано: 5 квітня 2013 Интересная тема, для аналитики было бы полезно. Надіслати Поділитися на інших сайтах More sharing options... PVL Опубліковано: 5 квітня 2013 Share Опубліковано: 5 квітня 2013 можно ли возвращать товар не удаляя заказ, а меняя его статус на "Отменен" ? Можно просто удалить товар из заказа. Заказ останется, товар минусуется. Сумма заказ меняется. Надіслати Поділитися на інших сайтах More sharing options... vivivor Опубліковано: 5 квітня 2013 Share Опубліковано: 5 квітня 2013 Можно просто удалить товар из заказа. Заказ останется, товар минусуется. Сумма заказ меняется. проверил, товар не возвращается на склад, даже при удалении пустого заказа - он не возвращается Надіслати Поділитися на інших сайтах More sharing options... vivivor Опубліковано: 5 квітня 2013 Share Опубліковано: 5 квітня 2013 на OpenCart 1.5.5.1 сработал этот способна ocStore 1.5.4.1 у меня не вышло Надіслати Поділитися на інших сайтах More sharing options... 1 month later... regme Опубліковано: 5 травня 2013 Share Опубліковано: 5 травня 2013 на OpenCart 1.5.5.1 сработал этот способ на ocStore 1.5.4.1 у меня не вышло Вот по этой ссылке https://github.com/opencart/opencart/pull/173/files редактируете sale/orders.php добавляя что зеленым и будет удалять, и даже более - добавлять заказы при редактировании через админку. Удаление с статусом "отмена" интересно, но если менять подряд несколько раз статус заказа - то получится неразбериха со складом (тот же недочет что и в 1.5.4.1 при добавлении и удалении заказа через админку ) 1 Надіслати Поділитися на інших сайтах More sharing options... baxabit Опубліковано: 5 травня 2013 Share Опубліковано: 5 травня 2013 Почти год топику)) а решение подсказали только сегодня (хотя ссылке 7 месяцев) А какие строчки отвечают именно за обновление количества товара при присвоении заказу статуса "отмена" или "возврат" ? Насколько я понимаю, добавление товара к заказу через админку и так реализовано в 1.5.4.1 точно. Или речь про добавление цельных заказов? Надіслати Поділитися на інших сайтах More sharing options... regme Опубліковано: 9 травня 2013 Share Опубліковано: 9 травня 2013 Почти год топику)) а решение подсказали только сегодня (хотя ссылке 7 месяцев) А какие строчки отвечают именно за обновление количества товара при присвоении заказу статуса "отмена" или "возврат" ? Насколько я понимаю, добавление товара к заказу через админку и так реализовано в 1.5.4.1 точно. Или речь про добавление цельных заказов? то что на гитхабе делает только корректное списывание со склада при добавление/изменение/удалении товара через бекенд. Работа с статусами не затрагиваются. Проблема в запрете изменения статуса после простановки его как "ОТМЕНА" Надіслати Поділитися на інших сайтах More sharing options... vendn Опубліковано: 9 травня 2013 Share Опубліковано: 9 травня 2013 Почти год топику)) а решение подсказали только сегодня (хотя ссылке 7 месяцев) А какие строчки отвечают именно за обновление количества товара при присвоении заказу статуса "отмена" или "возврат" ? Насколько я понимаю, добавление товара к заказу через админку и так реализовано в 1.5.4.1 точно. Или речь про добавление цельных заказов? то что на гитхабе - только корректное списывание со склада при добавление/изменение/удалении товара через бекенд. Статусы не затрагиваются. Проблема в запретите изменения статуса после простановки его как "ОТМЕНА" нормальным русским языком напиши пожалуйста, что менять в своем order.php через гитхабовский? Надіслати Поділитися на інших сайтах More sharing options... Sed Опубліковано: 13 травня 2013 Share Опубліковано: 13 травня 2013 В 1.5.3.1 нельзя из заказа ничего удалить или добавить Надіслати Поділитися на інших сайтах More sharing options... Sed Опубліковано: 13 травня 2013 Share Опубліковано: 13 травня 2013 на OpenCart 1.5.5.1 сработал этот способ на ocStore 1.5.4.1 у меня не вышло Вот по этой ссылке https://github.com/opencart/opencart/pull/173/files редактируете sale/orders.php добавляя что зеленым и будет удалять, и даже более - добавлять заказы при редактировании через админку. Также не помогло. Ничего не изменилось в заказе Надіслати Поділитися на інших сайтах More sharing options... Sed Опубліковано: 13 травня 2013 Share Опубліковано: 13 травня 2013 беру свои слова обратно. Получается и убрать из заказа и добавить в заказ. Отлично! Надіслати Поділитися на інших сайтах More sharing options... 4 months later... Doost Опубліковано: 3 жовтня 2013 Share Опубліковано: 3 жовтня 2013 деревенское, возможно, решение, но работает =) правим файл /admin/model/sale/order.php добавляем 2 функции (одну для возврата на склад при отмене, другую для вычитания, если вдруг потребуется отмененный заказ вернуть) public function cancelOrder($order_id) { $order_query = $this->db->query("SELECT * FROM `" . DB_PREFIX . "order` WHERE order_status_id > '0' AND order_id = '" . (int)$order_id . "'"); if ($order_query->num_rows) { $product_query = $this->db->query("SELECT * FROM " . DB_PREFIX . "order_product WHERE order_id = '" . (int)$order_id . "'"); foreach($product_query->rows as $product) { $this->db->query("UPDATE `" . DB_PREFIX . "product` SET quantity = (quantity + " . (int)$product['quantity'] . ") WHERE product_id = '" . (int)$product['product_id'] . "' AND subtract = '1'"); $option_query = $this->db->query("SELECT * FROM " . DB_PREFIX . "order_option WHERE order_id = '" . (int)$order_id . "' AND order_product_id = '" . (int)$product['order_product_id'] . "'"); foreach ($option_query->rows as $option) { $this->db->query("UPDATE " . DB_PREFIX . "product_option_value SET quantity = (quantity + " . (int)$product['quantity'] . ") WHERE product_option_value_id = '" . (int)$option['product_option_value_id'] . "' AND subtract = '1'"); } } } } public function uncancelOrder($order_id) { $order_query = $this->db->query("SELECT * FROM `" . DB_PREFIX . "order` WHERE order_status_id > '0' AND order_id = '" . (int)$order_id . "'"); if ($order_query->num_rows) { $product_query = $this->db->query("SELECT * FROM " . DB_PREFIX . "order_product WHERE order_id = '" . (int)$order_id . "'"); foreach($product_query->rows as $product) { $this->db->query("UPDATE `" . DB_PREFIX . "product` SET quantity = (quantity - " . (int)$product['quantity'] . ") WHERE product_id = '" . (int)$product['product_id'] . "' AND subtract = '1'"); $option_query = $this->db->query("SELECT * FROM " . DB_PREFIX . "order_option WHERE order_id = '" . (int)$order_id . "' AND order_product_id = '" . (int)$product['order_product_id'] . "'"); foreach ($option_query->rows as $option) { $this->db->query("UPDATE " . DB_PREFIX . "product_option_value SET quantity = (quantity - " . (int)$product['quantity'] . ") WHERE product_option_value_id = '" . (int)$option['product_option_value_id'] . "' AND subtract = '1'"); } } } } Теперь добавляем вот эти строчки в самое начало (до запроса к БД) функции addOrderHistory $order_info = $this->getOrder($order_id); if($order_info['order_status_id']==7) // order status is canceled { if($data['order_status_id']!=7) // uncancel order { $this->uncancelOrder($order_id); // add products } } else // order is ok { if($data['order_status_id']==7) // canceling { $this->cancelOrder($order_id); // delete products } } число 7 меняем на id статуса "отменено" или аналогичного статуса, который надо обрабатывать подобным образом (аннулировано, отказ и тп) Не проверено, что происходит если у вас есть отмененный заказ, в котором есть товары, которых у вас больше нет, и вы меняете ему статус на "в обработке" или аналогичный... я надеюсь, что отрицательным количество товаров не станет:) но это довольно редкая ситуация и ее обработку делать уже не стал. 1 Надіслати Поділитися на інших сайтах More sharing options... 3 weeks later... Doost Опубліковано: 20 жовтня 2013 Share Опубліковано: 20 жовтня 2013 небольшое дополнение, если удалить заказ в статусе "отменен", то система еще раз приплюсует все товары из заказа в каталог. я думаю, что имеет смысл для полноценной реализации добавить проверку статуса заказа в функцию удаления оного. чтобы если статус отменен, то товары не возвращать, т.к. они были возвращены ранее. ну или оставить все как есть и помнить об этом "баге" Надіслати Поділитися на інших сайтах More sharing options... 4 months later... Ketty83 Опубліковано: 6 березня 2014 Share Опубліковано: 6 березня 2014 подскажите, пожалуйста, как решить проблему: при удалении товара из заказа в админке, товар не прибавляются к складу. Надіслати Поділитися на інших сайтах More sharing options... 7 months later... ValTruman Опубліковано: 17 жовтня 2014 Share Опубліковано: 17 жовтня 2014 Doost, спасибо за решение. Мне помогло. Согласен со следующим постом, что теперь надо аккуратно думать про удаление заказа - т.к. он тогда еще одну единицу добавит на склад. UPD1. доработал по вашему алгоритму. UPD2. надеюсь вы не против, если я оформлю ваши наработки в виде vqmod. Надіслати Поділитися на інших сайтах More sharing options... ValTruman Опубліковано: 17 жовтня 2014 Share Опубліковано: 17 жовтня 2014 Добавил в бесплатные модули vqmod версию патча: https://opencartforum.com/files/file/2072-%D0%BE%D1%82%D0%BC%D0%B5%D0%BD%D0%B0-%D0%B7%D0%B0%D0%BA%D0%B0%D0%B7%D0%B0-%D0%B8-%D0%B2%D0%BE%D0%B7%D0%B2%D1%80%D0%B0%D1%82-%D1%82%D0%BE%D0%B2%D0%B0%D1%80%D0%B0-%D0%BD%D0%B0-%D1%81%D0%BA%D0%BB%D0%B0%D0%B4-vqmod/ Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Загальні питання Статус заказа отменен - возврат на склад Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Повний пакет SEO Автор: GeekoDev SameSite Session Fix Opencart 3 Автор: web_bond SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
Hootsy Опубліковано: 5 квітня 2013 Share Опубліковано: 5 квітня 2013 Интересная тема, для аналитики было бы полезно. Надіслати Поділитися на інших сайтах More sharing options...
PVL Опубліковано: 5 квітня 2013 Share Опубліковано: 5 квітня 2013 можно ли возвращать товар не удаляя заказ, а меняя его статус на "Отменен" ? Можно просто удалить товар из заказа. Заказ останется, товар минусуется. Сумма заказ меняется. Надіслати Поділитися на інших сайтах More sharing options...
vivivor Опубліковано: 5 квітня 2013 Share Опубліковано: 5 квітня 2013 Можно просто удалить товар из заказа. Заказ останется, товар минусуется. Сумма заказ меняется. проверил, товар не возвращается на склад, даже при удалении пустого заказа - он не возвращается Надіслати Поділитися на інших сайтах More sharing options... vivivor Опубліковано: 5 квітня 2013 Share Опубліковано: 5 квітня 2013 на OpenCart 1.5.5.1 сработал этот способна ocStore 1.5.4.1 у меня не вышло Надіслати Поділитися на інших сайтах More sharing options... 1 month later... regme Опубліковано: 5 травня 2013 Share Опубліковано: 5 травня 2013 на OpenCart 1.5.5.1 сработал этот способ на ocStore 1.5.4.1 у меня не вышло Вот по этой ссылке https://github.com/opencart/opencart/pull/173/files редактируете sale/orders.php добавляя что зеленым и будет удалять, и даже более - добавлять заказы при редактировании через админку. Удаление с статусом "отмена" интересно, но если менять подряд несколько раз статус заказа - то получится неразбериха со складом (тот же недочет что и в 1.5.4.1 при добавлении и удалении заказа через админку ) 1 Надіслати Поділитися на інших сайтах More sharing options... baxabit Опубліковано: 5 травня 2013 Share Опубліковано: 5 травня 2013 Почти год топику)) а решение подсказали только сегодня (хотя ссылке 7 месяцев) А какие строчки отвечают именно за обновление количества товара при присвоении заказу статуса "отмена" или "возврат" ? Насколько я понимаю, добавление товара к заказу через админку и так реализовано в 1.5.4.1 точно. Или речь про добавление цельных заказов? Надіслати Поділитися на інших сайтах More sharing options... regme Опубліковано: 9 травня 2013 Share Опубліковано: 9 травня 2013 Почти год топику)) а решение подсказали только сегодня (хотя ссылке 7 месяцев) А какие строчки отвечают именно за обновление количества товара при присвоении заказу статуса "отмена" или "возврат" ? Насколько я понимаю, добавление товара к заказу через админку и так реализовано в 1.5.4.1 точно. Или речь про добавление цельных заказов? то что на гитхабе делает только корректное списывание со склада при добавление/изменение/удалении товара через бекенд. Работа с статусами не затрагиваются. Проблема в запрете изменения статуса после простановки его как "ОТМЕНА" Надіслати Поділитися на інших сайтах More sharing options... vendn Опубліковано: 9 травня 2013 Share Опубліковано: 9 травня 2013 Почти год топику)) а решение подсказали только сегодня (хотя ссылке 7 месяцев) А какие строчки отвечают именно за обновление количества товара при присвоении заказу статуса "отмена" или "возврат" ? Насколько я понимаю, добавление товара к заказу через админку и так реализовано в 1.5.4.1 точно. Или речь про добавление цельных заказов? то что на гитхабе - только корректное списывание со склада при добавление/изменение/удалении товара через бекенд. Статусы не затрагиваются. Проблема в запретите изменения статуса после простановки его как "ОТМЕНА" нормальным русским языком напиши пожалуйста, что менять в своем order.php через гитхабовский? Надіслати Поділитися на інших сайтах More sharing options... Sed Опубліковано: 13 травня 2013 Share Опубліковано: 13 травня 2013 В 1.5.3.1 нельзя из заказа ничего удалить или добавить Надіслати Поділитися на інших сайтах More sharing options... Sed Опубліковано: 13 травня 2013 Share Опубліковано: 13 травня 2013 на OpenCart 1.5.5.1 сработал этот способ на ocStore 1.5.4.1 у меня не вышло Вот по этой ссылке https://github.com/opencart/opencart/pull/173/files редактируете sale/orders.php добавляя что зеленым и будет удалять, и даже более - добавлять заказы при редактировании через админку. Также не помогло. Ничего не изменилось в заказе Надіслати Поділитися на інших сайтах More sharing options... Sed Опубліковано: 13 травня 2013 Share Опубліковано: 13 травня 2013 беру свои слова обратно. Получается и убрать из заказа и добавить в заказ. Отлично! Надіслати Поділитися на інших сайтах More sharing options... 4 months later... Doost Опубліковано: 3 жовтня 2013 Share Опубліковано: 3 жовтня 2013 деревенское, возможно, решение, но работает =) правим файл /admin/model/sale/order.php добавляем 2 функции (одну для возврата на склад при отмене, другую для вычитания, если вдруг потребуется отмененный заказ вернуть) public function cancelOrder($order_id) { $order_query = $this->db->query("SELECT * FROM `" . DB_PREFIX . "order` WHERE order_status_id > '0' AND order_id = '" . (int)$order_id . "'"); if ($order_query->num_rows) { $product_query = $this->db->query("SELECT * FROM " . DB_PREFIX . "order_product WHERE order_id = '" . (int)$order_id . "'"); foreach($product_query->rows as $product) { $this->db->query("UPDATE `" . DB_PREFIX . "product` SET quantity = (quantity + " . (int)$product['quantity'] . ") WHERE product_id = '" . (int)$product['product_id'] . "' AND subtract = '1'"); $option_query = $this->db->query("SELECT * FROM " . DB_PREFIX . "order_option WHERE order_id = '" . (int)$order_id . "' AND order_product_id = '" . (int)$product['order_product_id'] . "'"); foreach ($option_query->rows as $option) { $this->db->query("UPDATE " . DB_PREFIX . "product_option_value SET quantity = (quantity + " . (int)$product['quantity'] . ") WHERE product_option_value_id = '" . (int)$option['product_option_value_id'] . "' AND subtract = '1'"); } } } } public function uncancelOrder($order_id) { $order_query = $this->db->query("SELECT * FROM `" . DB_PREFIX . "order` WHERE order_status_id > '0' AND order_id = '" . (int)$order_id . "'"); if ($order_query->num_rows) { $product_query = $this->db->query("SELECT * FROM " . DB_PREFIX . "order_product WHERE order_id = '" . (int)$order_id . "'"); foreach($product_query->rows as $product) { $this->db->query("UPDATE `" . DB_PREFIX . "product` SET quantity = (quantity - " . (int)$product['quantity'] . ") WHERE product_id = '" . (int)$product['product_id'] . "' AND subtract = '1'"); $option_query = $this->db->query("SELECT * FROM " . DB_PREFIX . "order_option WHERE order_id = '" . (int)$order_id . "' AND order_product_id = '" . (int)$product['order_product_id'] . "'"); foreach ($option_query->rows as $option) { $this->db->query("UPDATE " . DB_PREFIX . "product_option_value SET quantity = (quantity - " . (int)$product['quantity'] . ") WHERE product_option_value_id = '" . (int)$option['product_option_value_id'] . "' AND subtract = '1'"); } } } } Теперь добавляем вот эти строчки в самое начало (до запроса к БД) функции addOrderHistory $order_info = $this->getOrder($order_id); if($order_info['order_status_id']==7) // order status is canceled { if($data['order_status_id']!=7) // uncancel order { $this->uncancelOrder($order_id); // add products } } else // order is ok { if($data['order_status_id']==7) // canceling { $this->cancelOrder($order_id); // delete products } } число 7 меняем на id статуса "отменено" или аналогичного статуса, который надо обрабатывать подобным образом (аннулировано, отказ и тп) Не проверено, что происходит если у вас есть отмененный заказ, в котором есть товары, которых у вас больше нет, и вы меняете ему статус на "в обработке" или аналогичный... я надеюсь, что отрицательным количество товаров не станет:) но это довольно редкая ситуация и ее обработку делать уже не стал. 1 Надіслати Поділитися на інших сайтах More sharing options... 3 weeks later... Doost Опубліковано: 20 жовтня 2013 Share Опубліковано: 20 жовтня 2013 небольшое дополнение, если удалить заказ в статусе "отменен", то система еще раз приплюсует все товары из заказа в каталог. я думаю, что имеет смысл для полноценной реализации добавить проверку статуса заказа в функцию удаления оного. чтобы если статус отменен, то товары не возвращать, т.к. они были возвращены ранее. ну или оставить все как есть и помнить об этом "баге" Надіслати Поділитися на інших сайтах More sharing options... 4 months later... Ketty83 Опубліковано: 6 березня 2014 Share Опубліковано: 6 березня 2014 подскажите, пожалуйста, как решить проблему: при удалении товара из заказа в админке, товар не прибавляются к складу. Надіслати Поділитися на інших сайтах More sharing options... 7 months later... ValTruman Опубліковано: 17 жовтня 2014 Share Опубліковано: 17 жовтня 2014 Doost, спасибо за решение. Мне помогло. Согласен со следующим постом, что теперь надо аккуратно думать про удаление заказа - т.к. он тогда еще одну единицу добавит на склад. UPD1. доработал по вашему алгоритму. UPD2. надеюсь вы не против, если я оформлю ваши наработки в виде vqmod. Надіслати Поділитися на інших сайтах More sharing options... ValTruman Опубліковано: 17 жовтня 2014 Share Опубліковано: 17 жовтня 2014 Добавил в бесплатные модули vqmod версию патча: https://opencartforum.com/files/file/2072-%D0%BE%D1%82%D0%BC%D0%B5%D0%BD%D0%B0-%D0%B7%D0%B0%D0%BA%D0%B0%D0%B7%D0%B0-%D0%B8-%D0%B2%D0%BE%D0%B7%D0%B2%D1%80%D0%B0%D1%82-%D1%82%D0%BE%D0%B2%D0%B0%D1%80%D0%B0-%D0%BD%D0%B0-%D1%81%D0%BA%D0%BB%D0%B0%D0%B4-vqmod/ Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Загальні питання Статус заказа отменен - возврат на склад Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Повний пакет SEO Автор: GeekoDev SameSite Session Fix Opencart 3 Автор: web_bond SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich
vivivor Опубліковано: 5 квітня 2013 Share Опубліковано: 5 квітня 2013 на OpenCart 1.5.5.1 сработал этот способна ocStore 1.5.4.1 у меня не вышло Надіслати Поділитися на інших сайтах More sharing options... 1 month later... regme Опубліковано: 5 травня 2013 Share Опубліковано: 5 травня 2013 на OpenCart 1.5.5.1 сработал этот способ на ocStore 1.5.4.1 у меня не вышло Вот по этой ссылке https://github.com/opencart/opencart/pull/173/files редактируете sale/orders.php добавляя что зеленым и будет удалять, и даже более - добавлять заказы при редактировании через админку. Удаление с статусом "отмена" интересно, но если менять подряд несколько раз статус заказа - то получится неразбериха со складом (тот же недочет что и в 1.5.4.1 при добавлении и удалении заказа через админку ) 1 Надіслати Поділитися на інших сайтах More sharing options... baxabit Опубліковано: 5 травня 2013 Share Опубліковано: 5 травня 2013 Почти год топику)) а решение подсказали только сегодня (хотя ссылке 7 месяцев) А какие строчки отвечают именно за обновление количества товара при присвоении заказу статуса "отмена" или "возврат" ? Насколько я понимаю, добавление товара к заказу через админку и так реализовано в 1.5.4.1 точно. Или речь про добавление цельных заказов? Надіслати Поділитися на інших сайтах More sharing options... regme Опубліковано: 9 травня 2013 Share Опубліковано: 9 травня 2013 Почти год топику)) а решение подсказали только сегодня (хотя ссылке 7 месяцев) А какие строчки отвечают именно за обновление количества товара при присвоении заказу статуса "отмена" или "возврат" ? Насколько я понимаю, добавление товара к заказу через админку и так реализовано в 1.5.4.1 точно. Или речь про добавление цельных заказов? то что на гитхабе делает только корректное списывание со склада при добавление/изменение/удалении товара через бекенд. Работа с статусами не затрагиваются. Проблема в запрете изменения статуса после простановки его как "ОТМЕНА" Надіслати Поділитися на інших сайтах More sharing options... vendn Опубліковано: 9 травня 2013 Share Опубліковано: 9 травня 2013 Почти год топику)) а решение подсказали только сегодня (хотя ссылке 7 месяцев) А какие строчки отвечают именно за обновление количества товара при присвоении заказу статуса "отмена" или "возврат" ? Насколько я понимаю, добавление товара к заказу через админку и так реализовано в 1.5.4.1 точно. Или речь про добавление цельных заказов? то что на гитхабе - только корректное списывание со склада при добавление/изменение/удалении товара через бекенд. Статусы не затрагиваются. Проблема в запретите изменения статуса после простановки его как "ОТМЕНА" нормальным русским языком напиши пожалуйста, что менять в своем order.php через гитхабовский? Надіслати Поділитися на інших сайтах More sharing options... Sed Опубліковано: 13 травня 2013 Share Опубліковано: 13 травня 2013 В 1.5.3.1 нельзя из заказа ничего удалить или добавить Надіслати Поділитися на інших сайтах More sharing options... Sed Опубліковано: 13 травня 2013 Share Опубліковано: 13 травня 2013 на OpenCart 1.5.5.1 сработал этот способ на ocStore 1.5.4.1 у меня не вышло Вот по этой ссылке https://github.com/opencart/opencart/pull/173/files редактируете sale/orders.php добавляя что зеленым и будет удалять, и даже более - добавлять заказы при редактировании через админку. Также не помогло. Ничего не изменилось в заказе Надіслати Поділитися на інших сайтах More sharing options... Sed Опубліковано: 13 травня 2013 Share Опубліковано: 13 травня 2013 беру свои слова обратно. Получается и убрать из заказа и добавить в заказ. Отлично! Надіслати Поділитися на інших сайтах More sharing options... 4 months later... Doost Опубліковано: 3 жовтня 2013 Share Опубліковано: 3 жовтня 2013 деревенское, возможно, решение, но работает =) правим файл /admin/model/sale/order.php добавляем 2 функции (одну для возврата на склад при отмене, другую для вычитания, если вдруг потребуется отмененный заказ вернуть) public function cancelOrder($order_id) { $order_query = $this->db->query("SELECT * FROM `" . DB_PREFIX . "order` WHERE order_status_id > '0' AND order_id = '" . (int)$order_id . "'"); if ($order_query->num_rows) { $product_query = $this->db->query("SELECT * FROM " . DB_PREFIX . "order_product WHERE order_id = '" . (int)$order_id . "'"); foreach($product_query->rows as $product) { $this->db->query("UPDATE `" . DB_PREFIX . "product` SET quantity = (quantity + " . (int)$product['quantity'] . ") WHERE product_id = '" . (int)$product['product_id'] . "' AND subtract = '1'"); $option_query = $this->db->query("SELECT * FROM " . DB_PREFIX . "order_option WHERE order_id = '" . (int)$order_id . "' AND order_product_id = '" . (int)$product['order_product_id'] . "'"); foreach ($option_query->rows as $option) { $this->db->query("UPDATE " . DB_PREFIX . "product_option_value SET quantity = (quantity + " . (int)$product['quantity'] . ") WHERE product_option_value_id = '" . (int)$option['product_option_value_id'] . "' AND subtract = '1'"); } } } } public function uncancelOrder($order_id) { $order_query = $this->db->query("SELECT * FROM `" . DB_PREFIX . "order` WHERE order_status_id > '0' AND order_id = '" . (int)$order_id . "'"); if ($order_query->num_rows) { $product_query = $this->db->query("SELECT * FROM " . DB_PREFIX . "order_product WHERE order_id = '" . (int)$order_id . "'"); foreach($product_query->rows as $product) { $this->db->query("UPDATE `" . DB_PREFIX . "product` SET quantity = (quantity - " . (int)$product['quantity'] . ") WHERE product_id = '" . (int)$product['product_id'] . "' AND subtract = '1'"); $option_query = $this->db->query("SELECT * FROM " . DB_PREFIX . "order_option WHERE order_id = '" . (int)$order_id . "' AND order_product_id = '" . (int)$product['order_product_id'] . "'"); foreach ($option_query->rows as $option) { $this->db->query("UPDATE " . DB_PREFIX . "product_option_value SET quantity = (quantity - " . (int)$product['quantity'] . ") WHERE product_option_value_id = '" . (int)$option['product_option_value_id'] . "' AND subtract = '1'"); } } } } Теперь добавляем вот эти строчки в самое начало (до запроса к БД) функции addOrderHistory $order_info = $this->getOrder($order_id); if($order_info['order_status_id']==7) // order status is canceled { if($data['order_status_id']!=7) // uncancel order { $this->uncancelOrder($order_id); // add products } } else // order is ok { if($data['order_status_id']==7) // canceling { $this->cancelOrder($order_id); // delete products } } число 7 меняем на id статуса "отменено" или аналогичного статуса, который надо обрабатывать подобным образом (аннулировано, отказ и тп) Не проверено, что происходит если у вас есть отмененный заказ, в котором есть товары, которых у вас больше нет, и вы меняете ему статус на "в обработке" или аналогичный... я надеюсь, что отрицательным количество товаров не станет:) но это довольно редкая ситуация и ее обработку делать уже не стал. 1 Надіслати Поділитися на інших сайтах More sharing options... 3 weeks later... Doost Опубліковано: 20 жовтня 2013 Share Опубліковано: 20 жовтня 2013 небольшое дополнение, если удалить заказ в статусе "отменен", то система еще раз приплюсует все товары из заказа в каталог. я думаю, что имеет смысл для полноценной реализации добавить проверку статуса заказа в функцию удаления оного. чтобы если статус отменен, то товары не возвращать, т.к. они были возвращены ранее. ну или оставить все как есть и помнить об этом "баге" Надіслати Поділитися на інших сайтах More sharing options... 4 months later... Ketty83 Опубліковано: 6 березня 2014 Share Опубліковано: 6 березня 2014 подскажите, пожалуйста, как решить проблему: при удалении товара из заказа в админке, товар не прибавляются к складу. Надіслати Поділитися на інших сайтах More sharing options... 7 months later... ValTruman Опубліковано: 17 жовтня 2014 Share Опубліковано: 17 жовтня 2014 Doost, спасибо за решение. Мне помогло. Согласен со следующим постом, что теперь надо аккуратно думать про удаление заказа - т.к. он тогда еще одну единицу добавит на склад. UPD1. доработал по вашему алгоритму. UPD2. надеюсь вы не против, если я оформлю ваши наработки в виде vqmod. Надіслати Поділитися на інших сайтах More sharing options... ValTruman Опубліковано: 17 жовтня 2014 Share Опубліковано: 17 жовтня 2014 Добавил в бесплатные модули vqmod версию патча: https://opencartforum.com/files/file/2072-%D0%BE%D1%82%D0%BC%D0%B5%D0%BD%D0%B0-%D0%B7%D0%B0%D0%BA%D0%B0%D0%B7%D0%B0-%D0%B8-%D0%B2%D0%BE%D0%B7%D0%B2%D1%80%D0%B0%D1%82-%D1%82%D0%BE%D0%B2%D0%B0%D1%80%D0%B0-%D0%BD%D0%B0-%D1%81%D0%BA%D0%BB%D0%B0%D0%B4-vqmod/ Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Загальні питання Статус заказа отменен - возврат на склад
regme Опубліковано: 5 травня 2013 Share Опубліковано: 5 травня 2013 на OpenCart 1.5.5.1 сработал этот способ на ocStore 1.5.4.1 у меня не вышло Вот по этой ссылке https://github.com/opencart/opencart/pull/173/files редактируете sale/orders.php добавляя что зеленым и будет удалять, и даже более - добавлять заказы при редактировании через админку. Удаление с статусом "отмена" интересно, но если менять подряд несколько раз статус заказа - то получится неразбериха со складом (тот же недочет что и в 1.5.4.1 при добавлении и удалении заказа через админку ) 1 Надіслати Поділитися на інших сайтах More sharing options...
baxabit Опубліковано: 5 травня 2013 Share Опубліковано: 5 травня 2013 Почти год топику)) а решение подсказали только сегодня (хотя ссылке 7 месяцев) А какие строчки отвечают именно за обновление количества товара при присвоении заказу статуса "отмена" или "возврат" ? Насколько я понимаю, добавление товара к заказу через админку и так реализовано в 1.5.4.1 точно. Или речь про добавление цельных заказов? Надіслати Поділитися на інших сайтах More sharing options...
regme Опубліковано: 9 травня 2013 Share Опубліковано: 9 травня 2013 Почти год топику)) а решение подсказали только сегодня (хотя ссылке 7 месяцев) А какие строчки отвечают именно за обновление количества товара при присвоении заказу статуса "отмена" или "возврат" ? Насколько я понимаю, добавление товара к заказу через админку и так реализовано в 1.5.4.1 точно. Или речь про добавление цельных заказов? то что на гитхабе делает только корректное списывание со склада при добавление/изменение/удалении товара через бекенд. Работа с статусами не затрагиваются. Проблема в запрете изменения статуса после простановки его как "ОТМЕНА" Надіслати Поділитися на інших сайтах More sharing options...
vendn Опубліковано: 9 травня 2013 Share Опубліковано: 9 травня 2013 Почти год топику)) а решение подсказали только сегодня (хотя ссылке 7 месяцев) А какие строчки отвечают именно за обновление количества товара при присвоении заказу статуса "отмена" или "возврат" ? Насколько я понимаю, добавление товара к заказу через админку и так реализовано в 1.5.4.1 точно. Или речь про добавление цельных заказов? то что на гитхабе - только корректное списывание со склада при добавление/изменение/удалении товара через бекенд. Статусы не затрагиваются. Проблема в запретите изменения статуса после простановки его как "ОТМЕНА" нормальным русским языком напиши пожалуйста, что менять в своем order.php через гитхабовский? Надіслати Поділитися на інших сайтах More sharing options...
Sed Опубліковано: 13 травня 2013 Share Опубліковано: 13 травня 2013 В 1.5.3.1 нельзя из заказа ничего удалить или добавить Надіслати Поділитися на інших сайтах More sharing options...
Sed Опубліковано: 13 травня 2013 Share Опубліковано: 13 травня 2013 на OpenCart 1.5.5.1 сработал этот способ на ocStore 1.5.4.1 у меня не вышло Вот по этой ссылке https://github.com/opencart/opencart/pull/173/files редактируете sale/orders.php добавляя что зеленым и будет удалять, и даже более - добавлять заказы при редактировании через админку. Также не помогло. Ничего не изменилось в заказе Надіслати Поділитися на інших сайтах More sharing options...
Sed Опубліковано: 13 травня 2013 Share Опубліковано: 13 травня 2013 беру свои слова обратно. Получается и убрать из заказа и добавить в заказ. Отлично! Надіслати Поділитися на інших сайтах More sharing options...
Doost Опубліковано: 3 жовтня 2013 Share Опубліковано: 3 жовтня 2013 деревенское, возможно, решение, но работает =) правим файл /admin/model/sale/order.php добавляем 2 функции (одну для возврата на склад при отмене, другую для вычитания, если вдруг потребуется отмененный заказ вернуть) public function cancelOrder($order_id) { $order_query = $this->db->query("SELECT * FROM `" . DB_PREFIX . "order` WHERE order_status_id > '0' AND order_id = '" . (int)$order_id . "'"); if ($order_query->num_rows) { $product_query = $this->db->query("SELECT * FROM " . DB_PREFIX . "order_product WHERE order_id = '" . (int)$order_id . "'"); foreach($product_query->rows as $product) { $this->db->query("UPDATE `" . DB_PREFIX . "product` SET quantity = (quantity + " . (int)$product['quantity'] . ") WHERE product_id = '" . (int)$product['product_id'] . "' AND subtract = '1'"); $option_query = $this->db->query("SELECT * FROM " . DB_PREFIX . "order_option WHERE order_id = '" . (int)$order_id . "' AND order_product_id = '" . (int)$product['order_product_id'] . "'"); foreach ($option_query->rows as $option) { $this->db->query("UPDATE " . DB_PREFIX . "product_option_value SET quantity = (quantity + " . (int)$product['quantity'] . ") WHERE product_option_value_id = '" . (int)$option['product_option_value_id'] . "' AND subtract = '1'"); } } } } public function uncancelOrder($order_id) { $order_query = $this->db->query("SELECT * FROM `" . DB_PREFIX . "order` WHERE order_status_id > '0' AND order_id = '" . (int)$order_id . "'"); if ($order_query->num_rows) { $product_query = $this->db->query("SELECT * FROM " . DB_PREFIX . "order_product WHERE order_id = '" . (int)$order_id . "'"); foreach($product_query->rows as $product) { $this->db->query("UPDATE `" . DB_PREFIX . "product` SET quantity = (quantity - " . (int)$product['quantity'] . ") WHERE product_id = '" . (int)$product['product_id'] . "' AND subtract = '1'"); $option_query = $this->db->query("SELECT * FROM " . DB_PREFIX . "order_option WHERE order_id = '" . (int)$order_id . "' AND order_product_id = '" . (int)$product['order_product_id'] . "'"); foreach ($option_query->rows as $option) { $this->db->query("UPDATE " . DB_PREFIX . "product_option_value SET quantity = (quantity - " . (int)$product['quantity'] . ") WHERE product_option_value_id = '" . (int)$option['product_option_value_id'] . "' AND subtract = '1'"); } } } } Теперь добавляем вот эти строчки в самое начало (до запроса к БД) функции addOrderHistory $order_info = $this->getOrder($order_id); if($order_info['order_status_id']==7) // order status is canceled { if($data['order_status_id']!=7) // uncancel order { $this->uncancelOrder($order_id); // add products } } else // order is ok { if($data['order_status_id']==7) // canceling { $this->cancelOrder($order_id); // delete products } } число 7 меняем на id статуса "отменено" или аналогичного статуса, который надо обрабатывать подобным образом (аннулировано, отказ и тп) Не проверено, что происходит если у вас есть отмененный заказ, в котором есть товары, которых у вас больше нет, и вы меняете ему статус на "в обработке" или аналогичный... я надеюсь, что отрицательным количество товаров не станет:) но это довольно редкая ситуация и ее обработку делать уже не стал. 1 Надіслати Поділитися на інших сайтах More sharing options...
Doost Опубліковано: 20 жовтня 2013 Share Опубліковано: 20 жовтня 2013 небольшое дополнение, если удалить заказ в статусе "отменен", то система еще раз приплюсует все товары из заказа в каталог. я думаю, что имеет смысл для полноценной реализации добавить проверку статуса заказа в функцию удаления оного. чтобы если статус отменен, то товары не возвращать, т.к. они были возвращены ранее. ну или оставить все как есть и помнить об этом "баге" Надіслати Поділитися на інших сайтах More sharing options...
Ketty83 Опубліковано: 6 березня 2014 Share Опубліковано: 6 березня 2014 подскажите, пожалуйста, как решить проблему: при удалении товара из заказа в админке, товар не прибавляются к складу. Надіслати Поділитися на інших сайтах More sharing options...
ValTruman Опубліковано: 17 жовтня 2014 Share Опубліковано: 17 жовтня 2014 Doost, спасибо за решение. Мне помогло. Согласен со следующим постом, что теперь надо аккуратно думать про удаление заказа - т.к. он тогда еще одну единицу добавит на склад. UPD1. доработал по вашему алгоритму. UPD2. надеюсь вы не против, если я оформлю ваши наработки в виде vqmod. Надіслати Поділитися на інших сайтах More sharing options... ValTruman Опубліковано: 17 жовтня 2014 Share Опубліковано: 17 жовтня 2014 Добавил в бесплатные модули vqmod версию патча: https://opencartforum.com/files/file/2072-%D0%BE%D1%82%D0%BC%D0%B5%D0%BD%D0%B0-%D0%B7%D0%B0%D0%BA%D0%B0%D0%B7%D0%B0-%D0%B8-%D0%B2%D0%BE%D0%B7%D0%B2%D1%80%D0%B0%D1%82-%D1%82%D0%BE%D0%B2%D0%B0%D1%80%D0%B0-%D0%BD%D0%B0-%D1%81%D0%BA%D0%BB%D0%B0%D0%B4-vqmod/ Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку
ValTruman Опубліковано: 17 жовтня 2014 Share Опубліковано: 17 жовтня 2014 Добавил в бесплатные модули vqmod версию патча: https://opencartforum.com/files/file/2072-%D0%BE%D1%82%D0%BC%D0%B5%D0%BD%D0%B0-%D0%B7%D0%B0%D0%BA%D0%B0%D0%B7%D0%B0-%D0%B8-%D0%B2%D0%BE%D0%B7%D0%B2%D1%80%D0%B0%D1%82-%D1%82%D0%BE%D0%B2%D0%B0%D1%80%D0%B0-%D0%BD%D0%B0-%D1%81%D0%BA%D0%BB%D0%B0%D0%B4-vqmod/ Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0
Recommended Posts