2012-07-11 86 views
0

我目前正在尋求對除少數實體(其中之一爲「廣告系列響應」實體)的所有實體禁用批量編輯。CRM 2011:僅在某些實體上啓用批量編輯

要acheieve這個我也做了以下內容:

  • 隱藏在全球範圍內的開箱即用的編輯按鈕(據我知道你不能編輯這樣開箱即用的功能區按鈕)
  • 創建在全球範圍內新的自定義編輯按鈕(減去SelectionCountRule節點)
  • 對於那些我需要批量編輯每個實體:
    • 隱藏的自定義編輯功能區按鈕
    • 用SelectionCountRule節點創建一個新的自定義編輯按鈕。

現在,這一切工作正常,直到我轉到活動分格上的任何實體。由於我處理此問題的方式,活動表單上現在有2個編輯按鈕(一個用於常規編輯按鈕,另一個用於廣告系列響應的編輯按鈕)。

我不知道如何準確地解決這個問題,但我有一個想法,我需要一些幫助:

  • 刪除「批量編輯」編輯按鈕
  • 在全球層面,添加JavaScript中的自定義編輯按鈕的選擇規則
    • 的JavaScript將獲得所選實體的邏輯名稱(在所有子網格)
    • 如果實體活動響應,啓用(或追加?)SelectionCountRule到色帶

我不確定這是否可能。我不確定主要是圍繞什麼JavaScript來實現綬規則允許

回答

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; 
} 

也不得不做一些額外的調整到ActivityPoi 「實體」。結果活動指針具有不同的批量編輯按鈕