前回、PowerAppsを使ってリストの自動採番を行う方法を記事にしましたが、実際に使ってみると、追加済みのアイテムを更新する時にも、管理番号が更新されてしまうので、これはよろしくないと思い、補足としてこちらの記事を作成しました。一度登録したら更新しないのであればよいのですが、大抵はあとで修正したい、といった要望が出てくると思います。
こういった場合、以下の手順で新規入力時と既存アイテムの編集時の画面表示をそれぞれ別々に設定することができます。
目次
作業環境:
Windows10 Pro 20H2, ThinkPad X395, Office365 E3
SharePointリストから既存のPowerAppsを開く
- 前回の記事のこちらの手順でPowerAppsを開きます。
画面の追加、編集を行う
- 左カラム「ツリービュー」内の「FormScreen1」を選択し、「画面の複製」を選択します。
- 以下画像のように新しい画面(FormScreen1‗1)が生成されます。次に先ほどのFormScreen1を再度選択し、「名前の変更」を行います。
ここでは画面の名前をNewScreenとします。同じように複製した方の画面名も変更します。ここではEditScreenとします。
- NewScreen、EditScreen各画面配下の「SharePointForm1」、「SharePointForm1‗1」もそれぞれ以下の様にNewForm、EditFormと名前を変更します。
- 同じ流れでもう1つ画面を複製し、画面名をViewScreen、フォーム名をViewFormとします。
- 「SharePointIntegration」ソースを選択し、上部のプロパティのプルダウンをクリックして、プロパティを選択します。
- 以下の様に各プロパティに設定します。
プロパティ 式 OnCancel If(SharePointFormMode =”CreateNew”, ResetForm(NewForm), If(SharePointFormMode =”EditForm”, ResetForm(EditForm))) OnEdit Set(SharePointFormMode, “EditForm”); EditForm(EditForm);
Navigate(EditScreen, ScreenTransition.None)OnNew Set(SharePointFormMode, “CreateForm”); NewForm(NewForm);
Navigate(NewScreen, ScreenTransition.None)OnSave If(SharePointFormMode =”CreateForm”, SubmitForm(NewForm), If(SharePointFormMode=”EditForm”, SubmitForm(EditForm))) OnView Set(SharePointFormMode, “ShowForm”); ViewForm(ViewForm);
Navigate(ViewScreen, ScreenTransition.None)※環境によりコピペ時にダブルクオーテーションが全角になる場合があります。適宜修正をお願いいたします。
- NewFormを選択し、右カラム「プロパティ」内の「既定モード」を「新規」に変更します。
同様にEditFormの既定モードを「編集」、ViewFormは「ビュー」にそれぞれ変更します。 - 画面上部「ファイル」を開き「保存」→「SharePointに公開」を押します。
- PowerAppsキャンバスの編集画面に戻り、左上の「SharePointに戻る」からSharePointリストに戻ります。
- 番号の重複を防ぎたい場合は、リストの設定から自動採番の設定列を選択し、「固有の値を適用する」を「はい」にしてきましょう。
新規登録時と編集時で画面が違うことを確認する
- こちらの記事の方法で自動採番の設定をしていれば、「新規」ボタンを押した時は、重複のない新しい文書番号が割り振られ、既にあるアイテムを選択(編集)した時は、その文書番号がそのまま表示されます。
まとめ
通し番号はリストの中では必要なケースが多いと思いますので、自動採番にすることで業務の時短や効率化を図ることができます。PowerAutomateなどと連携することによって、更に業務の質を向上させることができると思いますので、随時Tipsを書いていきたいと思います。
コメント