コンテンツにスキップ

iDempiere Web POSブラックリスト小切手の使い方|販売管理 操作マニュアル・技術仕様

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

Web POSブラックリスト小切手は、店頭で受け取りを拒否すべき小切手を「金融機関名(BankName)+小切手番号(ChequeNo)」の組み合わせで登録するリストです。旧 Web POS が小切手決済時に照合するために用意されたテーブルで、不渡り歴のある小切手などを事前に登録しておく用途を想定しています。

📌 ポイント: iDempiere 13 標準ではこのウィンドウは無効化されています。またこのテーブルには専用のモデルクラス(M... / X_...)が標準ソースツリーに存在せず、業務ロジックも実装されていません。新規の業務設計では利用しないでください。

Web POSブラックリスト小切手でできること

Section titled “Web POSブラックリスト小切手でできること”
  • 受取拒否対象の小切手を「金融機関名+小切手番号」で登録する
  • 組織単位・クライアント単位でリストを分けて保持する(アクセスレベルはクライアント+組織)
  • 「有効」(IsActive)チェックで、レコードを残したまま対象から外す
  • 登録日時・登録者(Created / CreatedBy)による監査証跡を残す

⚠️ 注意: このリストを参照して決済をブロックする処理は iDempiere 13 標準のコードには含まれていません。データを登録しても、標準の受注・入金処理が自動的に小切手を拒否することはありません。

単一タブのシンプルな構成です。

タブ名テーブル項目数役割
BlackListChequeU_BlackListCheque5項目受取拒否対象の小切手リスト
graph TD
    A["🚀 ウィンドウを開く<br/>(標準メニュー未登録のため<br/>メニュー登録が必要)"] --> B{"iDempiere 13 で<br/>利用するか?"}
    B -->|"非推奨のため原則 No"| C["🛑 利用しない<br/>与信管理は取引先マスタの<br/>与信限度で運用"]
    B -->|"旧データの保守"| D["➕ 新規<br/>金融機関名を入力"]
    D --> E["🔢 Cheque No を入力<br/>(最大120文字)"]
    E --> F["💾 保存"]
    F --> G["🔁 解除するときは<br/>「有効」チェックを外す"]

ウィンドウを開く (標準メニュー未登録のため メニュー登録が必要) iDempiere 13 で 利用するか? 非推奨のため原則 No 利用しない 与信管理は取引先マスタの 与信限度で運用 旧データの保守 新規 金融機関名を入力 Cheque No を入力 (最大120文字) 保存 解除するときは 「有効」チェックを外す

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

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

標準メニューには登録されていません(AD_Window_ID: 52003)。参照が必要な場合は、システム管理者がアプリケーション辞書からウィンドウをメニューへ追加してください。

  1. ツールバーの「新規」ボタンをクリック
  2. 必須項目を入力:
    • クライアント: 対象テナント(コンテキスト @AD_Client_ID@ から自動セット)
    • 組織: 対象組織(コンテキスト @AD_Org_ID@ から自動セット)
    • 金融機関名: 小切手の振出銀行名(最大120文字)
    • Cheque No: 小切手番号(最大120文字)
  3. 保存」をクリック

💡 ヒント: 金融機関名の表記ゆれ(全角・半角、支店名の有無)があると照合できません。登録時の表記ルールを事前に統一してください。

項目名必須説明
クライアント必須選択(Table Direct)対象テナント
組織必須選択(Table Direct)対象組織
金融機関名必須文字列(120)小切手の振出銀行名
Cheque No必須文字列(120)小切手番号
有効必須チェックレコードが有効か(既定値 Y

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

Q. 登録すると自動的に小切手決済がブロックされますか?

Section titled “Q. 登録すると自動的に小切手決済がブロックされますか?”

いいえ。iDempiere 13 標準ソースには U_BlackListCheque を参照するモデルクラス・プロセスが含まれていません。ブロック動作を実現するには、入金処理側にカスタムの照合ロジック(Model Validator 等)を実装する必要があります。

Q. 同じ小切手を重複登録できてしまいます

Section titled “Q. 同じ小切手を重複登録できてしまいます”

BankName / ChequeNo に一意制約は定義されておらず、重複チェックを行うモデルクラスも存在しません。重複防止が必要な場合は、Model Validator でチェックを追加するか、運用ルールで防止してください。

Q. iDempiere 13 でこの画面を使ってよいですか?

Section titled “Q. iDempiere 13 でこの画面を使ってよいですか?”

推奨されません。ウィンドウが標準で無効化されているうえ、対応するモデルクラスも存在しないため、機能として完結していません。取引先の与信管理は取引先マスタの与信限度・与信ステータスで行ってください。

Q. 登録済みデータを一括で確認したい

Section titled “Q. 登録済みデータを一括で確認したい”

標準のレポート・帳票はありません。ウィンドウのグリッド表示で並べ替え・絞り込みを行うか、レポートビューを別途定義してください。

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

Web POSブラックリスト小切手はマスタデータ型のウィンドウ(AD_Window_ID: 52003)で、U_BlackListCheque テーブルに格納されます。このテーブルには専用のモデルクラスが存在しません。iDempiere 13 標準ソースツリーを検索しても MBlackListCheque / X_U_BlackListCheque / I_U_BlackListCheque は見つからず、アクセスは汎用の GenericPOMTable.getPO() 経由)で行うことになります。Document 型ではなく、DocStatus / DocAction カラムも持ちません。

