Loading
Salesforce から送信されるメールは、承認済ドメインからのみとなります続きを読む

プロセスビルダーの「値が設定されていないか、割り当てられていないため、フローでこの値にアクセスできませんでした」エラー

公開日: Sep 7, 2021
説明

参照が依存する外部キー (つまり、リレーション項目) に値が入力されていない場合は、クロスオブジェクト参照を行うプロセスに失敗します。

たとえば、取引先責任者のプロセスに「[Contact].Account.Name equals Acme」という条件がある場合、取引先が空白の取引先責任者でこのプロセスがトリガされると失敗します。デバッグログに、「myVariable_current.Account.Name の値が設定されていないか、割り当てられていないため、フローでこの値にアクセスできませんでした」というエラーが生成されます。

解決策
この種のエラーを回避するには、クロスオブジェクト参照を行う前に、外部キー (別名リレーション) 項目に基づいて、その項目が null かどうかを確認する条件を使用します。

この条件の順序に注意します。参照項目が null でないことの確認は、その参照でクロスオブジェクト参照を行う条件を評価するに実行する必要があります。

上記の例の続きとして、プロセス条件は [Contact].AccountId Is Null False と [Contact].Account.Name equals Acme で、この順序でなければなりません。AccountId が null かどうかの確認は、値が入力される取引先項目に依存するクロスオブジェクト参照の前に行う必要があります。


[アクションの実行条件] で [数式の評価が true になる] を使用する場合、この例では以下の式を使用できます。

AND (NOT(ISBLANK( [Contact].AccountId )), [Contact].Account.Name = "Acme")

多くの標準リレーションは、項目名に「Id」が含まれ、混乱を招くことがあるため、null 値を確認する必要があります。上記の例を引き続き使用すると、よくある間違いは、[Contact].Account.Id の null を確認しようとすることです。これは、取引先の ID 項目へのクロスオブジェクト参照であるため、[取引先] 参照項目が空白であれば失敗します。正しい条件は [Contact].AccountId (つまり、取引先責任者の [取引先] 参照項目) を確認するものです。ここで注意すべき重要な点は、条件が、別のオブジェクトの「Id」項目へのクロスオブジェクト参照を行うのではなく、参照項目自体を確認することです。


「既知の問題 W-2763830」で指摘されているとおり、数式に基づく条件を使用し、選択リスト項目へのクロスオブジェクト参照を行う場合 (特に、その選択リストへの展開参照に TEXT または ISPICKVAL 関数を使用する場合)、この数式構文は機能しません。プロセスビルダーの条件の選択リスト項目にクロスオブジェクト参照を行う必要がある場合は、条件に基づく条件を使用します。数式に基づく条件を使用する必要がある場合は、選択リストへのクロスオブジェクト参照を行うときに CASE 関数を使用します。
 

注意: null の参照を参照する数式項目がプロセスビルダーの条件として使用される場合もエラーが生じます。

 



「プロセスのトラブルシューティング」とこの重要な更新も併せて確認してください。
ナレッジ記事番号

000382782

 
読み込み中
Salesforce Help | Article