禁用多选项 Select(自定义)CRM 365

Disable Multi Option Select (Custom) CRM 365

我找到了一个名为AmbekNet.Multiselect选项的解决方案,这里是解决方案: Solution gitHub

在我的 CRM(8.2 v1612) 中,我想根据对另一个字段的选择来阻止所有字段。

我用javascript禁用了所有的表单,但是多选项选择被平均启用了。

AmbekNet 的解决方案是生成布尔字段的按钮,我尝试获取 webResource 和元素按钮并阻止它,但它不起作用。

这是我的 javascript 代码,用于禁用所有字段:

function setFieldDisabled() {
var optionset = Xrm.Page.getAttribute("abs_tipodecuenta").getValue();
if (optionset == null)
{
    Xrm.Page.getAttribute("abs_tipodecuenta").setValue(100000000);
    Xrm.Page.getControl("abs_tipodecuenta").setDisabled(true);
}
    if (Xrm.Page.getAttribute("abs_tipodecuenta").getText() == 'Clientes' ||
        Xrm.Page.getAttribute("abs_tipodecuenta").getText() == 'Agencias' ||
        Xrm.Page.getAttribute("abs_tipodecuenta").getText() ==                                                 
        'Distribuidores') 
    {
           disableFormFields();
    } 
    else {
          enableFormFields();
          Xrm.Page.getControl("abs_tipodecuenta").setDisabled(true);
    }
}

function disableFormFields()
{
   Xrm.Page.ui.controls.forEach(function (control, index) {
       var controlType = control.getControlType();
       if (controlType != 'iframe' && controlType != 'webresource' && 
       controlType != 'subgrid')
       {
           control.setDisabled(true);
       }
   });
}


function enableFormFields()
{
   Xrm.Page.ui.controls.forEach(function (control, index) {
       var controlType = control.getControlType();
       if (controlType != 'iframe' && controlType != 'webresource' && 
       controlType != 'subgrid')
       {
           control.setDisabled(false);
       }
   });
}

这是我要阻止的 iframe: MultiSelect

有人知道怎么屏蔽吗?

谢谢大家!

已解决!

在 abr_multiselect.js 文件中,我在方法 javascript:

中添加了这一行
function setValue(controlName, value) {
try {
    var attr = window.parent.Xrm.Page.getAttribute(controlName);

    if (window.parent.Xrm.Page.getAttribute("abs_tipodecuenta").getValue() 
    == 100000000)
    {
    alert(value + "guardando");
        attr.setValue(value);
        attr.setSubmitMode("always");
    }

}
catch (e) {
    if ( window.console && window.console.log )
    console.log("Error: setValue", controlName, e.message);
    }
};

仅当我的字段值为 100000000 时才设置值并保存。