Skip to content

iDempiere Web POSプロパティの使い方|販売管理 操作マニュアル・技術仕様

This content is not available in your language yet.

📖 販売管理の全体像: 販売管理の全体図 も合わせてご覧ください。

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 が参照する設定値を「キー=値」の形式で登録する
  • AD_MESSAGE から取得するメッセージタグ名を保持する
  • キー・値ともに最大240文字までの文字列を格納する
  • 「有効」(IsActive)チェックで、レコードを残したまま設定を無効化する
  • クライアント・組織をまたいだ設定を保持する(テーブルのアクセスレベルは「すべて」)

単一タブのシンプルな構成です。

タブ名テーブル項目数役割
Web PropertiesU_Web_Properties5項目キー・値ペアによる Web POS 設定

⚠️ 注意: このウィンドウは標準メニューに登録されていません(間接使用)。開くには、システム管理者ロールでウィンドウを一時的にメニューへ登録する必要があります。

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/>「有効」チェックを外す"]

ウィンドウを開く (標準メニュー未登録のため メニュー登録が必要) iDempiere 13 で 利用するか? 非推奨のため原則 No 利用しない 表示文言は メッセージ(AD_Message)で管理 旧データの保守 新規 Key を入力 Value を入力 (最大240文字) 保存 無効化するときは 「有効」チェックを外す

アクセス方法(メニューパス)

Section titled “アクセス方法(メニューパス)”

標準メニューには登録されていません(AD_Window_ID: 52002)。参照が必要な場合は、システム管理者がアプリケーション辞書からウィンドウをメニューへ追加してください。

  1. ツールバーの「新規」ボタンをクリック
  2. 必須項目を入力:
    • クライアント: 対象テナント(コンテキスト @AD_Client_ID@ から自動セット)
    • 組織: 対象組織(コンテキスト @AD_Org_ID@ から自動セット)
    • Key: 設定キー(最大240文字)
    • Value: 設定値(最大240文字)
  3. 保存」をクリック

💡 ヒント: キー名の一意性はテーブル定義では強制されていません。運用上は「モジュール名.設定名」のような命名規則を決めて重複を防いでください。

項目名必須説明
クライアント必須選択(Table Direct)対象テナント
組織必須選択(Table Direct)対象組織
Key必須文字列(240)設定キー。AD_MESSAGE のメッセージタグ名等
Value必須文字列(240)設定値
有効必須チェックレコードが有効か(既定値 Y

全項目一覧はリファレンス参照

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)、ビューではありません。

classDiagram
    class MWebProperties {
        <<deprecated>>
    }
    class X_U_Web_Properties {
        <<generated>>
    }
    class PO {
        <<abstract>>
    }
    MWebProperties --|> X_U_Web_Properties
    X_U_Web_Properties --|> PO

<> <> <> > X_U_Web_Properties X_U_Web_Properties --

パッケージ: org.compiere.model ソースファイル: org.adempiere.base/src/org/compiere/model/MWebProperties.java(生成クラス: X_U_Web_Properties.java

カラム名必須説明備考
U_Web_Properties_IDIDPKWeb プロパティID主キー
AD_Client_IDTable DirectYクライアント既定値 @AD_Client_ID@
AD_Org_IDTable DirectY組織既定値 @AD_Org_ID@
U_KeyStringYKey長さ240
U_ValueStringYValue長さ240
IsActiveYes-NoY有効既定値 'Y'
Created / CreatedByDate+Time / SearchY作成日時・作成者既定値 SYSDATE
Updated / UpdatedByDate+Time / SearchY更新日時・更新者既定値 SYSDATE
U_Web_Properties_UUUUIDNUUID長さ36

📌 ポイント: U_Key に一意インデックスは定義されていません。キーの重複はアプリケーション側で検出する必要があります。

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)または独自テーブルの利用を推奨します。

このウィンドウに紐づく標準プロセスは、リファレンスページ・メニューのいずれにも登録されていません。


旧 Web POS の設定テーブルは非推奨のため、標準のシステム設定やメッセージ機能へ移行することで保守性が大きく向上します。 移行方針の策定から実装まで、コア改変なしでご支援いたします。

As-Link株式会社では、OSGiプラグインによる安全なカスタマイズを提供しています。

OSS ERP導入・カスタマイズサービスの詳細はこちら