Archer GRC:基于在特定时间范围之间设置当前日期的公式

时间:2016-01-20 16:30:00

标签: archer rsa-archer-grc

我有一个日期字段,我需要在Archer中使用公式。

我需要在用户选择值字段 ValueField 时更改我名为 DateField 的字段上的当前日期,并更改为值“Pre-如果是在早上7点之前批准“或”批准“或”更新“,如果是在早上7点之后它将显示下一个日期。

这是我到目前为止所拥有的:

IF(AND(ISEMPTY([DateField]), "", IF(AND(NOT(ISEMPTY([DateField])), [???]=VALUEOF([???],"False")), DATEADD(DAY, 1, [ValueField]), ))

1 个答案:

答案 0 :(得分:2)

根据我的理解,你想要的是:

算法:

If ([ValueField] is changed to 'Pre-Approved', 'Approved' or 'Updated') AND (current time is before 7AM)
then
set [DateField] to current date

Else If ([ValueField] is changed to 'Pre-Approved', 'Approved' or 'Updated') AND (current time is after 7AM)
then
set [DateField] to (current date+1)

确保此公式位于[DateField]字段中。

式:

IF(
AND(HOUR(NOW())<7,OR([ValueField]=VALUEOF([ValueField],"Pre-Approved"),[ValueField]=VALUEOF([ValueField],"Rejected"),[ValueField]=VALUEOF([ValueField],"Updated"))),
NOW(),
IF(
AND(HOUR(NOW())>7,OR([ValueField]=VALUEOF([ValueField],"Pre-Approved"),[ValueField]=VALUEOF([ValueField],"Rejected"),[ValueField]=VALUEOF([ValueField],"Updated"))),
DATEFORMAT(DATEADD(DAY, 1, NOW()),"M/d/yyyy")
)
)

您可以将其他验证添加到第一个IF语句的开头。

感谢让Archer社区在stackoverflow上成长。