コンテンツにスキップ

iDempiere 課題推薦の使い方|取引先管理 操作マニュアル・技術仕様

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

課題推薦(Issue Recommendation)は、課題(Issue)に対する推奨対処方法を登録するマスタです。「この種の課題にはこう対処する」というナレッジを定型化しておくためのテーブルで、旧バージョンの課題管理(システム問題レポート)機能とともに導入されました。

⚠️ 重要: このウィンドウは iDempiere 13 標準では無効化されており、標準メニューにも登録されていません(旧バージョンからの互換用)。新規の業務設計での利用は推奨されません。現行の問い合わせ・障害管理にはリクエスト管理を使用してください。

📌 ポイント: 既存データの参照や、旧環境からのアップグレード時の互換性確認が主な用途です。新規に対処ナレッジを蓄積したい場合は、リクエスト標準回答など現行機能の利用を検討してください。

  • 課題に対する推奨対処方法の名称登録
  • 説明・コメントによる対処手順の記録(最大2,000文字)
  • 有効/無効フラグによる推奨内容の世代管理
  • 旧バージョンから引き継いだ既存データの参照

課題推薦は単一タブのシンプルなマスタです。

タブ名テーブル項目数役割
課題推薦R_IssueRecommendation6項目推奨対処方法の名称・説明・コメント
graph TD
    A["⚠️ 標準メニューに未登録<br/>(iDempiere 13 では無効化)"] --> B{"利用目的"}
    B -->|既存データの参照| C["🔍 システム管理者が<br/>ウィンドウを有効化+<br/>メニュー・ロール権限を付与"]
    B -->|新規のナレッジ蓄積| D["✅ リクエスト管理・<br/>リクエスト標準回答の利用を推奨"]
    C --> E["➕ 新規で推奨内容を登録<br/>(名称は必須)"]
    E --> F["📝 説明・コメントに<br/>対処手順を記載"]
    F --> G["💾 保存"]

標準メニューに未登録 (iDempiere 13 では無効化) 利用目的 システム管理者が ウィンドウを有効化+ メニュー・ロール権限を付与 リクエスト管理・ リクエスト標準回答の利用を推奨 新規で推奨内容を登録 (名称は必須) 説明・コメントに 対処手順を記載 保存 既存データの参照 新規のナレッジ蓄積

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

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

このウィンドウ(AD_Window_ID: 367)は iDempiere 13 標準では無効化されており、標準メニューに登録されていません。参照が必要な場合は、システム管理者がアプリケーション辞書でウィンドウを有効化し、メニュー項目とロール権限を付与する必要があります。

