Quad.Wiki

Пользовательское поле с РРЦ

РРЦ (рекомендованная поставщиком розничная цена) в программе есть только в прайсах поставщиков или в прайсах с типом “Рекомендованные цены”. Эти цены учитываются при наценки, но в собственном каталоге (вкладка Продукция) нет РЦ, есть только ваши цены.

Если по каким-то причинам вы хотите видеть поле РРЦ у собственных товаров, или его нужно куда-то выгружать, вы можете создать пользовательское поле с типом Число, например так и назвать его “РРЦ” и заполнить его при помощи запросов к базе данных.

Если РРЦ нужно заполнять не для всех товаров, а только для каких-то отобранных, то вам понадобится второе пользовательское поле с типом Число, назвать его можно, например, “Отбор РРЦ”.

image-20240213-100624.png

 

“Отбор РРЦ” заполняется при помощи Автозаполнение полей . Установите значение 0 для товаров, для которых не нужно устанавливать РЦ, и 1 - для товаров, которым нужно устанавливать.

image-20240213-100930.png

В Quad.Magic в группу полного обновления и в группу обновления цен добавьте действие “Выполнить запрос к БД” в котором в Настройка 1 укажите один из запросов из примеров ниже:

Копировать РЦ из всех активных прайсов, где товар в наличии и есть РЦ, без учета отбора через автозаполнение.

update product set f_43u62j2h7 = null; update product set f_43u62j2h7 = (select min(price_to_curr(pd.fixed_price, pd.fix_price_curr_id, 4, null)) from price_detail pd, price pr where pd.product_id = product.id and pd.f_43u62j2h7 > 0 and pr.id = pd.price_id and pr.is_active = 1 and pd.is_exists <> 2)

в запросе вместо f_43u62j2h7 укажите код пользовательского поля “РРЦ” (в трех местах)

вместо 4 - ИД валюты в которую нужно сконвертировать полученную РРЦ

Вместо min можно написать max, чтобы получить не минимальную РЦ, если она есть в нескольких прайсах, а максимальную.

 

Копировать РЦ из всех активных прайсов, где товар в наличии и есть РЦ, учитывая отбор через автозаполнение.

update product set f_43u62j2h7 = null; update product set f_43u62j2h7 = (select min(price_to_curr(pd.fixed_price, pd.fix_price_curr_id, 4, null)) from price_detail pd, price pr where pd.product_id = product.id and pd.f_43u62j2h7 > 0 and pr.id = pd.price_id and pr.is_active = 1 and pd.is_exists <> 2 and product.f_43u62jdg5 = 1)

по сравнению с предыдущим запросом здесь в конце добавилась строка, в которой нужно поменять f_43u62jdg5 на код вашего поля “Отбор РРЦ”

 

Копировать РЦ из всех активных прайсов, где товар в наличии и есть РЦ, учитывая отбор через автозаполнение, тип прайса должен быть “Поставщик” или “Рекомендованные цены”.

update product set f_43u62j2h7 = null; update product set f_43u62j2h7 = (select min(price_to_curr(pd.fixed_price, pd.fix_price_curr_id, 4, null)) from price_detail pd, price pr where pd.product_id = product.id and pd.f_43u62j2h7 > 0 and pr.id = pd.price_id and pr.is_active = 1 and pd.is_exists <> 2 and pr.price_type in (1, 6) and product.f_43u62jdg5 = 1)