PowerAppsを使うときにデータソースをSharePointにする方が多いのではないでしょうか。
PowerAppsを使用する改善の中で、時間情報を取得してデータソースに書き込んだけど実際の時間と違う⁉︎なんてこと経験したことはないでしょうか。
初心者の方の場合、ここで躓いてしまい中々改善が進まず、「アプリ制作なんて自分では無理だよ」と諦めてしまう人もいるかもしれません。
私も実際に同じ経験をし、自分には無理だ。。。と思ったことも何度かありましたが、諦めず試行錯誤し、改善することができましたので、今回ご紹介したいと思います。
対策が全て当てはまるか分かりませんが、改善される方も多くいると思いますので、参考になると嬉しいです。
日付が正しく表示されない
PowerAppsのNow関数、Today関数で端末情報の時刻を取得し、アプリ側に反映してくれます。
PowerApps内に表示されている情報は正しいですが、この情報をSharePointに保存されると、日付が1日ずれていたり、時刻が0:00や15:00など現在の時刻と違う日時で保存されることが起こります。
今回はその事象を改善する方法をご紹介します。
①Data CardのUpdataにNow関数を入力
フォームコントロールにてデータを保存する場合、DataCardが作成されその下位にData Card Valueが作成され、これに入力した情報が反映されます。
日時情報などを取得する場合、Data Card ValueにNow()やToday()を入力し、ユーザーが入力することなく自動表示させているのが大半ではないでしょうか。
この場合、表示上は、Now関数で取得した日付と時間の情報が反映されていますが、このままだと正しく表示されない可能性があります。
ここで問題になるのが、Data CardのUpdateプロパティになります。
通常は、下位のDataCardValue.Textの入力されていますが、ここに直接Now()を記述することで、Submitした際にNow関数で取得した情報を書き込むことができます。
②データソースのタイムゾーンを変更する
日付がずれたり、時間が何時間も差が発生している場合、データソースのタイムゾーンが異なっている可能性があります。
データソースのタイムゾーンを端末と同じタイムゾーンに変更することで解決することがあります。
③データソースを作成し直す
SharePointリストの列の追加時い、テキストで作成した物を日付にした場合などで、適切に表示されないケースが何度か確認しました。
その場合、その列を削除し、再度作成するか、カスタムリスト自体を1から作成し直すと改善されます。
何をやっても日付のデータが違う場合、データソースを新たに作り直してみることで解決することもあります。
まとめ
今回ご紹介した解決方法は、私が実際に起きた現象に対し効果的だった対処法になります。
同じ解決方法でやったができない問題もあるかと思いますが、諦めずにトライアルエラーで解決できると思いますので、諦めずに問題を解決しましょう!
今回の対策内容で少しでも、皆生する方が増えたら嬉しいです。
コメント