iDempiere 課題推薦の使い方|取引先管理 操作マニュアル・技術仕様
This content is not available in your language yet.
📖 取引先管理の全体像: 取引先管理の全体図 も合わせてご覧ください。
課題推薦(Issue Recommendation)は、課題(Issue)に対する推奨対処方法を登録するマスタです。「この種の課題にはこう対処する」というナレッジを定型化しておくためのテーブルで、旧バージョンの課題管理(システム問題レポート)機能とともに導入されました。
⚠️ 重要: このウィンドウは iDempiere 13 標準では無効化されており、標準メニューにも登録されていません(旧バージョンからの互換用)。新規の業務設計での利用は推奨されません。現行の問い合わせ・障害管理にはリクエスト管理を使用してください。
📌 ポイント: 既存データの参照や、旧環境からのアップグレード時の互換性確認が主な用途です。新規に対処ナレッジを蓄積したい場合は、リクエスト標準回答など現行機能の利用を検討してください。
課題推薦でできること
Section titled “課題推薦でできること”- 課題に対する推奨対処方法の名称登録
- 説明・コメントによる対処手順の記録(最大2,000文字)
- 有効/無効フラグによる推奨内容の世代管理
- 旧バージョンから引き継いだ既存データの参照
課題推薦は単一タブのシンプルなマスタです。
| タブ名 | テーブル | 項目数 | 役割 |
|---|---|---|---|
| 課題推薦 | R_IssueRecommendation | 6項目 | 推奨対処方法の名称・説明・コメント |
基本操作手順
Section titled “基本操作手順”graph TD
A["⚠️ 標準メニューに未登録<br/>(iDempiere 13 では無効化)"] --> B{"利用目的"}
B -->|既存データの参照| C["🔍 システム管理者が<br/>ウィンドウを有効化+<br/>メニュー・ロール権限を付与"]
B -->|新規のナレッジ蓄積| D["✅ リクエスト管理・<br/>リクエスト標準回答の利用を推奨"]
C --> E["➕ 新規で推奨内容を登録<br/>(名称は必須)"]
E --> F["📝 説明・コメントに<br/>対処手順を記載"]
F --> G["💾 保存"]
アクセス方法(メニューパス)
Section titled “アクセス方法(メニューパス)”このウィンドウ(AD_Window_ID: 367)は iDempiere 13 標準では無効化されており、標準メニューに登録されていません。参照が必要な場合は、システム管理者がアプリケーション辞書でウィンドウを有効化し、メニュー項目とロール権限を付与する必要があります。
ウィンドウを有効化した環境での登録手順です。
- ツールバーの「新規」ボタンをクリック
- 基本情報を入力:
- 名称(必須): 推奨対処の名称(例:
再起動による復旧) - 説明: 短い説明(255文字まで)
- コメント: 具体的な対処手順(2,000文字まで)
- 名称(必須): 推奨対処の名称(例:
- 「保存」をクリック
⚠️ 注意: 標準で無効化されているウィンドウを有効化して運用に組み込むと、将来のバージョンアップ時に機能が完全に削除されるリスクがあります。長期運用を前提とするデータは、現行の機能で管理してください。
項目リファレンス
Section titled “項目リファレンス”課題推薦タブ
Section titled “課題推薦タブ”| 項目名 | 必須 | 型 | 説明 |
|---|---|---|---|
| クライアント | 必須 | 選択 | テナント |
| 組織 | 必須 | 選択 | 組織 |
| 名称 | 必須 | 文字列(60) | 推奨対処の名称。識別子として使用 |
| 説明 | - | 文字列(255) | 短い説明 |
| コメント | - | テキスト(2000) | 対処手順などのヒント |
| 有効 | - | チェック | 有効フラグ |
よくある質問(FAQ)
Section titled “よくある質問(FAQ)”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_IssueRecommendation | 6(システム+クライアント) | Y | Y | N |
📌 ポイント:
IsHighVolume=Yが設定されているため、他ウィンドウからこのテーブルを参照する際は、ドロップダウンではなく検索ダイアログでレコードを選択する動作になります。
アーキテクチャ概要
Section titled “アーキテクチャ概要”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
パッケージ: org.compiere.model
ソースファイル: org.adempiere.base/src/org/compiere/model/X_R_IssueRecommendation.java
関連DBテーブル
Section titled “関連DBテーブル”R_IssueRecommendation(課題推薦)
Section titled “R_IssueRecommendation(課題推薦)”| カラム名 | 型 | 必須 | 説明 | 備考 |
|---|---|---|---|---|
| R_IssueRecommendation_ID | ID | PK | 課題推薦ID | 主キー。説明は「課題を修正する方法の推奨」 |
| AD_Client_ID | Table Direct | Y | テナント | 既定値なし |
| AD_Org_ID | Table Direct | Y | 組織 | 既定値なし |
| Name | String(60) | Y | 名称 | 識別子(IsIdentifier=Y) |
| Description | String(255) | N | 説明 | |
| Help | Text(2000) | N | コメント/ヒント | |
| IsActive | Yes-No | Y | 有効 | 既定値なし |
| R_IssueRecommendation_UU | UUID | N | UUID |
⚠️ 注意: 他の多くのマスタと異なり、
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"
ビジネスロジック
Section titled “ビジネスロジック”M クラスが存在せず、beforeSave() / afterSave() / DocAction はいずれも実装されていません。制約は AD 定義(Name 必須)とDB制約のみです。旧課題管理サブシステムの一部として提供されていたテーブルで、iDempiere 13 のコア処理から能動的に呼び出される箇所はありません。
拡張ポイント(カスタマイズ箇所)
Section titled “拡張ポイント(カスタマイズ箇所)”有効化する場合の手順
Section titled “有効化する場合の手順”参照が必要な場合、システム管理者は以下を行います。
- アプリケーション辞書でウィンドウ(AD_Window_ID: 367)を有効化
- メニュー項目を作成し、対象ロールにウィンドウアクセス権限を付与
- キャッシュをリセットして反映
OSGi Model Validator
Section titled “OSGi Model Validator”独自ロジックを追加する場合は、テーブル名判定で 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; }}移行の考え方
Section titled “移行の考え方”非推奨機能に依存し続けるより、現行のリクエスト管理へデータを移行する方が長期的には安全です。R_IssueRecommendation の名称・説明を、リクエスト標準回答(R_StandardResponse)や、リクエストカテゴリのコメントへ移す設計が現実的です。
関連ドキュメント
Section titled “関連ドキュメント”iDempiereカスタマイズのご相談
Section titled “iDempiereカスタマイズのご相談”非推奨機能に残ったデータの棚卸しと、現行機能への移行設計は、バージョンアップの安全性を大きく左右します。旧課題管理からリクエスト管理への移行は、データ移行スクリプトとOSGiプラグインで段階的に進められます。
As-Link株式会社では、OSGiプラグインによる安全なカスタマイズを提供しています。