正在尝试在Salesforce中创建自定义收入日期字段 [英] Trying to create a custom 'Revenue Date' field in Salesforce
问题描述
我正在尝试创建"收入日期"字段,该字段遵循以下逻辑。 我希望收入日期字段根据我们的CS团队编辑的日期字段进行计算。 字段(可编辑的日期字段)包括 -超车日期 -电子邮件开始日期 -启用日期 -预计电子邮件开始日期 -预计总帐日期
第5个自动计算日期字段(预计启用日期),始终具有日期值(仅在上述字段为空时使用)
因此,我尝试使用的逻辑是
(I)是否有覆盖日期?如果是,那就拿着这个停下来。如果没有,请转到(Ii)
(Ii)是否至少有"电子邮件开始日期""或"有效日期""之一?如果是,请服用这些药物中较早的一个,然后停下来。如果没有,请转到(Iii)
(Iii)是否至少存在"预计电子邮件开始日期"和"预计总帐日期"之一??如果是,请服用这些药物中较早的一个,然后停下来。如果没有,请转到(Iv)
(Iv)如果以上所有字段均为空,则取预计启用日期
我知道这看起来令人困惑,但这只是因为我们计算收入的方式取决于CS团队输入的我们在客户网站上居住的日期(与交易结束日期不同)。
似乎在下面的公式中的某个地方出了问题。 BLANKVALUE(OVER_RIDE_DATE__c, IF(NOT(ISBLANK(EMAIL_START_DATE__C))&;&;NOT(ISBLANK(Live_Date__C),IF(Email_Start_Date__c<;Live_Date__c,Email_Start_Date__c,Live_Date__c)),IF(ISBLANK(Email_Start_Date_C)&;&;ISBLANK(Live_Date_C)), IF(NOT(ISBLANK(Estimated_Email_Start_Date__c))&;&;NOT(ISBLANK(估计_G_L_日期_c)), 如果(ESTIMATED_EMAIL_START_DATE__c<;ESTIMATED_G_L_DATE__c,ESTIMATED_EMAIL_START_DATE_c,ESTIMATED_G_L_DATE__c)), IF(ISBLANK(ESTIMATED_EMAIL_START_DATE__C)&;&;ISBLANK(ESTIMATED_G_L_DATE__C)),BLANKVALUE(ESTIMATED_GO_Live_DATE__c,ESTIMATED_GO_Live_DATE__c)推荐答案
我将尝试指导您完成我的设计过程;)
公式的基本形状可能如下所示:
BLANKVALUE(Over_ride_Date__c,
IF(ISBLANK(Email_Start_Date__c) && ISBLANK(Live_Date__c),
IF(ISBLANK(Estimated_Email_Start_Date__c) && ISBLANK(Estimated_G_L_Date__c),
Estimated_Go_Live_Date__c,
/* need to use Estimated_Email_Start_Date__c or Estimated_G_L_Date__c */
),
/* need to use Email_Start_Date__c or Live_Date__c */
)
)
现在应该很容易。如果未设置"Override",并且"Email Start Date"和"Live Date"均为空,请转到下一个变量。否则(这是我们还没有的部分),如果至少设置了其中一个-我们将尝试使用它们。与最后一对日期相似。
那么现在会是什么呢:
- 电子邮件和Live均已填写-采用较小的
- 已填写电子邮件,活动为空-接收电子邮件
- 电子邮件为空,实况已填-实况转播
有几种方法可以做到这一点。位长但可读:
IF(ISBLANK(Email_Start_Date__c),
Live_Date__c,
IF(ISBLANK(Live_Date__c),
Email_Start_Date__c,
IF(Email_Start_Date__c < Live_Date__c, Email_Start_Date__c, Live_Date__c)
)
)
但我要提倡这样做:
IF(ISBLANK(Live_Date__c) || BLANKVALUE(Email_Start_Date__c, Live_Date__c) < Live_Date__c,
BLANKVALUE(Email_Start_Date__c, Live_Date__c),
Live_Date__c
)
这里是它有效的证明:
(仅9行,因为这都是组合:smaller/bigger/null
*smaller/bigger/null
)。事实上,我们已经用前面的if语句排除了最后一个(null and null
)。
这将我们引向.
BLANKVALUE(Over_ride_Date__c,
IF(ISBLANK(Email_Start_Date__c) && ISBLANK(Live_Date__c),
IF(ISBLANK(Estimated_Email_Start_Date__c) && ISBLANK(Estimated_G_L_Date__c),
Estimated_Go_Live_Date__c,
IF(ISBLANK(Estimated_G_L_Date__c) || BLANKVALUE(Estimated_Email_Start_Date__c, Estimated_G_L_Date__c) < Estimated_G_L_Date__c,
BLANKVALUE(Estimated_Email_Start_Date__c, Estimated_G_L_Date__c),
Estimated_G_L_Date__c
)
),
IF(ISBLANK(Live_Date__c) || BLANKVALUE(Email_Start_Date__c, Live_Date__c) < Live_Date__c,
BLANKVALUE(Email_Start_Date__c, Live_Date__c),
Live_Date__c
)
)
)
这篇关于正在尝试在Salesforce中创建自定义收入日期字段的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!