Привязка товаров поставщика по колонкам Бренд+Артикул+Модель
Напоминаем, что данный пользовательский SQL-запрос требует ID поставщика, а значит его нужно подключать в справочник поставщиков по выделенным строкам или создать справочник поставщиков для выбора поставщика при вызове запроса вне окна справочника поставщиков.
Код
DECLARE @S_ID int, @SG_ID int, @SG_ARTIKUL varchar(200), @SG_MODEL varchar(400), @B_ID int, @G_ID int;
SET @S_ID = :S_ID;
DECLARE cSuppliersGoods CURSOR FOR
SELECT SG_ID, SG_ARTIKUL, SG_MODEL, SG_B_ID
FROM TBL_SUPPLIERS_GOODS
WHERE SG_S_ID = @S_ID
AND SG_B_ID > 0
AND ISNULL(SG_ARTIKUL, '') <> ''
AND ISNULL(SG_MODEL, '') <> ''
AND SG_G_ID is NULL;
OPEN cSuppliersGoods;
FETCH NEXT FROM cSuppliersGoods INTO @SG_ID, @SG_ARTIKUL, @SG_MODEL, @B_ID;
WHILE (@@FETCH_STATUS <> -1)
BEGIN
SET @G_ID = (
SELECT TOP 1 G_ID
FROM TBL_GOODS
WHERE G_B_ID = @B_ID
AND UPPER(G_SID) = UPPER(@SG_ARTIKUL)
AND UPPER(G_MODEL) = UPPER(@SG_MODEL)
ORDER BY G_ID
);
IF (@G_ID > 0)
BEGIN
UPDATE TBL_SUPPLIERS_GOODS
SET SG_G_ID = @G_ID
WHERE SG_ID = @SG_ID;
END;
FETCH NEXT FROM cSuppliersGoods INTO @SG_ID, @SG_ARTIKUL, @SG_MODEL, @B_ID;
END
CLOSE cSuppliersGoods;
DEALLOCATE cSuppliersGoods;
|