Power Appsで簡単に「在庫管理アプリ」を作成し、無駄な在庫や欠品を減らす!~第3回 機能追加編~

Power Appsで簡単に「在庫管理アプリ」を作成し、無駄な在庫や欠品を減らす!~第3回 機能追加編~

5月 17, 2024

記事の監修

H.Sueno

記事の監修


H.Sueno

開発部/1グループ Bizwindのエース
資格:MCP認定資格(PL-900,100,300)、フォークリフト免許、サウナスパ健康アドバイザー など
2023年8月入社。エンジニア経験は浅いながらも当社では、自称エースとして活躍中。
アプリ開発だけでなく、ハンズオンやハッカソンの経験も持つ。
コミュニケーション能力も高く、仕事、プライベートとともに周りの人から慕われている。
趣味はダンスやサウナ、筋トレでエネルギッシュな一面に加え、マンガやアニメ、音楽など幅広い分野が好きである。

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

Contents

目次

6. PowerApps 各コントロールに数式を記載

6-1. Appに数式を記載

Appの「Formulas」プロパティに下記数式を記載します。
In = If(IsBlank(DataCardValue4.Text),0,DataCardValue4.Text);
Out = If(IsBlank(DataCardValue5.Text),0,DataCardValue5.Text);

6-2. 「並べ替え」アイコンに数式を記載

「並べ替え」アイコンの「OnSelect」プロパティに下記数式を記載します。
UpdateContext({SortDescending1:!SortDescending1})

6-3. 「コンボボックス」コントロールに数式を記載①

「コンボボックス」コントロールの「Items」プロパティに下記数式を記載します。
Choices([@StockControl].Item)

6-4. 「コンボボックス」コントロールのプロパティ内の記載を変更

「コンボボックス」コントロールの「NoSelectionText」プロパティに下記を記載します。
“物品名で検索できます”

6-5. データテーブルに数式を記載

データテーブルの「Items」プロパティに下記数式を記載します。
SortByColumns(If(IsBlank(ComboBox1.Selected.Value),StockControl,
Filter(StockControl,Item.Value = ComboBox1.Selected.Value)),
“Date”,If(SortDescending1,SortOrder.Descending,SortOrder.Ascending))

6-6. 「Date」列の「Text」プロパティを変更

「データテーブル」コントロール内「Date」列の「Text」プロパティに下記数式を記載します。
Text(ThisItem.Date,DateTimeFormat.ShortDateTime24)

6-7. 「User_DataCard」のロック解除

編集フォーム内「User_DataCard」のロックを解除します。

6-8. 「DataCardValue6」に数式を記載

編集フォーム内「User_DataCard」にて「DataCardValue6」の「 DefaultSelectedItems 」プロパティに下記数式を記載します。
First(AddColumns(Office365ユーザー.SearchUser({searchTerm:User().Email}),
“Claims”,User().Email))

6-9. 「ボタン」コントロールに数式を記載①

「ボタン」コントロールの「DisplayMode」プロパティに下記数式を記載します。
If(!IsBlank(DataCardValue2.Selected.Value)
&& !IsBlank(DataCardValue4.Text),DisplayMode.Edit,!IsBlank(DataCardValue2.Selected.Value)
&& !IsBlank(DataCardValue5.Text),DisplayMode.Edit,DisplayMode.Disabled)

6-10. 「ボタン」コントロールに数式を記載②

「ボタン」コントロールの「OnSelect」プロパティに下記数式を記載します。
Patch(StockControl,Defaults(StockControl),
{Item:First(DataCardValue2.SelectedItems),ItemIn:In,ItemOut:Out,
User:First(DataCardValue6.SelectedItems),
ItemStock:Value(Last(Filter(StockControl,Item.Value = First(DataCardValue2.SelectedItems).Value)).ItemStock) + In – Out,Date:Now()}); ResetForm(Form1)

6-11. 「テキストラベル」コントロールに数式を記載

「テキストラベル」コントロールの「Visible」プロパティに下記数式を記載します。
Button1.DisplayMode = DisplayMode.Disabled

6-12. アプリ完成

全ての数式の記載が完了し、アプリが完成しました。

7. 実際にアプリを動かしてみる

7-1. アプリを開く

作成したアプリを開きます。編集フォーム内の「User」項目内にはログインユーザの情報がデフォルトで入力されています。また、「Item」「ItemIn」「ItemOut」に値がないため、送信ボタンが選択できず、注意書きが表示されています。

7-2. 「Item」「ItemIn」に値を入力

「Item」「ItemIn」に値を入力したことで、送信ボタンが選択できるようになり、注意書きが非表示になりました。

7-3. フォームの内容がデータテーブルに表示される

送信ボタンを押した際、編集フォーム内の内容がリストに登録され、データテーブルに表示がされました。

7-4. SharePointリスト側

SharePointリスト側でも正しくアイテムが登録されています。

7-5. 「ItemStock」列の確認

もう一度同じアイテムを登録します。その際、「ItemOut」項目に「50」と入力します。
「ItemStock」列で正しく減算がされたことが確認できました。

7-6. その他のアイテムを登録

7-3.7-5.で登録したアイテム以外のアイテムも登録します。「Date」列を確認すると、昇順に正しくアイテムが登録されていることが確認できます。

7-7. ソート順の入れ替え

「並べ替え」アイコンを選択すると、データテーブル内の昇順のアイテムが降順に並べ替えられていることが確認できます。

7-8. アイテムごとにフィルターをかける

コンボボックスにてアイテムを選択すると、データテーブルで表示されるアイテムがコンボボックスで選択したアイテムのみとなります。

8. まとめ

今回ご紹介した方法は

    ■SharePointリストをデータソースとした1画面表示の在庫管理アプリをPowerAppsで作成する手順となります。
    ■1画面内で在庫、入出庫の閲覧とアイテムの入出庫の登録が可能です。​
    ■アイテムごとに絞り込みも可能で、ソート順を昇順・降順に変更することもできます。

今後は下記機能も拡張機能としてブログにアップしていく予定です!お楽しみに♪

    ・別画面にアイテムごとのサマリーだけを表示する機能
    ・PowerAutomateを使用し、在庫数が特定の値より少なくなった場合や多くなった場合に通知を送る機能

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

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

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

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

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

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

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

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

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

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

無料ご相談はこちら

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

無料相談に申し込む

担当者に今すぐ質問する

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

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

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

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