0

CRM 2011 でリボン ボタンを動的に作成する方法を教えてください。シナリオは、レコードを作成するときに、そのレコードで選択されたオプションセットの値に基づいて 1 つのリボン ボタンを動的に作成する必要があるというものです。JScript、プラグイン、またはワークフローを使用して機能させることはできますか? ここでは、有効化ルールまたは表示ルールは役に立たず、XML コードに触れるべきではありません。

4

4 に答える 4

3

簡単な原則: リボン ボタンはレコードの一部ではなく、UI の一部です。探しているレコードに基づいて UI を変更できます。したがって、レコードにボタンを「追加」することはできません。エンティティ フォームにボタンを追加できます。

プラグインはここでは絶対に機能しません。「バックエンド」でロジックを実行します。JavaScript は機能するかもしれませんが、これは非常に扱いにくいと思います。リボン Xml を編集する必要があります。現在、リボンを編集するための優れた機能があります:リボン ワークベンチ。このツールを使用すると、リボンの編集が大幅に簡単になります (これは XML の編集ですが、これが意図された方法です)。

それから私はあなたがする必要があると思います

  1. アクションごとにリボン ボタンを作成します。
  2. 次に、このチュートリアルに従って、それらを有効または無効にします:フォームの値に基づいてリボン ボタンを動的に有効/無効にします。
于 2012-10-08T10:17:31.050 に答える
0

これを行うには、表示ルールを使用するのが正しい方法です。

複数のボタンを作成し、選択したオプションがボタンの名前と等しい場合の表示ルールを設定します。

于 2012-10-13T22:21:14.887 に答える
0

2つの方法でそれを行うことができます-

プラグイン経由: (注: サンドボックス モードでは機能せず、時間がかかります。)

  • 1 つのソリューションを作成し、指定されたエンティティをそれに追加します。ソースコード はこちら

  • このソリューションをTempフォルダーにエクスポートし、解凍します。

  • customizations.xml ファイルを編集して、独自の RibbondiffXml タグを追加します。

  • すべての XML ファイルを圧縮し、CRM にインポートします。

  • カスタマイズを公開します。

XML 編集を介して:

  • アプリケーション リボンをエクスポートし、XML を更新してボタンを追加し、すべての場所でエンティティ名を {!EntityLogicalName} に置き換えます。例: <CustomAction Id="New.{!EntityLogicalName}.MyButton.CustomAction" Location="Mscrm.HomepageGrid.{!EntityLogicalName}.MainTab.Management.Controls._children" Sequence="70">...
  • EnableRule を追加して、現在のエンティティに構成レコードが存在する場合にのみこのボタンを有効にします。

    <EnableRule Id="New.{!EntityLogicalName}.MyButton.Check"> <CustomRule FunctionName="checkConfigRecord" Library="$webresource:new_/Scripts/ValidateConfigRecords.js"> <CrmParameter Value="SelectedEntityTypeName" /> </CustomRule> </EnableRule>

  • 特定のエンティティに存在する構成レコードをカウントする関数checkConfigRecordを含む、 new_/Scripts/ValidateConfigRecords.jsという名前の JavaScript ライブラリを 1 つ作成します。count が 1 より大きい場合はtrueを返します。それ以外の場合はfalse

  • ApplicationRibbon Zip ファイルをインポートする
于 2012-12-14T15:41:01.000 に答える