2011-06-27 146 views
0

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

当这个字段不是必需的时,此函数可以正常工作。但他们希望这个领域是业务所需。所以当我尝试保存一条新记录时,我收到一条消息,说明该字段必须填写。这意味着我的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");   

} 

回答

3

嗯,以及不同的地方在ls_string文本从何而来,您可以在保存事件被触发之前做name字段的人口。

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

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

如果该字段是Business Required,这并没有帮助,但我没有看到该标志实际给您带来的优势......如果您确实需要业务所需的标志,那么您将填入一个假的值在客户端脚本中,并且始终将其覆盖在插件中。

+0

+1'最好使用插件来执行业务逻辑' – ccellar

相关问题