2017-08-07 7 views
0

Salesforce:Salesforceで動的計算フィールドを作成するにはどうすればよいですか?

すべてのアカウントは私の会社と契約しています。彼らは契約を結んだら、商品の注文を開始することができます。

アカウント記録では、私はの日付フィールドを "契約承認済み"としています。

注文商品は「資産」として表されます。

"First Order Amount"というアカウントレコードに別のフィールドを作成したいとします。このフィールドは、動的に移入されるべきであり、次のように計算する必要があります:アカウントの資産の全てについて

  1. ルックが日付フィールド「で承認された契約」の後を作成しました。
  2. 最初の注文時に注文されたすべてのアセットの合計を(同じ日以内に)要約します。同じ日以内

  • のは、契約は アカウントは、2017年1月5日の間、1月5日2017年
  • にアカウントを注文し始めた2017年1月1日に承認されたと仮定しましょう5つの注文(資産別に8種類の異なる8種類の )を作成した場合、合計は1,000ドルです。 これは最初の注文合計です。同じ 日以内にの範囲内です。
  • 2017年1月5日以降、アカウントで注文が増えましたが、 は「最初の注文金額」にカウントされません。

私の質問は - 「First Order Amount」フィールドをどのように作成すればよいですか?

ありがとうございます!

+0

アカウントオブジェクトにそのフィールドを作成し、それを頂点にして更新したいときはいつでも使用します...なぜそれを動的に作成する必要がありますか? – chinmayahd

答えて

0

アカウントの最初の注文総額フィールドを更新するには、アカウント設定でoncreateトリガーを設定する必要があります。 トリガーでnow()>合意が日付を承認するかどうかを確認します。はいの場合は、dateCreated < TODAYの他のアセットがあるかどうかを確認します。 これらの2つの条件は、既存の勘定資産があるかどうか、日付が契約日であるかどうかをチェックします。既存の資産がある場合、これは最初の注文ではないことを意味します。 その後、すべての資産金額を取得して追加し、最終金額をアカウント項目に書き込むことができます。

は、日付関数とリテラルのトリガ構文

https://developer.salesforce.com/docs/atlas.en-us.soql_sosl.meta/soql_sosl/sforce_api_calls_soql_select_dateformats.htmためhttps://developer.salesforce.com/docs/atlas.en-us.apexcode.meta/apexcode/apex_triggers_context_variables.htm を参照してください。

関連する問題