plugins - 在 C# 中获取状态码文本

标签 plugins dynamics-crm-2011

我正在使用插件,并希望根据记录状态代码值执行操作。我在网上看到您可以使用 entity.FormattedValues["statuscode"] 从选项集中获取值,但是当尝试它时,我收到一条错误消息“字典中不存在给定的键” .

我知道当插件无法找到您要查找的字段的更改时,可能会发生这种情况,但我已经使用 entity.Contains("statuscode") 检查了它是否存在它通过了,但仍然遇到这个错误。

谁能帮我找出失败的原因吗?

谢谢

最佳答案

我之前没有见过entity.FormattedValues

我通常使用entity.Attributes,例如entity.Attributes["statuscode"].

MSDN

<小时/>

编辑

Crm 将许多值包装在包含附加信息的对象中,在本例中,statuscode 使用 OptionSetValue,因此要获取您需要的值:

((OptionSetValue)entity.Attributes["statuscode"]).Value

这将返回一个数字,因为这是 Crm 中的基础值。

如果您在 Crm 中打开自定义选项,您通常(某些系统字段被锁定)能够看到每个选项的标签和值。

enter image description here

如果您需要标签,您可以根据 Crm 中的信息进行一些硬编码。

或者您可以按照描述从元数据服务检索它 here

关于plugins - 在 C# 中获取状态码文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12406864/

相关文章:

android - Flutter 和 Dart 插件未安装

dynamics-crm - 构建实体表单 URL

php - 我的第一个基本 wordpress 插件有问题

git - 来自私有(private) GitHub 存储库的 Cordova 插件

gradle - 更改默认Gradle依赖文件扩展名

javascript - 如何更改父表单查找值

javascript - 在 CRM 2011 Javascript 中获取架构名称

c# - 从 CRM 插件订阅 Azure 服务总线主题

dynamics-crm-2011 - 使用 Dynamics CRM 2011 进行敏捷风格开发

java - 如何解决java.lang.StringIndexOutOfBoundsException : String index out of range: -325 while deploying Liferay Ext plugin 6. 1