classDiagram
    class GenericPO {
        <<runtime>>
        +get_Value(String) Object
        +set_ValueOfColumn(String, Object) void
    }
    class PO {
        <<abstract>>
    }
    class U_BlackListCheque {
        <<table only>>
        BankName
        ChequeNo
    }
    GenericPO --|> PO
    GenericPO --> U_BlackListCheque : "maps at runtime"

maps at runtime <> +get_Value(String) Object +set_ValueOfColumn(String, Object) void <> <

> BankName ChequeNo

パッケージ: 該当なし(生成モデルクラス未提供) ソースファイル: 該当なし。テーブル定義は Application Dictionary(AD_Table / AD_Column)のみに存在します。

アクセス例:

MTable table = MTable.get(ctx, "U_BlackListCheque");
PO po = table.getPO(0, trxName);
po.set_ValueOfColumn("BankName", bankName);
po.set_ValueOfColumn("ChequeNo", chequeNo);
po.saveEx();
カラム名必須説明備考
U_BlackListCheque_IDIDPKブラックリスト小切手ID主キー
AD_Client_IDTable DirectYクライアント既定値 @AD_Client_ID@
AD_Org_IDTable DirectY組織既定値 @AD_Org_ID@
BankNameStringY金融機関名長さ120
ChequeNoStringY小切手番号長さ120
IsActiveYes-NoY有効既定値 'Y'
Created / CreatedByDate+Time / SearchY作成日時・作成者既定値 SYSDATE
Updated / UpdatedByDate+Time / SearchY更新日時・更新者既定値 SYSDATE
U_BlackListCheque_UUUUIDNUUID長さ36

⚠️ 注意: BankNameChequeNo の組み合わせに一意インデックスは定義されていません。重複登録が可能です。

モデルクラスが存在しないため、beforeSave() / afterSave() 等の Java 側ロジックは一切ありません。検証は Application Dictionary の必須制約(クライアント・組織・金融機関名・小切手番号・有効がすべて必須)と、各カラムの文字長制約のみです。

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

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

本テーブルには Callout(AD_Column.Callout)が定義されていません。照合ロジックを実装する場合は、入金・現金取引側の Model Validator にフックするのが現実的です。

public class ChequeBlackListValidator implements ModelValidator {
@Override
public String docValidate(PO po, int timing) {
if (po instanceof MPayment && timing == TIMING_BEFORE_COMPLETE) {
MPayment pay = (MPayment) po;
// 例: 小切手番号が U_BlackListCheque に存在したら完了を拒否
int cnt = DB.getSQLValueEx(po.get_TrxName(),
"SELECT COUNT(*) FROM U_BlackListCheque WHERE IsActive='Y' AND AD_Client_ID=? AND ChequeNo=?",
pay.getAD_Client_ID(), pay.getCheckNo());
if (cnt > 0)
return "この小切手はブラックリストに登録されています";
}
return null;
}
}

生成モデルクラスが必要な場合は、iDempiere の GenerateModel ツールで X_U_BlackListCheque を独自プラグインへ生成し、IModelFactory として OSGi 登録する方法があります。

このウィンドウに紐づく標準プロセスは、リファレンスページ・メニューのいずれにも登録されていません。


小切手・手形の与信チェックは、Model Validator を用いれば入金伝票の完了処理に安全に組み込めます。 テーブルのみが用意され実装が伴わない旧機能も、要件に合わせて実用レベルへ仕上げることが可能です。

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

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