コンテンツにスキップ

iDempiere 入札トピックの使い方|販売管理 操作マニュアル・技術仕様

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

入札トピックは、オークション(入札)の対象となる案件を登録し、寄せられた入札(Bid)とオファー(Offer)、およびその資金(基金)を一覧するためのウィンドウです。買い手が金額を提示して競り合う形式と、複数の参加者が資金を出し合う形式の両方を想定した構造になっています。

⚠️ 注意: この画面は iDempiere 13 標準では無効化されています(旧バージョンからの互換用)。標準メニューにも登録されていません。新規の業務設計での利用は推奨されず、通常の販売業務は受注伝票、購買側の競争見積は見積依頼(RFQ)を使用してください。

📌 ポイント: 入札関連(B_*)テーブルには ビジネスロジッククラス(M クラス)が一切存在しません。自動生成クラス(X_B_*)のみで構成されており、トピックの締切判定・落札判定・基金の引当といった処理はコアに実装されていません。実運用するにはカスタム開発が前提になります。

  • オークション対象(トピック)の登録と公開設定
  • トピックタイプ・トピックカテゴリによる分類
  • 決定日付(締切日)とトピックステータス/アクションの管理
  • 寄せられた入札(Bid)の一覧と、入札者の希望委託の確認
  • 入札に紐づく買い手基金(委託金額・非委託金額)の確認
  • オファー(Offer)と売り手基金の確認
  • トピックに対するコメント(質問・提案)の記録

入札トピックは 3 階層・6 タブ構成です。

タブ名テーブル階層項目数役割
入札トピックB_Topic016項目オークション対象の本体
入札B_Bid19項目買い手からの入札
入札基金B_BuyerFunds28項目入札に紐づく買い手の資金
オファーB_Offer19項目売り手からのオファー
オファー基金B_SellerFunds28項目オファーに紐づく売り手の資金
コメントB_BidComment17項目トピックへのコメント
graph TD
    subgraph "入札トピック(Window ID: 307・標準では無効)"
        T1["📌 入札トピック<br/>B_Topic<br/>16項目"]
        T2["&nbsp;&nbsp;└ 入札<br/>&nbsp;&nbsp;&nbsp;&nbsp;B_Bid"]
        T3["&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;└ 入札基金<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;B_BuyerFunds"]
        T4["&nbsp;&nbsp;└ オファー<br/>&nbsp;&nbsp;&nbsp;&nbsp;B_Offer"]
        T5["&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;└ オファー基金<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;B_SellerFunds"]
        T6["&nbsp;&nbsp;└ コメント<br/>&nbsp;&nbsp;&nbsp;&nbsp;B_BidComment"]
    end
    T1 --> T2
    T2 --> T3
    T1 --> T4
    T4 --> T5
    T1 --> T6

入札トピック(Window ID: 307・標準では無効) 入札トピック B_Topic 16項目   └ 入札     B_Bid       └ 入札基金         B_BuyerFunds   └ オファー     B_Offer       └ オファー基金         B_SellerFunds   └ コメント     B_BidComment

graph TD
    A["⚙️ 前提: トピックタイプと<br/>カテゴリを先に登録"] --> B["➕ 入札トピックを新規作成<br/>(伝票番号・名称)"]
    B --> C["🏷 トピックタイプ・カテゴリを選択"]
    C --> D["📅 決定日付(締切)を設定"]
    D --> E["📝 詳細・テキストを入力"]
    E --> F["📢 公開にチェック<br/>(閲覧可能にする)"]
    F --> G["💾 保存"]
    G --> H["👀 入札・オファータブで<br/>参加状況を確認"]
    H --> I["💬 コメントタブで<br/>質問・提案を確認"]

前提: トピックタイプと カテゴリを先に登録 入札トピックを新規作成 (伝票番号・名称) トピックタイプ・カテゴリを選択 決定日付(締切)を設定 詳細・テキストを入力 公開にチェック (閲覧可能にする) 保存 入札・オファータブで 参加状況を確認 コメントタブで 質問・提案を確認

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

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

