+ Start a Discussion
hiroya hasebehiroya hasebe 

複数のオブジェクトを更新するVFページとプロセスビルダー

主レコード:A
従レコード:B
があり、このAレコードとBレコードを1つのVisualforce画面で更新できるようにします。

このVFページのコントローラで
update B;
update A;

のようにした時に、Bをupdateした時点でプロセスビルダーが起動しAレコードの項目を一部更新します。
その後Aのupdate処理が行われるのですが、プロセスビルダーで更新した値を上書きしてしまいます。
(順番で考えれば当たり前なのですが。。)

Aのupdate時に値を上書きしないような更新方法はありますでしょうか。
Best Answer chosen by hiroya hasebe
Taiki YoshikawaTaiki Yoshikawa
Visualforce側でプロセスビルダーが更新する項目を更新しないように判定するしかないかもしれません。
VFページかプロセスビルダーのどちらか片方に処理を寄せるのがいいと思います。

All Answers

Taiki YoshikawaTaiki Yoshikawa
Visualforce側でプロセスビルダーが更新する項目を更新しないように判定するしかないかもしれません。
VFページかプロセスビルダーのどちらか片方に処理を寄せるのがいいと思います。
This was selected as the best answer
hiroya hasebehiroya hasebe
Taiki Yoshikawaさん
ありがとうございます。

やはり、そうですよね。。

よくよく考えると今回のケースではupdateの順序を逆にすることで回避はできそうなのですが、
プロセスビルダーでは親の更新をトリガにして子レコードの更新もできたと思うので、
そのパターンが混ざってきたらVisualforce側で判定するしかなさそうですね。。

ご回答ありがとうございました!