22.11.2015 19:35 | |
maxteltПользователь iNETsHOP Количество сообщений 115 Зарегистрирован: 03-12-2014, 12:33:15 |
Здравствуйте, подскажите пожалуйста возможно создать такой запрос? Есть поставщики по ним определяется мин цена, есть поставщик "конкурент" по нему стоит не учитывать цену. Как сравнить эти две цены, и если при вычете из моей мин цены 5% цена будет выше цены поставщика "конкурент", то оставить эту цену, если ниже, то сделать на 100 руб дешевле поставщика "конкурент".(и при этом учитывать наличие товара) Или это можно сделать с помощью интерфейса программы? |
22.11.2015 23:40 | |
supportSupport Количество сообщений 1199 Зарегистрирован: 11-04-2008, 19:11:57 |
Учет цен конкурентов
В free-версии программы нет возможность прямо влиять на цену продажи манипулируя ценами товаров поставщиков/конкурентов. В общем виде алгоритм следующий: 1. Значение из колонки "Цена прайса" справочника товаров поставщиков умножается на курс валюты прайса (колонка из этого же справочника) если он есть (по умолчанию равен 1), умножается значение курса валюты из справочника валют если валюта явно установлена пользователем в товаре поставщика (колонка из этого же справочника) и после применения формулы расчета скидки записывается в колонку "Цена закупки" 2. При изменения цены закупки или признака наличия у товаров поставщиков, инициируется пересчет колонки "Цена поставщика" в справочнике товаров по указанному в товаре алгоритму. Сам алгоритм выбора цен поставщика настраивается в справочнике "Приоритеты поставщиков". По умолчанию автоматически берется минимальная цена закупки у товара который есть в наличии у поставщика. Вы можете указать рейтинг поставщиков от которых брать цену закупки в первую очередь или выстроить любую последовательность. Так же вы можете обработать цену закупки или выполнить практически любые манипуляции с данными для ее расчета. 3. При изменении колонки "Цена поставщика" в справочнике товаров инициируется пересчет всех трех цен продажи путем применения к цене поставщика соответствующих формул наценки. В вашей версии вы не имеете возможности влиять на цены продажи непосредственно при измении цен закупки, это можно делать только в полной версии, где добавлены обширные возможности для работы с РРЦ и расчетов цен продажи дополнительными произвольными SQL-скриптами. Или вы потеряете возможность применять формулу наценки. |
23.11.2015 00:03 | |
maxteltПользователь iNETsHOP
Тема начата
Зарегистрирован: 03-12-2014, 12:33:15 |
Может я не так написал попробую проще при таком запросе SELECT G_SID as "product_sku", G_NAME as "product_name", price as "product_price1", (SELECT TOP 1 SG_PRICE FROM TBL_SUPPLIERS_GOODS WHERE SG_G_ID = G_ID AND SG_S_ID = 7 AND G_PRESENT = 1) as "спектр" FROM TBL_GOODS WHERE G_ACTIVE = 1 AND G_PRESENT = 1 я получаю product_sku product_name product_price1 спектр 45643 Beko HIZG 64121 AR 8188,00 7470,00 как добавить условие product_price1*0.95>спектр, то product_price1*0.95 если product_price1*0.95<=спектр, то спектр-100 |
23.11.2015 00:17 | |
supportSupport Количество сообщений 1199 Зарегистрирован: 11-04-2008, 19:11:57 |
Цена продажи в зависимости от цены конкурента
Ваш SQL-запрос экспорта будет выглядеть так (колонка product_pricesell): Код
|
23.11.2015 00:23 | |
maxteltПользователь iNETsHOP
Тема начата
Зарегистрирован: 03-12-2014, 12:33:15 |
Спасибо большое, то что надо. |
23.11.2015 20:48 | |
maxteltПользователь iNETsHOP
Тема начата
Зарегистрирован: 03-12-2014, 12:33:15 |
Хочу немного усложнить условие, но ругается на оператор OR select product_sku, product_name, case when product_price2/product_price1<0.91 then product_price2-50 OR product_price2/product_price1>0.91 AND product_price2/product_price1<0.94 then product_price2*0.99 else product_price2*0.99 end as product_pricesell, product_price1, product_price2 |
23.11.2015 21:16 | |
supportSupport Количество сообщений 1199 Зарегистрирован: 11-04-2008, 19:11:57 |
В вашем SQL-запросе как минимум синтаксическая ошибка с лишним оператором then, и может быть логическая при product_price1 = 0 (деление на ноль). Так же по вашему логическому выражению не понятно при каком условии должна выдаваться та или иная цена. Т.е. для того чтобы дать вам ответ, ваш код - бесполезен. Лучше опишите своими словами. |
23.11.2015 21:34 | |
maxteltПользователь iNETsHOP
Тема начата
Зарегистрирован: 03-12-2014, 12:33:15 |
product_sku product_name product_price1(мин цена моих поставщиков) product_price2(цена определенного поставщика-конкурент) 1) условие product_price2/product_price1<0.91 то product_price2-100 2) условие product_price2/product_price1>0.91 но <0,94 то product_price2*0,99 3) условие product_price2/product_price1>0.94 но <0,96 то product_price2*0,98 4) условие product_price2/product_price1>0.96 то product_price2*0,97 |
23.11.2015 21:58 | |
maxteltПользователь iNETsHOP
Тема начата
Зарегистрирован: 03-12-2014, 12:33:15 |
product_price1(мин цена моих поставщиков и плюс наценка) |
23.11.2015 21:58 | |
supportSupport Количество сообщений 1199 Зарегистрирован: 11-04-2008, 19:11:57 |
Учет цены конкурента
Ваш SQL-запрос для экспорта товаров с учетом указанного конкурента будет выглядеть приблизительно так: Цитата select product_sku, product_name, case when product_price2 < product_price1*0.91 then product_price2-100 when product_price2 >= product_price1*0.91 and product_price2 < product_price1*0.94 then product_price2*0.99 when product_price2 >= product_price1*0.94 and product_price2 < product_price1*0.96 then product_price2*0.98 when product_price2 >= product_price1*0.96 then product_price2*0.97 end as product_pricesell, product_price1, product_price2 FROM ( SELECT G_SID as "product_sku", G_NAME as "product_name", price as "product_price1", (SELECT TOP 1 SG_PRICE FROM TBL_SUPPLIERS_GOODS WHERE SG_G_ID = G_ID AND SG_S_ID = 7 AND SG_PRESENT = 1) as "product_price2" FROM TBL_GOODS WHERE G_ACTIVE = 1 AND G_PRESENT = 1 ) t Так же рекомендуем вам ознакомится с какой-нибудь литературой по T-SQL для лучшего понимания работы системы управления базами данных Microsoft SQL Server. Данную информацию достаточно легко найти в интернете, т.к. это одна из самых распространённых СУБД. |
23.11.2015 22:04 | |
maxteltПользователь iNETsHOP
Тема начата
Зарегистрирован: 03-12-2014, 12:33:15 |
Спасибо за помощь, уже обложился книжками изучаю. |
23.11.2015 22:54 | |
maxteltПользователь iNETsHOP
Тема начата
Зарегистрирован: 03-12-2014, 12:33:15 |
Заметил неточность в запросе мы указывали наличие товара(SG_S_ID = 7 AND G_PRESENT = 1), а по факту товара у этого поставщика нет а выводе появляется. Скрин прилагаю.
|
23.11.2015 22:57 | |
supportSupport Количество сообщений 1199 Зарегистрирован: 11-04-2008, 19:11:57 |
Расчет цены продажи с учетом конкурента
Да, ошибка. G_PRESENT - это признак наличия у товара каталога, SG_PRESENT - признак наличия у товара поставщика. |