レコード保存前に自動採番をする場合、必須エラーなどで保存に失敗すると番号が飛んでしまいます。採番は抜け番号のない連番である必要はないのですが、なるべく揃った番号にしておきたい場合はレコード保存直後の採番処理をオススメします。
今回のカスタマイズで出来ること
レコードが正常に保存出来た場合に、採番フィールドが空欄なら自動で採番します
アプリの準備
採番したいアプリに以下のフィールドを1つ追加します。
フィールド名 | フィールドコード | フィールドタイプ、他 |
採番番号 | 採番番号 | 文字列 |
Customineの設定
全体の流れはこのようになります。
レコードを保存した直後(削除後は除く)
採番番号が空欄の場合だけ自動採番を行います。その次にレコードの更新をして、取得した番号を採番番号にセットします。
追加・編集画面を表示した時の処理
採番番号のフィールドを編集できないように無効化します。一覧画面も同じように無効化する必要があるので、「一覧画面の鉛筆を押した時」を「一覧画面の鉛筆を押した時も含める」にします。
再利用モードで追加画面を表示した時の処理
追加画面の場合は採番番号の値は未入力なので問題ないのですが、レコードを再利用した場合は元レコードの値がコピーされてしまいます。
そのため、再利用の場合だけフィールドクリア処理を追加します。
まとめ
レコード番号を利用した採番の場合、アプリのデータを移行する場合に移行先のレコード番号と一致せずに一意性が崩れる場合があります。
そのため、採番時にはレコード番号を使わないようにしましょう。