2014-02-12 45 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

相關問題