CRM 2011 - 动态更改表单ISSUE - JS错误(无法执行代码......)

时间:2011-12-16 09:50:11

标签: javascript dynamics-crm-2011 crm

在表单的onload中,我检查表单的类型,并根据我加载正确的表单。这有效但当表单重新加载到新表单时,我得到以下“JavaScript”-error => Kan programmacode niet uitvoeren vanuit een vrijgegeven script(无法执行自由脚本中的代码,我猜)。

我正在使用的代码如下:

avento_customertypecodeChange = function () {
    var lblShow = "information";
    var picklistName = Xrm.Page.getAttribute("customertypecode").getSelectedOption().text.toLowerCase();
    if (picklistName.contains("hc")) {
        lblShow = "information hc";
    }
    else {
        lblShow = "information";
    }

    var newIndex = -1;

    var currentName = Xrm.Page.ui.formSelector.getCurrentItem().getLabel().toLowerCase();
    if (currentName != lblShow) {
        Xrm.Page.ui.formSelector.items.forEach(function (item, index) {
            var itemLabel = item.getLabel().toLowerCase();
            if (itemLabel == lblShow) {
                newIndex = index;
            }
        });
    }

    if (newIndex != -1) Xrm.Page.ui.formSelector.items.get(newIndex).navigate();
}

两种表单都引用相同的“JavaScript”文件。那是问题吗?如何在没有此错误的情况下实现此目标的最佳方法是什么?我正在寻找几个小时,我没有找到一个好的解决方案,我仍然有这个恼人的错误!我希望你们遇到这个问题,能够帮助我。

1 个答案:

答案 0 :(得分:0)

我通过使用几个技巧解决了这个问题,但它不受支持:

  1. 我将新的“FormID”写入数据库
  2. 我刷新整个页面
  3. 该页面会记住它是什么FormID并打开正确的表格
  4. 缺点:

    1. 在创作上,我们应采取什么形式? =>如果表单想要自动更改,您将获得“放弃/保存更改”屏幕...
    2. 不受支持
    3. 我认为发生了上述错误,因为我们希望在从表单切换时多次打开相同的“Javascripts”-webresources。

      你们中是否有人有正确的方式进行动态表单切换?