レコードを作成するときに最初からテーブルに必要な分だけ行を用意し、各行に初期値を入れておきたいことってありますよね!
今回はレコード作成時に毎回自動で同じ数の行を用意し、各行に初期値を入れるカスタマイズをご紹介します!
Customineの基本的な事柄は、こちらの「はじめてのカスタマイズ」をご参照ください。
アプリのフォーム
次の要領でアプリを作成します。
やりたいこと
追加画面を表示したときに、テーブルに下のような初期値を持たせた状態にする。
Customineの設定
記事「テーブルへの行追加・削除・特定行の操作をしてみよう!」で紹介した「やること」や「条件」を多く使っています。そちらもご覧ください。
一行目に値をセット
まず一行目の各フィールドに値をセットします。
やること「フィールドに値をセットする」で各フィールドに値をセットしていきます。
条件については、一つ目のフィールドは条件「追加画面を表示した時」、二つ目のフィールドからは条件「他のアクションの実行が完了した時」を用います。
追加画面を表示したときはテーブルには一行しかない(レコード再利用時は除く)ので今回は「フィールド値が特定の値ならば」で行を指定する必要はありません。
テーブルに行を追加する
テーブルの二行目からは、やること「テーブルに行を追加する」で行の中の全フィールドに対して値を設定した状態で行を追加できます。必要な行数だけこのアクションを追加してください。
ここまで出来たら「kintoneアプリへ登録」でアプリにカスタマイズを反映させてからレコード追加ボタンを押してみましょう。
狙い通り自動で初期値が入りました!
レコード再利用時の対応方法を考える
ここまででレコード新規追加時にテーブルに初期値を入れることができるようになりました。
しかし、「レコードを再利用する」時も条件「追加画面を表示した時」に含まれるので、「レコードを再利用する」時には元のテーブルがコピーされた状態で各アクションが発動してしまい、中途半端な状態になってしまいます。
この場合、対応方針としては多くの場合、
レコード再利用時も初期値を入れる(元のテーブルはクリアする)
レコード再利用時は初期値を入れない
のどちらかになると思います。それぞれの場合についてどう変更すると実現できるか考えてみましょう。
レコード再利用時も初期値を入れる(元のテーブルはクリアする)場合
「フィールド値をクリアする」でテーブルそのものを指定するとテーブルの全行を削除し、空の行が一行あるだけの状態にします。これを使って、初期値をセットする前に、コピー元のレコードからコピーされたテーブルをクリアします。
レコード再利用時は初期値を入れない場合
レコード再利用時ではない追加画面でのみ、初期値をセットする一連のアクションを実行したい場合は、条件を「追加画面を表示した時」から「再利用モードでない追加画面を表示した時」に変更するだけで実現できます!
なお、上のカスタマイズで「レコードを再利用する」時には、条件「再利用モードでない追加画面を表示した時」を使っているので、上記のカスタマイズは動かないのですが、「レコードを再利用する」時の動作として元のレコードの初期値が入る動きとなります。
もしレコード再利用時に初期値の制御をしたい時は、次の記事も併せてご覧ください。
おわりに
今回は記事「テーブルへの行追加・削除・特定行の操作をしてみよう!」を応用して、レコード作成時にテーブルに必要な行を用意し、初期値を入れておくカスタマイズをご紹介しました。
一口に初期値を入れる、と言っても運用方法によって細かい部分で違いが出てきます。
Customineは目指す動きに素早くたどり着けるので、その分どういう仕様にするべきなのかをじっくり考えるのに、より多くの時間をあてることができます。
ぜひCustomineを活用し、業務に合ったカスタマイズを実現してみてください!
Customineドキュメントやサポートページもぜひご活用ください。
また、ご不明点等ございましたら、チャットにてご質問ください!