如何判断Dynamics CRM 4.0中是否禁用了实体?

时间:2011-02-18 15:30:39

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

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

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

修改

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

1 个答案:

答案 0 :(得分:0)

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

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

您的意思是个人实体记录吗?如果是这样,您将必须检查StateCode以查找您正在查看的实体。我认为大多数实体正如您所描述的那样使用StateCode,但对于某些实体,例如Activities,它似乎有所不同。

以下是我发现的一些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映射到帐户实体。

希望这有帮助。

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