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