標準メニューには登録されていません(*(標準メニュー未登録 / 間接使用)*)。参照する場合はシステム管理者権限で「ウィンドウ・タブ・フィールド」から AD_Window_ID: 307 を有効化する必要があります。

  1. 前提としてオークショントピックタイプでタイプとカテゴリを登録
  2. 新規」ボタンをクリック
  3. 必須項目を入力:
    • 伝票番号: トピックの番号(最大 30 文字)
    • 名称: トピック名(最大 60 文字)
    • トピックタイプ / トピックカテゴリ: 分類
    • 決定日付: 落札・決定を行う日
    • トピックステータス / トピックアクション: 状態と次アクション
  4. 任意項目(説明詳細(最大 4000 文字)・テキスト)を入力
  5. 公開 にチェックすると閲覧可能な状態になります
  6. 保存」をクリック

⚠️ 注意: 「処理中(Processing)」ボタンが定義されていますが、対応するプロセス実装はコアに存在しません。押しても業務処理は行われません。

  • 入札 タブ: 入札者(ユーザー)、入札名、紐づく バイヤー基金、希望委託フラグ、メッセージ、プライベートメモ
  • 入札基金 タブ: 委託金額(法的にコミット済みの金額)と 非委託金額(未コミット金額)、紐づく入出金伝票・受注伝票
  • オファー タブ / オファー基金 タブ: 売り手側の同等情報

💡 ヒント: 「プライベートメモ」は他の参加者には見えない前提の項目です。ただしアクセス制御はロール設定に依存するため、機密情報の格納には向きません。

項目名カラム必須説明
伝票番号DocumentNo必須文字列(30)トピックの番号
名称Name必須文字列(60)トピック名(識別子)
説明Description-文字列(255)概要
トピックタイプB_TopicType_ID必須選択オークション形式の分類
トピックカテゴリB_TopicCategory_ID必須選択タイプ配下のカテゴリ
公開IsPublished必須チェック閲覧可能にする
決定日付DecisionDate必須日付落札・決定の実施日
詳細TextDetails-テキスト(4000)対象の詳細説明
テキストTextMsg-テキスト(2000)メッセージ
トピックステータスTopicStatus必須リストトピックの状態
トピックアクションTopicAction必須リスト実行するアクション
処理中Processing-ボタンコアに実装なし
処理済みProcessed必須チェック処理済みフラグ

入札タブ・オファータブ(共通構造)

Section titled “入札タブ・オファータブ(共通構造)”
項目名カラム必須説明
トピックB_Topic_ID必須選択対象トピック
ユーザーAD_User_ID必須選択入札者/オファー提示者
名称Name必須文字列(60)入札/オファー名
バイヤー基金 / 売手基金B_BuyerFunds_ID / B_SellerFunds_ID必須選択紐づく基金
希望委託IsWillingToCommit必須チェックコミット意思
テキストTextMsg-テキスト(2000)メッセージ
プライベートメモPrivateNote-テキスト(2000)他参加者に非公開のメモ

基金タブ(入札基金・オファー基金 共通)

Section titled “基金タブ(入札基金・オファー基金 共通)”
項目名カラム必須説明
ユーザーAD_User_ID必須選択資金の保有者(識別子)
委託金額CommittedAmt必須金額コミット済み金額(識別子)
非委託金額NonCommittedAmt必須金額未コミット金額(識別子)
入金支払伝票C_Payment_ID-選択紐づく入出金伝票
受注伝票C_Order_ID-選択紐づく受注伝票

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

Q. メニューにこの画面が見当たりません。

Section titled “Q. メニューにこの画面が見当たりません。”

iDempiere 13 標準ではこのウィンドウは無効化されており、メニューにも登録されていません。旧 Compiere / ADempiere 由来のオークション機能で、現在は保守対象外の互換機能という位置づけです。

Q. 落札処理や締切処理は自動化されていますか?

Section titled “Q. 落札処理や締切処理は自動化されていますか?”

いいえ。B_Topic には Processing ボタンと TopicStatus / TopicAction の項目がありますが、対応するプロセスクラスはコアに存在しません。決定日付を過ぎたトピックの自動締切、最高額入札の落札判定、基金からの引当などはすべて未実装で、実運用にはカスタム開発が必要です。

Q. 基金(Funds)は入出金伝票と連動しますか?

Section titled “Q. 基金(Funds)は入出金伝票と連動しますか?”

