Archer GRC: формула, основанная на установке текущей даты между конкретными временными рамками
У меня есть поле даты, которое мне нужно использовать формулу в Archer.
Мне нужно установить текущую дату в поле, которое я назвал DateField, когда пользователь выбирает поле значения, ValueField и меняет значения "Предварительно утверждено" или "Утверждено" или "Обновлено", если это до 7 утра, если это после 7 утра будет показывать следующую дату.
Вот что у меня так далеко:
IF(AND(ISEMPTY([DateField]),
"",
IF(AND(NOT(ISEMPTY([DateField])), [???]=VALUEOF([???],"False")),
DATEADD(DAY, 1, [ValueField]),
))
1 ответ
Из того, что я понимаю, что вы хотите, это:
АЛГОРИТМ:
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 на stackru.