setSubmitMode方法在用户之间表现不同

时间:2012-04-05 17:49:01

标签: javascript dynamics-crm-2011 outlook-2010

我有两个自定义选项列表:类型和持续时间。类型选择列表有两个选项,持续时间有三个。根据他在类型选项列表中选择的内容,两个变量之一将传递给OOTB描述文本框。根据他在选项列表的两个中选择的内容,六个变量中的一个将传递到自定义保修文本框。两个文本框都是可编辑的,因此他可以根据需要调整段落长的变量。

问题1 :setSubmitMode方法最初不存在。当它不存在时,他无法修改引用。 解决方案1 ​​:我在OnChange事件上将setSubmitMode设置为“always”。

问题2 :当他试图修改引用时,它会抛出一个只读错误但仍允许他修改并保存引用。 解决方案2 :我在OnChange事件上将setSubmitMode设置为'dirty',并将带有setSubmitMode的OnSave事件添加到'always'。

问题3 :当他尝试修改报价时,他会收到“您是否要保存更改”对话框。当他点击“是”时,它会消除他的更改,当他点击“否”时,引号允许他修改它... 我无法生成用户正在获取的对话框。

我们在CRM for Outlook和浏览器中尝试了这一点。

如果有必要知道,在我们的两个菜单中,它看起来都会打开一个新的报价窗口。但是,在我的情况下,新窗口会在Outlook中没有对话框的情况下立即关闭。但在浏览器中,它也会关闭原始表单。 (这不是理想的,但仍然比他得到的要好。)

谢谢&问候, 中号

1 个答案:

答案 0 :(得分:0)

我不确定是否完全理解你的问题,但对于那些问题,我总是使用相同的解决方案。在OnSave事件中,我使用此代码来保存由javascript编辑的只读字段:

 if (Xrm.Page.getAttribute("my_field").getIsDirty()) {
    Xrm.Page.getAttribute("my_field").setSubmitMode("always");
 }

没有setSubmitMode(“dirty”)或其他任何内容。即使是onChange事件。

我希望它有所帮助,否则请不要犹豫,为您的流程添加更多信息。

凯文