記事の監修
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を導入したが、うまく活用できていない・浸透していない
社内研修を行いたいが
社内に適任者がいない
Bizwindでは、Microsoft導入支援事業などを中心に
IT・DX推進に関する様々なご相談を承っております。
ご相談・お見積りは無料です。まずはお気軽にお問い合わせください。