こんにちは! 
iUから実習に参加している後藤麗奈です。 

今週は大きく分けて2つの業務に取り組みました。 

1つ目は、部品在庫管理アプリの改善に向けたマニュアル修正と機能検討です。 
グループで作成しているアプリについて、利用者がより分かりやすく操作できるように、画面内容や操作手順を確認しながらマニュアルの修正を行いました。また、実際の利用を想定して、必要な機能や改善点についてグループ内で話し合いを行いました。 

2つ目は、今週自分が担当した業務である、Power Appsを使用した履歴データ復元機能(ゴミ箱機能・復活機能)の実装です。 
22日の打ち合わせで実装してほしい機能の一つとして挙げられた、誤って削除した入庫履歴・出庫履歴・棚卸履歴を復元できる機能について、削除したデータを一時保存する仕組みを作成し、利用者が安心して操作できるアプリへの改善を行いました。 

今週の業務内容

部品在庫管理アプリの改善に向けたマニュアル修正と機能検討 

グループで作成している部品在庫管理アプリについて、利用者が迷わず操作できるようにするため、既存のマニュアルと実際のアプリ画面を確認しながら修正作業を行いました。 
アプリ開発を進める中で、新しい機能の追加や画面変更が発生したことで、以前作成したマニュアルの説明内容と実際の操作方法に違いが発生していました。 
そのため、現在のアプリ画面とマニュアルを比較し、操作手順や画面説明を整理しました。 
また、実際の利用者が操作することを想定し、専門的な内容になりすぎないように説明文を修正し、より理解しやすいマニュアルになるよう改善しました。 
さらに、22日の打ち合わせでは、アプリを実際の業務で利用することを想定し、追加してほしい機能について要望を受けました。 

主な要望として、 
・入庫担当者を入力しないと登録できない仕組み 
・保管場所を選択式に変更する機能 
・履歴一覧から必要な項目を修正できる編集機能 
・誤って削除した履歴を復元できる機能 
・在庫不足を知らせるアラート機能 
・出庫時の配送情報を確認できる機能 
・入庫商品の用途を分類する機能 

などが挙げられました。 

これらの要望について、利用者の作業効率向上や入力ミス防止につながるかを考えながら、Power Appsでどのような実装方法が適しているかをグループ内で検討しました。 
今回の業務を通して、アプリ開発では機能を追加するだけではなく、実際に利用する人の視点で操作性や安全性を考えることが重要だと気づきました。 

Power Appsを使用した履歴データ復元機能(ゴミ箱機能・復活機能)の実装

22日の打ち合わせで挙げられた要望の一つである、誤って削除した履歴データを復元できる機能の実装を行いました。 
これまでは、入庫履歴・出庫履歴・棚卸履歴を削除すると、元のデータベースから完全に削除されてしまい、利用者が誤って削除した場合でも元に戻すことができない状態でした。 
そこで、削除したデータを一時的に保存する「削除一時保存場所」を作成し、必要に応じて元の履歴へ復元できる仕組みを作成しました。 

削除処理では、 

履歴一覧 
↓ 
ゴミ箱ボタンを押す 
↓ 
削除一時保存場所へデータを保存 
↓ 
元の履歴データから削除

という流れになるように、Power AppsのPatch関数とRemove関数を使用して処理を作成しました。 

復活処理では、 

削除一時保存場所 
↓ 
復活ボタンを押す 
↓ 
元の履歴へデータを再登録 
↓ 
削除一時保存場所から削除 

という流れで、削除前と同じ状態へ戻せるように実装しました。 

対象とした履歴は、 
・入庫履歴 
・出庫履歴 
・棚卸履歴

の3種類です。 

それぞれ必要な項目を削除一時保存場所へ保存し、復元時には元の履歴へ戻せるように処理を作成しました。 
また、削除されたデータを確認しやすくするため、SortByColumns関数を使用して、日付が新しいデータから表示されるように設定しました。 
実装中には、Power AppsとSharePoint間のデータ型の違いによるエラー対応が発生しました。 

特に、 
・Text型とNumber型の違い 
・Text型とRecord型の違い 
・SharePointの集計値列の扱い 

について確認を行いました。 

例えば、出庫数量などの数値項目では、Power Apps側で文字列として認識されることで登録時に型の不一致エラーが発生しました。 
そのため、SharePoint側の列設定とPower Apps側で取得している値を確認し、必要に応じて数値へ変換することで対応しました。 
また、棚卸履歴の差異については、システム在数と実在庫数から計算される項目であるため、直接保存するのではなく、計算元となるデータを復元することで自動的に計算される仕組みにしました。 
今回の実装を通して、Power Appsではコードだけを見るのではなく、SharePoint側の列設定やデータ型を理解した上で開発を進めることが重要だと学びました。

学んだこと・気づいたこと(まとめ)

新しく理解したこと

今回の業務を通して、Power Appsでアプリを開発する際には、画面や機能を作成するだけではなく、データベースの構造や列の種類を理解する必要があることを学びました。 
特にPatch関数を使用してデータを登録する場合、登録先の列の種類と取得元のデータ型が一致していないとエラーが発生するため、データの流れを確認しながら開発することが重要だと理解しました。 
また、利用者からの要望をもとに改善を行うことで、実際の業務で発生する問題を解決するためのシステム開発の考え方を学びました。 

今後にどう活かすか

今回学んだPower AppsとSharePointの連携方法や、エラー発生時の原因確認方法を今後の開発に活かしていきたいです。 

今後は、エラーが発生した際にすぐコードを変更するのではなく、 
・どの項目でエラーが発生しているか 
・データ型は一致しているか 
・SharePoint側の設定は正しいか 

を確認し、原因を整理してから対応できるようにしたいです。 
また、今回の経験から、システム開発では機能を追加するだけではなく、利用者が安心して使用できる仕組みを考えることが重要だと感じました。 
今後も利用者の課題を理解し、業務改善につながるアプリやシステムを作成できるように成長していきたいです。