多彩なカスタムフィールド
ERPNextのカスタムフィールドで選べるデータタイプと、プロパティ設定、追加手順を解説します。
1. はじめに
ERPNextは、標準機能だけでも幅広い業務をカバーできますが、現場の要件に合わせて「項目を少し増やしたい」「入力画面を使いやすくしたい」といったニーズは必ず出てきます。
こうした要望に応えるため、ERPNextは5つのカスタマイズ方法が標準で用意されています。
1.フィールド
既存フォームに新項目を追加
2.フォーム
入力画面のレイアウトや表示形式を調整
3.スクリプト(Client)
入力画面の動作をJavaScriptで制御
4.スクリプト(Server)
保存時やイベント時にサーバー側で処理を追加
5.アプリ
独立した拡張アプリとして機能を実装
- 1.フィールド・・・既存フォームに新しい項目を追加
- 2.フォーム・・・入力画面のレイアウトや表示形式を調整
- 3.スクリプト(Client)・・・入力画面の動作をJavaScriptで制御
- 4.スクリプト(Server)・・・保存時やイベント時にサーバー側で処理を追加
- 5.アプリ・・・独立した拡張アプリとして機能を実装
この中でも、最も手軽で、マウス操作だけで業務にフィットさせられるのが「カスタムフィールド」です。
さらに、カスタムフィールドはコアのデータベースに直接カラムを追加せず、専用の tabCustom Field
テーブルで管理されます。そのため、ERPNext本体をアップデートしてもカスタマイズが壊れにくいのが特徴です。
(仕組みの詳細は別記事 壊れないカスタマイズ をご覧ください。)
この記事では、
・「カスタムフィールド」で選べる多彩なデータタイプ
・実際の追加手順
をご紹介します。
2. データタイプの代表例と解説
ERPNextのカスタムフィールドで選べるデータタイプは非常に多彩です。
大きく分けると次のようなグループに整理できます。
- ✍️テキスト系 … 文字や文章の入力
- 🔢数値・計算系 … 数字や金額、割合など
- 📅日付・時間系 … 納期や時刻
- 📂選択・参照系 … プルダウン選択や既存データの紐付け
- 🖼️ファイル・メディア系 … 画像や添付ファイル
- ☑️入力補助・制御系 … チェックボックスやボタンなど
- 📐レイアウト・表示系 … 入力画面の構成を調整
✍️ テキスト系
種別 | 説明 | 使用例 |
---|---|---|
Data | 1行テキスト | 型番/電話番号 |
Small Text / Long Text | 短文・長文 | 備考、注意事項 |
Text Editor / Markdown / HTML Editor | リッチテキスト | 作業手順、マニュアル |
🔢 数値・計算系
種別 | 説明 | 使用例 |
---|---|---|
Int / Float | 整数/小数 | 個数、寸法 |
Currency | 通貨 | 金額、単価 |
Percent / Rating / Duration | 割合、評価、所要時間 | 進捗率、レビュー、工程時間 |
📅 日付・時間系
種別 | 説明 | 使用例 |
---|---|---|
Date / Datetime / Time | 日付・時刻 | 納期、検査時刻 |
📂 選択・参照系
種別 | 説明 | 使用例 |
---|---|---|
Select | プルダウン選択肢 | ステータス、優先度 |
MultiSelect | 複数選択肢 | ラベル、属性タグ |
Link | 登録済みデータを紐付け | 顧客、商品、プロジェクト |
Table / Table MultiSelect | 子テーブル | 明細行、関連付け一覧 |
🖼️ ファイル・メディア系
種別 | 説明 | 使用例 |
---|---|---|
Attach / Attach Image | ファイル・画像添付 | 設計図、検査写真 |
Image | サムネイル表示 | 商品画像 |
Signature | 署名入力 | 受領確認 |
☑️ 入力補助・制御系
種別 | 説明 | 使用例 |
---|---|---|
Check | チェックボックス | 完了フラグ、安全確認 |
Button | ボタン | 自動処理呼び出し |
Color | カラー選択 | ステータス色分け |
Barcode / QRCode | バーコード表示 | ラベル印字 |
Geolocation | 位置情報 | 現場位置 |
Read Only | 参照専用 | 自動計算結果 |
Password / Email / URL / Phone | 検証付き入力 | アカウント、連絡先 |
📐 レイアウト・表示系
種別 | 説明 | 使用例 |
---|---|---|
Section / Column / Tab Break / Heading | レイアウト制御 | 入力画面の整理 |
HTML / Icon | 静的表示 | 注意喚起、装飾 |
※ バージョンや環境により名称に違いがある場合があります。
3. ERPNextの優秀な点
特に便利なのは、次の4つのデータタイプがGUIだけで簡単に追加できる点です。
データタイプ | 説明 | 使用例 |
---|---|---|
Select | プルダウン選択肢を定義 | ステータス、優先度、工程区分 |
Link | 登録済みデータを紐付け | 顧客、商品、プロジェクト |
Table | 子テーブルで明細を持たせる | 明細行、サブタスク、工程手順 |
Attach / Attach Image | ファイル・画像を添付 | 設計図、検査写真、図面 |
これらはERPNextの「カスタマイズフォーム」から、プログラミング不要で追加可能です。
さらに、カスタムフィールドは 専用の tabCustom Field に保存され、コアテーブルを直接書き換えません。
これにより、本体のバージョンアップを気にすることなく、“壊れないカスタマイズ” を実現できます。
従来の多くの業務システムでは、こうした項目追加にはデータベースの修正や本体コードの変更が必要で、開発工数やマージ作業が避けられませんでした。
ERPNextではその負担がなく、システム部門にとって大きな助けとなります。
例えば、ちょっとした入力項目の追加であっても、従来は外注費で数十万円単位・数週間の開発期間を要したケースが少なくありません。
それがERPNextでは社内担当者が数分で設定できるため、開発コストや運用費を大幅に削減できます。
4. カスタムフィールドのプロパティ設定
カスタムフィールドを追加した後は、入力ルールや挙動を細かく調整できます。ERPNextでは、GUIから次のようなプロパティを設定できます。
- ❕必須項目(Mandatory) → 空欄では保存できない
- 🔓読み取り専用(Read Only) → 自動計算結果など、編集不可にする項目
- 🔄初期値(Default Value) → あらかじめ値をセットして省力化
- 💎ユニーク(Unique) → 社員番号やシリアル番号など、重複を禁止
- ⚠️条件付き必須(Depends On) → 他の項目の値によって必須化
- 👀非表示(Hidden) → 入力画面をシンプルに保つ
こうした設定を組み合わせることで、入力ミスを防ぎつつ、業務に合ったスムーズな運用を実現できます。
5. カスタムフィールド追加の手順(例:Work Orderにコイン要素を追加)
実際に、Work Order に「コイン獲得数」と「レベル」フィールドを追加してみましょう。
-
対象DocTypeを開く
- 検索バーで「作業指示」を検索して開きます
- 右上の「メニュー」から 「ドキュメントタイプの編集」 をクリック
-
カスタマイズフォームが表示される
- 既存フィールドが一覧表示され、下部に「新しいフィールドを追加」があります
- 既存フィールドが一覧表示され、下部に「新しいフィールドを追加」があります
-
フィールド①:コイン獲得数
- 表示名:コイン獲得数
- フィールド名:coin_count
- データタイプ:Int
- 初期値:0
- 読取専用:はい
-
配置場所を決める
- 項目をドラッグして Status などの下に配置します
- 項目をドラッグして Status などの下に配置します
-
保存して「更新」
- 右上の「保存」ボタンを押し、その後「更新」
- 実際の Work Order フォームに新しいフィールドが反映されます
6. まとめ
ERPNextのカスタムフィールドは、
手軽に追加できる拡張性
アップデートに強い設計
が大きな魅力です。
今回の例では、Work Orderに「コイン獲得数」を追加することで、現場に遊び心を加えつつ、データの見える化も実現できました。
さらに、豊富なデータタイプとプロパティ設定を組み合わせることで、業務に合わせた入力ルールを柔軟に作れます。
ぜひ、ERPNextのカスタムフィールドを活用して、現場のニーズに合わせたシステムを作ってみてください。