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. Добавить выполнение созданной группы действий в группы полного обновления и обновления только цен и наличия. Действие добавить после обновления цен.