iDempiere パフォーマンスカラースキーマの使い方|会計 操作マニュアル・技術仕様
This content is not available in your language yet.
📖 会計の全体像: 会計の全体図 も合わせてご覧ください。
パフォーマンスカラースキーマは、パフォーマンス測定(目標に対する達成率)を色で視覚化するための設定マスタです。「50%までは赤・100%までは黄・それ以上は緑」のように、達成率の閾値と色の組合せを 2〜4 段階で定義できます。
📌 ポイント: 各カラーの「パーセント」はその色が使われる上限値です(例: 第一カラーパーセント=50 なら達成率 0〜50% が第一カラー)。パーセントは 100% を超える値も設定でき(上限なし)、目標未設定の測定値は白で表示されます。
パフォーマンスカラースキーマでできること
Section titled “パフォーマンスカラースキーマでできること”- 達成率に応じた色分けの定義(2段階〜4段階)
- 各段階の閾値(パーセント)と色(印刷カラー)の組合せ設定
- 3色構成(例: 赤-黄-緑)や4色構成(例: グレー-ブロンズ-シルバー-ゴールド)の表現
- 100% 超の達成率に対する色の割当(パーセント上限なし)
パフォーマンスカラースキーマは 1 タブのシンプルなマスタです。
| タブ名 | テーブル | 項目数 | 役割 |
|---|---|---|---|
| カラースキーマ | PA_ColorSchema | 約14項目 | 閾値と色の組合せ定義(第一〜第四カラー) |
基本操作手順
Section titled “基本操作手順”graph TD
A["🚀 メニューから開く<br/>会計管理 > パフォーマンス測定 ><br/>パフォーマンスカラースキーマ"] --> B["➕ 新規で名称を入力"]
B --> C["🔴 第一カラー + パーセントを設定<br/>(例: 50% まで赤)"]
C --> D["🟡 第二カラー + パーセントを設定<br/>(例: 100% まで黄)"]
D --> E{3色/4色にする?}
E -->|する| F["🟢 第三・第四カラーを設定<br/>(例: 9999% まで緑)"]
E -->|2色でよい| G["💾 保存"]
F --> G
アクセス方法(メニューパス)
Section titled “アクセス方法(メニューパス)”メニューから「会計管理 ▸ パフォーマンス測定 ▸ パフォーマンスカラースキーマ」を開きます。
- 「新規」ボタンをクリック
- 名称を入力(例:
標準3色(赤黄緑)) - 閾値と色を設定:
- 第一カラーパーセント / 第一カラー(必須): 例
50/ 赤 - 第二カラーパーセント / 第二カラー(必須): 例
100/ 黄 - 第三カラーパーセント / 第三カラー(任意): 例
9999/ 緑 - 第四カラーパーセント / 第四カラー(任意)
- 第一カラーパーセント / 第一カラー(必須): 例
- 「保存」をクリック
⚠️ 注意: パーセントは第一 ≦ 第二 ≦ 第三 ≦ 第四 の昇順である必要があります。逆順で入力しても保存時に自動調整(小さい方に揃える)されるため、意図した閾値になっているか保存後に確認してください。
項目リファレンス
Section titled “項目リファレンス”| 項目名 | 必須 | 型 | 説明 |
|---|---|---|---|
| 名称 | 必須 | 文字列 | スキーマの識別名 |
| 説明 | - | 文字列 | 補足説明 |
| 第一カラーパーセント | 必須 | 整数 | この値までは第一カラーを使用 |
| 第一カラー | 必須 | 選択 | 最初の色(印刷カラー) |
| 第二カラーパーセント | 必須 | 整数 | この値までは第二カラーを使用 |
| 第二カラー | 必須 | 選択 | 2番目の色 |
| 第三カラーパーセント / 第三カラー | - | 整数/選択 | 3色構成にする場合 |
| 第四カラーパーセント / 第四カラー | - | 整数/選択 | 4色構成にする場合 |
| エンティティタイプ | 必須 | 選択 | 辞書エンティティタイプ(所有・同期の判定) |
よくある質問(FAQ)
Section titled “よくある質問(FAQ)”Q. 閾値を逆順(第一 > 第二)に入れたらどうなりますか?
Section titled “Q. 閾値を逆順(第一 > 第二)に入れたらどうなりますか?”MColorSchema.beforeSave() が昇順を保証するため、第一カラーパーセントが第二カラーパーセントより大きい場合は第一が第二の値に自動的に切り下げられます(第二/第三、第三/第四も同様)。エラーにはならないので、保存後に値を確認してください。
Q. 達成率が 100% を超えた場合の色は?
Section titled “Q. 達成率が 100% を超えた場合の色は?”パーセントに上限はありません。最上位の閾値(例: 第三カラーパーセント=9999)までをその色でカバーする設定が標準的です。iDempiere 標準のデフォルトスキーマも「50% まで赤・100% まで黄・9999% まで緑」の 3 色構成です。
Q. 目標が設定されていない測定値は何色になりますか?
Section titled “Q. 目標が設定されていない測定値は何色になりますか?”白で表示されます(ウィンドウヘルプに明記)。カラースキーマの設定対象は目標(ゴール)が定義された測定値のみです。
Q. 2色だけ・4色構成にできますか?
Section titled “Q. 2色だけ・4色構成にできますか?”できます。必須は第一・第二カラーのみで、赤-緑の 2 段階から、グレー-ブロンズ-シルバー-ゴールドのような 4 段階まで対応します。
🛠 技術仕様(開発者向け)
パフォーマンスカラースキーマは PA_ColorSchema テーブル(アクセスレベル: System+Client)に格納されます。MColorSchema クラス(281行)が閾値の昇順補正と達成率→色の解決(getColor())を担い、Immutable キャッシュに対応します。
アーキテクチャ概要
Section titled “アーキテクチャ概要”classDiagram
class MColorSchema {
+getColor(ctx, PA_ColorSchema_ID, percent) Color$
+get(ctx, PA_ColorSchema_ID) MColorSchema$
+setDefault()
#beforeSave(newRecord) boolean
+getColor(percent) Color
+markImmutable() MColorSchema
}
class X_PA_ColorSchema {
<<generated>>
}
class PO {
<<abstract>>
}
MColorSchema --|> X_PA_ColorSchema
X_PA_ColorSchema --|> PO
MColorSchema --> MPrintColor : 色解決
パッケージ: org.compiere.model
ソースファイル: org.adempiere.base/src/org/compiere/model/MColorSchema.java
関連DBテーブル
Section titled “関連DBテーブル”PA_ColorSchema(カラースキーマ)
Section titled “PA_ColorSchema(カラースキーマ)”| カラム名 | 型 | 必須 | 説明 | 備考 |
|---|---|---|---|---|
| PA_ColorSchema_ID | ID | PK | カラースキーマID | |
| Name | String(60) | Y | 名称 | 識別子 |
| Mark1Percent / AD_PrintColor1_ID | Integer/Table | Y | 第一閾値 / 第一カラー | |
| Mark2Percent / AD_PrintColor2_ID | Integer/Table | Y | 第二閾値 / 第二カラー | |
| Mark3Percent / AD_PrintColor3_ID | Integer/Table | N | 第三閾値 / 第三カラー | |
| Mark4Percent / AD_PrintColor4_ID | Integer/Table | N | 第四閾値 / 第四カラー | |
| EntityType | Table(40) | Y | エンティティタイプ | デフォルトは SQL 式で決定 |
| IsActive | YesNo | Y | 有効 |
ビジネスロジック
Section titled “ビジネスロジック”beforeSave() — 閾値の昇順補正
Section titled “beforeSave() — 閾値の昇順補正”Mark1〜4 のパーセントが昇順になるよう自動補正します(エラーにせず切り下げ):
Mark1Percent > Mark2Percent→ Mark1 を Mark2 の値へMark2Percent > Mark3Percent(Mark3 ≠ 0)→ Mark2 を Mark3 の値へMark3Percent > Mark4Percent(Mark4 ≠ 0)→ 補正
getColor(int percent) — 色の解決
Section titled “getColor(int percent) — 色の解決”flowchart TD
A[percent] --> B{percent <= Mark1<br/>or Mark2 = 0}
B -->|Yes| C[第一カラー]
B -->|No| D{percent <= Mark2<br/>or Mark3 = 0}
D -->|Yes| E[第二カラー]
D -->|No| F{percent <= Mark3<br/>or Mark4 = 0}
F -->|Yes| G[第三カラー]
F -->|No| H[第四カラー]
C --> I["MPrintColor.get() で<br/>実際の Color へ変換<br/>(未設定時は黒)"]
E --> I
G --> I
H --> I
色が解決できない場合は設定済みの最上位カラーへフォールバックし、それも無ければ黒(Color.black)を返します。
setDefault() — 標準スキーマ
Section titled “setDefault() — 標準スキーマ”setDefault() は「Default」という名称で 50% まで赤(AD_PrintColor_ID=102)・100% まで黄(113)・9999% まで緑(103) の 3 色構成を設定します。
拡張ポイント
Section titled “拡張ポイント”- Model Validator: 閾値の運用ルール(例: 必ず 3 色構成にする)を
TYPE_BEFORE_NEW/TYPE_BEFORE_CHANGEで強制できます - Callout: 標準ではこのテーブルにカラム callout は定義されていません
- 色の追加: 使用できる色は印刷カラー(
AD_PrintColor)マスタで管理されており、独自色の追加が可能です
関連プロセス
Section titled “関連プロセス”リファレンスページ・メニューに直接関連するプロセスは登録されていません。
関連ドキュメント
Section titled “関連ドキュメント”iDempiereカスタマイズのご相談
Section titled “iDempiereカスタマイズのご相談”KPI ダッシュボードの色分けルールや独自の達成率表示は、カラースキーマと Model Validator の組合せで柔軟に構成できます。
As-Link株式会社では、OSGiプラグインによる安全なカスタマイズを提供しています。