2016年

6月

03日

【JPIERE-0180】フィールドの同期

 テーブルが同じでも、表示させるデータの種類によってウィンドウ(入力画面)を分けたい場合があります。そのような場合、同じようなウィンドウを何個か作る事になり、作る際にはコピーして作れば良いので楽なのですが、その後のメンテナンスは、ウィンドウの数だけメンテンスする必要があり、少々手間です。

 そこでメンテナンスの負荷を軽減するために、ひとつのウィンドウをメンテナンスすれば、その設定を同じテーブルを使用している他のタブに同期させる事ができるプロセスを作成致しました。

 このプロセスは、タブ単位で、そのタブに属するフィールドの設定を同期させる事ができます。

ウィンドウ/タブ/フィールドのタブタブ
ウィンドウ/タブ/フィールドのタブタブ

 このプロセスの使い方としては、はじめに同期元となるタブのフィールドのメンテナンスを行います。メンテナンス終了後、その"タブ"タブにあるプロセスアイコンをクリックし、"フィールドの同期"ボタンを押します。そして表示させるプロセスの実行条件を入力するポップアップウィンドウで、同期先となる"同期させたいフィールドのタブを選択"し、実行します。

 このプロセスは、同期元のタブで、同期先のタブを選択してプロセスを実行する事がポイントになります。そうすることによって、同期させたいタブが複数ある場合でも、連続して同期させる事ができるので便利です。

同期させたくないフィールドがある場合の対応

 同期元のタブと同期先のタブで、一部のフィールドだけ同期させたくない場合は、Swing-UIで使用している表示長さ(DisplayLength)の値を-1にすると、同期対象から外す事ができます。

 同期元のタブのフィールドの表示長さ(DisplayLength)が-1の場合は、同期先に同じカラムのフィールドがあっても、設定は同期しません。

 同期先のタブのフィールドの表示長さ(DisplayLength)が-1の場合は、同期元の同じカラムのフィールドの設定は同期されません。

同期させたくないフィールドと同期されたくないフィールドは、表示長さ(DisplayLength)を-1にする
同期させたくないフィールドと同期されたくないフィールドは、表示長さ(DisplayLength)を-1にする

カスタマイズ情報

追加クラス

  • jpiere.base.plugin.org.adempiere.process.JPiereSynchronizeFields