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

23.08.2016 14:24

kiriltyre1


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

Количество сообщений   16
Зарегистрирован:   03-03-2015, 21:13:23
Вопрос по ценообразованию?
День добрый! Приобрел вашу программу все вроде отлично работает. Подскажите пожалуйста как сделать так, чтобы цена бралась от поставщика у которого первое: минимальная цена и второе: количество больше 4. Я так понимаю нужно поменять "Цена продажи №1" с автоматически на SQL запрос. Вот как написать SQL-запрос? Заранее спасибо.
Пользователь оффлайн Распечатать
 

23.08.2016 16:17

support


Support


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

23.08.2016 16:35

kiriltyre1


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

Тема начата

Количество сообщений   16
Зарегистрирован:   03-03-2015, 21:13:23
Вопрос по ценообразованию?
Количество товаров у всех поставщиков, у меня суммируется и выводится одним остатком. Просто цену выбирает минимальную. А хотелось бы вот так:

Поставщик 1, количество-3 шт цена 1000 руб.
Поставщик 2, количество-10 шт цена 1200 руб.
Поставщик 3, количество-12 шт цена 1300 руб.
Поставщик 4, количество-20 шт цена 1400 руб.
Поставщик 5, количество-30 шт цена 1500руб.

Нужно чтобы выгружалась минимальная цена из тех поставщиков у которых наличие товара больше 4. В данном случае "Поставщик 2".
Пользователь оффлайн Распечатать
 

23.08.2016 17:54

support


Support


Количество сообщений   1199
Зарегистрирован:   11-04-2008, 19:11:57
Вариантов решения данной задачи по сути два:
1. добавить в схему импорта скрипт который будет для товаров, свободный остаток которых менее какой-то заданной пороговой величины, устанавливать признак наличия как "нет в наличии"
2. добавить пользовательский sql-скрипт выбора цены поставщика, который будет игнорировать товары с остатком меньше гранично допустимого.

Код

DECLARE @PF_ID int;

SET @Price =
(
SELECT MIN(price)
FROM TBL_SUPPLIERS_GOODS
WHERE SG_G_ID = @G_ID AND SG_PRESENT = 1 AND (SG_REST = 0 OR SG_REST > 4)
);

IF ISNULL(@Price, 0) > 0
BEGIN
SET @G_PRESENT = 1;
END;




Уточнения:
1. Скрипт настраивается в справочнике приоритетов поставщиков, и это скрипт выбора цены поставщика (не расчета цен продажи)
2. Так как у части поставщиков может отсутствовать остаток в числовом эквиваленте, товары у которых остаток равен нулю но они отмечены в справочнике товаров поставщиков как "есть в наличии" определяются алгоритмом как их остаток удовлетворяет исходное условие отбора.
3. После настроки пользовательского sql-скрипта нужно выполнить пересчет цен. Кнопка пересчета доступна в справочнике приоритетов поставщиков и пересчитывает цены товаров с выбранным приоритетом поставщиков.

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

24.08.2016 10:54

kiriltyre1


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

Тема начата

Количество сообщений   16
Зарегистрирован:   03-03-2015, 21:13:23
Спасибо! Все вроде работает, но есть один момент теперь, если отсутствует товар с количеством больше или равно 4 цена не выбирается.
поставщик 1 товар 1 количество 3 цена 1000
поставщик 2 товар 1 количество 1 цена 1200
поставщик 3 товар 1 количество 2 цена 1400
поставщик 4 товар 1 количество 1 цена 1500
Можно как-то сделать чтобы при таком раскладе выбиралась цена максимальная в данном случае 1500.

Прикрепленные файлы
2016-08-24.png   ( 4 Просмотров | 213.1 KB )
2016-08-24 (1).png   ( 3 Просмотров | 183.8 KB )
Пользователь оффлайн Распечатать
 

24.08.2016 15:14

support


Support


Количество сообщений   1199
Зарегистрирован:   11-04-2008, 19:11:57
Можно, но вам лучше продумать заранее полностью все возможные случаи и на предмет других нюансов. Например в начальном посте речь шла о "количество больше 4", теперь вы немного изменили условие на "с количеством больше или равно 4"

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

25.08.2016 12:40

kiriltyre1


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

Тема начата

Количество сообщений   16
Зарегистрирован:   03-03-2015, 21:13:23
Вопрос по ценообразованию?
День добрый! Постарался изложить условия максимально детально.

Условия:
Если количество товара хотя-бы у одного из поставщиков больше или равно 4 то цена берется минимальная(из тех поставщиков у которых количество товара больше или равно 4);
поставщик 1 товар 1 количество 4 цена 1000
поставщик 2 товар 1 количество 1 цена 1200
поставщик 3 товар 1 количество 12 цена 1400
поставщик 4 товар 1 количество 1 цена 1500
в данном случае поставщик 1.

Если количество товаров меньше или равно 3 и не равно 0 то берем максимальную цену(из тех поставщиков у которых количество товара меньше или равно 3)
поставщик 1 товар 1 количество 3 цена 1000
поставщик 2 товар 1 количество 1 цена 1200
поставщик 3 товар 1 количество 2 цена 1400
поставщик 4 товар 1 количество 1 цена 1500
в данном случае поставщик 4.

Товар определяется как "Есть в наличии" при условии:
остатки > 0 (у любого из поставщиков);
цена > 0 (у любого из поставщиков);
Заранее спасибо!
Пользователь оффлайн Распечатать
 

25.08.2016 14:24

support


Support


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

Код

SET @Price =
(
SELECT MIN(price)
FROM TBL_SUPPLIERS_GOODS
WHERE SG_G_ID = @G_ID AND SG_PRESENT = 1 AND SG_REST >= 4
);

IF ISNULL(@Price, 0) = 0
BEGIN
SET @Price =
(
SELECT MAX(price)
FROM TBL_SUPPLIERS_GOODS
WHERE SG_G_ID = @G_ID AND SG_PRESENT = 1 AND SG_REST > 0 AND SG_REST < 4
);
END;

IF ISNULL(@Price, 0) > 0
BEGIN
SET @G_PRESENT = 1;
END;


Стоит отметить, что для того, чтобы цена товаров автоматически пересчитывалась при изменении остатков товаров поставщиков (товаров из прайс-листов), у поставщиков должна быть включена настройка "Учет наличия по остатку" (настраивается в справочнике "Поставщики").


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

25.08.2016 16:54

kiriltyre1


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

Тема начата

Количество сообщений   16
Зарегистрирован:   03-03-2015, 21:13:23
Огромное спасибо!
Все работает.
Пользователь оффлайн Распечатать
 

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

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


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