旅費交通費申請アプリを作成し、提出者の確認の自動化~第2章 キャンバスアプリの作成~

旅費交通費申請アプリを作成し、提出者の確認の自動化~第2章 キャンバスアプリの作成~

12月 26, 2024

記事の監修

Y.Uchida

記事の監修


Y.Uchida

マネジメント&イノベーション事業部 開発部/1グループ グループマネージャー
資格:MCP認定資格(PL-600)など

2019年に入社。入社から2年ほどは、不動産システムのテスト案件や決済システムの運用案件などに携わる。
現在はPowerPlatformを用いたローコード開発など、Microsoft関連の案件に参画し、さまざま案件に従事している。
2024年7月よりマネージャーに昇格。自他共に認めるエースとして、絶賛大活躍中。
趣味は、ポケモンスリープで、色違いのデデンネとウッウとオコリザルを所持しており、同僚から羨望の眼差しを受けている。

無料ご相談受付中 まずはお気軽にご相談ください

Contents

目次

0.前回までの振り返り

前回は要件定義とSharePointリストの作成をおこないました。 

要件定義

ユーザマスタ
項目名 英名 列タイプ 備考
コード UserNumber  1行テキスト   
氏名  UserName  1行テキスト   
メールアドレス  UserEmail  1行テキスト   
所属部署   UserDepartment  選択肢  “開発部”、”営業部” 
所属グループ   UserGroup  選択肢  “1グループ”から”3グループ”までを選択可 
役職   UserPost  選択肢  “社長”、”部長”、”GM”、”GL” 
表示フラグ   UserFlag  1行テキスト  育児休暇等あれば入力(初期値:空白) 

旅費交通費申請リスト
項目名 英名 列タイプ 備考
申請月分  T_Date  1行テキスト   
申請者  T_RequestUser  ユーザー   
申請日  T_RequestDate  日付のみ   
交通費   T_Cost  通貨(円)   
立替金   T_AfterCost  通貨(円)   
立替金明細   T_AfterCostItem  複数行テキスト   
GM   T_RequestGMApprover  1行テキスト  グループマネージャーの略称(管理者) 
管理部ステータス   T_SettlementStatus  選択肢  未確認、決済済み(初期値:空白) 
添付ファイル   デフォルトを使用  デフォルト  会社既定のファイルを添付 

SharePointリストの作成

1.アプリの機能 

 以下の機能を持たせたアプリを作成します。 

1-1.提出機能 

 ユーザーが旅費交通費を提出するための申請をおこない、SharePointリストに保存されます。 

1-2.提出有無の検索機能 

 営業月初め日から営業2日目にかけて、提出の有無を9時から20時まで2時間おきに探します。 

1-3.提出が無い場合、その人に通知をおこなう機能 

 1-2で見つけた人に対して、通知をチャネルのメンション機能を使って、提出の催促をおこないます。 

1-4.全員の提出が完了した場合、管理者に通知をおこなう機能

 全員の提出が完了した場合、管理者に通知をおこないます。 

2.作成物 

2-1.SharePointリスト

 申請データを保存するためのリストを作成します。 

2-2.キャンバスアプリ 

 ユーザーが旅費交通費申請をするためのフォームを作成します。 

2-3. Power Automate 

月の最終営業日に通知をおこなう旨のフローと、営業月初め日に提出の有無を確認するフローを作成します。 

3.手順 

今回の章では、上記の図の黄色の部分のキャンバスアプリの作成を重点的に取り上げていきます。 

下記の図が、今回作成していくアプリのレイアウトになります。 

3-1.ユーザマスタから自分の情報の取得 

まず、自分が所属している部署とグループをユーザーマスタから取得します。 

①所属している部署の取得

App.Onstart 

//変数UserDevelopに自分が所属する部署を格納 

Set(UserDevelop,Lookup(ユーザマスタ,メールアドレス=User().Email).所属部署.value) 

