2014-02-12 42 views
2

我试图找到crm 2011中与特定帐户(公司)有任何关联的所有活动。我如何存档?在哪里可以找到在crm 2011帐户的所有活动SQL

我知道ActivityPointerBase包含所有活动,但我不确定如果使用OwnerId或OwningBusinessUnit进行过滤,我将获得特定帐户的所有活动。是否还有更多的表格或字段包含我可以使用的附加信息?

回答

4

对于CRM中的每个活动类型,都有3个视图组成活动。有ActivityPointer视图,ActivityParty视图,以及特定活动的实际视图,如Faxphonecall

ActivityParty视图保留了所有与开箱即用的活动的关系。因此,如果您正在寻找通过本机查找相关的任何活动,则可以加入ActivityParty视图。

的SQL就像这样:

select distinct(pointer.ActivityId) from ActivityPointer pointer 
inner join ActivityParty party on pointer.ActivityId = party.ActivityId and 
party.PartyId= @accountId 
order by pointer.ActivityId 

,如果你需要使用一个特定实体的自定义关系,你就必须去实际活动视图FaxPhonecall

如果您想确切知道该帐户与哪个查询相关,则ActivityParty实体上有一个ParticipationTypeMask,您可以使用该实体确定它们是发件人,关于,密件抄送等。以下是指向SDK article.

+0

谢谢。这是否会获得拥有该账户作为所有者的联系人的活动? – Florian

+0

您可以使用类似的查询。 ActivityParty.PartyId字段可以是任何支持CRM中的活动的记录类型。因此,您可以传入contactId而不是accountId,然后对联系人视图执行额外的连接,然后在那里对父帐户进行筛选。 –

+0

好的。似乎与PartyObjectTypeCode我可以筛选联系人(2),只尝试查找他们的帐户。有没有更多的过滤器可以用来获得更好的性能? – Florian

相关问题