0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

スケジュールFlow

Last updated at Posted at 2022-07-27

Flowに関するまとめページ に戻る

なんだ、結局は毎日走らせて、数式で走っていい日かを見るだけ?
Apexでやる時と何も変わらん。

スケジュールトリガフローのメール送信は、スケジュールトリガフローの処理が終わってから(データベース等のコミットが終わってから)送信が実行されます。

そのため、フローの開始の時刻から多少のズレが生じることがあります。

ループしなくても大丈夫

スケジュールトリガーフローの実行者を確認してみるとヒントがあるかもしれません。

コアアクションでメールを送信するとEmailMessageのレコードが作成されているので、このレコードの作成者がデフォルトのワークフローユーザならフローの可能性が高いですね。

もし、担当者が手動で送ったものなら、この担当者が作成者になっていると思います。

スケジュールトリガーフロー・Apexスケジュールの実行者を確認する方法

デバック

これは期待どおりに動作しています。スケジュールされたフローをデバッグすると、レコードが 1 つしか見つかりません。これは、開始要素に条件を設定することで、「レコードのバッチに対してフローを実行する」という要件を満たしているためです。Salesforce は、条件を満たすレコードごとに個別のフロー インタビューを実行し、バックエンドでバッチ処理を行います。フロー内で一括処理を自分で処理する必要はありません。このユース ケースでは、レコードの取得やループを使用してより複雑なフローを作成する必要はありませんが、これが理解しにくい理由はわかります。スケジュールされたフローは、基本的にフロー構築のルールの例外です。デバッグが機能するため、さらに「テスト」するには、複数の連絡先が今日誕生日になるように設定し、フローを約 5 分後に実行するようにスケジュールし、アクティブ化して、フローが「実際に」実行されるのを待ちます。

スケジュールされたフローは、他のフローとデバッグ方法が少し異なります。デバッグするレコードを指定することはできません。Salesforce がランダムに 1 つ選択します。

選択されたレコード (randomyl) は選択を続行します。そのため、テスト用にそのレコードを編集して生年月日を変更するだけです。準備ができたらアクティブ化します。

サンドボックスでアクティベーションを実行するときは通常、サブセットまたはレコードをテストできるように、開始するための追加の条件(連絡先の名が「A」で始まるなど)を追加します。

メールが送信されないこと以外に、タスクの作成 (パス「請求書の日付に実行」の下) は実際に行われていますか。今日の日付は今日の開始時 (つまり 00:00 時) と見なされ、これは過去の日付であるため、スケジュールされたパス全体がトリガーされていない可能性があります。そのため、今日作成された請求書と請求書の日付 = 今日でテストを実行している場合、スケジュールされたフローは実行されません。

期日が明日の請求書を作成し、「設定」>「ジョブ」>「スケジュールされたジョブ」に移動して、スケジュールされたフローが明日にスケジュールされているかどうかを確認できますか? はいの場合は、時間を確認して、スケジュールされたパスがいつ実行されるか、および電子メールがいつ送信されるかを確認します。

明日まで結果を確認したくない場合は、スケジュールされたパスの時間ソースを InvoiceDate から CreatedDate (日付/時刻フィールド) に変更し、スケジュールされたフローを実行して CreatedDate からたとえば 3 分間の遅延を与えるように選択すると、請求書が作成されてから 3 分後にメールを受信できるようになります。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?