non-programmers salesforce 小ネタブログ

Apexやvisualforceなどプログラミングの力を使わずにどこまでやれるか小ネタを投稿します。

【salesforce】一定時間経過するとレコードを追加する方法

開発者フォーラムにこんな投稿がありました。

https://developer.salesforce.com/forums?communityId=09aF00000004HT8IAM#!/feedtype=SINGLE_QUESTION_DETAIL&dc=Developer_Forums_JP&criteria=ALLQUESTIONS&id=906F0000000BNndIAG

一定期間が経過するとレコードを追加する といったことは可能でしょうか。

一定期間が経過するとレコードを追加する といったことは可能でしょうか。
取引先オブジェクトを作成後、~日経過した時点で、関連するレコードを追加するというものです。
上記だけならプロセスビルダーで可能ですが、
~日経過時点で取引先オブジェクトの項目を評価し、条件を満たしてなければ作成しないという
挙動を行おうとするとプロセスビルダーでは対処できず・・

なぜか投稿できないので、こちらに解決方法を書きます。

フローとプロセスビルダーで解決できます。

大まかな流れはこんな感じ。

1.取引先レコードが作られるとプロセスビルダーがフローを動かす。

2.フローが◯日間待機する。

3.取引先先レコードの判定する項目を持ってくる。

4.項目を判定して、trueならレコードを作る。

 

作るフローはこんな流れ。

f:id:non-prog-sf:20150628170437p:plain

最初の待機はこんな感じ。

アラーム:絶対時刻、基準時刻:

システム変数とグローバル変数→SFlow→CurrentDateTime

オフセット数:◯日や◯時間など◯に当てはまる数字

オフセット単位:日や時間と日本語で入れるらしいです、多分。

f:id:non-prog-sf:20150628170523p:plain

次にレコードの検索です。取引先をIDで検索します。検索はAccount、項目はIDで、値は後ほど設定するプロセスビルダーで検索用のIDを渡す変数を新規作成します。そして、レコードの項目の割り当てについては、判定条件を抽出します。今回はテストとして、チェックボックス一つがtrueかどうかで判断することにしたので、その変数をまた割り当てます。

f:id:non-prog-sf:20150628173707p:plain

取引先IDの変数はこのように設定。IDなのでデータ型はテキスト、入力/出力種別は入力のみです。

f:id:non-prog-sf:20150628174316p:plain

判定する項目を持ってくる変数は今回こう作ります。基本的に項目とデータ型を一致させて、入力のみにします。基本的に名前の付け方はなんでもいいです。チェックボックスの場合はtrue or falseなのでBooleanを選びます。BooleanってJAVAなどでも出てくる単語ですね。(私はJAVAを殆ど知らないのですが)

f:id:non-prog-sf:20150628174402p:plain

 

次に決定についてですが、先ほどの変数が指定の値だった場合はyesの結果を返すようにリソースと値を決めます。今回はBoolean形式なのでグローバル定数でtrueを選びます。

f:id:non-prog-sf:20150628174858p:plain

そして最後にレコードの作成。今回は取引先と参照関係になっているオブジェクトにレコードを作ることにしました。この時作るレコードは参照関係があってもなくても関係ないです。なんでも作れます。あとは次の項目値を使用からは項目と値(変数)の割り当てを行ってください。変数に入れる値はプロセスビルダーを作るときに決めるので、今はとりあえず作ってください。

f:id:non-prog-sf:20150628222424p:plain

あとは最初の画像のように線を引いていってください。そして、待機の右上の緑矢印をクリックして、スタートにするのを忘れずに。名前をつけて保存して有効化してください。

 

次はプロセスビルダーの設定です。

f:id:non-prog-sf:20150628223948p:plain

作成からスタートして(今回は変更はいれませんでした)、作成したレコードはすべからくルール適用時のアクションを設定します。

 

f:id:non-prog-sf:20150628224126p:plain

フローを選択して、各変数に対して、どの項目の情報をいれるか値の設定を行っていきます。

f:id:non-prog-sf:20150628224142p:plain

これで完成です。とりあえず時間差で項目の判断をして作成を行っているので、うまく出来ていると思います。