はじめに

kintone でスケジュールを作成する場合、「毎週月曜日の10:00~12:00」「2週間おきの火曜日」など、その予定を定期的に繰り返したいことがあるかと思います。グループウェアなどでは「繰り返し予定(繰り返しスケジュール)」などど言われる機能ですが、kintone の標準機能では実現ができません。


こちらの記事では定期的な繰り返し予定を作成するカスタマイズをご紹介します。


なお、この記事は標準機能でスケジュール登録することを想定していますが、「レコードを保存する直前」の代わりに「カレンダーPlusのイベントレコードを新規保存する直前」を使用することで、カレンダーPlus の画面上でスケジュールを登録したときにも同じように使用することが可能です。



想定するアプリ・利用シーン


■「スケジュール管理」アプリ

ユーザーが実際に予定を登録する「スケジュール管理」アプリは以下のフィールドが存在している前提となります。

フィールドタイプ

フィールド名

フィールドコード

文字列(1行)

スケジュール件名

スケジュール件名

日時

開始日時

開始日時

日時

終了日時

終了日時

数値

終了までの日数

終了までの日数

数値

繰り返し回数

繰り返し回数

数値

次回までの時間

次回までの時間




■「繰り返し予定マスタ」アプリ

これは実際にユーザーが操作するアプリではありませんが、定期的なスケジュールの定義(どの頻度で登録するか)を別アプリで作成しておきます。


フィールドタイプ

フィールド名

フィールドコード

数値

表示優先度

表示優先度

文字列(1行)

繰り返し頻度

繰り返し頻度

数値

次回までの日数

次回までの日数


アプリを作成した後、以下の通りにデータを登録しておきます。これは一例ですので、要件に合わせて登録してください。




カスタマイズ作成手順


カスタマイズ内容が多いため、前後半に分けて説明します。まず、前半部分は以下のような設定となります。



アクション 31,32,33 の設定によって、「繰り返し予定マスタ」からレコードを取得、表示優先度で並び替えを行い、ポップアップ表示を行います。

アクション 34 では日付入力ダイアログを表示 します。ここで入力される日が繰り返し予定の終了日となります。

アクション 35,36 はこのあとのカスタマイズで使用するための前準備だとお考えください。



ここまで作ったら一度「kintone アプリへ登録」し、一度実際にスケジュールを登録して動作確認をしていただくことをお勧めします。ここまでのカスタマイズを行った状態でスケジュールを実際に登録していただくと、登録したスケジュールは以下のように登録されると思います。

(「繰り返し頻度:毎週」「繰り返し予定の終了日:20日後」 を選択した場合)




続いて後半のカスタマイズを作成します。作成するカスタマイズは以下のとおりです。


実現したいことを kintone の言葉に置き換えると

「現在のレコードに登録されている『開始時刻』『終了時刻』を元に、『ポップアップで指定した間隔』で予定を繰り返し登録する。繰り返し登録の終了は『日付入力ダイアログで指定した日』まで」と言えると思います。


これをカスタマインの「やること」と「条件」に置き換えたものが上記のカスタマイズです。


作成したカスタマイズの実際の動きは以下のようになります。



このようにアクション 37 でセットした時間を元にレコードを登録し、アクション 42の処理が終わった後に再びアクション37 の処理を開始する流れです。しかし、アクション42が終わったときに「終了までの日数」が指定した間隔(今回だと 7日)より小さくなると処理が終了します。


これによって、指定した期間内のスケジュールが繰り返し登録される仕組みとなります。


 

まとめ

以上で繰り返し予定を作成するカスタマイズのご紹介を終わります。


なお、無事動くことが確認できたら、「スケジュール管理」アプリの「終了までの日数」「繰り返し回数」「次回までの時間」はユーザーには操作させないため別途「フィールドやグループを非表示にする」カスタマイズを入れておくのをお勧めします。