Skip to content

Формирование ОЦ

Для формирования ОЦ написан скрипт www/cron/good_price_sync.php, который запускается 4 раза в сутки: 03:39, 09:39, 16:39 и 20:39.

Поле price_limit (То, что мы называем скидкой ОЦ на сборку), оказывается, влияет и на ОЦ не сборных товаров. Подробнее в описании алгоритма работы скрипта.

Алгоритм скрипта

  1. Выбираются все товары с положителной РРЦ, не в Аду, у которых поле price_limit > 0 (Мы это называем скидкой ОЦ на сборку)
    Поле price_mod и price_limit

    price_mod_limithttps://www.cardplace.ru/admin/goods/edit/299157/

  2. Если товар сборный - он пропускается
  3. Если у производителя товара свойство PL = Выбрать и значение > 0, а у товара не выставлена цена автопрайса (fair_price) - ОЦ считается по формуле
ОЦ = РРЦ*PL
PL у производителя

price_limithttps://www.cardplace.ru/admin/tags/manufacturer/

  1. Если

    • У производителя товара PL = Не меньше или поле price_mod (То, что в новой карточке у сборных товаров называется "Не изменять цену при понижении цены компонентов") = Не ниже (Галочка включена)
    • Поле товара price_limit > 0 (Скидка ОЦ на сборку),
    • Текущая ОЦ меньше РРЦ*price_limit
    • РРЦ > 0

    то

    1. Если валюта товара не в руб, а цена товара в валюте currency_price * валюта товара > РРЦ* price_limit - товар пропускается
    2. Если у товара указана максимальная скидка и если РРЦ*price_limit > РРЦ* Маскимальная скидка - товар пропускается
    3. Иначе ОЦ рассчитывается по формуле
     ОЦ = РРЦ*price_limit
  2. Если

    • Поле price_mod = Равно (То, что в новой карточке у сборных товаров называется "Не изменять цену при понижении цены компонентов" - галочка выключена)
    • Текущая ОЦ не равна РРЦ*price_limit
    • РРЦ > 0
    • Поле товара price_limit > 0 (Скидка ОЦ на сборку),

то ОЦ рассчитывается по формуле

ОЦ = РРЦ*price_limit