【问题标题】:Hiding a Section on Dynamics 365 using JS使用 JS 隐藏 Dynamics 365 上的部分
【发布时间】:2016-12-15 19:54:28
【问题描述】:

我正在尝试获取一个字段值(这是一个两个选项复选框),如果选中,则将部分的可见性设置为 true,如果未选中,则将可见性设置为 false。我将它设置在字段上以在更改事件上调用该函数。

当我进入表单并选中该框或取消选中该框时,它会给我一个脚本错误。

这是我正在使用的功能:

function SetProductVisible(){


    if (Xrm.Page.getAttribute("ee_productspecific").getValue()){
         Xrm.Page.ui.tabs.get(“SubGrids”).sections.get(“Products”).setVisible(true);  
    }

    else{
        Xrm.Page.ui.tabs.get(“SubGrids”).sections.get(“Products”).setVisible(false);      
   }
};

感谢您的帮助。

字段默认值也设置为“否”

【问题讨论】:

  • 在浏览器中打开开发工具,然后执行产生错误的操作。脚本工具中的调试器应在异常处自动中断。我知道这是 Chrome 和 FF 开发工具的行为,对于 IE,您可能需要勾选一个选项以暂停异常。
  • 您很可能没有正确的选项卡或部分名称,首先检查表单上的选项卡/部分名称(自定义)。

标签: javascript dynamics-crm


【解决方案1】:

通过将 替换为",确保使用正确的引号。

如 cmets 中所述,还要确保为选项卡和部分使用正确的名称,并查看开发者控制台以获取有关错误的更多信息。

【讨论】:

  • 很可能是这个。代码中 'SubGrids' 和 'Products' 周围的 "' 需要手动替换。这通常发生在从浏览器复制和粘贴代码时
【解决方案2】:

这是您的解决方案...

我在 CRM 表单上创建了一个名为“log_showhide”的新字段,这是一个有两个选项的字段。您需要编辑下面的代码以将您的部分名称和字段名称与正确的值匹配...

此外,我会将代码设置为在加载表单以及更改字段时运行。

此方法适用于 Microsoft Dynamics 365 v9.x

function hideOrShow(executionContext){
  var a = executionContext.getFormContext().getAttribute("log_showhide").getValue();
  if (a == 0) {
    Xrm.Page.ui.tabs.get("SUMMARY_TAB").sections.get("sampleSection").setVisible(true);
  } else {
    Xrm.Page.ui.tabs.get("SUMMARY_TAB").sections.get("sampleSection").setVisible(false);
  }
}

【讨论】:

    【解决方案3】:

    我建议您使用业务规则,而不是使用自定义 Web 资源来显示/隐藏字段或部分。使用业务规则,您可以对一个字段的值进行简单检查,并基于此隐藏其他字段。

    【讨论】:

    • 像这个问题这样简单的条件,Business Rule 比 JS 更合适。
    • 除了BRs不能隐藏部分/标签。仅个别字段。
    【解决方案4】:

    另一种按字段的父项隐藏部分的方法。只需参考该部分的一个字段:

    function SetProductVisible()
    {
      var some_section = Xrm.Page.getControl("new_field_on_that_section_name").getParent();
      
      some_section.setVisible(Xrm.Page.getAttribute("ee_productspecific").getValue());
    };
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-06-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多