勤怠入力システムを作成してみた(2)
Office365PowerApps&Flow
Office365(Powerapps & Flow)で勤怠入力システムを作成してみた(2)
今月の勤怠照会画面
「今月の勤怠」画面
当月の勤怠状況を一覧で表示します。ここでは照会のみを行います。入力間違い等のための修正機能がほしいところですが、当面は作成しないこととします。入力間違いをした場合は、正しいものを再度入力し、間違った勤怠情報を管理者にsharepointで削除してもらう運用とします。
当月の勤怠のコントロールを配置すると、以下の画面となる
各コントロールの設定
名称 | コントロール | 説明 | 詳細設定 | |
LBL_NowListTTL | ラベル | 画面タイトル | Size=24 Align =Align.Center |
|
ICON_NowListEnd | アイコン | 当月の勤怠の終了 | OnSelect=Back() | |
GAL_NowList | ギャラリー | 「勤怠」リスト | レイアウト=空白 表示するデータ(※1) Item= Sort( Filter(勤怠, Author.Email=User().Email, Value(TMC_Month)=G_ToMonth), TMC_WorkIn,Descending) |
|
NowWorkIn1 | ラベル | 「勤怠」リストの「出勤時間」項目 | Text= Text(ThisItem.TMC_WorkIn,”[$-ja-JP]yyyy/mm/dd hh:mm”) | |
NowWorkOut1 | ラベル | 「勤怠」リストの「退勤時間」項目 | Text(ThisItem.TMC_WorkOut,”[$-ja-JP]yyyy/mm/dd hh:mm”) | |
NowTime1 | ラベル | 「勤怠」リストの「時間」項目 | Text=ThisItem.TMC_WorkTime | |
NowSep1 | 四角形 | 行ごとのセパレート線 |
※1 当月の勤怠一覧を表示するデータの条件は、「勤怠」リストの登録者がログインユーザーと同一のデータで当月の項目が本日の月と同じデータとする。表示順は出勤日時の降順。その設定は、ギャラリー(GAL_NowList)のitemプロパティに以下の設定を行う。
Sort(Filter(勤怠,Author.Email=User().Email,Value(TMC_Month)=G_ToMonth),
TMC_WorkIn,Descending)
メニュー画面の「当月の勤怠」ボタンクリック時の設定
「当月の勤怠」画面へ遷移(Navigate)
変数G_ToMonthに現在の年月を設定、(set)
名称 | コントロール | 説明 | 詳細設定 |
BTN_Month | ボタン | 当月の勤怠へ | OnSelect= Navigate(SCR_NowList,ScreenTransition.None); Set(G_ToMonth,Year(Today())*100+Month(Today())) |
前月の勤怠照会画面
「前月の勤怠」画面
前月の勤怠状況を一覧で表示します。ここでは照会のみを行います。
当月と前月の照会しか用意していないのは、要件として不要と判断したためです。
前月の勤怠のコントロールを配置すると、以下の画面となる
各コントロールの設定
名称 | コントロール | 説明 | 詳細設定 | |
LBL_BeforeListTTL | ラベル | 画面タイトル | Size=24 Align =Align.Center |
|
ICON_BeforeListEnd | アイコン | 前月の勤怠の終了 | OnSelect=Back() | |
GAL_BeforeList | ギャラリー | 「勤怠」リスト | レイアウト=空白 表示するデータ(※1) Item= Sort( Filter(勤怠, Author.Email=User().Email, Value(TMC_NMonth)=G_ToMonth), TMC_WorkIn,Descending) |
|
BeforeWorkIn1 | ラベル | 「勤怠」リストの「出勤時間」項目 | ext= Text(ThisItem.TMC_WorkIn,”[$-ja-JP]yyyy/mm/dd hh:mm”) | |
BeforeWorkOut1 | ラベル | 「勤怠」リストの「退勤時間」項目 | Text(ThisItem.TMC_WorkOut,”[$-ja-JP]yyyy/mm/dd hh:mm”) | |
BeforeTime1 | ラベル | 「勤怠」リストの「時間」項目 | Text=ThisItem.TMC_WorkTime | |
BeforeSep1 | 四角形 | 行ごとのセパレート線 |
※1 前月の勤怠一覧を表示するデータの条件は、「勤怠」リストの登録者がログインユーザーと同一のデータで次月の項目が本日の月と同じデータとする。表示順は出勤日時の降順。
その設定は、ギャラリー(GAL_BeforeList)のitemプロパティに以下の設定を行う
Sort( Filter(勤怠,Author.Email=User().Email,Value(TMC_NMonth)=G_ToMonth),
TMC_WorkIn,Descending)
メニュー画面の「前月の勤怠」ボタンクリック時の設定
「前月の勤怠」画面へ遷移(Navigate)
変数G_ToMonthに現在の年月を設定、(set)
名称 | コントロール | 説明 | 詳細設定 |
BTN_NMonth | ボタン | 前月の勤怠へ | OnSelect= Navigate(SCR_BeforeList,ScreenTransition.None); Set(G_ToMonth,Year(Today())*100+Month(Today())) |
休暇申請の入力画面
「休暇申請」画面
休暇申請の入力を行います。
入力項目は、
承認ルート:「承認ルート」リストに登録された承認ルートを選択
休暇区分 :sharepointリストで設定した選択肢から選択
期間(自):日時を入力
期間(至):日時を入力
休暇事由 :休暇申請の申請内容を入力
「登録」ボタンで、sharepointに登録される。以降承認フローに廻るが、PowerAppsからのFlowではなく、sharepointに登録されたらフローを開始するように構成します。
休暇申請のコントロールを配置すると、以下の画面となる
各コントロール設定
名称 | コントロール | 説明 | 詳細設定 | |
LBL_VacReqTTL | ラベル | 画面タイトル | Size=24 Align =Align.Center |
|
ICON_VacReqEnd | アイコン | 出勤入力の終了 | OnSelect=Back() | |
BTN_VacReqEntry | ボタン | 休暇申請の登録 | SubmitForm(FRM_VacReq); Back(); |
|
FRM_VacReq | フォーム | 「休暇申請」リスト | 縦で1列表示レイアウト | |
Titile_DataCard3 | データカード | 「休暇申請」リストの「休暇申請」項目 | 表示専用: DisplayMode=DisplayMode.View |
|
HOL_Aroot_DataCard1 | データカード | 「休暇申請」リストの「承認ルート」項目 | ||
HOL_Kubun_DataCard1 | データカード | 「休暇申請」リストの「期間(自)」項目 | ||
HOL_StartDate_DataCard1 | データカード | 「休暇申請」リストの「期間(至)」項目 | ||
HOL_EndDate_DataCard1 | データカード | 「休暇申請」リストの「休暇事由」項目 | ||
HOL_Comment_DataCard1 | データカード | 「休暇申請」リストの「休暇区分」項目 |
メニュー画面の「休暇申請」ボタンクリック時の設定
休暇申請入力画面のフォームをリセット(ResetForm)
休暇申請入力画面のフォームを追加モードに設定(NewForm)
休暇申請入力画面へ遷移(Navigate)
名称 | コントロール | 説明 | 詳細設定 |
BTN_Holiday | ボタン | 休暇申請入力へ | OnSelect= ResetForm(FRM_VacReq); NewForm(FRM_VacReq); Navigate(SCR_VacReq, creenTransition.None) |
上記設定後の画面
休暇申請を入力する
各入力項目を入力し、「登録」ボタンをクリックする
以下の通り、Sharepointの「休暇申請」リストに登録される
以上で、PowerAppsでの勤怠入力の制作は終了です、次は、休暇申請の入力後の承認ワークフローについて説明します。