B_BuyerFunds / B_SellerFunds には C_Payment_IDC_Order_ID の参照カラムがありますが、これらは単なる参照であり、入金処理から基金へ自動反映するロジックはコアにありません。委託金額・非委託金額の更新も手動です。

Q. 競争見積のような業務をしたい場合の代替は?

Section titled “Q. 競争見積のような業務をしたい場合の代替は?”

購買側であれば見積依頼(RFQ)が現行機能として保守されており、複数仕入先への引合・回答比較・受注/発注への変換まで実装されています。販売側であれば受注伝票の見積タイプを使うのが標準的です。

Q. データを残したまま画面だけ無効にできますか?

Section titled “Q. データを残したまま画面だけ無効にできますか?”

このウィンドウは標準ですでに無効化された状態です。テーブル(B_*)自体は DB に存在するため、過去データを保持したまま画面を非表示にしておくことができます。テーブルはいずれも IsDeleteable=Y のため、不要であればレコード削除も可能です。

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

入札トピックは 3 階層 6 タブのウィンドウ(AD_Window_ID: 307)で、B_Topic を頂点に B_Bid / B_Offer / B_BidComment が子、B_BuyerFunds / B_SellerFunds が孫に位置します。関連テーブルはすべて AccessLevel=3(クライアント+組織レベル)/IsDeleteable=Y / IsHighVolume=N

M クラス(ビジネスロジッククラス)は 1 つも存在しません。 model_classes.txt に含まれるのは自動生成クラス X_B_Topic / X_B_Bid / X_B_Offer / X_B_BuyerFunds / X_B_SellerFunds / X_B_BidComment / X_B_Seller とそのインターフェース I_B_* のみで、MTopicMBid に相当する実装はありません。したがって beforeSave() / afterSave() / DocAction によるコア側の業務ロジックは存在せず、動作は PO 基底クラスの CRUD と DB 制約に限定されます。

classDiagram
    class X_B_Topic {
        <<generated>>
    }
    class X_B_Bid {
        <<generated>>
    }
    class X_B_Offer {
        <<generated>>
    }
    class X_B_BuyerFunds {
        <<generated>>
    }
    class X_B_SellerFunds {
        <<generated>>
    }
    class X_B_BidComment {
        <<generated>>
    }
    class PO {
        <<abstract>>
    }
    X_B_Topic --|> PO
    X_B_Bid --|> PO
    X_B_Offer --|> PO
    X_B_BuyerFunds --|> PO
    X_B_SellerFunds --|> PO
    X_B_BidComment --|> PO
    X_B_Topic --> X_B_Bid : has many
    X_B_Topic --> X_B_Offer : has many
    X_B_Topic --> X_B_BidComment : has many
    X_B_Bid --> X_B_BuyerFunds : funded by
    X_B_Offer --> X_B_SellerFunds : funded by

<> <> > PO X_B_Bid -- > PO X_B_BuyerFunds -- > PO X_B_BidComment --

