在Salesforce中计算合同结束日期?

时间:2012-11-26 17:42:05

标签: salesforce

是否有计划在Salesforce中计算已完成合约的准确合约结束日期?我们有一个字段根据[ Revenue_Date__c + ( Contract_Length__c * 30) ]计算合同结束日期,但是,这是基于所有月份都有30天的假设,是否有解决这个问题以获得更准确的合同结束日期?
我们正在使用Salesforce的专业版。

1 个答案:

答案 0 :(得分: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作为奖励;)因此,如果它是公式字段,则与用户基本相同。