Ответить Новая тема Новый опрос 
 Заказ товара
surecom_16
Новичок
Сообщений: 7
Регистрация: 15-09-2010


15-09-2010 21:42
Здравствуйте!
У меня такая проблемка:
есть товар, в колличестве, например, 3 шт.
Разрешать заказ с нулевым остатком - стоит - да.
Клиент заходит в этот товар и заказывает 5 штук.

В заказах появляеться этот заказ с сообщением нет на складе.
В заказе пишет: <название товара>, кол-во - 5, Склад - 0.
в этом случае приходиться раскладывать весь товар на полу и смотреть сколько штук заказанного товара физически есть в наличии, чтобы позвонить клиенту и сказать, извините, у нас нету 5 штук, у нас только 3.

Собственно вопрос: как можно упростить это? К примеру, чтобы писало <название товара>, кол-во - 5, Склад - -2 (3-5=-2), или как нибудь иначе, чтобы понимать сколько товара было до заказа и сколько не хватает?

Заранее спасибо за ответы.
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
ors
Профессионал
Сообщений: 1885
Регистрация: 09-11-2009


15-09-2010 23:05
Может проще не извеняться перед клиентом, а запретить ему заказ с нулевым остатком?
Можно попробовать убрать в таблице ps_product у столбца quantity атрибут unsigned, но не уверен что только в нем причина не отрицательных остатков.
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
surecom_16
Новичок
Сообщений: 7
Регистрация: 15-09-2010


16-09-2010 04:09
Первый вариант не подходит

второй вариант пробовал - без изменений.
Есть еще идеи?
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
ors
Профессионал
Сообщений: 1885
Регистрация: 09-11-2009


16-09-2010 11:13
В classes/Product.php в функции updateQuantity удалить строки
Код:
if ($result['quantity'] < $product['cart_quantity'])
        {
            Db::getInstance()->Execute('
            UPDATE `'._DB_PREFIX_.($product['id_product_attribute'] ? 'product_attribute' : 'product').'`
            SET `quantity` = 0
            WHERE `id_product` = '.intval($product['id_product']).($product['id_product_attribute'] ?
            ' AND `id_product_attribute` = '.intval($product['id_product_attribute']) : ''));
            return false;
        }

Если используются атрибуты, то в ps_product_attribute у столбца quantity тоже убрать атрибут unsigned
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
surecom_16
Новичок
Сообщений: 7
Регистрация: 15-09-2010


22-09-2010 23:28
Да, теперь все работает.
Спасибо!!!


Сообщение отредактировано surecom_16 22-09-2010 18:29 ...
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
Ответить Новая тема Новый опрос