iDempiere 配送設定の使い方|在庫管理 操作マニュアル・技術仕様
This content is not available in your language yet.
📖 在庫管理の全体像: 在庫管理の業務フロー全体図 も合わせてご覧ください。
配送設定は、配送業者のオンラインサービスに接続するための接続先定義と、その業者が提供する配送サービス・荷姿・ラベル種別・集荷方法を階層的に登録するマスタです。配送業者ごとの「使える選択肢のカタログ」をここで作り、実際のアカウント情報は 配送プロセッサ に登録します。
📌 ポイント: 配送設定は接続先の技術定義(ホスト・ポート・実装クラス)を持ちます。ユーザーIDやパスワードは持ちません。認証情報と接続定義を分離することで、1つの接続定義を複数アカウントで共有できます。
配送設定でできること
Section titled “配送設定でできること”- オンライン配送サービスの接続先ホスト・ポートの定義
- プロキシサーバー(アドレス・ポート・ログオン・パスワード)の設定
- サービスパスと実装クラス(
IShipmentProcessor実装)の指定 - 配送業者(Shipper)ごとのサービスコード・追跡URLの登録
- 国際配送・土曜配達・個人宅配送の対応可否フラグ設定
- 業者ごとの荷姿(Packaging)・ラベル種別(Label Type)・**集荷方法(Pickup Types)**のカタログ登録
- 既存の配送業者設定からのコピー(Shipper Copy From ボタン)
配送設定は5タブ・3階層構成です。
| タブ名 | テーブル | 階層 | 項目数 | 役割 |
|---|---|---|---|---|
| Shipping Processor | M_ShippingProcessorCfg | 0 | 14項目 | 接続先ホスト・プロキシ・実装クラス |
| Shipper | M_ShipperCfg | 1 | 13項目 | 配送業者ごとのサービス定義 |
| Packaging | M_ShipperPackagingCfg | 2 | 9項目 | 業者が対応する荷姿 |
| Label Type | M_ShipperLabelsCfg | 2 | 11項目 | 業者が対応するラベル形式 |
| Pickup Types | M_ShipperPickupTypesCfg | 2 | 8項目 | 業者が対応する集荷方法 |
graph TD
T1["🌐 Shipping Processor<br/>M_ShippingProcessorCfg<br/>14項目"]
T2["🚚 Shipper<br/>M_ShipperCfg<br/>13項目"]
T3["📦 Packaging<br/>M_ShipperPackagingCfg<br/>9項目"]
T4["🏷 Label Type<br/>M_ShipperLabelsCfg<br/>11項目"]
T5["🕐 Pickup Types<br/>M_ShipperPickupTypesCfg<br/>8項目"]
T1 --> T2
T2 --> T3
T2 --> T4
T2 --> T5
💡 ヒント: 荷姿・ラベル種別・集荷方法の3タブは配送業者(Shipper)タブの子です。まず配送業者を保存してから、その配下に選択肢を登録してください。
基本操作手順
Section titled “基本操作手順”graph TD
A["📂 メニューから<br/>配送設定を開く"] --> B["➕ 新規<br/>名称・ホストアドレス・ポートを入力"]
B --> C{"プロキシ経由?"}
C -->|"Yes"| D["🔀 プロキシアドレス・ポート・<br/>ログオン・パスワードを入力"]
C -->|"No"| E["⚙️ Service Path と<br/>Shipping Processor Class を入力"]
D --> E
E --> F["💾 保存"]
F --> G["🚚 Shipper タブで<br/>配送サービスを登録"]
G --> H["📦 Packaging / 🏷 Label Type /<br/>🕐 Pickup Types を登録"]
H --> I["🔑 配送プロセッサで<br/>アカウント情報を紐付け"]
アクセス方法(メニューパス)
Section titled “アクセス方法(メニューパス)”メニューから「在庫管理 > 品目マスタ管理 > Shipping Configuration(配送設定)」を開きます。
新規登録(接続先の定義)
Section titled “新規登録(接続先の定義)”- ツールバーの「新規」ボタンをクリック
- 接続情報を入力:
- 名称: 接続定義の識別名(必須・60桁)
- ホストアドレス: 接続先の URL または DNS 名(必須・60桁)
- ホストポート: 通信ポート(必須)
- Service Path: サービスのパス(任意・60桁)
- Shipping Processor Class:
IShipmentProcessor実装クラスの完全修飾名(任意・60桁)
- 社内からプロキシ経由で外部接続する場合は、プロキシアドレス・プロキシポート・プロキシログオン・プロキシパスワードを入力
- 「保存」をクリック
配送業者(Shipper)の登録
Section titled “配送業者(Shipper)の登録”- 「Shipper」タブに移動
- 以下を入力:
- 名称: 配送サービス名(必須)
- Service Code: 業者側のサービスコード(任意・40桁)
- トラックURL: 追跡ページの URL(任意・120桁)
- オンラインアクセス: オンライン連携を使う場合にチェック
- International / Saturday Delivery / Residential: 国際配送・土曜配達・個人宅配送の対応可否
- 「保存」をクリック
💡 ヒント: 「Shipper Copy From …」ボタンで既存の配送業者設定を複製できます。同じ業者で複数サービス(翌日便・通常便など)を登録するときに便利です。
荷姿・ラベル種別・集荷方法の登録
Section titled “荷姿・ラベル種別・集荷方法の登録”配送業者タブを選択した状態で、それぞれの子タブに選択肢を追加します。
| タブ | 主な入力項目 |
|---|---|
| Packaging | 検索キー・名称・重量・デフォルト |
| Label Type | 検索キー・名称・幅・高さ・ラベル印刷方式・デフォルト |
| Pickup Types | 検索キー・名称・デフォルト |
各タブとも検索キーと名称が必須で、検索キーは一意である必要があります。よく使う選択肢には「デフォルト」チェックを付けておくと入力が省力化されます。
項目リファレンス
Section titled “項目リファレンス”Shipping Processor タブ
Section titled “Shipping Processor タブ”| 項目名 | 必須 | 型 | 説明 |
|---|---|---|---|
| 名称 | 必須 | 文字列 | 接続定義名(60桁) |
| 説明 | - | 文字列 | 用途のメモ(255桁) |
| ホストアドレス | 必須 | 文字列 | 接続先 URL / DNS(60桁) |
| ホストポート | 必須 | 整数 | 通信ポート |
| プロキシアドレス | - | 文字列 | プロキシサーバーのアドレス |
| プロキシポート | - | 整数 | プロキシサーバーのポート |
| プロキシログオン | - | 文字列 | プロキシ認証ユーザー |
| プロキシパスワード | - | 文字列 | プロキシ認証パスワード |
| Service Path | - | 文字列 | サービスのパス |
| Shipping Processor Class | - | 文字列 | IShipmentProcessor 実装クラス名 |
| 有効 | 必須 | チェック | アクティブ(初期値 Y) |
Shipper タブ
Section titled “Shipper タブ”| 項目名 | 必須 | 型 | 説明 |
|---|---|---|---|
| Shipping Processor | - | 選択 | 親の配送設定 |
| 名称 | 必須 | 文字列 | 配送サービス名(60桁) |
| 説明 | - | 文字列 | メモ(255桁) |
| オンラインアクセス | 必須 | チェック | オンライン連携の可否(初期値 N) |
| Service Code | - | 文字列 | 業者側サービスコード(40桁) |
| トラックURL | - | URL | 追跡ページ URL(120桁) |
| International | 必須 | チェック | 国際配送対応(初期値 N) |
| Saturday Delivery | 必須 | チェック | 土曜配達対応(初期値 N) |
| Residential | 必須 | チェック | 個人宅配送対応(初期値 N) |
| Shipper Copy From … | - | ボタン | 既存設定の複製 |
Label Type タブ(抜粋)
Section titled “Label Type タブ(抜粋)”| 項目名 | 必須 | 型 | 説明 |
|---|---|---|---|
| 検索キー | 必須 | 文字列 | 一意コード(40桁) |
| 名称 | 必須 | 文字列 | ラベル種別名 |
| Width / Height | - | 数量 | ラベルの幅・高さ |
| Label Print Method | - | リスト | 印刷方式(Eltron / Image / Zebra) |
| デフォルト | 必須 | チェック | 既定選択肢(初期値 N) |
よくある質問(FAQ)
Section titled “よくある質問(FAQ)”Q. 配送設定と配送業者設定ウィンドウの違いは何ですか?
Section titled “Q. 配送設定と配送業者設定ウィンドウの違いは何ですか?”**配送設定(本ウィンドウ)は接続先定義(M_ShippingProcessorCfg)を起点に、その配下の配送業者・荷姿・ラベル・集荷方法まで一括で管理します。配送業者設定**は配送業者(M_ShipperCfg)を起点にした同じデータの別ビューです。接続先を含めて設定するなら本ウィンドウ、業者単位のメンテナンスなら配送業者設定が便利です。
Q. Shipping Processor Class には何を入力しますか?
Section titled “Q. Shipping Processor Class には何を入力しますか?”org.adempiere.model.IShipmentProcessor を実装したクラスの完全修飾名を入力します。標準の iDempiere には配送業者固有の実装は同梱されていないため、利用する業者に対応したプラグインが必要です。
Q. ラベル印刷方式の選択肢は何ですか?
Section titled “Q. ラベル印刷方式の選択肢は何ですか?”Eltron(E)・Image(I)・Zebra(Z)の3種類です。ラベルプリンタの機種に合わせて選択します。
Q. プロキシ設定は必須ですか?
Section titled “Q. プロキシ設定は必須ですか?”任意です。iDempiere サーバーが直接インターネットに出られる環境ではプロキシ欄を空欄のままにしてください。プロキシ経由が必要な場合のみアドレス・ポート等を入力します。
Q. これらの設定はテナントごとに必要ですか?
Section titled “Q. これらの設定はテナントごとに必要ですか?”M_ShippingProcessorCfg 系のテーブルは AccessLevel = 6(System + Client)です。システムレベルで共通定義を持つことも、テナント個別に持つこともできます。標準の参照データとして提供される設定を利用する場合はシステムレベルの定義がそのまま使えます。
- 配送プロセッサ(Shipping Processor)の使い方
- 配送業者設定(Shipper Configuration)の使い方
- 配送業者(Shipper)の使い方
- 画面リファレンス: Shipping Configuration
🛠 技術仕様(開発者向け)
配送設定はマスタデータ型のウィンドウ(AD_Window_ID: 200028)で、5つのテーブルを3階層で扱います。ルートは M_ShippingProcessorCfg、その子が M_ShipperCfg、さらにその子が M_ShipperPackagingCfg / M_ShipperLabelsCfg / M_ShipperPickupTypesCfg です。5テーブルすべて AccessLevel = 6(System + Client)で削除可能です。
対応する M クラス(MShippingProcessorCfg 70行、MShipperCfg 70行、MShipperPackagingCfg、MShipperLabelsCfg、MShipperPickupTypesCfg)はいずれもコンストラクタのみの薄いクラスで、beforeSave() / afterSave() のオーバーライドはありません。ビジネスロジックは持たない純粋な設定テーブルです。
アーキテクチャ概要
Section titled “アーキテクチャ概要”classDiagram
class MShippingProcessorCfg {
<<constructors only>>
}
class MShipperCfg {
<<constructors only>>
}
class MShipperPackagingCfg {
<<constructors only>>
}
class MShipperLabelsCfg {
<<constructors only>>
}
class MShipperPickupTypesCfg {
<<constructors only>>
}
class X_M_ShippingProcessorCfg {
<<generated>>
}
class PO {
<<abstract>>
}
MShippingProcessorCfg --|> X_M_ShippingProcessorCfg
X_M_ShippingProcessorCfg --|> PO
MShippingProcessorCfg --> MShipperCfg : has many
MShipperCfg --> MShipperPackagingCfg : has many
MShipperCfg --> MShipperLabelsCfg : has many
MShipperCfg --> MShipperPickupTypesCfg : has many
MShippingProcessorCfg <-- MShippingProcessor : referenced by
パッケージ: org.compiere.model
ソースファイル: org.adempiere.base/src/org/compiere/model/MShippingProcessorCfg.java(70行)ほか
関連DBテーブル
Section titled “関連DBテーブル”M_ShippingProcessorCfg(配送設定)
Section titled “M_ShippingProcessorCfg(配送設定)”| カラム名 | 型 | 必須 | 説明 | 備考 |
|---|---|---|---|---|
| M_ShippingProcessorCfg_ID | ID | PK | 配送設定ID | 主キー |
| AD_Client_ID / AD_Org_ID | Table Direct | Y | テナント/組織 | AccessLevel 6 |
| Name | String(60) | Y | 名称 | |
| Description | String(255) | N | 説明 | |
| HostAddress | String(60) | Y | ホストアドレス | |
| HostPort | Integer(14) | Y | ホストポート | |
| ProxyAddress | String(60) | N | プロキシアドレス | |
| ProxyPort | Integer(14) | N | プロキシポート | |
| ProxyLogon | String(60) | N | プロキシログオン | |
| ProxyPassword | String(60) | N | プロキシパスワード | |
| ServicePath | String(60) | N | サービスパス | |
| ShippingProcessorClass | String(60) | N | 実装クラス名 | IShipmentProcessor 実装 |
| IsActive | Yes-No | Y | 有効 | 既定 Y |
M_ShipperCfg(配送業者設定)
Section titled “M_ShipperCfg(配送業者設定)”| カラム名 | 型 | 必須 | 説明 | 備考 |
|---|---|---|---|---|
| M_ShipperCfg_ID | ID | PK | 配送業者設定ID | 主キー |
| M_ShippingProcessorCfg_ID | Table Direct(10) | N | 配送設定FK | |
| Name | String(60) | Y | 名称 | |
| IsOnline | Yes-No | Y | オンラインアクセス | 既定 N |
| ShippingServiceCode | String(40) | N | サービスコード | |
| TrackingURL | URL(120) | N | 追跡URL | |
| IsInternational | Yes-No | Y | 国際配送 | 既定 N |
| IsSaturdayDelivery | Yes-No | Y | 土曜配達 | 既定 N |
| IsResidential | Yes-No | Y | 個人宅配送 | 既定 N |
| CopyFrom | Button | N | コピー元 | ShipperCopyFrom プロセス |
M_ShipperPackagingCfg / M_ShipperLabelsCfg / M_ShipperPickupTypesCfg
Section titled “M_ShipperPackagingCfg / M_ShipperLabelsCfg / M_ShipperPickupTypesCfg”3テーブルとも M_ShipperCfg_ID(必須・更新不可)を親とし、Value(検索キー・40桁・必須)、Name(60桁・必須)、Description、IsDefault(既定 N)を共通で持ちます。固有カラムは次のとおりです。
| テーブル | 固有カラム | 型 | 説明 |
|---|---|---|---|
| M_ShipperPackagingCfg | Weight | Quantity(14) | 荷姿の重量 |
| M_ShipperLabelsCfg | Width / Height | Quantity(14) | ラベルの幅・高さ |
| M_ShipperLabelsCfg | LabelPrintMethod | List(1) | E=Eltron, I=Image, Z=Zebra |
| M_ShipperPickupTypesCfg | (固有カラムなし) | - | 共通カラムのみ |
erDiagram
M_ShippingProcessorCfg ||--o{ M_ShipperCfg : "shippers"
M_ShippingProcessorCfg ||--o{ M_ShippingProcessor : "credentials"
M_ShipperCfg ||--o{ M_ShipperPackagingCfg : "packaging"
M_ShipperCfg ||--o{ M_ShipperLabelsCfg : "label types"
M_ShipperCfg ||--o{ M_ShipperPickupTypesCfg : "pickup types"
ビジネスロジック
Section titled “ビジネスロジック”5つの M クラスはいずれもコンストラクタのみの実装で、バリデーションや派生処理は持ちません。参照整合性は AD 上の外部キー定義(M_ShipperCfg_ID が必須かつ更新不可、など)で担保されています。
配送設定の値が実際に使われるのは、MShippingProcessor の委譲ゲッター経由でオンライン配送処理が接続情報を取得するタイミングです。M_ShippingProcessorCfg 自体は接続を行いません。
拡張ポイント(カスタマイズ箇所)
Section titled “拡張ポイント(カスタマイズ箇所)”IShipmentProcessorFactory による実装の登録
Section titled “IShipmentProcessorFactory による実装の登録”org.adempiere.base.IShipmentProcessorFactory を実装した OSGi サービスを登録し、ShippingProcessorClass に指定したクラス名から IShipmentProcessor インスタンスを返します。この仕組みにより、配送業者ごとの実装をプラグインとして差し替えられます。
OSGi Model Validator
Section titled “OSGi Model Validator”public class CustomShipperCfgValidator implements ModelValidator { @Override public int modelChange(PO po, int type) throws Exception { if (po instanceof MShipperCfg && (type == TYPE_BEFORE_NEW || type == TYPE_BEFORE_CHANGE)) { MShipperCfg cfg = (MShipperCfg) po; // 例: オンライン連携を有効にする場合は接続先の指定を必須にする if (cfg.isOnline() && cfg.getM_ShippingProcessorCfg_ID() == 0) { throw new AdempiereException("オンラインアクセスを有効にする場合は配送設定を指定してください"); } } return null; }}Callout
Section titled “Callout”5テーブルとも標準の Callout は設定されていません(AD メタデータ上 Callout 列は空)。
関連プロセス
Section titled “関連プロセス”| プロセス名 | クラス | 説明 |
|---|---|---|
| Shipper Copy From | org.adempiere.process.ShipperCopyFrom | 既存の配送業者設定を複製 |
| Shipper Create From | org.adempiere.process.ShipperCreateFrom | 配送業者設定から関連レコードを作成 |
関連ドキュメント
Section titled “関連ドキュメント”iDempiereカスタマイズのご相談
Section titled “iDempiereカスタマイズのご相談”配送設定は、国内配送業者の API 仕様に合わせた項目追加やラベル形式の拡張が必要になることが多い領域です。
IShipmentProcessorFactory と Model Validator を組み合わせれば、コア改変なしで自社の配送オペレーションに適合させられます。
As-Link株式会社では、OSGiプラグインによる安全なカスタマイズを提供しています。