2010-03-03 75 views
0

我有一個通過CRM部署的SSRS報告,用於顯示僅與單個實體實例(本例中爲單個賬戶)相關的信息。我知道我可以使用預過濾功能,也可以將報告的設置更改爲僅顯示在「相關記錄類型的表單」上。是否有可能讓CRM將實體實例的ID傳遞給報表?

但是,使用預過濾時,即使從特定實體的形式生成報告時,用戶仍然可以編輯過濾器,以便報告可能嘗試顯示多個實體實例的信息。有沒有辦法讓CRM將實體ID傳遞給報告或鎖定過濾條件,以便用戶不可能使報告嘗試選擇多於一條記錄?我知道我可以在我的查詢中使用「top 1」之類的東西,但這看起來有點笨拙。此外,由於該報告僅用於顯示與單個實體記錄相關的信息,因此擁有一個允許選擇多個記錄的過濾器並沒有多大意義。例如,允許用戶定義過濾器來選擇「過去30天內修改的所有帳戶」這樣的內容是毫無意義的,因爲報告應該只顯示單個帳戶的數據。

如果這是一個典型的SSRS報告,我想簡單地定義一個「id」的報告參數,並傳遞它的URL查詢字符串,但不幸的是CRM不給你靈活地做這樣的事情。

回答

0

有幾個方法可以做到這一點,你已經提到過一個,這是傳遞ID的查詢字符串。您需要創建一個帶有JavaScript鏈接的ISV按鈕,該鏈接抓取crmForm.ObjectId,然後打開一個新窗口,其值附加到報告URL。

我還通過創建一個aspx頁面做過濾,並返回該報告的PDF做到了這一點。無論哪種方式工作。

+0

我應該補充說我寧願讓報告顯示在實體表格的「報告」菜單中。我知道我可以直接將報告部署到報告服務器,然後在ISV.config中創建一個按鈕以鏈接到它,但如果我能避免它,那並不是我想要的。 – 2010-03-03 21:29:07

相關問題