Salesforce日期字段(添加一个月/ 31天但不能在周末结束)

时间:2017-05-04 16:52:57

标签: salesforce apex

我在特定的机会中有两个领域。一个是“提案发送日期”,在用户生成提案时自动输入(通过Conga Composer)。我还有“提案有效截止日期”,在提案发送日期之后应为1个月(或简称为31天)。但是,这个有效的截止日期不能在周末。

我的问题是,我该怎么转:

Proposal Valid Thru Date (Date)=

Proposal_Sent_Date__c + 31

进入一个领域,如果是星期六,则将日期提前2天,如果是星期日则提前1天?

例如,如果我今天运行该报告,发送日期为2017年5月4日,但有效日期为6/4/2017,即周日。我需要知道6/4/2017是一个星期天,并增加一天来制作有效的截止日期为2017年6月5日星期一

1 个答案:

答案 0 :(得分:0)

这样做

public static Date changeWeekendTaskDueDate(Date thedate)
{
    Datetime dt = DateTime.newInstance(thedate, Time.newInstance(0, 0, 0, 0));
    String dayOfWeek=dt.format('E');
    Integer offset = 0;

    if(dayOfWeek == 'Sat')
    {
        offset = 2;
    }
    else if(dayOfWeek == 'Sun')
    {
        offset = 1;
    }

    return thedate+offset;
}

如果您想要更新字段,则需要成为工作流程,这可以帮助您入门

https://help.salesforce.com/articleView?id=fields_useful_validation_formulas_date.htm&language=en_US&type=0