看起來像一個axapta報告中的每個正文部分只能從單個表格(一致地)打印列。例如: 我有一個包含以下表格的報表:SalesLine,InventTable和CustTable。然後我想在同一行中打印來自這些表格的每一列的列。看起來我可以將這些字段放置在可編程部分中,但不能將它們放在身體部分中。使用Axapta報表工具在同一行中打印來自不同表格的列的最佳方式是什麼?
我發現了一些醜陋或非高性能的解決方法。必須有一個很好的乾淨的方式來做到這一點?
看起來像一個axapta報告中的每個正文部分只能從單個表格(一致地)打印列。例如: 我有一個包含以下表格的報表:SalesLine,InventTable和CustTable。然後我想在同一行中打印來自這些表格的每一列的列。看起來我可以將這些字段放置在可編程部分中,但不能將它們放在身體部分中。使用Axapta報表工具在同一行中打印來自不同表格的列的最佳方式是什麼?
我發現了一些醜陋或非高性能的解決方法。必須有一個很好的乾淨的方式來做到這一點?
應該可以做到這一點,基本系統中有幾個報告以這種方式工作。以4.0中的SalesContractShipment報告爲例。
在您的報告上,爲SalesLine創建一個數據源,然後在該創建數據源下爲InventTable和CustTable創建數據源。在InventTable和CustTable上,確保FetchMode設置爲1:1。如果您創建自定義提取方法,請確保以正確的順序調用send()。您應該先發送CustTable,然後發送InventTable,然後發送SalesLine。在報表設計上,爲SalesLine創建單一主體。那麼你應該可以使用該體內三個表中的任何一個的字段。
如果您仍然遇到麻煩,我可以考慮兩個解決方法。一種是基於這三個表創建視圖,並基於該視圖創建報告。另一種是基於SalesLine創建報表,並使用displayMethods從InventTable或CustTable中查找所需的任何字段。
考慮使用臨時表。首先填寫您的數據,而不是在報告中使用。
您應該可以將多個數據源添加到報表中,然後爲您添加的第一個數據源創建一個主體。右鍵單擊主體並選擇新建控制 - >從AnyTableThatIsADataSource的字段。然後,您可以添加所需的任何字段,並且將打印所有這些字段的列。
將所有字段放在最後一個SourceTable_Body中,它將顯示所有字段,因爲QueryRun表由表和每個相應的Body填充正文,因此最後一個正文將包含所有字段的數據。
您正在使用哪個版本的AX? – 2011-05-05 13:50:56