Dynamics CRM 365 RDL报表开发,让报表放到实体的运行报表里面,且需要接收当前记录的实体ID

理想效果:只展示当前记录的相关信息,则需要接收当前记录的实体ID

 

官方讲解:https://learn.microsoft.com/zh-cn/dynamics365/customerengagement/on-premises/analytics/improve-report-performance-by-using-filters?view=op-9-1&tabs=without-prefiltering%2Cauto2-prefiltering%2Cauto3-prefiltering

 实现方式:

1.RDL报表新增参数CRM_FilteredAccount,默认值为:select  account0.*  from  FilteredAccount as "account0"

 

 2.增加DataSet,对应的SQL,必须通过动态sql的方式,因为参数传过来的,是一串select xxx from xxx where xxxid=xxx的字符。

declare @sql as nVarchar(max)

set @sql = '
SELECT top 10 CAST(accountid as nvarchar(100)) as AccountID, 
    name
FROM (' + @CRM_FilteredAccount + ') as fa'

exec(@sql)

 

3.数据和参数都绑定到界面

 

 4.上传到CRM:使用现有文件,且放在对应实体的窗体上。

 

 5.最终效果:

 

posted @ 2022-12-01 11:44  溜溜球_小钢wan  阅读(393)  评论(0)    收藏  举报