はじめに
営業活動における行動予定や設備点検の予定など、一定間隔で定期的な予定をレコードとして登録したいケースがあるかと思います。この記事では「日付の範囲から日付を取り出す」を使用して、指定した期間内で繰り返し予定を作成するカスタマイズをご紹介します。
想定するアプリ構成と実現する内容
この例では定期的に建物などの設備を点検する「設備点検」アプリを作成します。次のように必要なフィールドは「点検実施日」と「点検内容」の2つのフィールドです。
※フィールド名とフィールドコードは同じものを設定しています
また、今回実現する内容としては、このアプリに対して以下の条件を満たしたレコードを一括で作成する、というものです。
6/11 から 6/30 までの間で、3日おきの日付が点検実施日にセットされる
入力した値が点検内容にセットされる
実際に一括でレコードを作成した場合のレコード一覧画面は次の通りです。
カスタマイズ
それでは、指定した期間内で繰り返し予定を作成するカスタマイズを作っていきます。
期間・点検内容を画面から入力するためのアクション
まず「いつからいつの期間」「どんな点検を行うか」を指定するためのカスタマイズを作成します。
アクション1〜4では、Customineで配置したボタンを押した時に、次のようにダイアログが表示されるので、そこで期間(開始日と終了日)と点検内容を指定します。
指定した日付の範囲から日付を取り出してアクションを繰り返す
続いて、指定した日付の範囲から1つずつ日付を取り出してアクションを繰り返すようにループ処理を作成し、そのループ内で取り出した日付の数だけレコードを追加する部分のカスタマイズを作成します。
アクション5〜8では、指定した日付の範囲から日付が取り出された後、その日付が点検実施日にセットされたレコードが繰り返し追加されていき、指定した日付の範囲を過ぎて繰り返す処理が終了した時に画面がリロードされるようにします。
各アクションについても、具体的に解説します。
「OK」を押した時にループ処理へ繋げるために「なにもしない」
5番のやること「なにもしない」は、この「OK」を押したタイミングでは、設定すべき「やること」が無く、次の「日付の範囲から日付を取り出す」のアクションからはループ処理の対象とする必要があり、調整のために入れているものです。
「なにもしない」について詳しくはこちらのページをご覧ください。
指定した日付の範囲から1つずつ日付を取り出してその日付の数だけレコードを追加する
やること「日付の範囲から日付を取り出す」、条件「いずれかのアクションの実行が完了した時」、「リストから要素を取り出した時」の組み合わせを利用してループ処理を作成します。
なお、条件「いずれかのアクションの実行が完了した時」で5番と7番のアクションを指定します。これにより、アクションがループする条件の繋ぎ方になるため、開始日に指定した日付(2番のアクション結果)から終了日に指定した日付(3番のアクション結果)まで日付の数だけ繰り返し処理を行います。
例えば、開始日が6/11で終了日が6/30の場合に、アクションを繰り返してレコードが追加されるときの点検実施日は次のようになります。
1回目の処理:6/11、2回目の処理:6/14、3回目の処理:6/17 …… 最後(7回目)の処理:6/29
ループ処理が終わったら画面をリロードする
やること「画面をリロードする」、条件「リストからの取り出しが終了した時」を使用します。
これにより「日付の範囲から日付を取り出す」で日付を取り出した結果が、日付の範囲(~6/30)をすぎたら、リストの取り出しが終了となり画面がリロードされます。
結果、レコードが追加されたレコード一覧画面が表示されます。
以上でカスタマイズは完成です。動作確認をしてみましょう。
アクショングラフ
今回のカスタマイズでは以下のようなアクショングラフとなります。これを見ると、7番のアクションのあとに6番のアクションに戻り、繰り返し処理が行われることがわかります。
カスタマイズ全体の設定
カスタマイズ全体の設定は次の通りです。
まとめ
このように「日付の範囲から日付を取り出す」を使用すると、指定した期間内での繰り返し処理を簡単に作成することが可能です。
また、似た用途として「リストから要素を取り出す」を活用することで、日付以外を基準にした繰り返し処理を作成できますので、是非お試しください。
ご不明点等ございましたら、チャットにてご質問ください!
Customineドキュメントやサポートページも、ぜひご活用ください。