РРЦ от нескольких поставщиков
В самом простои виде, взять рекомендованную цену на товар, если к нему привязаны товары прайс-листов нескольких поставщиков с РРЦ (чего в принципе быть не должно) или же эти поставщики меняются у разных товаров и для простоты настройки необходимо использовать одну запись приоритетов поставщиков, можно так:
1. Импортируем цены РРЦ поставщиков в колонку "Цена поставщика 2" (в схемах импорта называется "Цена 2" справочника товаров поставщиков.
2. Настраиваем приоритет поставщика который используется в товарах на расчет цены продажи через отдельный SQL-скрипт.
3. После всех изменений и настройки справочника приоритетов производим пересчет цен (дальнейшие расчеты будут производиться автоматически при изменении исходных цен у привязанных товаров поставщиков).
В данном примере SQL-скрита, будет взята минимальная цена поставщика №2 из товаров прайсов которые отмечены "В наличии" и привязаны к товару каталога. Если же таких товаров нет или в товарах данная цена пустая - будет произведен стандартный расчет цены исходя из цены поставщика справочника товаров с применением формулы наценки из колонки "Формула наценки №1"
Код DECLARE @PF_ID int, @G_PRICE money;
SELECT TOP 1 @G_PRICE = sg.SG_PRICE2
FROM TBL_SUPPLIERS_GOODS sg, TBL_GOODS g
WHERE sg.SG_G_ID = @G_ID
AND sg.SG_G_ID = g.G_ID
AND sg.SG_PRESENT = 1
AND sg.SG_PRICE2 > 0
ORDER BY sg.SG_PRICE2 ASC;
IF (@G_PRICE is null)
BEGIN
SELECT @PF_ID = G_PF_ID FROM TBL_GOODS WHERE G_ID = @G_ID;
EXEC sp_CalcPrice @PRICE, @PF_ID, 1, @PRICE OUTPUT;
END
ELSE
BEGIN
SET @PRICE = @G_PRICE;
END;
Следует отметить, что такой подход дает возможность использовать и более широкие алгоритмы расчета цен продажи, такие как учет цен конкурентов (если их прайс-листы загружены в программу) проверки чтобы цена продажи не была ниже закупочной и т.п.
|