Dynamics CRM 2013/Fall ’13 コマンドバーのカスタマイズ その 7


みなさん、こんにちは。

今回は既存のボタンに対するカスタマイズを紹介します。すでに
これまでの記事の内容を理解している前提となりますので、まだ
以前の記事をご覧でない場合、以下リンクを参照してください。

Dynamics CRM 2013/Fall '13 コマンドバーのカスタマイズ その 1
Dynamics CRM 2013/Fall '13 コマンドバーのカスタマイズ その 2
Dynamics CRM 2013/Fall '13 コマンドバーのカスタマイズ その 3
Dynamics CRM 2013/Fall '13 コマンドバーのカスタマイズ その 4
Dynamics CRM 2013/Fall '13 コマンドバーのカスタマイズ その 5
Dynamics CRM 2013/Fall '13 コマンドバーのカスタマイズ その 6

シナリオ

取引先企業のグリッドコマンドバーにおいて、新規ボタンの画像
を変更し、文字列を「作成」に変更する。

image

サポートされる内容

コマンドバーのカスタマイズについては、既存のコマンド定義の
再利用はサポートされますが、JavaScript 関数の利用はサポート
されません。またコマンド定義についても将来的な変更や廃止は
すべて Microsoft がその権限を持っているものとされています。

既存ボタンのカスタマイズ

既存ボタンをカスタマイズするには、同じ ID を指定することで
上書きする必要があります。ただしデータベースのレコードを
上書きするわけではなく、カスタマイズが上位のレイヤーとして
挿入されるため、もともとある定義は変更されません。

1. Command Bar Test ソリューションをエクスポートして、解凍
した Customizations.xml を開きます。

2. 以前紹介した方法ですでに新規ボタンの ID を探します。該当
の Button 定義をまるまるコピーします。

3. エンティティリボンに以下の CustomAction を追加します。
Button 定義はコピーしたものを張り付けます。

LabelText とImage16by16 のみ変更しています。

image

4. 変更を保存してソリューションをインポートした後、すべて
のカスタマイズの公開を行い、ブラウザをリフレッシュします。

5. 取引先企業グリッドを表示します。

image

6. ボタンをクリックして、新規ボタンと同じ動作となるか
確認します。

必要に応じて複数言語対応も検討してください。

まとめ

コマンドバーのカスタマイズは Customizations.xml を直接編集
する必要があるため、慣れが必要です。また複数の方法で同じ
結果を達成できるため、要件や状況に合わせて適切な方法を
選択する必要があります。

ただし、既定のボタンを隠したい場合はまず権限をはく奪する
ことで対応するように検討してください。

- 中村 憲一郎

Comments (2)

  1. xrm user より:

    いつも大変参考にさせていただいております。
    時間の経過しているエントリに対する質問で恐縮ですがよろしくお願いします。

    Dynamics CRM 2016 設置型で、業務プロセスフローを定義したエンティティにて、
    エンティティ個別のRibbonDiffXmlに追加したカスタムボタンが消えてしまうという現象が発生しています。

    再現手順としてましては、以下の④の時点でカスタムボタンが消えた状態で表示されてしまいます。

    ①エンティティを開く
     (※このエンティティは業務プロセスフローを定義し、且つRibbonDiffXmlにカスタムボタンを追加しています)
    ②リボンの「…」をクリックし、一度カスタムボタンを表示する
    ③業務プロセスフローのステージを変更する
    ④リボンの「…」をクリックする

    何らかの回避方法がありましたら、教えていただけないでしょうか。
    よろしくお願いいたします。

    1. Takaya Kawano より:

      コメントいただきありがとうございます。
      大変恐縮でございますが、トラブルシューティングについては弊社サポートチームへお問い合わせ頂ければと思います。

      – 河野 高也

Skip to main content