三島正裕のOffice365コラム第14回「PowerAppsとFlowで社員の労働時間を把握する。テレワーク環境を考えてみよう」

  • 2019/6/13

4.初期設定をする

画面を開いた時に初期設定が行われるよう設定します。Screen1のパラメータOnVisibleに関数をセットすると画面を開いたときにその関数が実行されます。パラメータの内容は下図のとおり設定します。

1番目のSetでOffice365ユーザーから自身の名前を取得し、変数UserNameに格納します。2番目のSetで現在日付を取得して、Todayという変数に格納します。3番目のSetで削除ウィンドウの表示をコントロールするためのフラグWindow_Delを作成しています。削除ウィンドウについてはこの後説明しますが、変数の値が0の時は非表示に、1の時には表示をするように設定をします。

5.入力フォームを作成する

入力フォームを作成します。フォームの各パーツとそのプロパティは下図を参考にして下さい。Lable1とLable2には初期設定で取得した値がそれぞれセットされます。当日日付や自分のユーザー名が表示されない場合は、初期設定を見直してみて下さい。Lable11には、これから登録をする労働時間報告の最新のレコードのNoがセットされます。自分のユーザー名と当日日付でフィルタリングしたデータを登録日付で降順に並び替え、最初のレコードを取得することで、最新のレコードを取得しています。

なお、Lable11は表に出す必要はありませんので非表示としています。

開始ボタンの設定は少々複雑です。最初のIf文ではエンティティ労働時間報告の最新データの終了日時が空白かどうかを条件とすることで、作業中か作業中でないかの判定をしています。作業中でない場合は入力フォーム「作業名」のテキストを取得し、現在日時とセットで登録をします。作業中の場合は現在日時を終了日時にセットします。データの更新が完了したタイミングで、作業当日に作成したデータを基にReportというコレクションを作成しています。これは作業日当日の労働時間を集計するために使用します。

開始ボタンのTextプロパティも併せてセットします。作業中でない場合は開始と表示し、作業中の場合は終了と表示されるよう設定しています。

6.ギャラリーを設定する

Screen1の入力フォームの下にギャラリーを設定します。ギャラリーはPowerAppsメニューの挿入よりギャラリーを選択してScreen1に配置します。ギャラリーの設定内容については下図を参考にして下さい。ギャラリーGallery1の中身にはエンティティ「労働時間」を表示しています。自身のユーザー名と作業当日の日付を条件式とし、作業日時で降順に並び替えています。

ゴミ箱のアイコンをクリックすると、選択されたレコードのデータを削除するためのウィンドウが開きます。前述したとおり、削除ウィンドウの表示は変数Window_Delの値でコントロールしています。削除ウィンドウに関するパーツは、Screen1の全てのパーツの上になるように配置します。

Print Friendly, PDF & Email
1

2

3

Related post

更新情報

更新情報

ログインステータス

Return Top