Программа iNETsHOP - обработка, сравнение, анализ прайс листов поставщиков, создание каталога товаров интернет магазина Форум - Программа iNETsHOP - Работа с программой - Импорт без идентификации по коду поставщика


http://inetshop.in.ua/index.php?p=showtopic&toid=485&pp=15&page=1&area=1
24.09.2018 21:21

magnalion


Пользователь iNETsHOP

Количество сообщений   15
Зарегистрирован:   05-01-2017, 14:57:09
Добрый день.
Изначально делал импорт с привязкой по названию товара не добавляя колонку "код поставщика". Сейчас, в связи с тем что поставщики начали постоянно менять название, старые товары отображаются как новые. Хочу сделать идентификацию по коду поставщика связав артикул поставщика с этой колонкой, но если я сейчас это делаю, то все привязанные товары отображаются как новые, так как приоритет сравнения код поставщика, а он был пустой.
Как мне на время отключить идентификацию по коду поставщика и оставить только по наименованию чтобы код поставщика заполнился артикулом. Либо как скопировать артикул в колонку "код поставщика"?

26.09.2018 03:48

support


Support


Количество сообщений   1167
Зарегистрирован:   11-04-2008, 19:11:57
Копирование колонки "Артикул"
Скопировать колонку "Артикул" в колонку "Код поставщика" в справочнике товаров поставщиков, которая используется для идентификации товаров прайса при его импорте, можно следующим SQL-запросом (соответственно подставив вместо параметра :S_ID ID (код) поставщика из справочника поставщиков):
Код

DECLARE @S_ID int, @SG_ID int;
SET @S_ID = :S_ID;
DECLARE cSGoods CURSOR LOCAL FOR
SELECT sg.SG_ID
FROM TBL_SUPPLIERS_GOODS sg
WHERE sg.SG_S_ID = @S_ID
AND ISNULL(sg.SG_SID, '') <> ISNULL(sg.SG_ARTIKUL, '')
AND NOT EXISTS
(
SELECT 1
FROM TBL_SUPPLIERS_GOODS sg2
WHERE sg2.SG_S_ID = sg.SG_S_ID
AND sg2.SG_NAME = sg.SG_NAME
AND sg2.SG_SID = sg.SG_ARTIKUL
)
;

OPEN cSGoods;
FETCH NEXT FROM cSGoods INTO @SG_ID;

WHILE (@@FETCH_STATUS <> -1)
BEGIN
UPDATE TBL_SUPPLIERS_GOODS
SET SG_SID = SG_ARTIKUL
WHERE SG_ID = @SG_ID;

FETCH NEXT FROM cSGoods INTO @SG_ID;
END;
CLOSE cSGoods;
DEALLOCATE cSGoods;


Так же вы можете скачать готовый пользовательский запрос, который можно вызвать в справочнике "Поставщики" для выбранного поставщика.