Форум OlegON > Программы и оборудование для автоматизации торговли > Системы автоматизации торговли > Супермаг Плюс (Супермаг 2000)

Параметр P_GROUP_TREE(группы товаров) в oracle reports : Супермаг Плюс (Супермаг 2000)

23.04.2024 22:34


03.06.2009 19:49
AirAir
 
Добрый день.Наконец я решил всеже освоить oracle reports 6i - возник вопрос: я написал запрос который возвращает остатки по нужным мне местам хранения сразу в одном отчете. В этом отчете мне нужен всего один параметр 'группы товаров' по которому будут отбираться товары для анализа только из определенных групп

Select * FROM
(Select
ARTICLE,
NAME,
TREE,
SUM(QUANTITY),
SUM(DECODE(STORELOC,1,QUANTITY,0)) ЦС,
SUM(DECODE(STORELOC,2,QUANTITY,0)) х,
SUM(DECODE(STORELOC,3,QUANTITY,0)) у,
SUM(DECODE(STORELOC,5,QUANTITY,0)) z
--SUM(Total_sum)
FROM
(SELECT
SMGOODS.ARTICLE,
SMCARD.NAME,
SMGOODS.STORELOC,
SMGOODS.QUANTITY,
SACARDCLASS.TREE,
SMCARD.IDMEASUREMENT
-- SUM(SMGOODS.QUANTITY) OVER
-- (PARTITION BY SACARDCLASS.TREE) as Total_sum
FROM
SUPERMAG.SMGOODS,
SUPERMAG.SMCARD,
SUPERMAG.SACARDCLASS
WHERE
SMGOODS.ARTICLE = SMCARD.ARTICLE AND
SMCARD.IDCLASS = SACARDCLASS.ID AND
SMCARD.IDMEASUREMENT = 0 AND
SACARDCLASS.TREE LIKE '16.%')
GROUP by
ARTICLE,
NAME,
TREE
ORDER BY
TREE)
WHERE ЦС >0

Я помещаю этот запрос в oracle reports 6i и ставлю вместо
WHERE
SMGOODS.ARTICLE = SMCARD.ARTICLE AND
SMCARD.IDCLASS = SACARDCLASS.ID AND
SMCARD.IDMEASUREMENT = 0 AND
SACARDCLASS.TREE LIKE '16.%')
это
WHERE
SMGOODS.ARTICLE = SMCARD.ARTICLE AND
SMCARD.IDCLASS = SACARDCLASS.ID AND
SMCARD.IDMEASUREMENT = 0 AND
SACARDCLASS.TREE LIKE ':P_GROUP_TREE.%'), но так не работает,
какая конструкция тут должна быть.(С oracle reports 6i я работаю первый вечер)
Заранее спасибо
03.06.2009 20:08
vdm
 
Цитата:
AirAir SACARDCLASS.TREE LIKE ':P_GROUP_TREE.%'), но так не работает,
Точка перед % не лишняя ?
03.06.2009 20:23
MirProd
 
Цитата:
AirAir SACARDCLASS.TREE LIKE ':P_GROUP_TREE.%', но так не работает
Если используешь параметры, то
Код:
SACARDCLASS.TREE LIKE :P_GROUP_TREE||'.%'
P.S. Если параметром будет путь группы классификатора, точку убери.
04.06.2009 09:44
AirAir
 
SACARDCLASS.TREE LIKE :P_GROUP_TREE||'%' вот так работает,но если выбирать две группы, то ничего не возвращается. Огромное спасибо!!!
04.06.2009 15:44
Pall_V
 
я вместо SACARDCLASS использую вьюху SVCARDTREESPLIT с помощью нее проще
08.06.2009 08:45
Mihon
 
Цитата:
AirAir SACARDCLASS.TREE LIKE :P_GROUP_TREE||'%' вот так работает,но если выбирать две группы, то ничего не возвращается. Огромное спасибо!!!
Если выбирать 2 и более группы - то нужно использовать:
1) С+. То есть их исходники искать (незнамо где) и смотреть как расшифровывается у них несколько групп в параметре (насколько я знаю, с помощью внутренних функций заполняется временная табличка в БД)
2) Самописную форму параметров, где этот параметр будет отправляться отчету в удобном для расшифровки виде. Удобном для тебя :)
Часовой пояс GMT +3, время: 22:34.

Форум на базе vBulletin®
Copyright © Jelsoft Enterprises Ltd.
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.