如何使用Dynamics CRM Views检索完整的帐户活动列表?

时间:2008-12-16 12:10:56

标签: dynamics-crm

使用CRM视图,有没有办法检索链接到特定帐户的所有活动的列表?

我希望它不仅可以直接检索与帐户关联的帐户,还可以检索与帐户的联系人,案例等相关联的帐户。我正在尝试复制从帐户中单击“活动”选项时生成的列表。< / p>

到目前为止,我已检索到帐户及其活动的联系人。我也注意到CRM似乎并不总能回归我的期望。有时,不会显示与帐户联系人相关的活动。其他时候,会显示与帐户在逻辑上相关但在aboutobjectid字段中没有任何内容的电子邮件/约会。

我希望这并不意味着创建所有联接的母亲或分别查询每种活动类型。特别是因为我需要所有相关案例活动,机会活动等等。

3 个答案:

答案 0 :(得分:1)

您应该使用Rollup请求(如果您正在使用SDK Web服务)来完成任务:

  

汇总行动   Microsoft Dynamics CRM具有强大的Rollup消息,可让您打开实体   实例,例如帐户,并且不仅查找与帐户相关的信息   记录(机会,报价,订单,发票,合同和案例),也包括   帐户的子帐户和联系人的相关记录。

更多:

  

TargetRollupActivityPointerByAccount类(CrmService)   指定检索与指定活动相关的所有活动所需的参数   帐户。

答案 1 :(得分:0)

我用过这样的东西。实际上,我构建了一个表var,其中包含我要搜索的项目的所有guid(在我的案例中为帐户和联系人),然后我查询AcitivtyParty以了解他们是活动参与方的所有活动 - 然后转到Activity以获取详细信息。

Declare @account_guid varchar(200)
Select @account_guid = 'insert some guid here'

Declare @GUIDS as Table(id varchar(200), fullname varchar(200), objecttype char(2)) 
Declare @ActivityIds as Table(id varchar(200))

--grab all guids we need activities for
    Insert Into @GUIDS
    Select contactid, fullname, 'C'
    From FilteredContact
    Where accountid = @account_guid
    UNION ALL
    Select accountid, [name], 'A'
    From FilteredAccount
    Where accountid = @account_guid 

--find all activities where the account/contact are referred to
Insert Into @ActivityIds
Select activityid
From FilteredActivityParty fap
Join @GUIDS g on g.id=fap.partyid
Group By activityid

Select *
From FilteredActivityPointer fap
Join @ActivityIds a on fap.activityid = a.id
Where statecode<>2 --hide canceled items

答案 2 :(得分:0)

查看下面的帖子,它使用检索插件汇总自定义实体的活动,开箱即用的CRM不支持: http://www.catapulterp.com/blog/2013/03/11/rolling-up-custom-entities-in-microsoftcrm-2011-and-crm-online/