Notifyの改行問題
スマホ実機の検証結果により、結論として「Char(10)」で改行の実装をしましょう。
・Char(10):iOSなら改行する、Androidなら改行する
・Char(13):iOSなら改行する、Androidなら改行しない
※PCのブラウザだと、どちらも改行しない( 2023/03/06 時点 )
【2023/07/12追記】
多重LookUpの呼ぶ処理を避ける
検索条件を変わると、多重LookUpで最新の検索結果を表示されるまで時間かかるため、パフォーマンス低下。
解決策:段階的に分ける処理で改善を期待できる
【2023/10/10追記】
空判定まとめ
【2023/10/10追記】
Powerapps画面作成時に複雑さをなるべく控える
解決策として、特に表示制御がたくさん付けたい場合、画面分けるほうが良い
【2023/10/10追記】
Powerappsにボタン処理複雑な処理をなるべく控える
解決策として、LowCode観点と保守観点(エラー時の調査、再現する方法も明白になるため)ともにより、
変数をシンプルに、Json形式にしてFlowに渡してFlowで処理させる
【2023/10/10追記】
コンポーネント ライブラリで共通部品の作成
★ 共通部品1 ⇒ メッセージ表示
処理パターンについて、下記のほうがやりやすいかと。
-2:エラー、-1:警告、0:正常完了、1:確認メッセージ(はい、いいえ)
★ 共通部品2 ⇒ ローディング
下記の例図を参照して簡単に作れる。
※※※ローディングを利用する場合、下記の実装順によるPowerappsの動作してくれない場合あり※※※
例1:この場合、検索処理を書いてあるが、動作してくれない
UpdateContext({showLoading:true});
・・・中略・・・
LetUsSearchOneTime();//前置き:動作しない
UpdateContext({showLoading:false});
・・・END・・・
例2:この場合、検索処理を書いてあるが、動作してくれる
UpdateContext({showLoading:true});
・・・中略・・・
UpdateContext({showLoading:false});
LetUsSearchOneTime();//後置き:動作する
・・・END・・・
.項目「imgLoading」のImage属性は以下のように値設定しておく.
"data:image/svg+xml,"&
EncodeUrl(
"<svg width='"& Self.Width & "' height='" & Self.Height & "' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' preserveAspectRatio='xMidYMid' class='uil-default' version='1.1'>
<rect x='0' y='0' width='"& Self.Width & "' height='" & Self.Height & "' fill='none' class='bk'></rect><rect x='46.5' y='40' width='7' height='20' rx='5' ry='5' fill='"& cmpCommonLoading.LoadingHexColor & "' transform='rotate(0 50 50) translate(0 -30)'> <animate attributeName='opacity' from='1' to='0' dur='1s' begin='0s' repeatCount='indefinite'/></rect><rect x='46.5' y='40' width='7' height='20' rx='5' ry='5' fill='"& cmpCommonLoading.LoadingHexColor & "' transform='rotate(30 50 50) translate(0 -30)'> <animate attributeName='opacity' from='1' to='0' dur='1s' begin='0.08333333333333333s' repeatCount='indefinite'/></rect><rect x='46.5' y='40' width='7' height='20' rx='5' ry='5' fill='"& cmpCommonLoading.LoadingHexColor & "' transform='rotate(60 50 50) translate(0 -30)'> <animate attributeName='opacity' from='1' to='0' dur='1s' begin='0.16666666666666666s' repeatCount='indefinite'/></rect><rect x='46.5' y='40' width='7' height='20' rx='5' ry='5' fill='"& cmpCommonLoading.LoadingHexColor & "' transform='rotate(90 50 50) translate(0 -30)'> <animate attributeName='opacity' from='1' to='0' dur='1s' begin='0.25s' repeatCount='indefinite'/></rect><rect x='46.5' y='40' width='7' height='20' rx='5' ry='5' fill='"& cmpCommonLoading.LoadingHexColor & "' transform='rotate(120 50 50) translate(0 -30)'> <animate attributeName='opacity' from='1' to='0' dur='1s' begin='0.3333333333333333s' repeatCount='indefinite'/></rect><rect x='46.5' y='40' width='7' height='20' rx='5' ry='5' fill='"& cmpCommonLoading.LoadingHexColor & "' transform='rotate(150 50 50) translate(0 -30)'> <animate attributeName='opacity' from='1' to='0' dur='1s' begin='0.4166666666666667s' repeatCount='indefinite'/></rect><rect x='46.5' y='40' width='7' height='20' rx='5' ry='5' fill='"& cmpCommonLoading.LoadingHexColor & "' transform='rotate(180 50 50) translate(0 -30)'> <animate attributeName='opacity' from='1' to='0' dur='1s' begin='0.5s' repeatCount='indefinite'/></rect><rect x='46.5' y='40' width='7' height='20' rx='5' ry='5' fill='"& cmpCommonLoading.LoadingHexColor & "' transform='rotate(210 50 50) translate(0 -30)'> <animate attributeName='opacity' from='1' to='0' dur='1s' begin='0.5833333333333334s' repeatCount='indefinite'/></rect><rect x='46.5' y='40' width='7' height='20' rx='5' ry='5' fill='"& cmpCommonLoading.LoadingHexColor & "' transform='rotate(240 50 50) translate(0 -30)'> <animate attributeName='opacity' from='1' to='0' dur='1s' begin='0.6666666666666666s' repeatCount='indefinite'/></rect><rect x='46.5' y='40' width='7' height='20' rx='5' ry='5' fill='"& cmpCommonLoading.LoadingHexColor & "' transform='rotate(270 50 50) translate(0 -30)'> <animate attributeName='opacity' from='1' to='0' dur='1s' begin='0.75s' repeatCount='indefinite'/></rect><rect x='46.5' y='40' width='7' height='20' rx='5' ry='5' fill='"& cmpCommonLoading.LoadingHexColor & "' transform='rotate(300 50 50) translate(0 -30)'> <animate attributeName='opacity' from='1' to='0' dur='1s' begin='0.8333333333333334s' repeatCount='indefinite'/></rect><rect x='46.5' y='40' width='7' height='20' rx='5' ry='5' fill='"& cmpCommonLoading.LoadingHexColor & "' transform='rotate(330 50 50) translate(0 -30)'> <animate attributeName='opacity' from='1' to='0' dur='1s' begin='0.9166666666666666s' repeatCount='indefinite'/></rect>
</svg>"
)