[ОТВЕТИТЬ]
Опции темы
24.10.2014 16:58  
SMak
Здравствуйте.

Подскажите, как из БД выдернуть скидку для артикула с учётом групповых пределов скидки?
И как проверить артикул на участие в открытой МА?
Какие это таблицы? Или может кто уже такое делал?
 
24.10.2014 19:19  
vdm
Вырезка из ценника в oracle reports.

Минимальная цена с учетом предела скидки на вид цены
Код:
select
       ROUND(t_pr.PRICE*((100-NVL(Supermag.SMGETDISCLIMITCARD(t_pr.ARTICLE, :P_PRICE_TYPE), 100))/100), 2) MIN_PRICE
...
  from SUPERMAG.TTPriceCard t_pr
Артикул в действующей акции, если
Код:
SUPERMAG.SMPRICES.SAVEDPRICE IS NOT NULL
Т.е. при включенном запрете скидок на акционный товар, мин. цену можно брать так:
Код:
select
       DECODE(p.SAVEDPRICE, NULL, 0, t_pr.PRICE) MIN_PRICE_A
...
  from SUPERMAG.TTPriceCard t_pr, SUPERMAG.SMPRICES p
 where t_pr.ARTICLE=p.ARTICLE AND p.STORELOC=:P_LOC AND p.PRICETYPE=:P_PRICE_TYPE
 
"Спасибо" vdm от:
27.10.2014 12:53  
SMak
а эта штука Supermag.SMGETDISCLIMITCARD проверяет все виды пределов скидок? ничего дополнительного не надо?
 
27.10.2014 13:26  
vdm
Что значит "все виды"?

Функция берет предел скидки заданного артикула, по заданному виду цены, с учетом существования предела скидки на группу.
 
27.10.2014 16:14  
SMak
Цитата:
Сообщение от vdm
с учетом существования предела скидки на группу.
вот это и интересовало, спасибо :)
 
07.11.2014 11:34  
SMak
FastReport. Ценник на основе примера с изменением размеров, запросов...
Что можно было такого накрутить, чтобы теперь при печати из см+ количество копий перемножалось? :/
[P_COPIES] в ценник выводит верно. Но количество ценников на листе равно P_COPIES * P_COPIES
 
07.11.2014 16:51  
SMak
вот что с ним не так?
Вложения
Тип файла: rar ab_price_card_s.rar (3.0 Кб, 148 просмотров)
 
10.11.2014 17:17  
akonev
у меня этот ценник вообще по ошибке валится.
будем исходить из того, что у тебя - работает.

"не то" - вот здесь:
Код:
select t.Article, t.Name, t.Country,t.Price,
t.UnitName, t.QtyPrint, t.BarCode,t.RUBNAME,
decode(t.PLU,null,'','PLU:  '||t.PLU) PLU,
ROUND(t_pr.PRICE*((100-NVL(Supermag.SMGETDISCLIMITCARD(t_pr.ARTICLE, :P_PRICE_TYPE), 100))/100), 2) MIN_PRICE
  from SUPERMAG.TTPriceCard t_pr, supermag.SVPriceCard t
 where t_pr.ARTICLE=t.ARTICLE 
order by 1
Код:
create or replace view svpricecard as
select  t.Article Article, t.Name Name  , t.CardComment CardComment,
				t.Country Country, t.Price Price, t1.UnitName UnitName,
				t1.Qty Qty, t1.QtyPrint QtyPrint,
				t1.BarCode BarCode, t1.IsScale IsScale, t1.PLU PLU,
				russianspell.PriceCardString(0,t.Price) RubSum,
				russianspell.PriceCardString(1)         RubName,
				russianspell.PriceCardString(2,t.Price) KopSum,
				russianspell.PriceCardString(3)         KopName,
				russianspell.PriceCardString(4,t.Price) PriceShort,
				russianspell.PriceCardString(5,t.Price) PriceFull,
				to_number(russianspell.PriceCardString(6)) PricePrec
		from TTPriceCard t, TTPriceCard1 t1
		where t.article = t1.article
в TTPriceCard каждая карточка отбирается столько раз, какое количество ты указал при печати.

svpricecard включает в себя выборку из TTPriceCard и поэтому в ней тоже каждая карточка столько же раз.

осталось связать их по артикулу и вуаля! каждая строка с артикулом из svpricecard повторилась при связывании столько раз, сколько раз этот артикул есть в TTPriceCard. количества перемножились.
 
"Спасибо" akonev от:
10.11.2014 17:19  
akonev
тебе зачем вообще TTPriceCard сдался в этом селекте?
вот так не то что-то выбирается?
Код:
select t.Article, t.Name, t.Country,t.Price,
t.UnitName, t.QtyPrint, t.BarCode,t.RUBNAME,
decode(t.PLU,null,'','PLU:  '||t.PLU) PLU,
ROUND(t.PRICE*((100-NVL(Supermag.SMGETDISCLIMITCARD(t.ARTICLE, :P_PRICE_TYPE), 100))/100), 2) MIN_PRICE
  from supermag.SVPriceCard t
order by 1
 
"Спасибо" akonev от:
11.11.2014 14:07  
SMak
О! Изначально зачем-то ставил, что-то брал из ТТ и забыл :/
Спасибо :)
 
 


Опции темы



Часовой пояс GMT +3, время: 12:45.

Все в прочитанное - Календарь - RSS - - Карта - Вверх 👫 Яндекс.Метрика
Форум сделан на основе vBulletin®
Copyright ©2000 - 2016, Jelsoft Enterprises Ltd. Перевод: zCarot и OlegON
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.