【问题标题】:CRM 2011: Enable bulk editing only on certain entitiesCRM 2011:仅在某些实体上启用批量编辑
【发布时间】:2012-07-13 06:40:25
【问题描述】:

我目前正在寻求对除少数实体以外的所有实体禁用批量编辑,其中之一是“Campaign Response”实体。

为了实现这一点,我做了以下工作:

  • 在全局级别隐藏 OOTB 编辑按钮(据我所知,您无法以这种方式编辑 OOTB 功能区按钮)
  • 在全局级别创建一个新的自定义编辑按钮(减去 SelectionCountRule 节点)
  • 对于我需要批量编辑的每个实体:
    • 隐藏自定义编辑功能区按钮
    • 使用 SelectionCountRule 节点创建一个新的自定义编辑按钮。

现在这一切正常,直到我进入任何实体上的活动子网格。由于我处理此问题的方式,活动表单上现在有 2 个编辑按钮(一个用于常规编辑按钮,一个用于活动响应的编辑按钮)。

我不确定如何准确解决此问题,但我有一个想法,我需要一些帮助:

  • 删除“批量编辑”编辑按钮
  • 在全局级别,在自定义编辑按钮的选择规则中添加 JavaScript
    • JavaScript 将获取所选实体的逻辑名称(在所有子网格上)
    • 如果实体是活动响应,则启用(或附加?)SelectionCountRule 到功能区

我不确定这是否可能。我主要不确定 JavaScript 到功能区启用规则允许什么

【问题讨论】:

    标签: javascript dynamics-crm-2011


    【解决方案1】:

    没关系,伙计们,

    原来我所要做的就是覆盖 OOTB 按钮 (如图所示:http://howto-mscrm.blogspot.com.au/2011/04/how-to-series-6-how-to-overrideenable.html)带有一些简单的 XML:

    <EnableRule Id="sample.AllGrids.AllEntities.MainTab.Management.Edit.Command.EnableRule.CustomRule">
      <CustomRule FunctionName="canBulkEdit" Library="$webresource:new_sample_generic_functions_javascript_library">
        <CrmParameter Value="SelectedControlSelectedItemCount" />
        <CrmParameter Value="SelectedEntityTypeName" />
      </CustomRule>
    </EnableRule>
    

    还有一些 JavaScript:

    canBulkEdit = function (oSelectedControlSelectedItemCount, oSelectedEntityTypeName) {
        var canBulkEditEntity = false;
        if (oSelectedControlSelectedItemCount < 2 || oSelectedEntityTypeName == "campaignresponse")
            canBulkEditEntity = true;
    
        return canBulkEditEntity;
    }
    

    还必须对 ActivityPointer“实体”做一些额外的调整。原来活动指针有一个不同的批量编辑按钮

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-01-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-04-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多