Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

JPIERE-0111:シンプルインプットウィンドウ

1,962 views

Published on

 オープンソースのERP iDempiereの標準ウィンドウは汎用的な画面としてはとても良くできています。多機能で汎用的に作られた画面は、どんなデータ入力も可能にするいっぽうで、その操作になれるのに多少の練習が必要であり、単純なデータの入力には多機能過ぎでした。そこで、JPiereでは単純なデータ入力を簡単に省力化して入力できる画面(ウィンドウ)を作成しました。
 シンプル インプット ウィンドウは、1つのテーブルへのデータ入力をできるだけ簡単(省力的)に行う事を目的に作られた画面(ウィンドウ)です。標準ウィンドウのように1つのウィンドウをタブ構成にして複数のテーブルにデータを登録する事はできませんが、その代り、より簡単に、より素早くスプレッドシートに似た操作感覚でデータを入力する事ができます。

Published in: Business
  • Be the first to comment

JPIERE-0111:シンプルインプットウィンドウ

  1. 1. Copyright © 2015 OSS ERP Solutions All Right Reserved. JPIERE-0111:シンプル インプット ウィンドウ オープンソースのERP iDempiereの日本商習慣対応ディストリビューション
  2. 2. Copyright © 2015 OSS ERP Solutions All Right Reserved. 1 【目次】JPIERE-0111:シンプル インプット ウィンドウ 概要 概要設計:シンプル インプット ウィンドウの設定画面 プロセスについて シンプル インプット ウィンドウの設定 シンプル インプット ウィンドウの設定 フォームの設定 事前準備 バーチャルカラムを使用する際の制限と対応策 その他 シンプル インプット ウィンドウの基本操作 その他 親子関係が強い子レコードのデータ入力について
  3. 3. Copyright © 2015 OSS ERP Solutions All Right Reserved. 2 【概要】シンプル インプット ウィンドウの特徴 シンプル インプット ウィンドウは、1つのテーブルへのデータ入力をできるだけ簡単(省 力的)に行う事を目的に作られた画面(ウィンドウ)です。標準ウィンドウのように1つの ウィンドウをタブ構成にして複数のテーブルにデータを登録する事はできませんが、その代 り、より簡単に、より素早くスプレッドシートに似た操作感覚でデータを入力する事ができ ます。 納品日 20XX/4/1 20XX/4/2 20XX/4/3 … 10 納品数量 増減数量 2 20 返品数量 売上数量 4 14 5 … … … … … … … … … … 納品実績入力 本社 ▼ 1000123納品実績 検索条件 & 初期値設定 ▲ ▼ □ 行 … … … … … … … … … … □ □ □ □ □ □ 1 2 3 ……… 2 固定 フィールド 組織 ▼品目カテゴリ シンプル インプット ウィンドウの特徴 品目A 品目B 品目C 品目D
  4. 4. Copyright © 2015 OSS ERP Solutions All Right Reserved. 3 【概要】シンプル インプット ウィンドウの特徴 より素早く、より簡単にデータの入力・更新・削除が行える • カーソルをTabキーで横移動し、Enterキーで縦に移動させる事ができます。 • フィールド(項目/カラム)の表示/非表示や並び順、表示幅をユーザー毎に設定する事がで きます。 • 固定フィールドを指定する事で、横スクロールする場合にも、編集しているレコードを簡 単に識別する事ができます。 • データが入力されていないSearchフィールドでは、Enterキーを押す事で検索ウインドウ を表示させる事ができるなど、なるべくキーボードだけで操作できるように配慮していま す。 • 最後のレコードの予め指定したフィールドと右端のフィールドでEnterキーを押すと、次 の行が追加されます。
  5. 5. Copyright © 2015 OSS ERP Solutions All Right Reserved. 4 【概要】シンプル インプット ウィンドウの特徴 1つのデータベーステーブルへのデータ入力に特化 • 1つのシンプル インプット ウィンドウでデータを入力・更新・削除する事ができるのは、 1つのデータベーステーブル(以下、テーブル)だけです。1つのデータベーステーブルに 特化する事で、操作性の向上を行っています。 • 主キーが、デーブル名+_IDのテーブルであれば、基本的にどのテーブルでもシンプル イ ンプット ウィンドウでデータを入力・更新・削除する事ができます。 その他の特徴 • テーブルの1つのフィールドを指定して、そのフィールドの値ごとに1つのタブにグルー プ化してデータを表示する事ができます(タブフィールド)。 • 数値フィールドの値を合計して項目のラベルに表示する事ができます。
  6. 6. Copyright © 2015 OSS ERP Solutions All Right Reserved. 5 品目A 品目B 品目C 品目D 【概要】シンプル インプット ウィンドウの画面構成 納品日 20XX/4/1 20XX/4/2 20XX/4/3 … 10 納品数量 増減数量 2 20 返品数量 売上数量 4 14 5 … … … … … … … … … … 納品実績入力 本社 ▼ 1000123納品実績 ▲ ▼ □ 行 … … … … … … … … … …□ □ □ □ □ □ 1 2 3 ……… 2 固定 フィールド 組織 ▼品目カテゴリ 【検索条件&初期値入力領域】 • データを更新する場合は更新データの、 検索条件を入力します。 • データを登録する際には、登録データ の初期値を入力します。 【ボタン領域】 • ボタン領域には、各種操作を行うボタン が配置されています。 【編集領域】 • データを入力、更新、選択する領域です。 • Tabキーでカーソルが横移動し、Enter キーで縦に移動します。スプレッドシー トに似た操作感覚でデータを入力する 事ができます。 • あるフィールドの値ごとに1つのタブに グループ化してデータを表示する事が できます(タブフィールド)。 シンプル インプット ウィンドウの画面構成 シンプル インプット ウィンドウは、“検索条件&初期値入力領域”、“ボタン領域”、“編集領 域”により構成されています。 検索条件 & 初期値設定
  7. 7. Copyright © 2015 OSS ERP Solutions All Right Reserved. 6 【基本操作】検索条件&初期値入力領域 1000123納品実績 ▼品目カテゴリ 検索条件 & 初期値設定 検索条件 & 初期値入力領域 画面上部の“検索条件&初期値入力領域”では、データ検索の際の検索条件と、新規データ入 力の際の初期値を設定しておく事ができます。 • 検索条件 & 初期値入力領域に表示するフィールドは、シンプルインプットウィンドウ設 定の画面で、自由に設定する事ができます。 • SQL JOIN句と併用する事で、他のテーブルの項目もフィールドに設定する事ができます。 • 検索条件 & 初期値入力領域に表示するフィールド間でダイナミックバリデーションを設 定する事ができます。 • 検索条件 & 初期値入力領域に表示するフィールドに、クイック入力ウィンドウを割り当 てる事ができます。クイック入力ウィンドウが割り当てられたフィールドには、その横に ボタン が表示されます。クイック入力ウィンドウで簡単に検索条件 & 初期値入力 領域のフィールドの値を新規作成もしくは更新する事ができます。
  8. 8. Copyright © 2015 OSS ERP Solutions All Right Reserved. 7 検索ボタン 【基本操作】ボタン領域 検索条件&初期値入力領域に入力された値をもとにデータを検索し、編集領域に表示します。 データの編集途中で検索ボタンを押すと、変更を保存するかどうかポップアップウィンドウ が表示されます。 OKボタンを押すと、変更を保存し、”検索条件&初期値入力領域”の値をもとにデータを検索 し、編集領域に表示します。 キャンセルボタンを押すと、ポップアップウィドウが閉じ、検索ボタンを押す前の状態に戻 ります。 ボタン領域
  9. 9. Copyright © 2015 OSS ERP Solutions All Right Reserved. 8 【基本操作】ボタン領域 新規作成 検索条件&初期値入力領域に入力された値をもとに新規データを登録します。一番最後の行 の右端でEnterキーを押すと、次の行が追加されます。 データの編集途中で新規作成ボタンを押すと、変更を保存するかどうかポップアップウィン ドウが表示されます。 OKボタンを押すと、変更を保存し、編集領域が新規データ入力の状態になります。 キャン セルボタンを押すと、ポップアップウィドウが閉じ、新規作成ボタンを押す前の状態に戻り ます。
  10. 10. Copyright © 2015 OSS ERP Solutions All Right Reserved. 9 【基本操作】ボタン領域 保存 変更及び追加したデータを保存します。数値項目の合計値を項目のラベルに表示するように 設定していた場合、保存ボタンを押す事で再計算します。編集途中のデータがある場合、保 存するまでは他のタブに移動する事はできません。 ホーム シンプルインプットウィンドウを初期の状態に戻します。 データの編集途中でホームボタンを押すと、変更を保存するかどうかポップアップウィンド ウが表示されます。 OKボタンを押すと、変更を保存し、シンプルインプットウィンドウを初期の状態に戻します。 キャンセルボタンを押すと、変更を破棄し、シンプルインプットウィンドウを初期の状態に 戻します。
  11. 11. Copyright © 2015 OSS ERP Solutions All Right Reserved. 10 【基本操作】ボタン領域 プロセス プロセスアイコンは、タブの設定でツールバーボタンにプロセスが割り当たっている場合に 表示され、選択しているデータに対してプロセスを実行する事ができます。 編集途中のデータがある場合には、プロセスの実行前に保存されます。 プロセスの実行はタブ単位で行われます。 削除 レコードの削除を許可している場合に、削除アイコンが表示され、選択したレコードを削除 する事ができます。レコードを選択し、削除ボタンを押すと確認のポップアップウィンドウ が表示されます。 OKボタンを押すと選択したデータは削除され、キャンセルボタンを押すと、削除ボタンを押 す前の状態に戻ります。 削除はタブ単位で行われます。
  12. 12. Copyright © 2015 OSS ERP Solutions All Right Reserved. 11 【基本操作】ボタン領域 カスタマイズ 固定フィールド数 フィールド(項目/カラム)の表示/非表示や並び順、表示幅 をユーザー毎に設定する事ができます。 カスタマイズボタンをクリックすると右のポップアップ ウィンドウが表示されます。右側に表示されているフィール ドの並び順で編集領域にデータを表示する事ができます。 横スクロールする際に、指定したフィールドの数だけ固定する事ができます。固定フィール ド数は、初期状態にした際に編集する事ができます。
  13. 13. Copyright © 2015 OSS ERP Solutions All Right Reserved. 12 【基本操作】編集領域 納品日 20XX/4/1 20XX/4/2 20XX/4/3 … 10 納品数量 増減数量 2 20 返品数量 売上数量 4 14 5 … … … … … … … … … … 納品実績入力 本社 ▼ 1000123納品実績 ▲ ▼ □ 行 … … … … … … … … … … □ □ □ □ □ □ 1 2 3 ……… 組織 品目A ▼品目 Tabキー移動 Enterキー移動 シンプル インプット ウィンドウの”編集領域”は、tabキーでカーソルを横移動し、Enter キーでカーソルを縦移動させる事ができます。 2 固定 フィールド 検索条件 & 初期値設定 一番最後の行の右端でEnterキー を押すと、次の行が追加されます。 行を追加する際には、その前に更 新データが自動保存されます。 品目A 品目B 品目C 品目D 編集途中で他のタブに移動す る事はできません。 編集領域
  14. 14. Copyright © 2015 OSS ERP Solutions All Right Reserved. 13 【設定】事前準備 テーブルの追加(2Pack.zipのパックイン) META-INFフォルダの直下にある2Pack.zipをパックインして下さい。下記のエンティティ が追加されます。 • JP_SimpleInputWIndow(テーブルとカラム) • JP_SimpleInputSearch(テーブルとカラム) • シンプル インプット ウィンドウ設定(ウィンドウ) シンプル インプット ウィンドウのもととなるウィンドウの作成 シンプル インプット ウィンドウは、シンプル インプット ウィンドウエンジンが標準ウィ ンドウの設定をもとに作成します。そのため予めシンプル インプット ウィンドウで表示す る標準ウィンドウの設定を行っておく必要があります。
  15. 15. Copyright © 2015 OSS ERP Solutions All Right Reserved. 14 【設定】シンプル インプット ウィンドウの設定 シンプル インプット ウィンドウ [ 選択レコード/表示レコード数] System シンプル インプット ウィンドウ クライアント *組織 品目タブフィールド JP Reference Testウィンドウ* ▼ ▼ ▼ 1000000検索キー 品目マスタ名称 説明 アクティブ 20ページ行数 LEFT OUTER JOIN M_Product ON(JP_ReferenceTest.M_Product_ID=M_Product.M_Product_ID) SQL Join句 SQL WERE句 2固定フィールド数 M_Product.ValueSQL ORDER BY句 削除可能 シンプル インプット ウィンドウタブ シンプル インプット ウィンドウタブでは、シンプル インプット ウィンドウの基本となる 設定を行います。 JP Reference test tabタブ* ▼ 合計(Σ)
  16. 16. Copyright © 2015 OSS ERP Solutions All Right Reserved. 15 【設定】シンプル インプット ウィンドウの設定 ウィンドウ(必須) シンプルインプットウィンドウで表示したいタブが含まれているウィンドウを設定します。 タブ(必須) シンプルインプットウィンドウで編集したいタブを設定します。 タブフィールド タブフィールドに設定したフィールドの値ごとに1つのタブにしてデータを表示する事がで きます。タブフィールドを設定した場合は、SQL ORDER BY句に、タブフィールドに設定し たフィールドの値でソートできるよう記述して下さい。 固定フィールド シンプルインプットウィンドウで固定フィールドとするフィールド数の初期値を設定します。 ページ行数 シンプルインプットウィンドウでページングするレコード数を設定します。
  17. 17. Copyright © 2015 OSS ERP Solutions All Right Reserved. 16 【設定】シンプル インプット ウィンドウの設定 SQL JOIN句 SQL WHERE句の設定やSQL ORDER BY句の設定、検索フィールドの設定で、タブフィール ドに設定したタブに対応するテーブル以外のテーブルを使用したい場合は、あらかじめSQL JOIN句に記述しておく必要があります。 記 述 例 : LEFT OUTER JOIN M_Product ON (JP_ReferenceTest.M_Product_ID = M_Product.M_Product_ID) SQL WHERE句 シンプルインプットウィンドウに表示するレコードを予め制限したい場合、その条件を記述 します。WHERE句以下の条件を記述して下さい。 記述例:M_Product.Value IN ('I0001','I0002','I0003') SQL ORDER BY句 シンプルインプットウィンドウに表示するレコードの順番を記述する事ができます。タブ フィールドの機能を使用する場合は、特にレコードのソート順には気をつけて下さい。 記述例:M_Product.Value
  18. 18. Copyright © 2015 OSS ERP Solutions All Right Reserved. 17 【設定】シンプル インプット ウィンドウの設定 削除可能 シンプルインプットウィンドウでレコードを削除する事ができるようにしたい場合に、ONに します。OFFにするとシンプルインプットウィンドウには削除アイコンが表示されなくなり ます。 合計(Σ) ONにした場合、シンプルインプットウィンドウの数値系のフィールドのラベルに合計値を表 示します。合計値は”保存”する時に更新されます。
  19. 19. Copyright © 2015 OSS ERP Solutions All Right Reserved. 18 【設定】シンプル インプット ウィンドウの設定 [ 選択レコード/表示レコード数] System シンプル インプット ウィンドウ クライアント* *組織* 納品実績明細 シンプル インプット ウィ ンドウ* ▼ 説明 アクティブ シンプル インプット ウィンドウ > 検索フィールド 納品実績タブ* 10シーケンスNo 必須 デフォルトロジック Xポジション* 2カラムスパン*1 納品実績フィールド* ▼ 検索フィールドタブ 検索フィールドタブでは、シンプル インプット ウィンドウの検索条件&初期値入力領域 の設定を行います。 納品実績クイック入力ウィンドウ ▼
  20. 20. Copyright © 2015 OSS ERP Solutions All Right Reserved. 19 【設定】シンプル インプット ウィンドウの設定 タブ(必須) 検索条件&初期値入力領域に表示したいフィールドがあるタブを設定します。 フィールド(必須) 検索条件&初期値入力領域に表示したいフィールドを設定します。タブフィールドに設定し たタブに属するフィールドを選択する事ができます。 必須 ONにすると、検索条件&初期値入力領域に表示するフィールドの値をデータ検索時に必須に する事ができます。 デフォルトロジック 検索条件&初期値入力領域に表示するフィールドの値をデフォルト値を設定する事ができま す。 Xポジションとカラムスパン Xポジションとカラムスパンの設定で、検索条件&初期値入力領域に表示するフィールドの 表示を制御する事ができます。
  21. 21. Copyright © 2015 OSS ERP Solutions All Right Reserved. 20 【設定】シンプル インプット ウィンドウの設定 クイック入力ウィンドウ クイック入力ウィンドウを割り当てる事ができます。
  22. 22. Copyright © 2015 OSS ERP Solutions All Right Reserved. 21 【設定】フォームの設定 シンプル インプット ウィンドウはフォームを使用して画面を作成します。シンプル イン プット ウィンドウの設定が完了したら、フォームの設定を行い、メニューツリーに割り当て て下さい。 フォーム [ 選択レコード/表示レコード数] フォーム Systemクライアント* *組織* アクティブ クライアント+組織データアクセスレベル* 品目マスタ名称* 説明 ▼ JPiereエンティティタイプ* ▼ コメント ベータ機能 JP_SimpleInputWindow_ID=1000002クラス名 ヘルプコンテキスト ▼ クラス名には、 JP_SimpleInputWindow_ID= + シンプル インプット ウィンドウ設定 のID を設定します。 フォーム設定 フォーム
  23. 23. Copyright © 2015 OSS ERP Solutions All Right Reserved. 22 【その他】 親子関係が強い子レコードのデータ入力について 受注伝票のヘッダーデータと明細データのように、親子関係が強いケースでも、子レコード のデータ入力にシンプルインプットウィンドウを使用する事ができます。 親子関係が強い場合、子レコードでは親レコードの値を引き継いでデータ入力します(例:組 織情報)。シンプルインプットウィンドウは、次の条件を満たす時に、親レコードの情報をコ ンテキスト情報として保持し、子レコードに引き継ぐ事ができます。 • シンプルインプットウィンドウ設定で、タブフィールドに設定したタブのリンクカラムが 設定されていること。 • 親レコードと結びつけるリンクカラムのフィールドが検索条件&初期値入力領域のフィー ルドにあること。 • そのリンクカラムの名称の最後3文字”_ID”を取り除いたテーブルが存在していること。 親レコードが保持している情報と、検索条件&初期値入力領域のフィールドの情報が重複する場合、シンプルインプット ウィンドウは、検索条件& 初期値入力領域のフィールドの情報を優先します。そのため、親レコードの情報を子レコード に引き継ぎたいフィールド(Column)を、検索条件 & 初期値入力領域のフィールドにも使用する場合は、注意して下さい。 【補足説明】親レコードの情報と検索条件&初期値入力領域のフィールドの情報が重複する場合
  24. 24. Copyright © 2015 OSS ERP Solutions All Right Reserved. 23 【その他】 親レコードの情報を取得する 親子関係が強い子レコードのデータ入力にシンプルインプットウィンドウを使用する際に、 親レコードの情報を取得してプロセスで処理する事ができます。 プロセスのパラメーター設定でデフォルトロジックに@XXXX@を使用して取得します。 @PARENT_RECORD_ID@…親レコードのIDを取得する事ができます。 @PARENT_TABLE_NAME@…親テーブルの名称を取得する事ができます。 ※参照:SimpleInputWindowDocActionProcess.java プロセスについて
  25. 25. Copyright © 2015 OSS ERP Solutions All Right Reserved. 24 【その他】 選択したレコードのIDの取得について シンプル インプット ウィンドウのボタン領域のプロセスアイコンからプロセスを実行す ると、選択されているレコードの値を取得し、何らかの処理を実行する事ができます。選択 されているレコードの値はT_Selectionテーブルに、プロセスIDと一緒に保存されています。 ※参照:SimpleInputWindowSampleProcess.java ◆プロセスアイコンからのプロセスの実行 ◆レコードのボタンからのプロセスの実行 編集中のレコードのボタンからプロセスを実行する事もできます。この場合、編集中の1 レコードが対象になります。getRecord_ID()メソッドで編集中のレコードのIDを取得する 事ができます。 ※参照:SimpleInputWindowSampleProcess2.java
  26. 26. Copyright © 2015 OSS ERP Solutions All Right Reserved. 25 【その他】 コールアウトについて シンプル インプット ウィンドウでは、通常のコールアウトは使用できません。シンプル インプットウィンドウ専用のコールアウトを用意する必要があります。 ◆参照:SimpleInputWindowSampleCallout.java ◆参照:SimpleInputWindowCalloutInventory.java
  27. 27. Copyright © 2015 OSS ERP Solutions All Right Reserved. 26 【その他】 シンプル インプット ウィンドウでは、バーチャルカラムも使用する事ができます。ただ し、次の制限がありますので、コールアウトと一緒に活用して頂く事を推奨致します。 ◆シンプル・インプット・ウィンドウの仕様で、レコードを更新して保存する際に、画面の リフレッシュは行わないため、バーチャルカラムの値が更新されない。 ◆バーチャルカラムの仕様で、新規レコードを追加する際には、保存するまでバーチャルカ ラムの値は表示されない。 バーチャルカラムを使用する際の制限と対応策 コールアウトでバーチャルカラムに表示されている値を更新させる事ができますので、シ ンプル・インプット・ウィンドウでバーチャルカラムを使用したい場合には、コールアウト と一緒に活用して頂く事が上記制限の対応策になります。その際に、コールアウトで更新す る値は、バーチャルカラムで本来表示される値と同じ値になるようにして下さい。 コールアウトの実装は下記のサンプルコールアウトを参照して下さい。 参照:SimpleInputWindowSampleCallout.java
  28. 28. Copyright © 2015 OSS ERP Solutions All Right Reserved. 27 【その他】 その他 タブフィールドへのバーチャルカラム(SQLカラム)フィールドの設定 タブフィールドにはバーチャルカラム(SQLカラム)のフィールドも設定する事ができます。 しかし、検索フィールドにはバーチャルカラムのフィールドは設定する事はできません。検 索フィールドは”SQL JOIN句”で結合したテーブルのカラムを設定できますので、バーチャル カラムを設定する必要性はありません。 バーチャルカラムでタブフィールドを有効にするためには、そのバーチャルカラムをシンプ ルインプットウィンドウに表示するようにして下さい。バーチャルカラムをタブフィールド として使用する場合、そのバーチャルカラムが画面に表示されていないとタブフィールドの 機能は有効になりません。
  29. 29. Copyright © 2015 OSS ERP Solutions All Right Reserved. 28 【その他】 読取専用シンプルインプットウィンドウ シンプルインプットウィンドウのもととなっているタブを読取専用にするとシンプルイン プットウィンドウも読取専用になり、更新できなくなります。 新規レコードの登録をしない場合のシンプルインプットウィンドウ シンプルインプットウィンドウのもととなっているタブのレコード追加(IsInsertRecord)フ ラグをOFFにすると、シンプルインプットウィンドウでも新規レコードを追加できなくなり ます。
  30. 30. Copyright © 2015 OSS ERP Solutions All Right Reserved. 29 【その他】 最後のレコードの特定のフィールドでEnterキーを押し新規レコードを追加させたい場合 数値系のフィールドで合計を表示したくないフィールドがある場合の対応 シンプルインプットウィンドウの設定で、”合計(IsSummarized)”フラグをONにすると、す べての数値系フィールドでフィールドのラベルに合計値が表示されるようになります。しか し、中には合計を表示したくない数値系のフィールドも混在する場合があると思います。そ の場合、合計を表示したくない数値系のフィールドの設定で、”Swing-UIの配置”のフィール ドグループにある”表示長さ(DisplayLength)”の値を”0”にして下さい。 最後のレコードの右端のフィールドでEnterキーを押すと、新規レコードを追加できますが、 同じように、特定のフィールドでEnterキーを押すを新規レコードを追加できます。フィール ドの設定で”Swing-UIの配置”のフィールドグループにある”同一行(IsSameLine)”の値を OFFにして下さい。 最後のレコードでEnterキーを押し新規レコードを追加させる事ができるカラムには、新規レ コード追加のアイコンが表示されます。
  31. 31. Copyright © 2015 OSS ERP Solutions All Right Reserved. 30 【その他】 数値系のフィールドの合計値を入力中に更新したい場合 シンプルインプットウィンドウの標準機能では、数値系のフィールドの合計値は保存する 際に更新されます。しかし、入力中にも合計値を更新したい場合もあると思います。その場 合 は 、 シ ン プ ル イ ン プ ッ ト ウ ィ ン ド ウ の コ ー ル ア ウ ト で 、 "dataBinder.getSimpleInputWindow().updateColumn();"と記述して下さい。 この記述で、コールアウトが呼び出されるたびに(コールアウトが設定されている数値系 フィールドの値が更新される都度)、数値系フィールドのラベルの合計値が更新されます。合 計値を更新する処理は、サーバー側でタブのデータをすべて合計するループ処理が行われま すので、パフォーマンスとトレードオフの関係にあります。使用する場合は、データ件数を 考慮して下さい。
  32. 32. Copyright © 2015 OSS ERP Solutions All Right Reserved. 31 【概要設計】シンプル インプット ウィンドウの設定画面 シンプル インプット ウィンドウ [ 選択レコード/表示レコード数] (AD_Client_ID) シンプル インプット ウィンドウ クライアント (AD_Org_ID)組織 (AD_Tab_ID)タブ* (AD_Window_ID)ウィンドウ* ▼ ▼ ▼ 画面イメージと項目定義 シンプル インプット ウィンドウタブ (Value)検索キー (Name)名称 (Description)説明 アクティブ(IsActive) • Vaule…ユニーク制約を作成する。 • AD_Window_ID…Table Directですべてのウィンドウを選択 する事ができる。 • AD_Tab_ID…選択したウィンドウのタブだけが表示される。 ※既存のダイナミックバリデーション”AD_Tab in Window” を使用して制限する。 • JP_TabField_ID…選択したタブに含まれるフィールドだけが 表示され選択する事ができる(リファレンスキーにJPIERE- 0098で作成した、JP AD_Fieldダイナミックバリデーショ ンAD_Field in Tabの設定)。任意入力。バーチャルカラムも 設定可能。 • JP_FrozenField… 必 須 。 デ フ ォ ル ト 0 。 リ フ ァ レ ン ス:Integer。 • JP_PageSize…必須。デフォルト20。リファレンス:Integer。 • IsDeleteable…タブの設定で読取専用フラグがONでなく、こ の削除可能フラグがONの場合に、画面上にレコード削除ボタ ンが表示される。 • IsSummarized…ONの場合、数値系のフィールドはその合計 値をカラムに表示する。デフォルト”N”。 • AD_Client_IDとValueでユニーク制約を作成する。 (JP_PageSize)ページ行数 (JP_JoinClause)SQL Join句 (WhereClause)SQL WERE句 (JP_FrozenField)固定フィールド数 (OrderByClause)SQL ORDER BY句 削除可能(IsDeleteable) (JP_TabField_ID)グブフィールド ▼ 合計(IsSummarized)
  33. 33. Copyright © 2015 OSS ERP Solutions All Right Reserved. 32 【概要設計】シンプル インプット ウィンドウの設定画面 • タブ(AD_Tabl_ID)フィールドのタブに対応するテーブルと、クイック入力ウィンドウ(JP_QuickEntryWindow_ID)フィールドに設定さ れているウィンドウのタブレベルが0のタブに設定されているテーブルが同じである事を確認する。 • タブフィールドのタブに対応するテーブルの主キーが”テーブル名+_ID”になっている事を確認する。※このルールが成り立たないテーブ ルでは、正しくシンプル インプット ウィンドウが作成できない。 MSimpleInputWindowクラスのbeforeSave()メソッド MSimpleInputWindowクラスのユーティリティメソッド • 子タブとなるJP_SimpleInputFieldテーブルのインスタンス(MSimpleInputFieldクラスのインスタンス)が取得できるGetterメソッド。 • 子タブとなるJP_SimpleInputSearchテーブルのインスタンス(MSimpleInputSearchクラスのインスタンス)が取得できるGetterメソッド。
  34. 34. Copyright © 2015 OSS ERP Solutions All Right Reserved. 33 【概要設計】シンプル インプット ウィンドウの設定画面 [ 選択レコード/表示レコード数] (AD_Client_ID) シンプル インプット ウィンドウ クライアント* (AD_Org_ID)組織* (JP_SimpleInputWindow_ID) シンプル インプット ウィ ンドウ* ▼ (Description)説明 アクティブ(IsActive) シンプル インプット ウィンドウ > 検索フィールド (AD_Tab_ID)タブ* (SeqNo)シーケンスNo 必須(IsMandatory) • JP_SimpleInputWindow_IDとAD_Field_IDでユニーク制約を作成する。 • JP_SimpleInputWindow_IDとSeqNoでユニーク制約を作成する。 画面イメージと項目定義 検索フィールドタブ(JP_SimpleInputSearchテーブル) • SeqNo(必須)…初期値10。レコードが追加される度に追 加行は10ずつインクリメントするデフォルトロジック” @SQL=SELECT COALESCE(MAX(SeqNo),0)+10 AS DefaultValue FROM JP_MatrixSearch WHERE JP_MatrixWindow_ID=@JP_MatrixWindow_ID@” を 設定する。コピー許可(IsAllowCopy)フラグはOFF。 • AD_Tab_ID(必須)…検索フィールドが属するタブを選択 する。ここで設定されるタブは、シンプル インプット ウィンドウタブで設定したタブか、”SQL Join句”で記述 されているテーブルと対応しているタブが前提。デフォ ルトロジックに”@0|AD_Tab_ID@”を設定する。ダイ ナミックバリデーションなどは設定せずに、すべてのタ ブが設定できるようにする。 • AD_Field_ID(必須)…ダイナミックバリデーション” JP_SimpleInputWindow_SearchField in Tab(ロジッ ク:AD_Field.AD_Tab_ID=@1|AD_Tab_ID@)”を作 成して、選択したタブに属するフィールドだけを選択で きるようにする。 • IsMandatory…初期値‘Y’。 • XPosition(必須)…初期値1。 • ColumnSpan(必須)…初期値2。 (DefaultValue)デフォルトロジック Xポジション* (ColumnSpan)カラムスパン*(XPosition) (AD_Field_ID)フィールド* ▼ (JP_QuickEntryWindow_ID)クイック入力ウィンドウ ▼
  35. 35. Copyright © 2015 OSS ERP Solutions All Right Reserved. 34 【概要設計】シンプル インプット ウィンドウの設定画面 • フィールドに検索カラムが設定されないようにチェックする。 MSimpleInputSearchクラスのbeforeSave()メソッド MSimpleInputSearchクラスのユーティリティメソッド • 親タブとなるJP_SimpleInputWindowテーブルのインスタンス(MSimpleInputWindowクラスのインスタンス)が取得できるGetterメソッ ド。
  36. 36. Copyright © 2015 OSS ERP Solutions All Right Reserved. 35 http://www.oss-erp.co.jp/ オープンソースのERPを活用し、 企業が抱えている課題を 素早く低コストで解決します!

×