ウィンドウを有効化した環境での登録手順です。

  1. ツールバーの「新規」ボタンをクリック
  2. 基本情報を入力:
    • 名称(必須): 推奨対処の名称(例: 再起動による復旧
    • 説明: 短い説明(255文字まで)
    • コメント: 具体的な対処手順(2,000文字まで)
  3. 保存」をクリック

⚠️ 注意: 標準で無効化されているウィンドウを有効化して運用に組み込むと、将来のバージョンアップ時に機能が完全に削除されるリスクがあります。長期運用を前提とするデータは、現行の機能で管理してください。

項目名必須説明
クライアント必須選択テナント
組織必須選択組織
名称必須文字列(60)推奨対処の名称。識別子として使用
説明-文字列(255)短い説明
コメント-テキスト(2000)対処手順などのヒント
有効-チェック有効フラグ

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

Q. メニューに「課題推薦」が見当たりません

Section titled “Q. メニューに「課題推薦」が見当たりません”

正常な状態です。iDempiere 13 標準ではこのウィンドウは無効化されており、標準メニューに登録されていません。旧バージョンで使用していたデータを参照する必要がある場合のみ、システム管理者がアプリケーション辞書で有効化してください。

Q. リクエスト管理との違いは何ですか?

Section titled “Q. リクエスト管理との違いは何ですか?”

課題推薦は旧来の課題(Issue)管理サブシステムに属するマスタで、リクエスト管理(R_Request を中心とする現行機能)とは別系統です。現行のiDempiereで問い合わせ・障害・要望を扱う場合は、リクエストリクエストカテゴリリクエストステータスを組み合わせて設計します。

Q. 定型的な対処内容を登録したい場合の代替手段は?

Section titled “Q. 定型的な対処内容を登録したい場合の代替手段は?”

対顧客の定型回答であればリクエスト標準回答が最も近い機能です。分類軸としてのナレッジ整理であればリクエストカテゴリのコメント欄や、リクエスト決定の区分設計で代替できます。

Q. 既存データを削除しても問題ありませんか?

Section titled “Q. 既存データを削除しても問題ありませんか?”

R_IssueRecommendation は削除可能(IsDeleteable=Y)なテーブルですが、他テーブルからの参照が残っている場合は外部キー制約により削除できません。まずは「有効」チェックを外して無効化し、参照がないことを確認してから削除を検討してください。

🛠 技術仕様(開発者向け)

課題推薦はマスタデータ型のウィンドウで、R_IssueRecommendation テーブルに格納されます。専用の M クラスは存在せず、生成クラス X_R_IssueRecommendation とインターフェース I_R_IssueRecommendation のみが提供されます。Document 型ではなく、モデル層のカスタムロジックもありません。ウィンドウ自体は iDempiere 13 標準で無効化されています。

テーブルアクセスレベル削除可大量データビュー
R_IssueRecommendation6(システム+クライアント)YYN

📌 ポイント: IsHighVolume=Y が設定されているため、他ウィンドウからこのテーブルを参照する際は、ドロップダウンではなく検索ダイアログでレコードを選択する動作になります。

classDiagram
    class X_R_IssueRecommendation {
        <<generated>>
        +getName() String
        +getDescription() String
        +getHelp() String
    }
    class I_R_IssueRecommendation {
        <<interface>>
    }
    class PO {
        <<abstract>>
    }
    X_R_IssueRecommendation --|> PO
    X_R_IssueRecommendation ..|> I_R_IssueRecommendation

<> +getName() String +getDescription() String +getHelp() String <> <> > PO X_R_IssueRecommendation ..

パッケージ: org.compiere.model ソースファイル: org.adempiere.base/src/org/compiere/model/X_R_IssueRecommendation.java

カラム名必須説明備考
R_IssueRecommendation_IDIDPK課題推薦ID主キー。説明は「課題を修正する方法の推奨」
AD_Client_IDTable DirectYテナント既定値なし
AD_Org_IDTable DirectY組織既定値なし
NameString(60)Y名称識別子(IsIdentifier=Y)
DescriptionString(255)N説明
HelpText(2000)Nコメント/ヒント
IsActiveYes-NoY有効既定値なし
R_IssueRecommendation_UUUUIDNUUID

⚠️ 注意: 他の多くのマスタと異なり、AD_Client_ID / AD_Org_ID / IsActive に既定値(@#AD_Client_ID@ 等)が設定されていません。API やインポート経由でレコードを作成する場合は、これらの値を明示的にセットする必要があります。

erDiagram
    R_IssueRecommendation {
        int R_IssueRecommendation_ID PK
        string Name
        string Description
        string Help
    }
    R_Request ||--o{ R_RequestUpdate : "current request management"
    R_Request }o--|| R_Status : "status"

current request management int R_IssueRecommendation_ID PK string Name string Description string Help

M クラスが存在せず、beforeSave() / afterSave() / DocAction はいずれも実装されていません。制約は AD 定義(Name 必須)とDB制約のみです。旧課題管理サブシステムの一部として提供されていたテーブルで、iDempiere 13 のコア処理から能動的に呼び出される箇所はありません。

拡張ポイント(カスタマイズ箇所)

Section titled “拡張ポイント(カスタマイズ箇所)”

参照が必要な場合、システム管理者は以下を行います。

  1. アプリケーション辞書でウィンドウ(AD_Window_ID: 367)を有効化
  2. メニュー項目を作成し、対象ロールにウィンドウアクセス権限を付与
  3. キャッシュをリセットして反映

独自ロジックを追加する場合は、テーブル名判定で Model Validator を適用します。

public class CustomIssueRecommendationValidator implements ModelValidator {
@Override
public int modelChange(PO po, int type) throws Exception {
if (I_R_IssueRecommendation.Table_Name.equals(po.get_TableName())
&& (type == TYPE_BEFORE_NEW || type == TYPE_BEFORE_CHANGE)) {
// 例: 対処手順(Help)の記載を必須にする
String help = (String) po.get_Value("Help");
if (help == null || help.trim().isEmpty()) {
throw new AdempiereException("対処手順(コメント)を入力してください");
}
}
return null;
}
}

非推奨機能に依存し続けるより、現行のリクエスト管理へデータを移行する方が長期的には安全です。R_IssueRecommendation の名称・説明を、リクエスト標準回答(R_StandardResponse)や、リクエストカテゴリのコメントへ移す設計が現実的です。


非推奨機能に残ったデータの棚卸しと、現行機能への移行設計は、バージョンアップの安全性を大きく左右します。旧課題管理からリクエスト管理への移行は、データ移行スクリプトとOSGiプラグインで段階的に進められます。

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

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