2

Salesforceで成約した取引の正確な契約終了日を計算するための回避策はありますか?に基づいて契約終了日を計算するフィールドがありますが[ Revenue_Date__c + ( Contract_Length__c * 30) ]、これはすべての月が30日であるという仮定に基づいていますが、より正確な契約終了日を取得するための回避策はありますか?
私たちはSalesforceのProfessionalエディションを使用しています。

4

1 に答える 1

0

私の知る限り、関数/数式でそれを行うのは非常に難しいでしょう。あなたは今月末を見つけるこのことで実験を始めることができます:

DATE(
    YEAR(TODAY()),
    MONTH(TODAY()),
    CASE( MONTH(TODAY()),
        1, 31,
        2, IF( MOD( YEAR(TODAY()), 4) = 0, 29, 28),
        3, 31,
        4, 30,
        5, 31,
        6, 30,
        7, 31,
        8, 31,
        9, 30,
        10, 31,
        11, 30,
        12, 31,
        DAY(TODAY())
    )
)

日と今年の終わり、来年など(契約期間によって異なります)の差を計算してみることができますが、それは非常に厄介な解決策になります。そして、「図書館」を扱っている自家製の日付を見るたびに、私は少し泣きます...

ロジックを頂点に移動できますか?単純な「挿入前、更新前」トリガーでは、非常に簡単です。

for(My_Object__c o : trigger.new){
    o.Contract_End_Date__c = o.Contract_Start_Date__c.addMonths(o.Contract_Length__c);
}

「前」のトリガーでは、ボーナスとして無料でDBに保存できます;)つまり、数式フィールドの場合にユーザーに表示されるのと基本的に同じです。

于 2012-11-26T18:46:30.330 に答える