Добро пожаловать, Гость. Для того, чтобы отвечать на сообщения и создавать новые темы, Вам необходимо зарегистрироваться, если Вы уже зарегистрированы, то войдите используя Ваши E-Mail и Пароль.
Количество сообщений
115
Зарегистрирован:
03-12-2014, 12:33:15
Как сделать схему импорта
Подскажите пожалуйста есть прайс как сделать так чтобы доставалось из под категории (например мне надо все телеки 19 и 24 дюйма а остальные не надо)и потом нужны холодильники определенных брендов, а телевизоры допустим этих брендов не нужны.
Количество сообщений
1199
Зарегистрирован:
11-04-2008, 19:11:57
Импортировать категорию товара из прайса в соответствующую колонку справочника товаров поставщиков можно с помощью дополнительной обработки, но фильтры импорта срабатывают только при чтении самого прайс-листа до применения этой обработки. Исходя из этого - варианта два:
- импортировать весь прайс целиком и использовать только нужную часть товаров
- после создания отдельной колонки "Категория" добавить скрипт удаления ненужных товаров в поле "Скрипт обработки суммарный", но на каждый фильтр (категория, бренд, категория + бренд) вам прийдется добавлять принудительное удаление.
Количество сообщений
36
Зарегистрирован:
19-04-2016, 21:03:48
Цитата
Написал: support
Импортировать категорию товара из прайса в соответствующую колонку справочника товаров поставщиков можно с помощью дополнительной обработки, но фильтры импорта срабатывают только при чтении самого прайс-листа до применения этой обработки. Исходя из этого - варианта два:
- импортировать весь прайс целиком и использовать только нужную часть товаров
- после создания отдельной колонки "Категория" добавить скрипт удаления ненужных товаров в поле "Скрипт обработки суммарный", но на каждый фильтр (категория, бренд, категория + бренд) вам прийдется добавлять принудительное удаление.
Выходит нельзя отсекать не нужные категории товаров при импорте, если прайс имет подобную схему расположения категорий товаров, как у автора темы.
Загружать каждый раз прайс в котором 20 000 товаров не очень удобно если нужно всего 1000 товаров из прайса, и каждый раз при обновлении цен этой 1000 товаров мы обновляем все остальные и это сказывается на времени.
Количество сообщений
1199
Зарегистрирован:
11-04-2008, 19:11:57
Цитата
Написал: megabaza
Выходит нельзя отсекать не нужные категории товаров при импорте, если прайс имет подобную схему расположения категорий товаров, как у автора темы.
Количество товаров в прайс-листе может постоянно меняться или нужные товары могут находиться в разных местах прайс-листа, потому указать просто начальную и конечную строки для импорта в этом случае нельзя.
Цитата
Написал: megabaza
Загружать каждый раз прайс в котором 20 000 товаров не очень удобно если нужно всего 1000 товаров из прайса, и каждый раз при обновлении цен этой 1000 товаров мы обновляем все остальные и это сказывается на времени.
Чтение прайса происходит достаточно быстро. Удалить лишние товары вы можете например дополнительным sql-запросом по каким-либо признакам (значениям в колонках). Но какие именно фильтры нужно наложить - вы не указали.
Количество сообщений
1199
Зарегистрирован:
11-04-2008, 19:11:57
Цитата
Написал: megabaza
Правильно мы понимаем, нужно с помощью этой20100327-2105 схемы импорта
импортировать прайс, названия разделов должны записаться в колонку Категория
Структура вашего прайс-листа визуально похожа на фото прайса, в частности значение категории находится в колонке №2. Но более точно сказать без самого прайса возможности нет.
Цитата
Написал: megabaza
Теперь SQL-скриптом можно удалить по колонке Категория не нужные нам товары?
Да, например
Код
DELETE FROM #TMP_PRICE WHERE CATEGORY LIKE '%Геймпады%'
Количество сообщений
1199
Зарегистрирован:
11-04-2008, 19:11:57
Схема импорта прайс-листа ТрайдексбелПлюс
Вы можете скачать пример схемы импорта для предоставленного вами прайс-листа со встроенным дополнительным скриптом обработки в разделе загрузок.
SET @LAST_GOOD = 0;
SET @FIRST_CAT = '';
SET @LAST_CAT = '';
DECLARE cPrice CURSOR LOCAL FOR
Select
ID,
CAST(SID as varchar(100)),
CAST(NAME as varchar(400)),
CAST(BRAND as varchar(100)),
CAST(ARTIKUL as varchar(100)),
CAST(DESCRIPTION as varchar(8000)),
CAST(NOTES as varchar(8000)),
IsNull(LTRIM(RTRIM(CAST(PRICE as varchar(100)))), ''),
CAST(WARRANTY as varchar(100)),
CAST(PRESENT as varchar(10)),
CAST(REST as varchar(8000))
from #TMP_PRICE order by ID;
OPEN cPrice
FETCH NEXT FROM cPrice INTO @ID, @SID, @NAME, @BRAND, @ARTIKUL, @DESCRIPTION, @NOTES, @PRICE, @WARRANTY, @PRESENT, @REST;
WHILE (@@FETCH_STATUS <> -1)
BEGIN
if (IsNumeric(@SID) = 0 and IsNull(@NAME, '') <> '')
begin
IF @LAST_GOOD = 0
BEGIN
SET @FIRST_CAT = @LAST_CAT;
SET @LAST_CAT = @NAME;
END
ELSE
BEGIN
SET @LAST_CAT = @NAME;
END
SET @LAST_CAT = @NAME;
SET @LAST_GOOD = 0;
end
else
begin
update #TMP_PRICE set CATEGORY = @FIRST_CAT + ' \ ' + @LAST_CAT where ID = @ID;
SET @LAST_GOOD = 1;
end;
FETCH NEXT FROM cPrice INTO @ID, @SID, @NAME, @BRAND, @ARTIKUL, @DESCRIPTION, @NOTES, @PRICE, @WARRANTY, @PRESENT, @REST;
END
CLOSE cPrice;
DEALLOCATE cPrice;
delete from #TMP_PRICE where IsNumeric(CAST(SID as varchar(100))) = 0 or IsNull(CAST(SID as varchar(100)), '') = '';
Количество сообщений
1199
Зарегистрирован:
11-04-2008, 19:11:57
Удаление категорий товаров при импорте прайса
Цитата
Написал: megabaza
Возможно удалять все категории кроме тех, которые укажем например оставить только '%Геймпады%' и '%Рули%' все остальные категории удалить.
В таком случае скрипт удаления не нужных категорий будет выглядеть так:
Код
DELETE FROM #TMP_PRICE
WHERE NOT CATEGORY LIKE '%Геймпады%'
AND NOT CATEGORY LIKE '%Рули%'
Цитата
Написал: megabaza
Скрипт на удаление категорий нужно вставлять в колонку "Скрипт после чтения прайса"?
Данный SQL-скрипт удаления нужно добавить в самый конец SQL-скрипта определения категорий