0

フォームに特定の値が設定されている場合にのみ [削除] ボタンを表示する必要があるカスタム エンティティがあります。これがカスタマイズされたリボン ボタンである場合、このEnable Rulesセクションを使用して JavaScript 関数を呼び出します。

だから、私はまさにそれをしました。システムの削除ボタンを非表示にして、独自のボタンを作成しました。しかし、新しく作成されたボタンに、元の削除ボタンが呼び出したのと同じ関数を呼び出す方法がわかりません。現在、ボタンで REST 関数を呼び出してレコードを削除していますが、System.Delete ボタンをクリックしたときのように UI が自動的に更新されません。

このすべての機能を自分で構築するのではなく、呼び出すことができるシステム JavaScript メソッドはありますか?

4

1 に答える 1

1

あなたの根本的な問題は、システムボタンを無効にする方法だと思います。そして良いニュースは、私たちは今それを行うことができるということですが、私の意見では、それは複雑な作業です. 詳細な手順は次のとおりです。 1. ExportXml を使用して、システム リボン ファイルをエクスポートします。(sdk\samplecode\cs\client\ribbon\exportribbonxml)

  1. 適切なリボン ファイルを見つけます。アカウントのリボンを変更する場合は、accountRibbon.xml を選択する必要があります。

  2. リボン ファイルを開き、非表示にするボタン定義ステートメントを見つけます。

4. これらのステートメントをカスタム エンティティの customizations.xml にコピーし、enablerule を変更します。

以下はサンプル コードで、ホームページ リボンでカスタム エンティティの新しいボタンを非表示にすることができました。

          <CustomAction Id="Mscrm.Form.new_purchaseorder.SaveAndNew.custom" Location="Mscrm.Form.new_purchaseorder.MainTab.Save.Controls._children">
            <CommandUIDefinition>
              <Button Id="Mscrm.Form.new_purchaseorder.SaveAndNew" ToolTipTitle="$Resources:Mscrm_Form_Other_MainTab_Save_SaveAndNew_ToolTipTitle" ToolTipDescription="$Resources(EntityDisplayName):Ribbon.Tooltip.SaveAndNew" Command="Mscrm.SaveAndNewPrimary.custom" Sequence="40" LabelText="$Resources:Ribbon.Form.MainTab.Save.SaveAndNew" Alt="$Resources:Ribbon.Form.MainTab.Save.SaveAndNew" Image16by16="/_imgs/ribbon/saveandnew16.png" Image32by32="/_imgs/ribbon/saveandnew32.png" TemplateAlias="o2" />
            </CommandUIDefinition>
          </CustomAction>

 <CommandDefinition Id="Mscrm.SaveAndNewPrimary.custom">
            <EnableRules>
              <EnableRule Id="Mscrm.NewRecordFromGrid.EnableRule1" />
              <EnableRule Id="Mscrm.AvailableOnForm" />
              <EnableRule Id="Mscrm.CanSavePrimary" />
            </EnableRules>
            <DisplayRules>
              <DisplayRule Id="Mscrm.CreatePrimaryEntityPermission" />
            </DisplayRules>
            <Actions>
              <JavaScriptFunction FunctionName="Mscrm.RibbonActions.saveAndNewForm" Library="/_static/_common/scripts/RibbonActions.js">
                <CrmParameter Value="PrimaryControl" />
              </JavaScriptFunction>
            </Actions>
          </CommandDefinition>

     <EnableRule Id="Mscrm.NewRecordFromGrid.EnableRule1">
              <CustomRule Library="$webresource:new_purchaseorder.js" FunctionName="NewRecordFromGrid_enablerule1" Default="false"></CustomRule>
            </EnableRule>
于 2013-10-10T09:54:45.847 に答える