iDempiere Web POSプロパティの使い方|販売管理 操作マニュアル・技術仕様
📖 販売管理の全体像: 販売管理の全体図 も合わせてご覧ください。
Web POSプロパティは、旧 Web POS 画面が参照する設定値をキー(U_Key)と値(U_Value)のペアで保持する設定マスタです。iDempiere の Application Dictionary では「Stores the message tags to be picked up from AD_MESSAGE(AD_MESSAGE から取得するメッセージタグを保持する)」と定義されており、画面表示文言のメッセージタグ管理を主目的としています。
📌 ポイント: iDempiere 13 標準ではこのウィンドウは無効化されています。モデルクラス
MWebPropertiesにも@Deprecated(since="13", forRemoval=true)が付与されており、将来のバージョンで削除予定です。新規の業務設計では利用しないでください。
Web POSプロパティでできること
Section titled “Web POSプロパティでできること”- Web POS が参照する設定値を「キー=値」の形式で登録する
AD_MESSAGEから取得するメッセージタグ名を保持する- キー・値ともに最大240文字までの文字列を格納する
- 「有効」(
IsActive)チェックで、レコードを残したまま設定を無効化する - クライアント・組織をまたいだ設定を保持する(テーブルのアクセスレベルは「すべて」)
単一タブのシンプルな構成です。
| タブ名 | テーブル | 項目数 | 役割 |
|---|---|---|---|
| Web Properties | U_Web_Properties | 5項目 | キー・値ペアによる Web POS 設定 |
⚠️ 注意: このウィンドウは標準メニューに登録されていません(間接使用)。開くには、システム管理者ロールでウィンドウを一時的にメニューへ登録する必要があります。
基本操作手順
Section titled “基本操作手順”graph TD
A["🚀 ウィンドウを開く<br/>(標準メニュー未登録のため<br/>メニュー登録が必要)"] --> B{"iDempiere 13 で<br/>利用するか?"}
B -->|"非推奨のため原則 No"| C["🛑 利用しない<br/>表示文言は<br/>メッセージ(AD_Message)で管理"]
B -->|"旧データの保守"| D["➕ 新規<br/>Key を入力"]
D --> E["✏️ Value を入力<br/>(最大240文字)"]
E --> F["💾 保存"]
F --> G["🔁 無効化するときは<br/>「有効」チェックを外す"]
アクセス方法(メニューパス)
Section titled “アクセス方法(メニューパス)”標準メニューには登録されていません(AD_Window_ID: 52002)。参照が必要な場合は、システム管理者がアプリケーション辞書からウィンドウをメニューへ追加してください。
- ツールバーの「新規」ボタンをクリック
- 必須項目を入力:
- クライアント: 対象テナント(コンテキスト
@AD_Client_ID@から自動セット) - 組織: 対象組織(コンテキスト
@AD_Org_ID@から自動セット) - Key: 設定キー(最大240文字)
- Value: 設定値(最大240文字)
- クライアント: 対象テナント(コンテキスト
- 「保存」をクリック
💡 ヒント: キー名の一意性はテーブル定義では強制されていません。運用上は「モジュール名.設定名」のような命名規則を決めて重複を防いでください。
項目リファレンス
Section titled “項目リファレンス”Web Properties タブ
Section titled “Web Properties タブ”| 項目名 | 必須 | 型 | 説明 |
|---|---|---|---|
| クライアント | 必須 | 選択(Table Direct) | 対象テナント |
| 組織 | 必須 | 選択(Table Direct) | 対象組織 |
| Key | 必須 | 文字列(240) | 設定キー。AD_MESSAGE のメッセージタグ名等 |
| Value | 必須 | 文字列(240) | 設定値 |
| 有効 | 必須 | チェック | レコードが有効か(既定値 Y) |
よくある質問(FAQ)
Section titled “よくある質問(FAQ)”Q. iDempiere 13 でこの画面を使ってよいですか?
Section titled “Q. iDempiere 13 でこの画面を使ってよいですか?”推奨されません。iDempiere 13 標準ではこのウィンドウは無効化されており、モデルクラス MWebProperties に @Deprecated(since="13", forRemoval=true) が宣言されています。forRemoval=true は将来のバージョンで削除予定であることを示すため、この画面に依存した業務設計は避けてください。
Q. キーの重複はチェックされますか?
Section titled “Q. キーの重複はチェックされますか?”MWebProperties クラスには beforeSave() の独自実装がなく、コンストラクタのみの実装です。テーブル定義にも U_Key の一意制約は定義されていません。したがって同じキーを複数登録できてしまうため、運用ルールで防止してください。
Q. 値に長いテキストを入れられますか?
Section titled “Q. 値に長いテキストを入れられますか?”U_Value は文字列型で長さ240です。240文字を超える設定値は格納できません。長文の文言を管理する場合は、iDempiere 標準のメッセージ(AD_Message)を使用してください。
Q. 設定を一時的に止めたい場合は?
Section titled “Q. 設定を一時的に止めたい場合は?”レコードを削除せず「有効」チェックを外してください。U_Web_Properties は削除可(IsDeleteable=Y)ですが、履歴を残すため無効化を推奨します。
🛠 技術仕様(開発者向け)
Web POSプロパティはマスタデータ型のウィンドウ(AD_Window_ID: 52002)で、U_Web_Properties テーブルに格納されます。モデルクラスは MWebProperties(59行)で、生成クラス X_U_Web_Properties を継承するのみの薄い実装です。Document 型ではなく、DocStatus / DocAction カラムを持ちません。クラス宣言に @Deprecated(since="13", forRemoval=true) が付与されています。
テーブル属性: アクセスレベル 7(すべて=システム+クライアント+組織)、削除可(IsDeleteable=Y)、大量データ扱いなし(IsHighVolume=N)、ビューではありません。
アーキテクチャ概要
Section titled “アーキテクチャ概要”classDiagram
class MWebProperties {
<<deprecated>>
}
class X_U_Web_Properties {
<<generated>>
}
class PO {
<<abstract>>
}
MWebProperties --|> X_U_Web_Properties
X_U_Web_Properties --|> PO
パッケージ: org.compiere.model
ソースファイル: org.adempiere.base/src/org/compiere/model/MWebProperties.java(生成クラス: X_U_Web_Properties.java)
関連DBテーブル
Section titled “関連DBテーブル”U_Web_Properties(Web Properties)
Section titled “U_Web_Properties(Web Properties)”| カラム名 | 型 | 必須 | 説明 | 備考 |
|---|---|---|---|---|
| U_Web_Properties_ID | ID | PK | Web プロパティID | 主キー |
| AD_Client_ID | Table Direct | Y | クライアント | 既定値 @AD_Client_ID@ |
| AD_Org_ID | Table Direct | Y | 組織 | 既定値 @AD_Org_ID@ |
| U_Key | String | Y | Key | 長さ240 |
| U_Value | String | Y | Value | 長さ240 |
| IsActive | Yes-No | Y | 有効 | 既定値 'Y' |
| Created / CreatedBy | Date+Time / Search | Y | 作成日時・作成者 | 既定値 SYSDATE |
| Updated / UpdatedBy | Date+Time / Search | Y | 更新日時・更新者 | 既定値 SYSDATE |
| U_Web_Properties_UU | UUID | N | UUID | 長さ36 |
📌 ポイント:
U_Keyに一意インデックスは定義されていません。キーの重複はアプリケーション側で検出する必要があります。
ビジネスロジック
Section titled “ビジネスロジック”MWebProperties は UUID・ID・ResultSet の3種類のコンストラクタのみを実装しており、beforeSave() / afterSave() / 値取得用のヘルパーメソッドはありません。キーによる検索は Query API で直接行う必要があります。
X_U_Web_Properties prop = new Query(ctx, X_U_Web_Properties.Table_Name, "U_Key=?", trxName) .setOnlyActiveRecords(true) .setClient_ID() .setParameters("myKey") .first();拡張ポイント(カスタマイズ箇所)
Section titled “拡張ポイント(カスタマイズ箇所)”本テーブルには Callout(AD_Column.Callout)が定義されていません。独自の検証を追加する場合は OSGi の Model Validator が第一候補ですが、forRemoval=true の非推奨クラスを拡張する設計は避けてください。
public class CustomWebPropertiesValidator implements ModelValidator { @Override public int modelChange(PO po, int type) throws Exception { if (po instanceof MWebProperties && (type == TYPE_BEFORE_NEW || type == TYPE_BEFORE_CHANGE)) { // 例: 同一クライアント内での U_Key 重複チェック } return null; }
@Override public String docValidate(PO po, int timing) { return null; // U_Web_Properties は Document 型ではないため不要 }}新規に「キー=値」形式の設定を持たせたい場合は、本テーブルではなく iDempiere 標準のシステム設定(AD_SysConfig)または独自テーブルの利用を推奨します。
関連プロセス
Section titled “関連プロセス”このウィンドウに紐づく標準プロセスは、リファレンスページ・メニューのいずれにも登録されていません。
関連ドキュメント
Section titled “関連ドキュメント”iDempiereカスタマイズのご相談
Section titled “iDempiereカスタマイズのご相談”旧 Web POS の設定テーブルは非推奨のため、標準のシステム設定やメッセージ機能へ移行することで保守性が大きく向上します。 移行方針の策定から実装まで、コア改変なしでご支援いたします。
As-Link株式会社では、OSGiプラグインによる安全なカスタマイズを提供しています。