Quad.Wiki
Отображение минимальной РЦ в Продукции
Рекомендованная цена поставщика (РЦ или РРЦ или МРЦ) есть только в прайсах поставщиков, поэтому во вкладке Продукции нет такой колонки. У разных поставщиков может быть разная РЦ, поэтому нельзя просто так сделать колонку Рекомендованная цена у своих товаров. Если вы все таки хотите видеть РЦ в своем прайсе, то можно туда добавить минимальную РЦ по этому товару среди всех поставщиков. Что нужно сделать:
1. Создать поле с типом число, назвать его, например “Мин. РЦ”, добавленное поле отобразить во вкладке Продукция и дать доступ к нему пользователям, как это сделать указано здесь:
Добавление пользовательского поля
Можно также создать поле с типом Строка и назвать его “Мин. РЦ пост.” - в это поле будет записываться название прайса, из которого берется РЦ (первый попавшийся, если одинаковое РЦ в нескольких прайсах).
2. Во вкладке Загрузка прайсов указать, для каких прайсов должно соблюдаться РЦ
Если поставщик в прайсе дает РЦ на все товары, но соблюдать нужно только на какие-то определенные бренды, нужно указать эти бренды в настройках прайса, подробнее здесь:
Убрать РРЦ из прайса по бренду или названию
Если есть какие-то более сложные условия для соблюдения или не соблюдения РЦ, то нужно очистить колонку РЦ в прайсе поставщика на этапе загрузки информации в программу, т.е. при помощи макросов в настройке прайса.
3. Добавить в QuadMagic группу действий для обработки РЦ, назвать ее, например, “Обработка РРЦ”
Подробнее о QuadMagic здесь: Quad.Magic
4. Добавить действие в QM с типом “Выполнить запрос БД”, назвать его, например, “скопировать РЦ”
В Настройка 1 добавленного действия ввести следующий запрос:
update product set f_401gs0c28 = null;
update product set f_401gs0c28 =
(select min(round(price_to_base(pd.fixed_price, pd.fix_price_curr_id), 2))
from price_detail pd, price pr, price_detail_category pdc
where pd.product_id = product.id
and pd.price_id = pr.id
and pr.is_active = 1
and pr.use_rc = 1
and pd.category_id = pdc.id
and pdc.is_active = 1
and ((pd.is_active is null) or (pd.is_active = 0))
and pd.fixed_price > 0)
в котором нужно в 2х местах вместо f_401gs0c28
подставить код вашего поля, который можно посмотреть здесь
Выполните действие и после этого обновите во вкладке Продукция информацию - в колонке Мин. РЦ появится РЦ из прайсов поставщиков.
РЦ будет округлено до 2х знаков после запятой. Если округлять не нужно, то поставьте здесь 10:
Результат:
5. Если нужно сохранять не только поставщика, но и прайс, добавить действие в QM с типом “Выполнить запрос БД”, назвать его, например, “скопировать поставщика с РЦ”
и в Настройка 1 ввести следующий запрос:
update product set f_401gs0okc = null;
update product set f_401gs0okc =
(select pr.title
from price_detail pd, price pr, price_detail_category pdc
where pd.product_id = product.id
and pd.price_id = pr.id
and pr.is_active = 1
and pr.use_rc = 1
and pd.category_id = pdc.id
and pdc.is_active = 1
and ((pd.is_active is null) or (pd.is_active = 0))
and pd.fixed_price > 0 limit 1)
в котором нужно в 2х местах вместо f_401gs0okc
подставить код вашего поля, который можно посмотреть здесь
В итоге получится 2 действия
6. Добавить выполнение созданной группы действий в группы полного обновления и обновления только цен и наличия. Действие добавить после обновления цен.