【问题标题】:How can I tell if an entity is disabled in Dynamics CRM 4.0?如何判断一个实体是否在 Dynamics CRM 4.0 中被禁用?
【发布时间】:2011-06-29 21:55:39
【问题描述】:

在 Microsoft Dynamics CRM 4.0 中,我希望能够检查是否禁用了任何实体类型的记录。我想我可以检查状态码。从我看到的信息来看,零值表示实体已启用(可在 CRM 中编辑),任何其他值表示已禁用(可在 CRM 中编辑)。

这个假设对所有实体都正确吗?

编辑

如果我的假设是正确的,是否可以为进行此类比较的动态实体创建 QueryExpression,而不是使用文本“Active”,这对于引号是不正确的?

【问题讨论】:

    标签: dynamics-crm dynamics-crm-4 crm


    【解决方案1】:

    根据我的阅读,StateCode 不一定对每个实体都相同。它因实体而异。

    我不知道禁用实体的方法。我仔细检查了我们的安装,但没有看到任何禁用选项。谷歌也没有为此产生任何结果。

    您的意思可能是单个实体记录?如果是这样,您必须检查您正在查看的实体的 StateCode。我认为大多数 实体使用您所描述的 StateCode,但对于某些实体,例如活动,它似乎略有不同。

    这是我发现的一些 SQL,用于拉回特定实体的 StateCode/StatusCode 详细信息:

    select 
        AttributeName, 
        AttributeValue,
        Value
    from dbo.StringMap 
    where
    (dbo.StringMap.AttributeName = 'statuscode' 
    or
    dbo.StringMap.AttributeName = 'statecode')
    and 
    dbo.StringMap.ObjectTypeCode = 1
    

    ObjectTypeCode 1 映射到 Account 实体。

    希望这会有所帮助。

    编辑:刚刚看到你的补充。我认为在大多数情况下使用 StateCode 是安全的。我个人在我的一个项目中使用它来排除潜在客户和联系人实体上的禁用记录。只需仔细检查我所描述的值映射,然后实施。

    【讨论】:

    • 我已更新问题以使其更具可读性。这是我要检查的记录,但以任何实体类型的通用方式。检查“活动”的问题是当记录被禁用编辑时,一些实体没有“活动”,而一些实体有“活动”(在这些情况下,“草稿”意味着可编辑)。
    • 你可能不得不让它变得更复杂。如果 0 映射到实体上的“已发布”并且“草稿”是可编辑设置,则您将遇到冲突,因为联系人和潜在客户的 0 表示可编辑。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-07
    • 1970-01-01
    • 2011-06-22
    • 1970-01-01
    相关资源
    最近更新 更多