自动填写Microsoft CRM 2011实体中的名称字段

时间:2011-06-27 13:25:00

标签: dynamics-crm dynamics-crm-2011

我想在Microsoft Dynamics CRM 2011中填写自定义实体的名称字段。 我写了一个函数,将在该实体的onsave触发器中触发。

当不需要此字段时,此功能非常有效。但是他们希望这个领域是必需的。因此,当我尝试保存新记录时,我会收到一条消息,说明必须填写此字段。这意味着我的onsave函数永远不会被调用。

这是保存记录时调用的代码:

var ls_string = "";

// put some text in ls_string 

var myName = "";
if (myName != Xrm.Page.getAttribute("name").getValue()) {
   Xrm.Page.getAttribute("name").setValue(ls_string);
   Xrm.Page.getAttribute("name").setSubmitMode("always");           

}

1 个答案:

答案 0 :(得分:3)

嗯,取决于ls_string中的文本来自何处,您可以在触发保存事件之前执行名称字段的填充。

一个典型的例子是,当“名字”或“姓氏”字段发生变化时,将名称字段更新为“名字”+“姓氏”。

但是,使用客户端脚本填写字段不一定是最好的计划。最好使用插件来强制执行业务逻辑,以避免任何漏洞。

如果该字段是Business Required,这没有帮助,但是我没有看到该标志实际给你带来什么好处...如果你真的,真的需要业务需要的标志,那么你会填写一个虚假的价值在客户端脚本中,并始终在插件中覆盖它。