iDempiere レポート列セットの使い方|会計 操作マニュアル・技術仕様
📖 会計の全体像: 会計の全体図 も合わせてご覧ください。
レポート列セットは、会計レポート(財務諸表)の列方向に何を表示するかを定義するウィンドウです。「当期実績」「前期実績」「予算」「差異(計算列)」といった列の並びをここで設計し、レポート行セットと組み合わせて会計レポートを構成します。
📌 ポイント: 列の性格は「カラムタイプ」で決まります。相対期間(当期・前期・年初来)/計算(列同士の加減算・比率)/セグメント値(組織別・部門別)の 3 タイプを押さえれば、月次推移表や予実対比表を自由に組めます。
レポート列セットでできること
Section titled “レポート列セットでできること”- 会計レポートの列構成(当期・前期・年初来・予算等)の定義
- 相対期間指定による期間比較列(例: -1=前期、0=当期)
- 列間計算(加算・減算・範囲合計・比率)による差異列・合計列
- 転記タイプ(実績/予算)と GL予算の指定による予実対比
- セグメント値列による組織別・部門別等の内訳表示
- 既存列セットからの列の一括コピー(カラムコピー)
| タブ名 | テーブル | 項目数 | 役割 |
|---|---|---|---|
| レポート列セット | PA_ReportColumnSet | 約6項目 | 列セットの名称・コピー処理 |
| レポート列 | PA_ReportColumn | 約45項目 | 個々の列の定義 |
| 翻訳 | PA_ReportColumn_Trl | 約8項目 | 列名の多言語対応 |
基本操作手順
Section titled “基本操作手順”graph TD
A["🚀 メニューから開く<br/>会計管理 > 会計レポート > レポート列セット"] --> B["➕ 列セットを新規作成<br/>(例: 予実対比)"]
B --> C["📋 レポート列タブで列を追加"]
C --> D{カラムタイプ}
D -->|相対期間| E["📅 相対期間を指定<br/>(0=当期, -1=前期)"]
D -->|計算| F["🧮 計算方法と演算数1/2を指定<br/>(列同士の加減算・比率)"]
D -->|セグメント値| G["🏢 タイプ(組織等)と対象を指定"]
E --> H["💰 金額タイプ・期間タイプ・<br/>転記タイプを設定"]
F --> H
G --> H
H --> I["💾 保存"]
I --> J["📊 会計レポートで<br/>行セットと組み合わせて実行"]
アクセス方法
Section titled “アクセス方法”メニューから「会計管理 > 会計レポート > レポート列セット」を開きます。
- ツールバーの「新規」ボタンをクリックし、列セットの名称を入力して保存
- 「レポート列」タブに移動し、列を 1 つずつ追加:
- 名称: 列見出し(例:
当期実績) - シーケンスNo: 列の並び順(自動採番: 最大値+10)
- カラムタイプ: 相対期間/計算/セグメント値
- 転記タイプ: 実績(初期値)/予算 等
- 金額タイプ: 残高・借方・貸方など集計する金額の種類
- 期間タイプ: 期間/年初来/合計など集計範囲
- 名称: 列見出し(例:
- 「保存」をクリック
予実対比列の例
Section titled “予実対比列の例”| 列名 | カラムタイプ | 設定 |
|---|---|---|
| 当期実績 | 相対期間 | 相対期間=0、転記タイプ=実績 |
| 当期予算 | 相対期間 | 相対期間=0、転記タイプ=予算、予算=対象GL予算 |
| 差異 | 計算 | 計算=減算、演算数1=当期実績、演算数2=当期予算 |
| 達成率 | 計算 | 計算=比率、演算数1=当期実績、演算数2=当期予算 |
既存列セットからのコピー
Section titled “既存列セットからのコピー”ヘッダタブの「カラムコピー」ボタンで、他の列セットの列定義を一括コピーできます。類似レポートを作る際はコピー後に差分だけ修正するのが効率的です。
項目リファレンス
Section titled “項目リファレンス”レポート列タブ(主要項目)
Section titled “レポート列タブ(主要項目)”| 項目名 | 必須 | 型 | 説明 |
|---|---|---|---|
| 名称 | 必須 | 文字列 | 列見出し |
| シーケンスNo | 必須 | 整数 | 列の並び順(自動: 最大+10) |
| カラムタイプ | 必須 | リスト | 相対期間(初期値)/計算/セグメント値 |
| 転記タイプ | 必須 | リスト | 実績(初期値 A)/予算等 |
| 予算 | - | 選択 | 転記タイプ=予算の場合の対象GL予算 |
| 金額タイプ | - | リスト | 集計金額の種類(初期値: 残高) |
| 期間タイプ | - | リスト | 集計期間(初期値: 期間) |
| 相対期間/相対期間(To) | - | 数値 | 期間オフセット(0=当期、-1=前期) |
| 計算 | - | リスト | 加算・減算・範囲・比率 |
| 演算数 1/演算数 2 | - | 選択 | 計算対象の列 |
| タイプ(エレメント) | - | リスト | セグメント値列の対象エレメント |
| 印刷 | 必須 | チェック | 列を印字するか(作業列は非表示に) |
| 乗数/丸め係数/フォーマットパターン | - | 数値/文字列 | 表示調整 |
全項目の一覧は 画面リファレンス を参照してください。
よくある質問(FAQ)
Section titled “よくある質問(FAQ)”Q. カラムタイプを変えたら設定していた項目が消えました。
Section titled “Q. カラムタイプを変えたら設定していた項目が消えました。”仕様です。MReportColumn.beforeSave() はカラムタイプと矛盾する設定を自動クリアします。相対期間→エレメントタイプと計算をクリア、計算→エレメントタイプと相対期間をクリア、セグメント値→計算をクリア、という排他制御です。
Q. 月次推移表(12ヶ月横並び)は作れますか?
Section titled “Q. 月次推移表(12ヶ月横並び)は作れますか?”作れます。相対期間 -11〜0 の列を 12 本並べます。相対期間(To) を使うと複数期間の合算列(例: 上期合計)も定義できます。
Q. 差異列がマイナス表示になります。符号を反転できますか?
Section titled “Q. 差異列がマイナス表示になります。符号を反転できますか?”「乗数(Multiplier)」に -1 を設定するか、「反対の符号を許可」をチェックして列単位で符号を制御します。収益科目の表示符号は行セット側(レポート行の符号設定)との組み合わせで調整してください。
Q. 計算列の演算数に指定した列は印刷したくありません。
Section titled “Q. 計算列の演算数に指定した列は印刷したくありません。”演算対象の列の「印刷」チェックを外せば、集計には使われつつレポートには表示されなくなります。
🛠 技術仕様(開発者向け)
レポート列セットは PA_ReportColumnSet テーブル(MReportColumnSet クラス・148行)と PA_ReportColumn テーブル(MReportColumn クラス・541行)で構成されます。モデルクラスは org.compiere.model ではなく org.compiere.report パッケージにあり、会計レポートエンジン FinReport(2,076行)が実行時に列定義を SQL へ展開します。Document 型ではありません。
アーキテクチャ概要
Section titled “アーキテクチャ概要”classDiagram
class MReportColumnSet {
+getColumns() MReportColumn[]
+list()
}
class MReportColumn {
+getSelectClause(withSum) String
+getWhereClause(PA_Hierarchy_ID) String
+isPeriod() boolean
+isYear() boolean
+isTotal() boolean
+isColumnTypeCalculation() boolean
+isColumnTypeRelativePeriod() boolean
+isColumnTypeSegmentValue() boolean
#beforeSave(newRecord) boolean
}
class FinReport {
<<process 会計レポート実行>>
}
MReportColumnSet --|> X_PA_ReportColumnSet : generated
MReportColumn --|> X_PA_ReportColumn : generated
MReportColumnSet --> MReportColumn : has many
FinReport --> MReportColumnSet : 列を展開
FinReport --> Fact_Acct : 集計
パッケージ: org.compiere.report
ソースファイル: org.adempiere.base/src/org/compiere/report/MReportColumnSet.java / MReportColumn.java / FinReport.java
関連DBテーブル
Section titled “関連DBテーブル”PA_ReportColumnSet(レポート列セット)
Section titled “PA_ReportColumnSet(レポート列セット)”| カラム名 | 型 | 必須 | 説明 | 備考 |
|---|---|---|---|---|
| PA_ReportColumnSet_ID | ID | PK | 列セットID | 主キー |
| Name | String(60) | Y | 名称 | |
| Processing | Button | Y | カラムコピー | 他列セットからの一括コピー処理 |
PA_ReportColumn(レポート列・主要カラム)
Section titled “PA_ReportColumn(レポート列・主要カラム)”| カラム名 | 型 | 必須 | 説明 | 備考 |
|---|---|---|---|---|
| PA_ReportColumn_ID | ID | PK | 列ID | 主キー |
| PA_ReportColumnSet_ID | TableDirect | Y | 列セットFK | |
| Name | String(255) | Y | 列見出し | |
| SeqNo | Integer | Y | 並び順 | デフォルト @SQL=MAX(SeqNo)+10 |
| ColumnType | List(1) | Y | カラムタイプ | デフォルト R(相対期間) |
| PostingType | List(1) | Y | 転記タイプ | デフォルト A(実績) |
| GL_Budget_ID | TableDirect | N | 予算FK | 予算列用 |
| PAAmountType | List(1) | N | 金額タイプ | デフォルト B(残高) |
| PAPeriodType | List(1) | N | 期間タイプ | デフォルト P(期間) |
| RelativePeriod / RelativePeriodTo | Number | N | 相対期間 | 0=当期、負値=過去 |
| CalculationType | List(1) | N | 計算方法 | デフォルト A |
| Oper_1_ID / Oper_2_ID | Table | N | 演算数1/2 | 計算列の対象列 |
| ElementType | List(2) | N | エレメントタイプ | セグメント値列用 |
| Org_ID / C_ElementValue_ID / M_Product_ID 他 | Table / Search | N | セグメント対象 | IsIncludeNulls* とペア |
| IsPrinted | YesNo | Y | 印刷 | デフォルト Y |
| Multiplier / RoundFactor / FormatPattern | Number / Integer / String | N | 表示調整 | |
| CurrencyType / C_Currency_ID / IsAdhocConversion | List / TableDirect / YesNo | N | 通貨換算列 | ウィンドウ非表示項目あり |
ビジネスロジック
Section titled “ビジネスロジック”MReportColumn.beforeSave() — カラムタイプによる排他制御:
| ColumnType | 自動クリアされる項目 |
|---|---|
| RelativePeriod(相対期間) | ElementType, CalculationType |
| Calculation(計算) | ElementType, RelativePeriod |
| SegmentValue(セグメント値) | CalculationType |
実行時(FinReport):
getSelectClause(withSum)— 金額タイプ(残高/借方/貸方/数量)に応じた集計 SELECT 句を生成getWhereClause(PA_Hierarchy_ID)— セグメント値列の絞り込み条件をレポート階層ツリー込みで生成isPeriod()/isYear()/isTotal()— 期間タイプ判定。FinReport が期間・年初来・全期間の集計範囲を切り替えます- 計算列(加減算・範囲・比率)は各列の集計後に FinReport 側で演算されます
拡張ポイント
Section titled “拡張ポイント”- 関連プロセス: ヘッダの「カラムコピー」ボタン(Processing)は他列セットの列を複製する標準プロセスです
- Model Validator: 列定義の変更統制や命名規則は
PA_ReportColumnへのバリデータで実装できます - レポート出力自体の拡張(独自レイアウト等)は FinReport / FinReportJasper の置き換えではなく、Report Cube・印刷フォーマットの活用を先に検討してください
- このテーブルに標準の callout はありません
関連ドキュメント
Section titled “関連ドキュメント”iDempiereカスタマイズのご相談
Section titled “iDempiereカスタマイズのご相談”月次推移・予実対比・部門別 P/L など、財務レポートの設計から出力フォーマット調整までコア改変なしで対応できます。
As-Link株式会社では、OSGiプラグインによる安全なカスタマイズを提供しています。