私は心に留めておきます...レコードのフィールド値を更新できない場合(の一部)trigger.new )後のトリガーで(挿入後など)ワークフロー(評価基準:レコードが作成されている)がフィールド値を変更する方法は?salesforceでafterトリガの値を更新できない場合のワークフローの更新方法
1
A
答えて
0
あなたは、挿入、更新、またはUPSERT文でレコードを保存すると、Salesforceは順番に次のイベントを行います。
- は、データベースから元のレコードをロードまたはUPSERT文のレコードを初期化します。
- 要求から新しいレコードフィールド値をロードし、古い値を上書きします。有効なレイアウト固有のルール
- 必要なレイアウトレベルでの値とフィールド定義レベル
- と
- コンプライアンス:要求が標準UI編集ページから来た場合、Salesforceはのレコードをチェックするために、システムの検証を実行しますフィールドフォーマット
- 最大フィールド長
要求は、アペックス・アプリケーションまたはSOAP APのような他のソースから来ていますSalesforceは外部キーのみを検証します。トリガを実行する前に、Salesforceはカスタム外部キーがオブジェクト自体を参照していないことを確認します。
複数行アイテムが作成されている場合(たとえば、見積もりラインアイテムや案件のラインアイテムなど)、Salesforceはユーザ定義の検証ルールを実行します。
- beforeトリガをすべて実行します。
- すべての必須フィールドにnull以外の値があることを確認するなど、ほとんどのシステム検証手順を再実行し、ユーザー定義の検証規則を実行します。 Salesforceがもう一度実行しないシステム検証(標準UI編集ページからの要求の場合)は、レイアウト固有のルールの適用のみです。
- 重複ルールを実行します。重複ルールがレコードを重複として識別し、ブロックアクションを使用する場合、レコードは保存されず、アフタートリガーやワークフロールールなどのそれ以上のステップは実行されません。
- レコードをデータベースに保存しますが、まだコミットしません。
- すべてのアフタートリガーを実行します。
- 割り当てルールを実行します。
- 自動応答ルールを実行します。
- ワークフロールールを実行します。
- ワークフローフィールドの更新がある場合は、レコードを再度更新します。
- レコードがワークフローフィールドの更新で更新された場合、標準の検証に加えて、更新トリガおよび更新後のトリガがもう1回(1回以上)起動します。カスタム検証ルール、重複ルール、およびエスカレーションルールは再度実行されません。
- プロセスを実行します。
ワークフローフロートリガがある場合は、フローを実行します。
プロセスビルダは、以前はパイロットプログラムで利用可能なフロートリガワークフローアクションに取って代わりました。フロートリガワークフローアクションを使用している組織は、引き続き作成および編集できますが、フロートリガワークフローアクションは新しい組織では使用できません。
- エスカレーションルールを実行します。
- 資格ルールを実行します。
- レコードにロールアップサマリーフィールドが含まれている場合、またはクロスオブジェクトワークフローの一部である場合は、計算が実行され、親レコードのロールアップサマリーフィールドが更新されます。親レコードは、プロシージャの保存を行います。
- 親レコードが更新され、祖父母レコードにロールアップサマリーフィールドが含まれている場合、またはクロスオブジェクトワークフローの一部である場合は、祖父母レコードのロールアップサマリーフィールドの計算と更新が行われます。祖父母レコードは保存手順を経る。
- 条件ベースの共有評価を実行します。
- すべてのDML操作をデータベースにコミットします。
- 電子メールの送信など、コミット後のロジックを実行します。
詳細はSalesforce documentationを参照してください。
0
ワークフローフィールドの更新によって、実際には挿入操作が完了した後に新しい更新操作が実行されます。
ので、その場合の実行順序はこのようなものになるだろう:更新後に更新トリガー
- トリガー
1
リコrdはtrigger.newの一部です。afterトリガーでレコードを変更/更新しようとすると、ロックされて例外がスローされます。 の実行が成功に
トリガー後にレコードがロック解除で、ワークフロールールとトリガ後の最初の実行後に実行されます。 ワークフローフィールドの更新はレコードにロックがないためレコードを変更できます。
希望、あなたの疑惑をクリアします! :)
関連する問題
- 1. サブクエリフィールドの更新方法salesforce、soql、apex
- 2. SQLiteの更新列のみ値が空でない場合
- 3. 更新フィールドがNULLでない場合
- 4. $ _POSTの値が空の場合、データベースを更新しない方法は?
- 5. プライマリキーのないSQL Serverの更新トリガ
- 6. JBPM 6.2でアクティブなプロセスインスタンスでワークフローを更新する方法
- 7. 値がNULLでない場合に列を更新する方法
- 8. Salesforce APIの条件付き更新
- 9. 異なる場合でUIの更新が異なる場合
- 10. フォームエントリが変更されない場合の更新を回避する方法
- 11. 複数行更新のトリガを書き込む方法は?
- 12. Dynamics CRMのワークフロー更新が
- 13. 値が存在しない場合、MySQLの更新
- 14. SQL更新トリガの列名
- 15. MySQLの更新トリガ誤差
- 16. Salesforce-インライン編集のページブロックテーブルで変更後のレコードを更新できません
- 17. Railsの更新アクションでブール値フィールドが更新されない
- 18. ModelStateが無効な場合にデータベースのオブジェクト値を更新する方法
- 19. Sharepointワークフローが更新されない
- 20. データグリッドビューで変更が発生した場合のデータベースの更新方法
- 21. Angularjs2で入力値を変更したときのモデル値の更新方法
- 22. 更新パネル他の更新パネルの進捗インジケータをトリガする?
- 23. Prestashop BackOfficeで注文を変更する場合の更新方法
- 24. 配列から値を削除し、新しい配列の合計でhtmlを更新するか、合計がない場合は '$'を更新する
- 25. 新しい値が高い場合は列を更新するだけです
- 26. CRM 4.0で更新メッセージをプログラムでトリガする方法
- 27. after()が私のTkinter GUIを更新していない
- 28. 挿入/更新トリガをデバッグして値の挿入/更新を表示する方法
- 29. "mvc2の更新エンティティの更新方法"
- 30. 値が異なる場合のみHBaseテーブルを更新する
レコードとワークフローを挿入している場合評価基準は「レコードが作成されると」なので、レコードの更新方法は? –
@NileshBorse、レコードが更新されない、w/fフィールド更新ルールはレコード挿入の同じフローでフィールド値を割り当て/変更します。 –