|
|
|
DW Retrieve Rows
|
|||
|---|---|---|---|
|
#18+
Datawindow состоящее из 3 груп, в Trailer к группе 3 есть Grand Total и BelowMinimumFlag, который печатается только если Condition is true. Нужен репорт киторый печатает из этого DW и печатает только те records где существует BelowminimumFlag. Пыталась Rows > Filter, с такой же condition как и BelowMinimumFlag, но это не дало никаких records. Mожет кто-то знает как я могу это сделать. Спасибо Огромное всем за помощь, Если нужно больше информации, я могу provide. Лана ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.04.2006, 17:34 |
|
||
|
DW Retrieve Rows
|
|||
|---|---|---|---|
|
#18+
А как выглядит твой фильтр? Ты его ставиш в окне или в скрипте? BelowminimumFlag это колонка из базы данных или компютед филд? Если из базы данных, может ли она быть null? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.04.2006, 21:18 |
|
||
|
DW Retrieve Rows
|
|||
|---|---|---|---|
|
#18+
Ты его ставиш в окне или в скрипте? в скрипте BelowminimumFlag это колонка из базы данных или компютед филд? компютед филд ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.04.2006, 23:53 |
|
||
|
DW Retrieve Rows
|
|||
|---|---|---|---|
|
#18+
Sorry, я пробовала поставить филтр в скринте, не работало, сейчас фильтр в окне и всё тот же результат. Спасибо за помощь ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.04.2006, 23:56 |
|
||
|
DW Retrieve Rows
|
|||
|---|---|---|---|
|
#18+
давай-ка исходник своего ДВ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.04.2006, 10:25 |
|
||
|
DW Retrieve Rows
|
|||
|---|---|---|---|
|
#18+
Dmitry.давай-ка исходник своего ДВ что такое "исходник"? я не знаю русскую тепминологию, простите. я assume это SQL query для datawindow. Скажите если я не права. Спасибо. SELECT Inventory_level.oid, Inventory_level.location_oid, Inventory_level.item_oid, Inventory_level.curr_level, Alternate_item.alternate_item_oid, Inventory_level.min_level, Inventory_level.max_level, Inventory_level.reserved_qty, Inventory_level.Annual_Usage, Inventory_level.Quarterly_Usage, Inventory_level.Monthly_Usage, Inventory_level.On_Order_Qty, Inventory_level.On_Request_Qty, Inventory_level.Purch_Lead_Time_Days, Inventory_level.Calculation_Date, Inventory_level.Recommended_Min_Level, Inventory_level.Recommended_Max_Level, Item_master.id, "item_master_oid"=[item_master].[oid], "item_master_description"=[Item_master].[description], Location_master.location_id, "location_description"=[Location_master].[description], 'item_type'=Left([code].[id],1), "alternate_curr_level"=Inventory_level_1.curr_level, "alternate_min_level"=Inventory_level_1.min_level, "alternate_location"=Inventory_level_1.location_oid, "alternate_oid"=Inventory_level_1.item_oid, "owner"=[Generic_company].[Description], "alternate_id"=Item_master_1.id FROM (((((((Inventory_level INNER JOIN Location_master ON Inventory_level.location_oid = Location_master.oid) INNER JOIN Item_master ON Inventory_level.item_oid = Item_master.oid) INNER JOIN Code ON Item_master.type_oid = Code.Oid) LEFT JOIN Alternate_item ON Inventory_level.item_oid = Alternate_item.item_oid) LEFT JOIN Inventory_level AS Inventory_level_1 ON Alternate_item.alternate_item_oid = Inventory_level_1.item_oid) LEFT JOIN Location_master AS Location_master_1 ON Inventory_level_1.location_oid = Location_master_1.oid) LEFT JOIN Generic_company ON Inventory_level.owner_oid = Generic_company.oid) LEFT JOIN Item_master AS Item_master_1 ON Alternate_item.alternate_item_oid = Item_master_1.oid WHERE Inventory_level.curr_level<=[inventory_level].[min_level] AND isnull(Inventory_level.min_level,0) > 0 and (Inventory_level_1.location_oid=[Inventory_level].[Location_oid] Or (Inventory_level_1.location_oid) Is Null) union SELECT Inventory_level.oid, Inventory_level.location_oid, Inventory_level.item_oid, Inventory_level.curr_level, Alternate_item.alternate_item_oid, Inventory_level.min_level, Inventory_level.max_level, Inventory_level.reserved_qty, Inventory_level.Annual_Usage, Inventory_level.Quarterly_Usage, Inventory_level.Monthly_Usage, Inventory_level.On_Order_Qty, Inventory_level.On_Request_Qty, Inventory_level.Purch_Lead_Time_Days, Inventory_level.Calculation_Date, Inventory_level.Recommended_Min_Level, Inventory_level.Recommended_Max_Level, Item_master.id, "item_master_oid"=[item_master].[oid], "item_master_description"=[Item_master].[description], Location_master.location_id, "location_description"=[Location_master].[description], 'item_type'=Left([code].[id],1), "alternate_curr_level"=0, "alternate_min_level"=0, "alternate_location"="", "alternate_oid"=0, "owner"=[Generic_company].[Description], "alternate_id"="" FROM (((((((Inventory_level INNER JOIN Location_master ON Inventory_level.location_oid = Location_master.oid) INNER JOIN Item_master ON Inventory_level.item_oid = Item_master.oid) INNER JOIN Code ON Item_master.type_oid = Code.Oid) LEFT JOIN Alternate_item ON Inventory_level.item_oid = Alternate_item.item_oid) LEFT JOIN Inventory_level AS Inventory_level_1 ON Alternate_item.alternate_item_oid = Inventory_level_1.item_oid) LEFT JOIN Location_master AS Location_master_1 ON Inventory_level_1.location_oid = Location_master_1.oid) LEFT JOIN Generic_company ON Inventory_level.owner_oid = Generic_company.oid) LEFT JOIN Item_master AS Item_master_1 ON Alternate_item.alternate_item_oid = Item_master_1.oid WHERE Inventory_level.curr_level<=[inventory_level].[min_level] AND isnull(Inventory_level.min_level,0) > 0 and Inventory_level.item_oid not in (SELECT Inventory_level.item_oid FROM (((((((Inventory_level INNER JOIN Location_master ON Inventory_level.location_oid = Location_master.oid) INNER JOIN Item_master ON Inventory_level.item_oid = Item_master.oid) INNER JOIN Code ON Item_master.type_oid = Code.Oid) LEFT JOIN Alternate_item ON Inventory_level.item_oid = Alternate_item.item_oid) LEFT JOIN Inventory_level AS Inventory_level_1 ON Alternate_item.alternate_item_oid = Inventory_level_1.item_oid) LEFT JOIN Location_master AS Location_master_1 ON Inventory_level_1.location_oid = Location_master_1.oid) LEFT JOIN Generic_company ON Inventory_level.owner_oid = Generic_company.oid) LEFT JOIN Item_master AS Item_master_1 ON Alternate_item.alternate_item_oid = Item_master_1.oid WHERE Inventory_level.curr_level<=[inventory_level].[min_level] AND isnull(Inventory_level.min_level,0) > 0 AND (Inventory_level_1.location_oid=[Inventory_level].[Location_oid] Or (Inventory_level_1.location_oid) Is Null ) ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.04.2006, 16:47 |
|
||
|
DW Retrieve Rows
|
|||
|---|---|---|---|
|
#18+
Нет, имелось в виду, сделать экспорт DW и приложить полученный файл к сообщению в форум (см. поле "Приложить файл (максимальный размер 70Kb)" снизу кнопки "Опубликовать") ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.04.2006, 17:48 |
|
||
|
DW Retrieve Rows
|
|||
|---|---|---|---|
|
#18+
спасибо за пояснение... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.04.2006, 18:41 |
|
||
|
DW Retrieve Rows
|
|||
|---|---|---|---|
|
#18+
Попробуй, только сделай импорт в библиотеку выше (в library list) чем та в которой находитса твой репорт, или сохрани свой репорт где нибудь в сторонке. Если то, что надо, дай знать, нет, будем думать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.04.2006, 22:09 |
|
||
|
DW Retrieve Rows
|
|||
|---|---|---|---|
|
#18+
тот же результат, не даёт никаких рекордс. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.04.2006, 23:03 |
|
||
|
DW Retrieve Rows
|
|||
|---|---|---|---|
|
#18+
я думаю что я пропустила что-то. я rename the file, then import. Что то ещё я донжна делать, я не могу наити этот репорт. пожалуйста disregard прошлый ответ. Спасибо большое за помощь, Лана ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.04.2006, 23:15 |
|
||
|
DW Retrieve Rows
|
|||
|---|---|---|---|
|
#18+
ренэйм не надо надо: сделай импорт в библиотеку выше (в library list) чем та в которой находитса твой репорт если не то, потом просто делит его из "верхней" библиотеки ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.04.2006, 23:19 |
|
||
|
DW Retrieve Rows
|
|||
|---|---|---|---|
|
#18+
Do I have to recompile, then I will be able to see it in the library? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.04.2006, 23:21 |
|
||
|
DW Retrieve Rows
|
|||
|---|---|---|---|
|
#18+
voronkренэйм не надо надо: сделай импорт в библиотеку выше (в library list) чем та в которой находитса твой репорт U menia net nichego vishe чем та в которой находитса репорт, ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.04.2006, 23:23 |
|
||
|
DW Retrieve Rows
|
|||
|---|---|---|---|
|
#18+
Открой файл dw_inventory_level_below_min_rpt.srd в Notepad. Первая строка выглядит так: Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.04.2006, 00:06 |
|
||
|
DW Retrieve Rows
|
|||
|---|---|---|---|
|
#18+
Ничего не изменилось (кроме хидден details). Мне нужны только рекордс где Belowminimum Flag is True ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.04.2006, 00:17 |
|
||
|
DW Retrieve Rows
|
|||
|---|---|---|---|
|
#18+
Твой флаг "belowminimumflag" имеет експрешн: if ( (min_level > grand_total and on_order_qty =0 and on_request_qty =0), "BELOW MINIMUM", "") на базе этой експрешн, я сделал кондицию для всех колонок в детэйл бэнд: if ( (min_level > grand_total and on_order_qty =0 and on_request_qty =0), 1, 0) т.е. если кондиция выполняетса, они должны быть видны, если нет, то нет. так же в пропэрти -> позишн этих же колонок SlideUp = DirectlyAbove и AutosizeHeight = Yes Детайл бэнд AutosizeHeight = Yes и Height = 2 Должно работать. Is Expression Ok? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.04.2006, 01:40 |
|
||
|
DW Retrieve Rows
|
|||
|---|---|---|---|
|
#18+
Может я должна добавить такие же кондишн ко всем филдс в хеадер груп, мне нужно чтобы показались только те группы где Белоуминимум флаг кондишн тру. спасибо за помощь ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.04.2006, 16:47 |
|
||
|
DW Retrieve Rows
|
|||
|---|---|---|---|
|
#18+
Ну тогда есть ешё вариант, пусть твои клиенты видят, в dw_1 - то что они видят. Когда захотят распечатать, сделай другой ретрив только тех рекордов которые они хотят распечатать в dw_2 и распечатай им оттуда. Хотя я думаю твои отпринтованные totals будут не те которые они видят на экране. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.04.2006, 17:24 |
|
||
|
DW Retrieve Rows
|
|||
|---|---|---|---|
|
#18+
я думаю что это оптимальный вариант, с dw_2, потому что мне нужны 2 варианта, или распечатать все или только те где Belowminimum flag is true. Теперь проблема как это написать. я очень извиняюсь, но я совсем начинающий PowerBuilder programmer ( я не профессор, я только учусь :)) я буду очень благодарна если вы мне поможете. Спасибо большое, Лана ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.04.2006, 17:37 |
|
||
|
DW Retrieve Rows
|
|||
|---|---|---|---|
|
#18+
в каком смысле "как это написать"? у тебя уже всё есть. делаеш ещё один репорт, а точнее сохраняеш твой "dw_inventory_level_below_min_rpt" под другим именем, "dw_inventory_level_below_min_print_rpt" например. меняеш его селект на тот, что тебе нужен (модифицыруеш where clause), ну и там потчисти его на своё усмотрение, тебе уже кондиции не нужны. добавляеш новое datawindow к себе в window из которого смотриш, а потом будеш печатать репорт, называеш его dw_print например. аргументы ретрива для dw_1 делаеш инстанс а не локал, они тебе понадобятса в ue_print или print ивенте я уже не знаю где там и как у тебя. ну и дальше, в этом самом ивенте: сначала оверрайт ансестор скрипт, если он там есть, а потом, что-то типа: // Over ... long l_row IF dw_1.RowCount() < 1 THEN RETURN END IF dw_print.dataobject = '' IF dw_1.dataobject = 'dw_inventory_level_below_min_rpt' THEN dw_print.dataobject = 'dw_inventory_level_below_min_print_rpt' dw_print.SetTransObject (sqlca)//или что там у тебя ... l_row = dw_print.Retrieve(i_arg_1, i_arg_2 ну и т.д.) END IF IF l_row > 0 THEN dw_print.Print(false) END IF ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.04.2006, 18:42 |
|
||
|
DW Retrieve Rows
|
|||
|---|---|---|---|
|
#18+
я извиняюсь, я может что-то не понимаю.... я уже пыталась это тоже делать, но поскольку все Calculations сделаны в датавиндоу, а не в SQL script, как я могу помненять SQL? sorry и спасибо за помощь ещё раз. Лана ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.04.2006, 18:58 |
|
||
|
DW Retrieve Rows
|
|||
|---|---|---|---|
|
#18+
попробуй для первого юниона select ..., "alternate_id"=Item_master_1.id, "flag" = case when min_level > grand_total and on_order_qty =0 and on_request_qty =0 then 1 else 0 end FROM бла-бла-бла WHERE "flag" = 1 and бла-бла-бла .... или select ..., "alternate_id"=Item_master_1.idFROM бла-бла-бла WHERE (min_level > grand_total and on_order_qty =0 and on_request_qty =0) and бла-бла-бла ... ну и если получитса, поправь второй юнион тоже ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.04.2006, 19:18 |
|
||
|
|

start [/forum/topic.php?fid=15&fpage=72&tid=1337818]: |
0ms |
get settings: |
9ms |
get forum list: |
21ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
44ms |
get topic data: |
13ms |
get forum data: |
4ms |
get page messages: |
74ms |
get tp. blocked users: |
2ms |
| others: | 238ms |
| total: | 413ms |

| 0 / 0 |
