在Microsoft Dynamics CRM 4.0中,我希望能夠檢查任何實體類型的記錄是否被禁用。我想我可以檢查狀態碼。從我所看到的信息來看,零值表示該實體已啓用(可在CRM中編輯),其他任何值均表示禁用(用於在CRM中進行編輯)。如何判斷一個實體是否在Dynamics CRM 4.0中被禁用?
這個假設對所有實體都是正確的嗎?
編輯
如果我的假設是正確的,是有可能創造動態實體QueryExpression,做這樣的比較,而不是使用文本,「活動」,這是不正確的行情?
在Microsoft Dynamics CRM 4.0中,我希望能夠檢查任何實體類型的記錄是否被禁用。我想我可以檢查狀態碼。從我所看到的信息來看,零值表示該實體已啓用(可在CRM中編輯),其他任何值均表示禁用(用於在CRM中進行編輯)。如何判斷一個實體是否在Dynamics CRM 4.0中被禁用?
這個假設對所有實體都是正確的嗎?
編輯
如果我的假設是正確的,是有可能創造動態實體QueryExpression,做這樣的比較,而不是使用文本,「活動」,這是不正確的行情?
從我讀到的,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名映射到帳戶實體。
希望這會有所幫助。
編輯:剛纔看到你的補充。我想在大多數情況下你會安全使用StateCode。我個人在我的一個項目中使用它來排除潛在客戶和聯繫人實體上的禁用記錄。按照我所描述的方法再次檢查值映射,然後執行。
我已經更新了問題,使其更具可讀性。這是我想檢查的記錄,但是以任何實體類型的通用方式。檢查「激活」的問題是,當記錄被禁用編輯時,某些實體沒有「激活」,有些激活「激活」(在這些情況下,「草稿」表示可編輯)。 – Richard 2011-02-18 15:49:46