Для того чтобы организовать торговлю в Интернет-магазине компании потребуется наличие всего одного Менеджера, контролирующего процесс автоматической работы магазина как из офиса компании, так и из любого места в Сети.
Каталог прайсов интернет магазинов - разместите свой прайс бесплатно
  Главная  |    О компании  |    Новости  |    Статьи  |    Форум  |    Клиенты  |    Обратная связь  |    Карта сайта
Добро пожаловать, Гость. Для того, чтобы отвечать на сообщения и создавать новые темы, Вам необходимо зарегистрироваться, если Вы уже зарегистрированы, то войдите используя Ваши E-Mail и Пароль.
Запомнить
Пароль
   
Форум
 Программа iNETsHOP » Работа с программой
        Фильтр в схеме импорта, не забирать товары с остатком = 0
Фильтр в схеме импорта, не забирать товары с остатком = 0

31.03.2010 10:37

tavruxa


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


Количество сообщений   21
Зарегистрирован:   08-09-2009, 12:49:13
Прошу помощи в написании фильтра в схеме импорта.
Работаю с поставщиком по остаткам, и нехочу что бы в ИШ тянулись позиции остаток которых = 0 или остаток является отрицательным = -1 (например).

Сегодня отрицательные остатки получилось отсеч, вводом фильтра на наличие в строке остатка символ "-". А вот с нулевыми остатками не получается, так как при вводе фильтра на наличие символа "0" в строке отсекаются позиции остаток которых = 10,20,30 ....и т.д.

Помогите решить проблему.
Спасибо.
Пользователь оффлайн Распечатать
 

04.04.2010 17:44

support


Support


Количество сообщений   1199
Зарегистрирован:   11-04-2008, 19:11:57
Удаление товаров без остатка
Чтобы пропустить при импорте товары остаток который равен нулю, достаточно добавить в поле "Скрипт обработки суммарный" следующий текст:
Код

DELETE FROM #TMP_PRICE WHERE IsNumeric(IsNull(LTRIM(RTRIM(CAST(REST as varchar(100)))), '0')) <> 1;
DELETE FROM #TMP_PRICE WHERE IsNull(CAST(CAST(REST as varchar(100)) as float), 0) <> 0;
Пользователь оффлайн Распечатать
 

21.10.2013 17:24

mora-85


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

Количество сообщений   17
Зарегистрирован:   29-07-2013, 17:46:32
Подскажите, а как этот запрос изменить для товара которого 1шт в наличии?
Отредактировано mora-85: 21.10.2013, 17:24:24
Пользователь оффлайн Распечатать
 

21.10.2013 17:28

support


Support


Количество сообщений   1199
Зарегистрирован:   11-04-2008, 19:11:57
Какой именно текст импортируется в поле остаток, 1 или 1шт?
Пользователь оффлайн Распечатать
 

21.10.2013 17:33

mora-85


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

Количество сообщений   17
Зарегистрирован:   29-07-2013, 17:46:32
есть и 12шт и 12+ и >12 вот эти надо оставить, а 1шт или 1 просто убрать, я также применяю запрос вида
UPDATE #TMP_PRICE
SET REST = REPLACE(CAST(REST as varchar(100)), '+', '');
для того чтобы убрать + из количества или другой символ или шт.
Пользователь оффлайн Распечатать
 

21.10.2013 17:44

support


Support


Количество сообщений   1199
Зарегистрирован:   11-04-2008, 19:11:57
Дополнительный SQL-запрос обработки импортированного прайса для удаления товаров в зависимости от остатка, на примере если текст в ячейке Остаток равен 1шт будет выглядеть так

DELETE FROM #TMP_PRICE WHERE CAST(REST as varchar(100)) = '1шт';

Таких SQL-запросов вы можете выполнять сколько-угодно, в данном случае они не зависят друг от друга, разве что один модифицирует данные, которые потребуются другому и именно в таком виде.

Т.е. если есть товары, которые содержат 1, 1шт, +1шт и.т.п., то можно применить следующий:

DELETE FROM #TMP_PRICE WHERE CAST(REST as varchar(100)) in ('1', '1шт', '1 шт', '+1шт', )';

Обратите мнимание, что если вы будете применять маску, как:

DELETE FROM #TMP_PRICE WHERE CAST(REST as varchar(100)) like '"%1шт%';

то будут удалены все товары количество которых заканчивается на единицу. Если единица - первый символ в колонке остатка, то можно использовать

DELETE FROM #TMP_PRICE WHERE CAST(REST as varchar(100)) like '1шт%';

Пользователь оффлайн Распечатать
 

21.10.2013 18:11

support


Support


Количество сообщений   1199
Зарегистрирован:   11-04-2008, 19:11:57
Ошибка выполнения из-за пропущеной закрывающей скобки в примере. Примеры исправлены, а ваш SQL-запрос будет выглядеть так:

DELETE FROM #TMP_PRICE WHERE CAST(REST as varchar(100)) = '1';
Пользователь оффлайн Распечатать
 

21.10.2013 19:22

mora-85


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

Количество сообщений   17
Зарегистрирован:   29-07-2013, 17:46:32
Спасибо за помощь! Все работает.
Пользователь оффлайн Распечатать
 

Распечатать  |  Следующая тема  |  Предыдущая тема
Перейти
 

Статистика форума
Тем: 506, Сообщений: 3222, Пользователей: 2257
Приветствуем новичка по имени L9800708
Ближайшие дни рождения
Сегодня именинников нет


iNETsHOP - программа для формирования каталога товаров интернет-магазина и обработки прайсов Copyright 2007-2015 "Программа iNETsHOP - работа с прайс-листами поставщиков для интернет магазинов ®" iNETsHOP - обработка, объединение, анализ прайсов поставщиков и конкурентов