Как реализовать резервирование товаров — различия между версиями

Материал из Umicms
Перейти к:навигация, поиск
Строка 4: Строка 4:
  
 
Допустим у Вас есть ряд товаров, количество которых ограничено и Вам необходимо создать для них резервирование, то есть, нужно реализовать примерно следующие возможности:
 
Допустим у Вас есть ряд товаров, количество которых ограничено и Вам необходимо создать для них резервирование, то есть, нужно реализовать примерно следующие возможности:
 
  
 
<ul>
 
<ul>
Строка 15: Строка 14:
 
<li>Если заказ был отмене или отклонен, то у зарезервированного товара должно быть восполнено его количество.</li>
 
<li>Если заказ был отмене или отклонен, то у зарезервированного товара должно быть восполнено его количество.</li>
 
<ul>
 
<ul>
 
  
 
Все эти задачи можно решить только кастомно, ниже даются примеры.
 
Все эти задачи можно решить только кастомно, ниже даются примеры.

Версия 14:53, 14 апреля 2014

Актуально для версии 2.9.6

Задача

Допустим у Вас есть ряд товаров, количество которых ограничено и Вам необходимо создать для них резервирование, то есть, нужно реализовать примерно следующие возможности:

  • Включить резервирование товара;
  • Задать количество зарезервированного товара;
  • Указать дату, до которой этот товар должен быть оплачен;
  • Сделать, чтобы было невозможно совершить заказов, в котором количество товаров будет превышать резерв;
  • Все действия с корзиной перед покупкой (изменения количества, удаление и добавление позиций) должны сразу отражаться на количество резерва;
  • Если заказ с зарезервированным товаром не был переведен в статус "Готов" до даты, заданной в 3 пункте, то товарная позиция должна быть удалена из заказа;
  • Если заказ был отмене или отклонен, то у зарезервированного товара должно быть восполнено его количество.
    • Все эти задачи можно решить только кастомно, ниже даются примеры.

      Решение

      Управление резервирование у товара

      Сначала создадим поля, в которых будут храниться настройки резервирования для товаров. Для этого, создадим в типе данных "объект каталога" следующие поля: