【问题标题】:Where to find all activities of a account in crm 2011 SQL在crm 2011 SQL中在哪里可以找到帐户的所有活动
【发布时间】:2014-03-10 22:47:36
【问题描述】:

我正在尝试查找 crm 2011 中与特定帐户(公司)有任何关联的所有活动。我怎样才能存档呢?

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

【问题讨论】:

    标签: sql dynamics-crm-2011 dynamics-crm


    【解决方案1】:

    对于 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.的链接

    【讨论】:

    • 谢谢。这会获取以该帐户为所有者的联系人的活动吗?
    • 您可以使用类似的查询。 ActivityParty.PartyId 字段可以是支持 CRM 中活动的任何记录类型。因此,您可以传入 contactId 而不是 accountId,然后额外加入 Contact 视图,然后在那里过滤父帐户。
    • 好的。似乎使用 PartyObjectTypeCode 我可以过滤联系人(2)并且只尝试为他们查找帐户。我可以应用更多过滤器来获得更好的性能吗?
    • 这取决于你需要它做什么。您可以过滤活动/非活动活动记录,或者如果您只关心一个特定的参与类型掩码,您也可以对其进行过滤。不知道全部要求很难说。
    猜你喜欢
    • 1970-01-01
    • 2014-08-08
    • 1970-01-01
    • 2019-04-08
    • 1970-01-01
    • 1970-01-01
    • 2011-10-22
    • 2013-05-08
    • 1970-01-01
    相关资源
    最近更新 更多