「年齢を計算する」を使うと、指定した日付を基準に年齢計算をすることができます。詳しくはこちらのTIPSをご覧ください。[年齢の計算をするkintoneのカスタマイズ]
この場合はレコードを保存する時に計算するので、1レコード単位となります。
これを複数のレコードで更新しようとすると大変な作業になるので、一覧画面で表示されているレコード全てを一括で処理する方法をご紹介します。また、後半では、一覧画面に表示しきれない件数の場合の対応方法もご紹介します。
今回のカスタマイズで出来ること
一覧画面で表示されているレコードの年齢計算をします
一覧画面で表示しきれない件数の場合でも全てのレコードの年齢計算をします
アプリの準備
サンプルアプリとして以下のフィールドを作成しました。
スケジュール登録
フィールド名 | フィールドコード | フィールドタイプ、他 |
誕生日 | 誕生日 | 日付 |
基準日 | 基準日 | 日付 |
年齢 | 年齢 | 数値 |
編集画面では次のようになります。
※年齢は無効にしています。
Customineの設定
全体の流れはこのようになります。
一覧画面を表示した時に年齢をセット
一覧画面を表示した時に、表示されているレコードに対して年齢をセットします。kintoneの設定で表示件数は20〜100まで選択出来ますので、大きめにしておくのがおすすめです。
年齢がセットされたらリロードする
年齢を計算した場合に年齢に変更がなかった場合は値はセットされません。変更があった場合は「レコードが自動的に保存された時」の「条件」に一致するので、セットした時だけ「やること」を実行する事ができます。
ここを「他のアクションの実行が完了した時」で1番の後にリロード処理をするように作成してしまうとリロードが止まらなくなります。ご注意ください。
年齢は無効にする
「追加画面・編集画面を表示した時」を使って、年齢を手で変更できないようにします。一覧画面の鉛筆ボタンを押した時も無効になるように「一覧画面の鉛筆を押した時も含める」を選択します。
年齢が入っていない状態で一覧画面を表示すると、最初はこのような表示です。
値がセットされると自動的にリロードされて、こうなります。
例えば、一覧画面のページ送りを手動で押していけば、それぞれのページで値が入りますので、数ページ程度(数百レコード)であれば更新も簡単に出来ると思います。
続いては一覧画面で表示しきれない件数の場合のカスタマイズを作成してみます。
例としては、基準日が先月の場合に年齢を更新するという動きになります。毎月1回だけ、誰かが専用の一覧を表示することで更新するようなイメージです。
いつ更新したかを保存するために、フィールドを1つ追加して4つにします。
スケジュール登録
フィールド名 | フィールドコード | フィールドタイプ、他 |
誕生日 | 誕生日 | 日付 |
基準日 | 基準日 | 日付 |
年齢 | 年齢 | 数値 |
更新日 | 更新日 | 日付 |
編集画面では次のようになります。
また、年齢セット専用の一覧(年齢計算)を作成し、更新日が先月以前のレコードだけ表示するように設定してみます。
この後、この一覧に表示されたものをすべて更新するカスタマイズを作成します。
Customineの設定
全体の流れはこのようになり、4番が追加されています。
指定の一覧の場合のみ実行する
1番の「追加の条件」に、「現在の一覧が指定の一覧ならば」を追加することで、指定の一覧の時だけ年齢のセットが実行されるようになります。
更新日をセットする
4番では更新日に今日を設定します。
こうすることで、更新日に今日の値が入ると一覧から消えていきますので、最終的にレコードなしの一覧になり終了です。
まとめ
特定の一覧を表示した時に更新するような動きなので、通常は年齢のセットはしません。なので無駄な動きは避けられていると思います。
また今回は毎月の更新という形ですが、一覧の設定を変えると毎週更新ということも可能です。