0

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

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

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

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

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

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

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

4

1 回答 1

0

小伙伴们别说

原来我所要做的就是覆盖 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“实体”做一些额外的调整。原来活动指针有一个不同的批量编辑按钮

于 2012-07-12T03:25:54.170 回答