勤怠管理のアプリなどでテーブルで1ヶ月分の勤怠を管理したい場合、1ヶ月分のテーブル行が日付込みでテーブルに自動で入力できると便利ですよね!

今回は、ボタン1つで1ヶ月分のテーブル行を作成する方法をご紹介します。


1日1レコードとして追加したい場合は、こちらの記事が参考になります。

「リスト」を活用し繰り返し予定を作成するカスタマイズ


完成イメージ

追加画面で「勤怠作成」ボタンを押すと「対象年」「対象月」フィールドの値を元に、1ヶ月分のテーブル行を追加します。

(中略)


アプリの設定

アプリの構成はこのようになっています。


カスタマイズに必要なフィールドのみ下記に詳細を書き出します。

※フィールド名とフィールドコードは同じものを設定しています

フィールド名

フィールドタイプ

備考

対象年

数値


対象月

数値


スペース

要素ID「button」

勤怠入力

テーブル


日付

日付

勤怠入力テーブル内

曜日

文字列(1行)

勤怠入力テーブル内


カスタマインの設定

カスタマインの全体の設定はこのようになっています。


細かく見ていきましょう。


「対象年」「対象月」をセットする

レコード追加画面を開いた時に、やること「フィールド値をまとめてセットする」でtoday 関数を利用し、今日の日付を基に「対象年」「対象月」フィールドに値をセットします。

後からテーブルに日付をセットする際に、この値を使用したいため「対象年」は西暦4桁、「対象月」は2桁でセットします。

ボタンを押してテーブルの値をクリアする

アクション2では、やること「ボタンをスペースに配置する」で、要素ID「button」を設定したスペースにボタンを配置します。


アクション3で、条件「ボタンを押した時」にやること「確認ダイアログを表示する」で「${対象年}年${対象月}月分の勤怠を作成しますか?」というメッセージを表示させます。


アクション9では、条件「確認・入力ダイアログで「OK」を押した時」に、既にテーブルに値がある場合を想定して、やること「フィールド値をクリアする」でテーブルをクリアします。


実際のダイアログでは下図のように表示されます。


1行ずつテーブル行を追加する

やること「基準日から特定の日付を取得する」の「基準日」フィールドに


= 対象年 &"-"& 対象月 &"-01"


のように記載し、「日付の種類」は「当月末日」として、対象月の末日を取得します。


やること「日付の範囲から日付を取り出す」で月初から月末まで、日付を1日づつ取り出します。

曜日も一緒にセットしたいので取り出した日付を基に、やること「日付から曜日を取得する」で曜日を取得します。


やること「テーブルに行を追加する」で日付と曜日と、必要に応じて他のフィールドの値をセットします。


日付の範囲から日付を取り出す」の使用方法は「リストから要素を取り出す」に似ていますので、こちらの記事もご参考ください!

「リストから要素を取り出す」の活用方法


空の1行目を削除する

1ヶ月分のテーブル行を作成したら、最後に追加した時に自動で作成される空の1行を「テーブルから行を削除する」で削除します。


以上でテーブルに1ヶ月分の日付を自動入力するカスタマイズは完成です!


おまけ:「対象年」「対象月」フィールドの値を制御する

「対象年」「対象月」フィールドは追加画面で自動でセットされるようにカスタマイズしていますが、今月以外を指定したい場合もあると思うので、編集できるようにしています。

ただ、数値フィールドのため、数値であれば自由に値を入力できてしまいます。

そこで、「対象年」フィールドは2000年〜2100年、「対象月」は1月〜12月までしか入力できないように制御します。


使用するやることは「数値の範囲をチェックする」のみです。

条件は「フィールドの値を編集して値が変わった時」を使用します。


おわりに

今回の記事では、テーブルに1ヶ月分のテーブル行を日付込みで自動入力する方法を紹介しました。

リストから要素を取り出す」で繰り返し処理を行う場面は多くありますが、「日付の範囲から日付を取り出す」や「数値の範囲から数値を取り出す」を使用して、日付や数値で繰り返し処理を行うことも可能ですので、業務に合わせて活用してみてください。


ドキュメントサポートページもぜひご活用ください。

また、ご不明点等ございましたら、チャットにてご質問ください!