Dynamics CRM 2011如何将字符串字段设置为唯一?

时间:2011-10-24 08:10:59

标签: dynamics-crm-2011 microsoft-dynamics

我想在我的自定义实体中添加一个字段“单行文本”,该字段应该是唯一的。 当我尝试创建重复值时,如何让Crm向我抛出异常 记录?

3 个答案:

答案 0 :(得分:8)

您必须为此要求创建一个插件,该插件处理此实体的预创建/预更新步骤。在此插件中,您必须检查传递的值是否唯一。如果不是,则抛出一个异常,取消操作并向用户显示一个对话框(如果插件同步运行)。

throw new InvalidPluginExecutionException("Value passed for 'attribute' is not unique.");

答案 1 :(得分:1)

据我所知,你不能通过配置来做到这一点。

您需要使用一些客户端代码来查询该字段的现有值,以查看新输入的值是否唯一。您可以使用jQuery和CRM REST服务(ODATA)之类的东西来对字段执行异步验证;它可能不是即时的,你可能需要考虑如何呈现给用户。

或者你可以通过工作流来做到这一点,但这更不是即时的 - 它可能必须在保存后触发。

答案 2 :(得分:-1)

另一种选择是直接在数据库中创建唯一的SQL索引。