期間指定レコード登録をkintoneとCustomine

kintoneで予定を登録する際は、日付や日時フィールドを利用すると便利ですよね?

bozu
〇日~△日まで休みます!!

期間をkintoneにレコード登録するときはどうしていますか?

開始日~終了日の期間指定した日付をレコード登録したい

僕がkintoneに期間を登録したいと考えた場合、日付フィールドを2つ並べて

  1. 開始日・・・日付
  2. 終了日・・・日付
日付フィールドで開始日と終了日を設定

例えば、何日間の休みをとっているかを計算したい場合、計算フィールドの計算式に

(終了日-開始日)+86400

開始日・・・9月1日 終了日・・・9月3日の場合、(終了日-開始日)という計算式だと2日になっちゃいます。

9月1日 2日 3日 3日間という数値が欲しい場合は86400を足すと計算結果に1日プラスすることが出来ます。

なぜ86400?
kintoneの計算式だと 1=1秒
60秒×60分×24時間=86400秒が1日の秒数となるので86400を計算式にプラスすると1日追加となる訳ですね。

では、どの日付が一番レコード数が多いのか?

これが分からないんですよね、いい方法があるのかもしれないんです!!ただ、開始日や終了日を集計することはできても、その間の日付の情報は上記のやり方では登録されないんですよね

ということで、開始日と終了日を入力すると開始日と終了日とその間日付をレコード登録する方法がCustomineで見つけたので紹介させていただきます。

指定日付範囲をループしてレコード作成

Customineのテンプレートに、指定日付範囲をループしてレコード作成というテンプレートが公開されていました。

このテンプレートを利用して、1日休みや複数日にまたがる期間の休みをkintoneに登録できるように挑戦してみました。

【kintone予定繰り返し登録】YouTube

予定アプリと日付登録アプリ

イメージをざっくり伝えると

予定アプリに開始日9月1日~終了日9月6日って情報をフィールドに入力する。

入力した時点で日付アプリへコピーボタンをクリックすると、日付登録アプリに

  • 9月1日
  • 9月2日
  • 9月3日
  • 9月4日
  • 9月5日
  • 9月6日

の計6個のレコードが登録されます。各日付のレコードが登録されることで、集計やリマインダーも設定しやすくなるかもしれません。

予定kintoneアプリ

フォームに配置したフィールドは↓

  • 氏名・・・文字列1行
  • 開始日・・・日付
  • 終了日・・・日付
  • ループ判定・・・文字列1行
Customineで繰り替えし予定登録

詳しい説明は、指定日付範囲をループしてレコード作成に書かれています。

ざっくりと説明すると開始日から終了日までの日付をループ判定に日付の値がセットされて、氏名とループ判定の値が日付登録アプリにレコード追加され続けるというループ設定。

ループ判定の日付が終了日の日付より先の日付になると、フィールドの値はクリアーされて、フィールドの値が空の場合は処理が終了したという情報ダイアログが表示されるって流れです。(多分)

日付登録kintoneアプリ

日付登録アプリに配置したフィールドは

  • 氏名・・・文字列1行
  • 日付・・・日付

の2つだけ。

簡単に作成した2つのアプリがCustomineを使うとどうなるのか!?

繰り返し予定登録先アプリ

Customineでループレコード登録設定

設定は指定日付範囲をループしてレコード作成を参考にしました。

繰り返し予定登録Csutomineカスタマイズ

実際どんな動きをするのかキャプチャー動画を撮ったので確認してみましょう。

Customine関連記事 
[catlist numberposts=’5′ date=”yes” tags=”gusuku-customine”]

実際に期間指定レコード登録してみた

カスタマイズ設定後アプリ挙動

少し長めの休み申請をレコードに登録しておくことで、どの日付に休みが重なっているかを視覚的に確認することが出来ます。リマインダーの設定も簡単に出来そうですね~

カレンダー表示カスタマイズ設定後アプリ挙動をカレンダーで確認
グラフ表示グラフ表示で登録確認

Customineの条件を組み合わせることで色々と応用できるのではないでしょうか?

短期~長期入所の記録管理とかもこの方法だと簡単じゃないかな?

入所期間が予めわかっていれば入所期間中の記録の空レコードを登録しておくことが出来ます。当日の記録だけを表示するようにすれば日々の帳票の完成ですね♪