Добро пожаловать, Гость. Для того, чтобы отвечать на сообщения и создавать новые темы, Вам необходимо зарегистрироваться, если Вы уже зарегистрированы, то войдите используя Ваши E-Mail и Пароль.
Количество сообщений
36
Зарегистрирован:
19-04-2016, 21:03:48
выгрузка csv, дополнительные условия поставщиков
Добрый день!
Подскажите используем данный sql-запрос для выгрузки данных из inetshop:
SELECT
G_SID as "артикул",
G_NAME as "наименование",
REPLACE(IsNull(CAST(price3 as varchar(100)), '0'), '.', ',') as цена
FROM TBL_GOODS g, TBL_GROUPS gr
WHERE g.G_GR_ID = gr.GR_ID
AND g.G_ACTIVE = 1
AND g.G_PRESENT = 1
Можно в этот скрипт добавить дополнительные условия поставщиков, например:
поставщик = поставщик_1
наличие = да
цена продажи < 100 и > 500
поставщик = поставщик_2
наличие = да
цена продажи < 100 и > 500
поставщик = поставщик_3
наличие = да
цена продажи < 100 и > 500
поставщик = поставщик_4
наличие = да
цена продажи < 100 и > 500
поставщик = поставщик_5
наличие = да
цена продажи < 100 и > 500
Количество сообщений
1199
Зарегистрирован:
11-04-2008, 19:11:57
выгрузка csv, дополнительные условия поставщиков
Цитата
Написал: megabaza
Можно в этот скрипт добавить дополнительные условия поставщиков, например:
поставщик = поставщик_1
наличие = да
цена продажи < 100 и > 500
Вы можете настроить дополнительные условия фильтрации оп поставщику, в том числе и его выбор при экспорте. Но какого именно поставщика, т.к. у товара в справочнике товаров он есть не всегда и устанавливается только если автоматически определяется минимальная цена?
Данный SQL-запрос уже экспортирует только товары, которые в наличии и которые активны.
Фильтрация по цене будет выглядеть в запросе вот так:
Код
SELECT
G_SID as "артикул",
G_NAME as "наименование",
REPLACE(IsNull(CAST(price3 as varchar(100)), '0'), '.', ',') as цена
FROM TBL_GOODS g, TBL_GROUPS gr
WHERE g.G_GR_ID = gr.GR_ID
AND g.G_ACTIVE = 1
AND g.G_PRESENT = 1
AND g.price < 100 AND g.price > 500
Количество сообщений
36
Зарегистрирован:
19-04-2016, 21:03:48
Спасибо!
У одного поставщика отпуск товара идет от n-суммы и нужно указать это в выгрузке, что для этого поставщика выгружать товары от 400 до 500 например., а остальным от 100 до 500.
Количество сообщений
1199
Зарегистрирован:
11-04-2008, 19:11:57
Вы не совсем четко поставили задачу. Вам нужно делать экспорт по каждому поставщику отдельно, или всех поставщиков вместе но с определенными условиями? Более того - приведенный вами sql-запрос экспортирует товары каталога, у которых поставщик может быть не указан, если алгоритм выбора поставщика его записывает в товар.
Количество сообщений
1199
Зарегистрирован:
11-04-2008, 19:11:57
Цитата
Написал: megabaza
так возможно выгружать всех поставщиков вместе но с определенными условиями по цене ?
Да, скорее всего возможно. Но вы должны поставить четкую задачу, т.к. в предыдущем посте у вас условие по фильтрации цены у всех поставщиков - одинаковые:
Цитата
Написал: megabaza
цена продажи < 100 и > 500
Потому в ваш sql-запрос выборки товаров для экспорта был добавлен только один фильтр по цене для всех товаров. Более того, цена продажи в товаре каталога (в справочнике товаров) уже рассчитана по каким-то определенным алгоритмам (минимальная от поставщков, средняя, по приоритету поставщиков, РРЦ и т.п.) и уже никак не привязана к поставщикам в этом экспорте.
Количество сообщений
36
Зарегистрирован:
19-04-2016, 21:03:48
Сейчас скрипт имеет такой вид:
SELECT
G_SID as "артикул",
REPLACE(IsNull(CAST(price3 as varchar(100)), '0'), '.', ',') as цена
FROM TBL_GOODS g, TBL_GROUPS gr
WHERE g.G_GR_ID = gr.GR_ID
AND g.G_ACTIVE = 1
AND g.G_PRESENT = 1
AND price3 > 100 AND price3 < 500
У нас в справочнике товаров, стоит одна формула наценки на все товары, всех поставщиков.
Что нужно добавить в скрипт, что бы сортировать одного поставщика по этому фильтру
price3 > 200 AND price3 < 500
а всех остальных по этому
price3 > 100 AND price3 < 500
Количество сообщений
1199
Зарегистрирован:
11-04-2008, 19:11:57
Экспорт в CSV/Excel
Цитата
Написал: megabaza
Что нужно добавить в скрипт, что бы сортировать одного поставщика по этому фильтру
price3 > 200 AND price3 < 500
а всех остальных по этому
price3 > 100 AND price3 < 500
Сортировать или фильтровать? Для фильтрации (т.к. в скрипте присутствуют именно условия выборки) скрипт будет иметь такой вид
Код
SELECT
G_SID as "артикул",
REPLACE(IsNull(CAST(price3 as varchar(100)), '0'), '.', ',') as цена
FROM TBL_GOODS g
WHERE g.G_ACTIVE = 1
AND g.G_PRESENT = 1
AND
(
(g.G_S_ID = 1111 AND g.price3 > 200 AND g.price3 < 500)
OR
(g.G_S_ID <> 1111 AND g.price3 > 100 AND g.price3 < 500)
)
где 1111 - код (ID) поставщика из справочника поставщиков, цены которого нужно отфильтровать по условию "price3 > 200 AND price3 < 500".
Количество сообщений
36
Зарегистрирован:
19-04-2016, 21:03:48
Цитата
Написал: support
Скопируйте sql-запрос выборки товаров для экспорта еще раз, и обратите внимание, что код (ID) поставщика нужно заменить в двух местах, а не в одном.
Спасибо большое, все работает!
А как на будущее можно добавить к этим фильтрам правило для исключения одного поставщика?