是否有计划在Salesforce中计算已完成合约的准确合约结束日期?我们有一个字段根据[ Revenue_Date__c + ( Contract_Length__c * 30) ]
计算合同结束日期,但是,这是基于所有月份都有30天的假设,是否有解决这个问题以获得更准确的合同结束日期?
我们正在使用Salesforce的专业版。
答案 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作为奖励;)因此,如果它是公式字段,则与用户基本相同。