我正在尝试创建一个公式,可以告诉我工作日中案例的年龄,如果它处于打开,关闭或处于特定状态。这是我到目前为止所得到的:
IF(OR(IsNull(ClosedDate), IsNull(Waiting_Confirmation_Date__c)),
(
5*FLOOR((TODAY()-DATE(1996,01,01))/7) +
MIN(5, MOD(TODAY()-DATE(1996,01,01), 7))
) - (
5*FLOOR((DATEVALUE(CreatedDate)-DATE(1996,01,01))/7) +
MIN(5, MOD(DATEVALUE(CreatedDate)-DATE(1996,01,01), 7))
),
IF(NOT(IsNull(Waiting_Confirmation_Date__c)),
(
5*FLOOR((Waiting_Confirmation_Date__c - DATE(1996,01,01))/7) +
MIN(5, MOD(Waiting_Confirmation_Date__c - DATE(1996,01,01), 7))
) - (
5*FLOOR((DATEVALUE(CreatedDate)-DATE(1996,01,01))/7) +
MIN(5, MOD(DATEVALUE(CreatedDate)-DATE(1996,01,01), 7))
),
(
5*FLOOR((DATEVALUE(ClosedDate)-DATE(1996,01,01))/7) +
MIN(5, MOD(DATEVALUE(ClosedDate)-DATE(1996,01,01), 7))
) - (
5*FLOOR((DATEVALUE(CreatedDate)-DATE(1996,01,01))/7) +
MIN(5, MOD(DATEVALUE(CreatedDate)-DATE(1996,01,01), 7))
))
)
我将Waiting_Confirmation_Date__c设置为工作流,该工作流指定用户将案例设置为特定状态的今天的日期。基本上我想要做的是:
如果案件未关闭,或未在等待确认(将设置“Waiting_Confirmation_Date__c”),则将营业年龄设置为从创建到今天的年龄。
否则,如果设置了“Waiting_Confirmation_Date__c”,请在创建时间到确认日期之间设定年龄。
最后,如果它已关闭,请将其设置为从创建时到关闭时的年龄。
我认为只是我的if / else在某种程度上是错误的,但我正在试图解决这个问题。
谢谢!
答案 0 :(得分:0)
这似乎是一个相当痛苦的公式。您可以尝试安装免费Case Age In Business Hours app from the AppExchange;它可以开箱即用,如果没有,它仍然是开源的,所以你可以根据需要进行修改。
答案 1 :(得分:0)
解决方案就是这个,谢谢你们:
IF(AND(IsClosed),
(
5*FLOOR((DATEVALUE(ClosedDate)-DATE(1996,01,01))/7) +
MIN(5, MOD(DATEVALUE(ClosedDate)-DATE(1996,01,01), 7))
) - (
5*FLOOR((DATEVALUE(CreatedDate)-DATE(1996,01,01))/7) +
MIN(5, MOD(DATEVALUE(CreatedDate)-DATE(1996,01,01), 7))
),
IF(NOT(IsNull(Waiting_Confirmation_Date__c)),
(
5*FLOOR((Waiting_Confirmation_Date__c - DATE(1996,01,01))/7) +
MIN(5, MOD(Waiting_Confirmation_Date__c - DATE(1996,01,01), 7))
) - (
5*FLOOR((DATEVALUE(CreatedDate)-DATE(1996,01,01))/7) +
MIN(5, MOD(DATEVALUE(CreatedDate)-DATE(1996,01,01), 7))
),
(
5*FLOOR((TODAY()-DATE(1996,01,01))/7) +
MIN(5, MOD(TODAY()-DATE(1996,01,01), 7))
) - (
5*FLOOR((DATEVALUE(CreatedDate)-DATE(1996,01,01))/7) +
MIN(5, MOD(DATEVALUE(CreatedDate)-DATE(1996,01,01), 7))
)))