今回はD365BCのページレイアウトを変更する方法の一つを紹介します。一覧画面に項目追加したい、あるいは伝票画面の項目の位置を変更した、というようなケースはよくあると思います。これらを実現する方法は大きく分けると以下の3つです。
1. パーソナライズ
2. デザイン
3. ALでコーディング
パーソナライズは個人単位で変更するものであり、「自分の好きにできる」というメリットの一方で「組織全体で変更する」という要件にはマッチしません。デザインによる変更は全体で変更することができる一方で、本番環境(Production系のEnvironment)には直接反映できずSandbox経由で作成したExtensionを本番に適用するという手間がかかります。ALによる変更はプログラムのスキルが必要です。
今回紹介する方法は本番環境で全体共通で変更する方法です。ただし「ロールセンター単位」という制約が付きます。ロールセンター単位という制約はありますが、全体共通で変更を反映できるのは非常に有用なので紹介します。
D365BCの本番環境にサインインします。
レイアウト変更の対象としてGeneral Ledger Entriesを例にとります。会計の仕訳が記録される基本中の基本のデータを照会する画面です。
General Ledger Entriesの一覧画面です。ここには転記済の会計仕訳が表示されますが、非常に残念なことにG/L Account(勘定科目)の名称が表示されていません。そこでG/L Account Nameを追加します。
Sandboxであれば歯車アイコンからDesignを選んで以下のように追加できますが、Production系の環境はDesignが使用できません。
PersonalizeであればProduction系の環境でも使用できますが、個人単位で設定する必要があります。
そこでロールセンター単位のカスタマイズという機能を使用します。まずは自分のロールセンターを確認します。歯車アイコンをクリックすると自分が現在使用しているロールセンターを確認できます。
虫眼鏡ボタンでキーワード ’Role’ で検索し Profile (Role) を選択。
自分が今使用している(≒変更したい)ロールセンターを明細選択します。
Customize Pages を選択。
ブラウザのタブが新規で起動します。ロールセンターの各パーツをマウスオーバーすると赤枠が表示されます。ここでパーツの移動や削除などのレイアウト変更ができますが、今回の本題ではないのでここではやりません。
虫眼鏡ボタンから General Ledger Entries を呼び出します。
レイアウト変更が可能な状態で General Ledger Entries 画面が開きました。ここで「+ Field」をクリックします。
すると、Personalize や Design の画面と同様に項目の追加ができます。右側の枠で Name でキーワード検索してヒットした ’G/L Account Name’ をドラッグ&ドロップします。
このようにG/L Account Name(勘定科目名)を列追加できました。列追加が完了したら Done ボタンをクリック。
これで作業完了です。ブラウザのタブは閉じてOKです。
元々表示していた General Ledger Entries 画面をF5でリフレッシュすると G/L Account Name が追加されています。
別のロールセンターにはこの変更が反映されていないことを確認しましょう。歯車アイコンからMy Settingsをクリック。
ロールセンターの右側の「…」をクリック。
ロールセンター一覧から別のロールセンターを選択してOKをクリック。
ロールセンターが切り替わっていることを確認してOKをクリック。
これでロールセンターが切り替わりました。G/L Account Name が表示されていないことが分かります。
このレイアウト変更がロールセンターにどのように記録保持されているかを確認します。Profiles(Roles)一覧画面から Business Manager ロールを選択して開きます。
Related メニューの下の Manage customized pages を選択。
するとこのロールセンターに対してレイアウト変更した画面の一覧が表示されます。いまは1件だけ General Ledger Entries が表示されています。
レイアウト変更を消したい場合は ロールセンターのカード画面から Clear customized pages をクリックします。
するとレイアウト変更がクリアされる旨の警告が表示されます。Yesを選択。
本当に削除されたか念のため見ておきましょう。
削除されていますね。
このロールセンターで改めて General Ledger Entries を見に行くと G/L Account Name が表示されなくなったことが分かります。確かに削除されました。
Role(Profile)のTipsですが、パーソナライズを禁止することもできます。ロールセンターのカード画面で Disable Personalization をONにします。
すると、歯車アイコンからPersonalizeを実行しようとしても、、
以下のエラーが表示されてパーソナライズによる画面レイアウトの変更ができません。
ロールセンター単位のレイアウト変更は、追加可能な項目を見る限りパーソナライズと同レベルのようです。ですが、適用範囲は個人単位ではなくロールセンターを使用する全ユーザーが対象かつProduction環境で直接実施できるので非常に有用です。パーソナライズの禁止と合わせて使えば便利な機能だと思います。ぜひ使ってみてください。