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

Вычитание со склада при оформлении заказа


Recommended Posts

Здравствуйте, Коллеги!

Если включить опцию "вычитать со склада", то вычитание происходит после того, когда заказ в админке переведен в статус "сделка завершена".

Но здесь проблема в том, что одновременно могут оформить заказ несколько покупателей, но в сумме они могут взять количество товара, большее, чем есть на остатке. И этот товар будет доступен пока не подтвердит владелец магазина, что сделка завершена.

 

Может кто-то решал этот вопрос таким образом, чтобы количество товара вычиталось со склада именно по завершении оформления заказа покупателем.

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


foreach ($order_product_query->rows as $order_product) {
	$this->db->query("UPDATE " . DB_PREFIX . "product SET quantity = (quantity - " . (int)$order_product['quantity'] . ") WHERE product_id = '" . (int)$order_product['product_id'] . "' AND subtract = '1'");
	$order_option_query = $this->db->query("SELECT * FROM " . DB_PREFIX . "order_option WHERE order_id = '" . (int)$order_id . "' AND order_product_id = '" . (int)$order_product['order_product_id'] . "'");
	foreach ($order_option_query->rows as $option) {
		$this->db->query("UPDATE " . DB_PREFIX . "product_option_value SET quantity = (quantity - " . (int)$order_product['quantity'] . ") WHERE product_option_value_id = '" . (int)$option['product_option_value_id'] . "' AND subtract = '1'");
	}
}

Спасибо. Можно вкратце, в каком файле, и за что отвечает.

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


А если у тебя 1 купит последний товар - и потом захотят купить кто то - а товара нету 

 

А 1 клиент отменит заявку и все 

В том, что один отменит заказ, ничего нет страшного. Но если пятеро купят не существующий товар, и потом нужно приносить всем извинения - вот это хреновый случай...

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


а что если в настройках магазина поставить статус завершённого заказа, тот который сразу после оформления заказа у вас?

Если по умолчанию поставить "завершенный", то на вычитание это не повлияет, статус отразится только в информационном письие покупателю.

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


foreach ($order_product_query->rows as $order_product) {
	$this->db->query("UPDATE " . DB_PREFIX . "product SET quantity = (quantity - " . (int)$order_product['quantity'] . ") WHERE product_id = '" . (int)$order_product['product_id'] . "' AND subtract = '1'");
	$order_option_query = $this->db->query("SELECT * FROM " . DB_PREFIX . "order_option WHERE order_id = '" . (int)$order_id . "' AND order_product_id = '" . (int)$order_product['order_product_id'] . "'");
	foreach ($order_option_query->rows as $option) {
		$this->db->query("UPDATE " . DB_PREFIX . "product_option_value SET quantity = (quantity - " . (int)$order_product['quantity'] . ") WHERE product_option_value_id = '" . (int)$option['product_option_value_id'] . "' AND subtract = '1'");
	}
}

Есть такой файл catalog/model/checkout/order.php, но не совсем понял суть...

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


  • 3 weeks later...

Тоже интересно. Думаю о неком буфере резервном, чтобы не вычиталось из наличия все оформленные заказы.

 

Как организовать вычитание из "Наличия" через смену статуса заказа?

 

 

По теме:

Может клиенту, который зазказывает товар, который уже заказали, но не оплатили, писчать об этом в корзине? 

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


Здравствуйте, Коллеги!

Если включить опцию "вычитать со склада", то вычитание происходит после того, когда заказ в админке переведен в статус "сделка завершена".

Но здесь проблема в том, что одновременно могут оформить заказ несколько покупателей, но в сумме они могут взять количество товара, большее, чем есть на остатке. И этот товар будет доступен пока не подтвердит владелец магазина, что сделка завершена.

 

Может кто-то решал этот вопрос таким образом, чтобы количество товара вычиталось со склада именно по завершении оформления заказа покупателем.

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


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

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

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

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

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

Вхід

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

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку

×
×
  • Створити...

Important Information

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