②所属しているグループの取得 

App.Onstart 

//変数UserGroupに自分が所属する部署を格納 

Set(UserGroup,Lookup(ユーザマスタ,メールアドレス=User().Email).所属グループ.value)  

  

3-2.フォームの作成

申請フォームでは、以下の項目を使用します。 

3‐3.項目のプロパティ設定 

申請者(ドロップダウン) 

・Defaultプロパティ 

//ログインしているユーザー名を初期値で表示 

User().Fullname 

・DisplayModeプロパティ 

//初期値から変更できないように設定 

DisplayMode.View 

申請日(日付の選択) 

・Defaultプロパティ 

//ログインしている当日を初期値で表示 

Today() 

・DisplayModeプロパティ 

//初期値から変更できないように設定 

DisplayMode.View 

申請月分(ドロップダウン) 

・Itemsプロパティ 

//動的に今日の日付を取得し、前月・今月・来月の選択ができるように設定 

Addcolumns(Sequence(3,-1),月,Text(Dateadd(Today(),value,TimeUnit.Months),”yyyy年mm月分”)) 

・Defaultプロパティ 

//Itemsプロパティで設定した値の前月を初期値で表示 

“2” 

GM(ドロップダウン) 

・Itemsプロパティ 

//自分の所属しているグループの管理者をユーザマスタを用いて、検索をおこない初期値で表示 

Filter(ユーザマスタ,所属グループ.value=UserGroup(変数),役職.value=”GM”&&表示フラグ=Blank()).氏名 

3-4.サイズ・位置の設定 

フォームの作成をおこなった後は、サイズ・位置の調整をしていきます。フォームの挿入をおこなうと様々な並べ方ができますが、項目によっては必要最低限より大きすぎる場合などがあるため、サイズ・位置の調整が必要となります。 

注意点として、サイズ・位置を数値で設定してしまうと、レイアウトが崩れてしまうので、気を付けてください。 

サイズ・位置を数値で調整した場合

サイズ・位置を式によって調整した場合 

式参考 

App.Height・App.Width 

//Heightプロパティ,Widthプロパティを開いているブラウザのサイズに合わせる。(値が変動する) 

App.DesignHeight・App.DesignWidth 

//設定した値が固定で格納されている。(値が固定) 

4.まとめ

 今回はPowerAppsでのキャンバスアプリの作成を取り上げました。 

サイズ・位置の設定のところは、数値で調整していると、モバイル版・PC版の両方を作成するときにつまずくところなので、このブログを通してサイズ・位置の設定時に気を付けていただければと思います。

次回は、キャンバスアプリを用いてSharePointリストにファイルをアップロードする方法についてご紹介いたします。お楽しみに。

無料ご相談受付中 まずはお気軽にご相談ください

Microsoftを導入してコスト効率をよくしたい

Microsoftを導入して
コスト効率をよくしたい

Microsoftに関して気軽に聞ける相談相手が欲しい

Microsoftに関して
気軽に聞ける相談相手が欲しい

Microsoftを導入したが、うまく活用できていない・浸透していない

Microsoftを導入したが、うまく活用できていない・浸透していない

社内研修を行いたいが社内に適任者がいない

社内研修を行いたいが
社内に適任者がいない

Bizwindでは、Microsoft導入支援事業などを中心に
IT・DX推進に関する様々なご相談を承っております。
ご相談・お見積りは無料です。まずはお気軽にお問い合わせください。

無料ご相談はこちら

ビズウインドでは、 様々な課題でお困りの お客様に対して、 無料相談を実施しております。

無料相談に申し込む

担当者に今すぐ質問する

簡単な情報入力でBizwind担当者が
お電話にて回答いたします!

すぐに電話で質問
日時指定で折り返し

以下の内容をご記入・送信ください。
確認次第お電話を差し上げます。

    以下の内容をご記入・送信ください。
    確認次第お電話を差し上げます。