salesforce - Salesforce 日期公式未显示正确结果
问题描述
嗨 Salesforce 爱好者!
我需要对我的组织中的现有公式进行故障排除(或创建一个更简单的公式)“合同续订日期”(见下文),它应该显示日期:
Contract_Start_Date__c + Contract_duration__c (月) - Cancellation_Period__c (月)
示例:合同于 2021 年 1 月 1 日开始,期限为 12 个月,取消期限为 3 个月,“合同续订日期”的预期结果为 2021 年 10 月 1 日
问题:
不知何故,这个公式适用于几乎所有机会,除了少数机会(主要是在 2 月合同开始时,并且总是在取消期为 1.5 个月时) - 请参阅屏幕截图中的示例
感谢您的帮助!
Contract_Renewal_Date__c =
日期 (
/ YEAR / YEAR (Contract_Start_Date__c) + FLOOR ((MONTH (Contract_Start_Date__c) + Contract_duration__c - Cancellation_Period__c - 1)/12),
/ MONTH / CASE ( MOD ( MONTH ( Contract_Start_Date__c )+Contract_duration__c - Cancellation_Period__c, 12 ),0,12,MOD ( MONTH ( Contract_Start_Date__c )+Contract_duration__c - Cancellation_Period__c, 12 )),
/ DAY / Contract_Renewal_Date_Day__c)
其中Contract_Renewal_Date_Day__c=
MIN ( DAY ( Contract_Start_Date__c ), CASE ( MOD ( MONTH ( Contract_Start_Date__c )+Contract_duration__c - Cancellation_Period__c,12 ) ,9,30,4,30,6,30,11,30,2,
/* 返回二月的最大天数取决于结束日期是否为闰年 */ IF ( MOD ( YEAR ( Contract_Start_Date__c ) + FLOOR ( (MONTH ( Contract_Start_Date__c ) + Contract_duration__c - Cancellation_Period__c)/12) , 400 ) = 0 || ( MOD ( YEAR ( Contract_Start_Date__c ) + FLOOR ( (MONTH ( Contract_Start_Date__c ) + Contract_duration__c - Cancellation_Period__c)/12) , 4 ) = 0 && MOD ( YEAR ( Contract_Start_Date__c ) + FLOOR ( (MONTH ( Contract_Start_Date__c ) + Contract_duration__c - Cancellation_Period__c)/12) , 100 ) <> 0 ) , 29,28)
,31))
解决方案
推荐阅读
- java - 访问控制练习 - java
- javascript - 拖动 CSS 旋转的 div
- android - 根据动态类型获取领域数据
- python - 是否有更快的方法来写入或读取大约 100 万行的 pandas 数据帧
- tinymce - 如何删除tiny mce插件的表默认属性
- oracle - 空游标和异常
- sql - sql取模大数
- angular - 如何在 Angular -5 中为一个输入单选按钮添加 2 (onclick)=""
- c# - 如何在 XAML 的不同选项卡(子项)中重用相同的“内容控制器”?
- node.js - 我被困在回调地狱中。任何人都可以建议最好的方法来完成这项工作吗?