「エラーが出ないのに日付が1日ずれる」Power Automateでいちばん気づきにくい不具合
Power Automateで期限のリマインドを作ると、かなりの確率で最初にぶつかる不具合があります。「通知は届く。エラーも出ていない。でも、日付が1日ずれている」自分の検証環境で実際に踏んだものです。原因と直し方を書いておきます。■ 症状SharePointリストに入れた「期限日」をもとに、期限の7日前にTeamsへ通知するフローを作ったとします。・フローは毎朝きちんと動く・実行履歴も「成功」と表示される・エラーメッセージは出ない・ただ、通知される対象が1日ずれている■ なぜ気づきにくいのかエラーが出ないからです。フローが失敗すれば通知が来るので気づけます。ところがこの不具合は、フローとしては正常に完了しています。画面を見ているかぎり、どこにも異常がありません。気づくのは、たいてい「あれ、この案件もう期限が過ぎていない?」と人間が気づいたときです。仕組みを入れた意味が薄れてしまいます。■ 原因日付の比較に、タイムゾーンの指定が入っていないことです。Power Automateの utcNow() は、名前のとおりUTC(協定世界時)を返します。日本時間より9時間前です。つまり日本時間の朝8時に実行すると、UTCではまだ前日の23時です。この状態で「今日から7日後まで」を計算すると、基準の日付が1日ずれます。■ 直し方日付を計算する前に、タイムゾーンを日本時間へ変換します。convertFromUtc(utcNow(), 'Tokyo Standard Time')これを起点にしてから addDays や formatDateTime をかけます。SharePointのフィルタ
0