iDempiere Web POSロールメニューの使い方|販売管理 操作マニュアル・技術仕様
This content is not available in your language yet.
📖 販売管理の全体像: 販売管理の全体図 も合わせてご覧ください。
Web POSロールメニューは、ロール(AD_Role)ごとに表示する Web POS メニュー(U_WebMenu)を割り当てるための設定画面です。旧 Web POS(ADempiere 由来の Web ストア型 POS)で、ログインしたユーザーのロールに応じて異なるメニュー構成を生成するために使われていました。
📌 ポイント: iDempiere 13 標準ではこのウィンドウは無効化されています。モデルクラス
MRoleMenuにも@Deprecated(since="13", forRemoval=true)が付与されており、将来のバージョンで削除される予定です。新規の業務設計では利用しないでください。
Web POSロールメニューでできること
Section titled “Web POSロールメニューでできること”- ロール(
AD_Role_ID)と Web POS メニュー(U_WebMenu_ID)の組み合わせを登録する - ロール単位で表示するメニュー項目の集合を切り替える
- 組織(
AD_Org_ID)ごとに異なる割り当てを行う(テーブルのアクセスレベルはクライアント+組織) - 「有効」(
IsActive)チェックの ON/OFF で、レコードを削除せずに割り当てを一時停止する
単一タブのシンプルな構成です。
| タブ名 | テーブル | 項目数 | 役割 |
|---|---|---|---|
| Role Menu | U_RoleMenu | 5項目 | ロールと Web POS メニューの割り当て |
⚠️ 注意: このウィンドウは標準メニューに登録されていません(間接使用)。開くには、システム管理者ロールでウィンドウを一時的にメニューへ登録する必要があります。
基本操作手順
Section titled “基本操作手順”graph TD
A["🚀 ウィンドウを開く<br/>(標準メニュー未登録のため<br/>メニュー登録が必要)"] --> B{"iDempiere 13 で<br/>利用するか?"}
B -->|"非推奨のため原則 No"| C["🛑 利用しない<br/>標準の受注伝票・<br/>販売請求伝票で運用"]
B -->|"旧データの保守"| D["➕ 新規<br/>ロールを選択"]
D --> E["🗂 Web Menu を選択<br/>(U_WebMenu)"]
E --> F["💾 保存"]
F --> G["🔁 割り当てを止めるときは<br/>「有効」チェックを外す"]
アクセス方法(メニューパス)
Section titled “アクセス方法(メニューパス)”標準メニューには登録されていません(AD_Window_ID: 52001)。参照が必要な場合は、システム管理者がアプリケーション辞書からウィンドウをメニューへ追加してください。
- ツールバーの「新規」ボタンをクリック
- 必須項目を入力:
- クライアント: 対象テナント(コンテキスト
@AD_Client_ID@から自動セット) - 組織: 対象組織(コンテキスト
@AD_Org_ID@から自動セット) - ロール: メニューを割り当てるロール
- Web Menu: 割り当てる Web POS メニュー
- クライアント: 対象テナント(コンテキスト
- 「保存」をクリック
💡 ヒント: 割り当てを解除したい場合は、レコードを削除せず「有効」チェックを外してください。既存の参照を残したまま無効化できます。
項目リファレンス
Section titled “項目リファレンス”Role Menu タブ
Section titled “Role Menu タブ”| 項目名 | 必須 | 型 | 説明 |
|---|---|---|---|
| クライアント | 必須 | 選択(Table Direct) | 対象テナント |
| 組織 | 必須 | 選択(Table Direct) | 対象組織 |
| ロール | 必須 | 選択(Table Direct) | 権限ロール(AD_Role) |
| Web Menu | 必須 | 選択(Table Direct) | Web POS メニュー(U_WebMenu) |
| 有効 | 必須 | チェック | レコードが有効か(既定値 Y) |
よくある質問(FAQ)
Section titled “よくある質問(FAQ)”Q. iDempiere 13 でこの画面を使ってよいですか?
Section titled “Q. iDempiere 13 でこの画面を使ってよいですか?”推奨されません。iDempiere 13 標準ではこのウィンドウは無効化されており、モデルクラス MRoleMenu にも @Deprecated(since="13", forRemoval=true) が宣言されています。forRemoval=true は将来のバージョンで削除予定であることを示すため、この画面に依存した業務設計は避けてください。
Q. 現在のロール別メニュー制御はどこで行いますか?
Section titled “Q. 現在のロール別メニュー制御はどこで行いますか?”iDempiere 標準では、ロールに紐づくメニューツリーの制御はロール定義(AD_Role)とウィンドウ・プロセス・フォームごとのアクセス設定で行います。Web POS 専用のメニュー割り当てテーブルは使用しません。
Q. 入力チェック(バリデーション)はありますか?
Section titled “Q. 入力チェック(バリデーション)はありますか?”MRoleMenu クラスには beforeSave() / afterSave() の独自実装がなく、コンストラクタのみの実装です。したがって検証は Application Dictionary の必須制約(クライアント・組織・ロール・Web Menu・有効がすべて必須)と外部キー制約のみです。
Q. レコードを削除できますか?
Section titled “Q. レコードを削除できますか?”U_RoleMenu テーブルは削除可(IsDeleteable=Y)です。ただし運用中は削除ではなく「有効」チェックを外す運用を推奨します。
🛠 技術仕様(開発者向け)
Web POSロールメニューはマスタデータ型のウィンドウ(AD_Window_ID: 52001)で、U_RoleMenu テーブルに格納されます。モデルクラスは MRoleMenu(64行)で、生成クラス X_U_RoleMenu を継承するのみの薄い実装です。Document 型ではなく、DocStatus / DocAction カラムを持ちません。クラス宣言に @Deprecated(since="13", forRemoval=true) が付与されています。
テーブル属性: アクセスレベル 3(クライアント+組織)、削除可(IsDeleteable=Y)、大量データ扱いなし(IsHighVolume=N)、ビューではありません。
アーキテクチャ概要
Section titled “アーキテクチャ概要”classDiagram
class MRoleMenu {
<<deprecated>>
}
class X_U_RoleMenu {
<<generated>>
}
class I_U_RoleMenu {
<<interface>>
}
class PO {
<<abstract>>
}
MRoleMenu --|> X_U_RoleMenu
X_U_RoleMenu --|> PO
X_U_RoleMenu ..|> I_U_RoleMenu
MRoleMenu --> AD_Role : references
MRoleMenu --> U_WebMenu : references
パッケージ: org.compiere.model
ソースファイル: org.adempiere.base/src/org/compiere/model/MRoleMenu.java(生成クラス: X_U_RoleMenu.java / インターフェース: I_U_RoleMenu.java)
関連DBテーブル
Section titled “関連DBテーブル”U_RoleMenu(Role Menu)
Section titled “U_RoleMenu(Role Menu)”| カラム名 | 型 | 必須 | 説明 | 備考 |
|---|---|---|---|---|
| U_RoleMenu_ID | ID | PK | ロールメニューID | 主キー |
| AD_Client_ID | Table Direct | Y | クライアント | 既定値 @AD_Client_ID@ |
| AD_Org_ID | Table Direct | Y | 組織 | 既定値 @AD_Org_ID@ |
| AD_Role_ID | Table Direct | Y | ロール | AD_Role への外部キー |
| U_WebMenu_ID | Table Direct | Y | Web Menu | U_WebMenu への外部キー |
| IsActive | Yes-No | Y | 有効 | 既定値 'Y' |
| Created / CreatedBy | Date+Time / Search | Y | 作成日時・作成者 | 既定値 SYSDATE |
| Updated / UpdatedBy | Date+Time / Search | Y | 更新日時・更新者 | 既定値 SYSDATE |
| U_RoleMenu_UU | UUID | N | UUID | 長さ36 |
erDiagram
AD_Role ||--o{ U_RoleMenu : "assigned menus"
U_WebMenu ||--o{ U_RoleMenu : "assigned to roles"
ビジネスロジック
Section titled “ビジネスロジック”MRoleMenu は UUID・ID・ResultSet の3種類のコンストラクタのみを実装しており、beforeSave() / afterSave() / 独自の検索メソッドはありません。データ整合性は AD の必須制約と DB の外部キー制約に委ねられています。
拡張ポイント(カスタマイズ箇所)
Section titled “拡張ポイント(カスタマイズ箇所)”本テーブルには Callout(AD_Column.Callout)が定義されていません。独自ロジックを追加する場合は OSGi の Model Validator が第一候補になりますが、forRemoval=true の非推奨クラスを拡張する設計は避けてください。
public class CustomRoleMenuValidator implements ModelValidator { @Override public int modelChange(PO po, int type) throws Exception { if (po instanceof MRoleMenu && (type == TYPE_BEFORE_NEW || type == TYPE_BEFORE_CHANGE)) { // 例: 同一ロールへの重複割り当てを禁止する } return null; }
@Override public String docValidate(PO po, int timing) { return null; // U_RoleMenu は Document 型ではないため不要 }}Document 型ではないため docValidate() は呼び出されません。
関連プロセス
Section titled “関連プロセス”このウィンドウに紐づく標準プロセスは、リファレンスページ・メニューのいずれにも登録されていません。
関連ドキュメント
Section titled “関連ドキュメント”iDempiereカスタマイズのご相談
Section titled “iDempiereカスタマイズのご相談”非推奨となった旧 Web POS 機能から標準の受注・出荷・請求フローへ移行する際は、既存データの棚卸しと移行設計が重要になります。 店舗販売の要件は、標準機能と OSGi プラグインの組み合わせでコア改変なしに実装できます。
As-Link株式会社では、OSGiプラグインによる安全なカスタマイズを提供しています。