パッケージ: org.compiere.model ソースファイル: org.adempiere.base/src/org/compiere/model/X_B_Topic.java ほか X_B_*.java(対応するインターフェースは I_B_*.java

カラム名必須説明備考
B_Topic_IDIDPKトピックID主キー
B_Topic_UUUUIDNUUID
AD_Client_IDTable DirectYクライアントdefault @#AD_Client_ID@
AD_Org_IDTable DirectY組織default @#AD_Org_ID@
DocumentNoString(30)Y伝票番号
NameString(60)Y名称識別子
DescriptionString(255)N説明
B_TopicType_IDTable DirectYトピックタイプ
B_TopicCategory_IDTable DirectYトピックカテゴリ
IsPublishedYes-NoY公開
DecisionDateDateY決定日付
TextDetailsText(4000)N詳細
TextMsgText(2000)Nテキスト
TopicStatusList(2)Yトピックステータス
TopicActionList(2)Yトピックアクション
ProcessingButtonN処理中対応プロセス実装なし
ProcessedYes-NoY処理済み

B_Bid / B_Offer(入札・オファー)

Section titled “B_Bid / B_Offer(入札・オファー)”
カラム名必須説明
B_Bid_ID / B_Offer_IDIDPK主キー
B_Topic_IDSearchYトピックFK
AD_User_IDTable DirectY参加ユーザー
NameString(60)Y名称(識別子)
B_BuyerFunds_ID / B_SellerFunds_IDSearchY基金FK
IsWillingToCommitYes-NoY希望委託
TextMsgText(2000)Nメッセージ
PrivateNoteText(2000)Nプライベートメモ
カラム名必須説明
B_BuyerFunds_ID / B_SellerFunds_IDIDPK主キー
AD_User_IDTable DirectY資金保有ユーザー(識別子)
CommittedAmtAmountY委託金額(識別子)
NonCommittedAmtAmountY非委託金額(識別子)
C_Payment_IDSearchN入出金伝票
C_Order_IDSearchN受注伝票
カラム名必須説明
B_BidComment_IDIDPK主キー
B_Topic_IDSearchYトピックFK
AD_User_IDTable DirectY投稿ユーザー
TextMsgText(2000)Y本文
CreatedDate+TimeY投稿日時(default SYSDATE
erDiagram
    B_TopicType ||--o{ B_TopicCategory : "categories"
    B_TopicType ||--o{ B_Topic : "type of"
    B_TopicCategory ||--o{ B_Topic : "category of"
    B_Topic ||--o{ B_Bid : "bids"
    B_Topic ||--o{ B_Offer : "offers"
    B_Topic ||--o{ B_BidComment : "comments"
    B_Bid }o--|| B_BuyerFunds : "funded by"
    B_Offer }o--|| B_SellerFunds : "funded by"
    B_BuyerFunds }o--o| C_Payment : "payment"
    B_SellerFunds }o--o| C_Order : "order"
    B_Seller ||--o{ B_Offer : "seller"

type of category of funded by

コア実装にビジネスロジックはありません。確認できる制約は次のとおりです。

  • 必須制約: B_TopicDocumentNo / Name / B_TopicType_ID / B_TopicCategory_ID / DecisionDate / TopicStatus / TopicAction / IsPublished / Processed が NOT NULL
  • 参照整合性: 入札・オファー・コメントは B_Topic_ID の外部キーで親に従属
  • 既定値: Created / UpdatedSYSDATEIsActiveY、クライアント/組織にコンテキスト変数
  • 自動採番なし: DocumentNo に採番シーケンスの既定値が設定されておらず、手入力が前提

⚠️ 注意: Processing(処理中)ボタンは AD_Column に定義されているだけで、対応する AD_Process の実装クラスがコアに存在しません。ボタンを配置したまま運用すると「押しても何も起きない」挙動になります。

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

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

このウィンドウを実運用する場合、最低限つぎのロジックを自前で実装する必要があります。

機能実装方針
締切判定DecisionDate 経過トピックを検出するスケジューラ(AD_Scheduler + SvrProcess
落札判定入札の最高額・最先着などの判定プロセス(SvrProcess
基金の引当CommittedAmt / NonCommittedAmt の更新ロジック(Model Validator または専用プロセス)
受注への変換落札結果から C_Order を生成するプロセス
公開制御IsPublished とロール/ユーザーのアクセス制御の連動

M クラスが無いテーブルでもテーブル名判定で検証を追加できます。

public class CustomBidTopicValidator implements ModelValidator {
@Override
public int modelChange(PO po, int type) throws Exception {
if (MTable.getTableName(po.getCtx(), po.get_Table_ID()).equals("B_Topic")) {
if (type == TYPE_BEFORE_NEW || type == TYPE_BEFORE_CHANGE) {
Timestamp decision = (Timestamp) po.get_Value("DecisionDate");
if (decision != null && decision.before(new Timestamp(System.currentTimeMillis()))) {
throw new AdempiereException("決定日付は本日以降にしてください");
}
}
}
return null;
}
@Override
public String docValidate(PO po, int timing) {
return null; // B_Topic は Document 型ではないため不要
}
}

B_* テーブルの各カラムには Callout が設定されていません(gw_column.tsv の callout 列がすべて空)。

このウィンドウに紐づく標準プロセスはありません(Processing ボタンに対応する実装がコアに存在しないため)。


入札・オークション業務をどうしても iDempiere 上で扱いたい場合、標準の B_* テーブルをそのまま使うより、現行保守されている RFQ や受注の仕組みをベースに拡張するほうが安全です。要件に応じた実現方式の見極めからご相談いただけます。

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

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