Dynamics Crm:获取用于状态码/状态码映射的元数据 [英] Dynamics Crm: Get metadata for statuscode/statecode mapping
问题描述
在Dynamics CRM 2011中,在事件实体上,状态原因"选项集(aka状态码)与状态"选项集(aka状态码)相关
In Dynamics CRM 2011, on the Incident entity, the "Status Reason" optionset (aka statuscode) is related to the "Status" optionset (aka statecode)
例如看到此屏幕截图
当我使用API检索状态原因"选项集时,如下所示:
When I use the API to retrieve the Status Reason optionset, like so:
RetrieveAttributeRequest attributeRequest = new RetrieveAttributeRequest
{
EntityLogicalName = "incident",
LogicalName = "statuscode",
RetrieveAsIfPublished = true
};
RetrieveAttributeResponse attributeResponse = (RetrieveAttributeResponse)serv.Execute(attributeRequest);
AttributeMetadata attrMetadata = (AttributeMetadata)attributeResponse.AttributeMetadata;
StatusAttributeMetadata statusMetadata = (StatusAttributeMetadata)attrMetadata;
var dict = new Dictionary<int?, string>();
foreach (OptionMetadata optionMeta in statusMetadata.OptionSet.Options)
{
dict.Add(optionMeta.Value, optionMeta.Label.UserLocalizedLabel.Label);
}
它的工作方式是获得状态原因"(状态代码)选项的整个列表.但是,我没有任何有关哪个状态原因"(状态代码)选项与哪些状态"(状态代码)选项相关的信息.
It works in that I get the whole list of "Status Reason" (statuscode) options. However, I dont get any info about which "Status Reason" (statuscode) options relate to which "Status" (statecode) options.
我如何获取该信息?
推荐答案
您已经拥有一切,请尝试将此代码插入到foreach中:
You already have everything try insert this code inside of foreach:
int stateOptionValue = (int)((StatusOptionMetadata)optionMeta).State;
请参见 StatusAttributeMetaData.OptionSet.Options 层次结构可以返回如果使用类型为 StatusOptionMetadata 的类型, StatusOptionMetadata,它将返回此状态码所属的状态码.
See StatusAttributeMetaData.OptionSet.Options hierarchy can return a type called StatusOptionMetadata if you use the State property of the StatusOptionMetadata, it will return the statecode this statuscode belongs to.
这篇关于Dynamics Crm:获取用于状态码/状态码映射的元数据的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!