Вариантов решения данной задачи по сути два:
1. добавить в схему импорта скрипт который будет для товаров, свободный остаток которых менее какой-то заданной пороговой величины, устанавливать признак наличия как "нет в наличии"
2. добавить пользовательский sql-скрипт выбора цены поставщика, который будет игнорировать товары с остатком меньше гранично допустимого.
Код
DECLARE @PF_ID int;
SET @Price =
(
SELECT MIN(price)
FROM TBL_SUPPLIERS_GOODS
WHERE SG_G_ID = @G_ID AND SG_PRESENT = 1 AND (SG_REST = 0 OR SG_REST > 4)
);
IF ISNULL(@Price, 0) > 0
BEGIN
SET @G_PRESENT = 1;
END;
Уточнения:
1. Скрипт настраивается в справочнике приоритетов поставщиков, и это скрипт выбора цены поставщика (не расчета цен продажи)
2. Так как у части поставщиков может отсутствовать остаток в числовом эквиваленте, товары у которых остаток равен нулю но они отмечены в справочнике товаров поставщиков как "есть в наличии" определяются алгоритмом как их остаток удовлетворяет исходное условие отбора.
3. После настроки пользовательского sql-скрипта нужно выполнить пересчет цен. Кнопка пересчета доступна в справочнике приоритетов поставщиков и пересчитывает цены товаров с выбранным приоритетом поставщиков.
|