【问题标题】:Javascript / MS Dynamics CRM 2016: Changing value of option set field using confirm boxJavascript / MS Dynamics CRM 2016:使用确认框更改选项集字段的值
【发布时间】:2016-06-16 22:58:58
【问题描述】:

我在 Dynamics CRM 中有一个选项集字段,它有两个值:“进行中”(默认)和“已完成”。使用 JavaScript,我想发出一个在字段事件 OnChange 期间触发的确认框。确认框警告用户,如果用户选择了“已完成”,它将锁定记录中的所有其他字段。

无论如何,我编写了我的代码,确认框将设置选项集的值。出于某种原因,它不会更改字段的值。如果用户点击“已完成”,当用户在确认框中点击“取消”进行确认和验证时,仍会将字段值设置为“已完成”。为什么它不会设置字段值?这是我的代码:

function confirmTaskStatus() {
if (Xrm.Page.getControl("moc_taskstatus").getDisabled()){
    var taskStatusValue;
    var message = "Do you want to set this Task to Completed? 
                  You cannot edit, change or add anything to the Project Task fields 
                  once it is set to Completed";

  if (confirm(message) == true) {

      taskStatusValue = 223770000; // Display Label = "Completed" 
      Xrm.Page.getControl("moc_taskstatus").setDisabled(true);

      } else {

      taskStatusValue = 223770001; // Display Label = "In Progress"

    }

    Xrm.Page.getAttribute("moc_taskstatus").setValue(taskStatusValue);


}  
}


function saveTaskStatus() {
window.setTimeout(confirmTaskStatus, 1000);
}

可怜我吧;我对脚本和 Dynamics CRM 还是很陌生。

【问题讨论】:

    标签: javascript dynamics-crm dynamics-crm-online


    【解决方案1】:

    看起来该控件已禁用(通过查看您的代码 sn-p)。 已禁用属性 SubmitMode 设置为 false,这意味着 CRM 将忽略对该属性的任何更新,除非您在值更新后通过调用 SetSubmitMode 强制 CRM 保存它。

    Xrm.Page.getAttribute("moc_taskstatus").setValue(taskStatusValue);
    Xrm.Page.getAttribute("moc_taskstatus").setSubmitMode('always');
    

    【讨论】:

      猜你喜欢
      • 2019-03-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-13
      • 1970-01-01
      相关资源
      最近更新 更多