2

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

问题 1:setSubmitMode 方法一开始不存在。当它不存在时,他无法修改报价。 解决方案 1:我在 OnChange 事件上将 setSubmitMode 设置为“始终”。

问题 2:当他试图修改报价时,它会抛出一个只读错误,但仍然允许他修改并保存报价。 解决方案 2:我在 OnChange 事件上将 setSubmitMode 设置为“脏”,并添加了一个带有 setSubmitMode 的 OnSave 事件为“始终”。

问题 3:当他试图修改报价时,他得到一个“你想保存你的更改”对话框。当他单击“是”时,它会清除他的更改,当他单击“否”时,引用允许他修改它......我无法生成用户正在获取的对话框。

我们已经在 CRM for Outlook 和浏览器中进行了尝试。

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

谢谢和问候,米

4

1 回答 1

0

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

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

没有 setSubmitMode("dirty") 或其他任何东西。即使在 onChange 事件中。

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

凯文

于 2012-08-01T13:11:27.823 回答