Quad.Wiki
Максимальная цена
Настройка поля
Для каждого товара в программе можно установить ограничение по максимальной цене. Ограничение вводится в пользовательское поле. Если у вас еще нет такого поля, вы можете его добавить, тип поля Число. Назвать его можно, например, “Максимальная цена”.
Полей максимальной цены может быть несколько, заполненных разными значениями (в этом случае создайте несколько пользовательских полей). В разных правилах наценки можно выбрать разные поля MAX цены.
Выбрать поле максимальной цены для правила можно во вкладке Наценка, колонка “MAX цена”.
Выбрать поле сразу для нескольких правил можно во вкладке Наценка / Правила списком
Как работает
Если у товара есть максимальная цена, то при расценке товара по правилу, в котором выбрано это поле максимальной цены, установится цена не больше, чем это значение.
Рекомендованная цена поставщиков игнорируется, если Максимальная цена меньше чем Рекомендованная цена. Т.е. максимальная цена отменяет соблюдение РЦ для этого товара. Рекомендованная цена установится только в случае, если она меньше чем Максимальная цена.
Максимальная цена устанавливается даже в случае, если она ниже, чем цена с минимальной наценкой. Т.е. условия минимальной наценки так же не соблюдаются.
Если вы не хотите продавать товары ниже минимальной наценки, то в этом случае в правиле наценки нужно установить еще птичку “MAX нвн”. Если она установлена, то товары, у которых максимальная цена меньше, чем цена с минимальной наценкой, станут Нет в наличии.
или в списке правил:
Массовое заполнение Максимальной цены
Заполнение выполняется с помощью запросов SQL.
Во всех запросах нужно заменить:
КодПоляМаксЦены - заменить на код вашего поля
, КодПоляЦены1, КодПоляЦены2 - заменяется на список кодов ваших полей цен (если у вас несколько цен и вы хотите выбрать максимальную или минимальную среди них, через запятую. Если хотите использовать только одну основную цену для установки максимальной цены, то удаляйте этот текст, чтобы остался только price
min или max - в зависимости от того, нужно выбрать максимальную или минимальную цену из списка цен.
Пример 1. Установить текущую цену в качестве максимальной, выбрать среди нескольких своих цен максимальную
update product set КодПоляМаксЦены =
(select max(price ,КодПоляЦены1, КодПоляЦены2 )
from product p2 where p2.id = product.id
and p2.price > 0
and КодПоляЦены1 > 0
and КодПоляЦены2 > 0
)
запрос копируется вместе с последней закрывающей скобкой, которая одна в последней строке
Пример 2. Установить текущую цену в качестве максимальной, использовать только основную цену
update product set КодПоляМаксЦены = price where price > 0
Пример 3. Установить в качестве максимальной Основную цену товара за указанную дату
update product set КодПоляМаксЦены =
(select ph.new_price
from price_history ph where ph.prod_id = product.id
and ph.field_id = 0 and ph.new_price > 0
and ph.upd_date < '2022-10-06'
order by ph.upd_date desc
limit 1
)
запрос копируется вместе с последней закрывающей скобкой, которая одна в последней строке
Дата указывается следующего дня за тем, на который нужно выбрать цену из истории. Дата в формате ГОД-МЕСЯЦ-ДЕНЬ.
Например 2022-10-06 (6 октября 2022 года) - если установить такую дату, то в качестве максимальной цены установится последняя цена товара, которая была 2022-10-05.
Цена устанавливается даже если товара не было в наличии.
Пример 4. Установить текущую не основную цену в качестве максимальной
update product set КодПоляМаксЦены = КодПоляЦены where КодПоляЦены > 0
Пример 5. Установить в качестве максимальной не основную цену товара за указанную дату
update product set КодПоляМаксЦены =
(select ph.new_price
from price_history ph where ph.prod_id = product.id
and ph.field_id = ИдПоляЦены and ph.new_price > 0
and ph.upd_date < '2022-10-06'
order by ph.upd_date desc
limit 1)
В запросе добавился ИдПоляЦены , посмотреть его можно здесь:
Очистить поле Максимальной цены
Очистить поле можно запросом для всех товаров:
update product set КодПоляМаксЦены = null