繁体   English   中英

Javascript / MS Dynamics CRM 2016:使用确认框更改选项集字段的值

[英]Javascript / MS Dynamics CRM 2016: Changing value of option set field using confirm box

我在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的新手。

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM