2

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

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);
}

在“之前”触发器中,您可以免费保存到数据库作为奖励;)因此,如果它是公式字段,用户会看到它基本上相同。

于 2012-11-26T18:46:30.330 回答