今回は案件に対して顧客ごとに採番する方法をご紹介します!
以前にも顧客ごとに採番する方法はご紹介しましたが、
やること「自動採番を行う」が機能がアップデートされ、
「採番キー」を設定できるようになったので、
非常に簡単に実現することが出来るようになりました!
Customineの基本的な事柄は、「はじめてのカスタマイズ」をご覧ください。
また、通常の自動採番は「自動採番して、レコード登録する」等をご覧ください。
アプリのフォーム
「顧客マスタ」アプリと「案件管理」アプリの二つを用意します。
フォームは以下の通りです。
顧客マスタ
フィールドタイプ | フィールド名 | フィールドコード | 備考 |
文字列(1行) | 顧客ID | 顧客ID | 必須・重複禁止 |
文字列(1行) | 顧客名 | 顧客名 | なし |
案件管理
フィールドタイプ | フィールド名 | フィールドコード | 備考 |
文字列(1行) | 案件ID | 案件ID | 必須・重複禁止 |
文字列(1行) | 案件名 | 案件名 | なし |
ルックアップ | 顧客ID | 顧客ID | 顧客マスタから顧客ID を取得 必須 |
文字列(1行) | 顧客名 | 顧客名 | ルックアップで顧客マスタ からコピー |
やりたいこと
自動採番のカスタマイズと言えば、フィールド編集不可とレコード再利用時に空するカスタマイズもするのが定番ですよね!
案件管理アプリでレコードを作成したときに、顧客ごとの連番を作成し、案件IDとする。
案件IDは自動入力なので編集不可にしておく。
レコード再利用時は案件IDを空にする。
Customineの設定
新規レコード保存時に、顧客ごとの連番をセットする
やること
「自動採番を行う」を使います。
以下は、「自動採番を行う」の設定です。
フィールド:案件ID
アプリ単位の採番:アプリ単位で採番
ここを「なし」に変えると、複数アプリで
通しの連番を作成することが出来ますが今回は必要ないので
「アプリ単位で採番」にしています。
ゼロ埋め:する(任意)
桁数:3(任意)
前につける文字列(プレフィックス):「= 顧客ID & "-"」
顧客ごとの連番になっているとわかるように、前に顧客IDを付けています。
顧客IDが「C0134」なら「C0134-001」の様になります。後ろにつける文字列(サフィックス):なし
採番サイクル:なし
タイムゾーン:日本標準時間
採番キー:「= 顧客ID 」
この「採番キー」が今回のポイントです。
「採番キー」省略時は「フィールド」で指定したフィールドコードが
同じものが同じ採番グループとして通し番号が発行されます。
「採番キー」を指定すると、フィールドではなく、
同じ「採番キー」を指定したものが同じ採番グループになり、
その中での通し番号が発行されます。
今回はここに「顧客ID」フィールドの値を入れたので、
「顧客ID」ごとの通し番号が作成されます。
条件
「レコードを保存する直前(削除時は除く)」と「フィールド値が特定の値ならば」で、案件IDが空の状態で保存された時だけ動くようにしておきます。
ここは通常の自動採番と同じですね。
顧客IDを編集不可にしておく
やること
「フィールドを無効化する」です。
条件
「追加画面・編集画面を表示した時」です。
一覧画面でも編集不可になるようにしておきましょう。
ここも通常の自動採番と同じですね。
レコード再利用時は案件IDを空にする。
やること
「フィールド値をクリアする」です。
条件
「再利用モードで追加画面を表示した時」です。
これで設定完了です。
「kintoneアプリへ登録」し、動作チェックしてみましょう。
先に顧客マスタアプリでいくつか顧客情報を作成しておきます。
その後、案件管理アプリでレコードを作成してみましょう。
選択した顧客ごとに採番され、案件IDとして自動で入力されるはずです。
終わりに
使っていて思うのですが、実は自動採番に採番キーの機能が増えたことで、顧客ごとの自動採番以外にも、対応できるケースが格段に増えています!
この機能、覚えておいて損はないですよ!
ご不明点等ございましたら、チャットにてご質問ください!
Customineドキュメントやサポートページもぜひご活用ください。