You need to sign in to do that
Don't have an account?
clouduser
Validation rule for date
Timesheet_week__c (Date field) should be 'Monday'. If the user is creating/updating the record, it should validate below things.
If the record is created/updated before Friday COB, it should allow the user to choose the current Monday or future monday also.
If the record is created/updated after Friday COB, it should allow the user to choose the future Monday only.
Let me know your thoughts.
I have resolved the issue by writing validation rules. I am sharing this and it might be helpful for others.
first one: checks for the remaining validation...before friday COB and after friday COB.
OR(
AND(ISNEW(), Timesheet_week__c < TODAY(),
CASE(MOD( TODAY() - DATE(1900, 1, 7), 7), 0, 0, 6, 0, 1) = 0),
AND(ISNEW(),
OR(
AND(Timesheet_week__c <= TODAY() - 7, MOD( TODAY() - DATE(1900, 1, 7), 7) = 1),
AND(Timesheet_week__c <= TODAY() - 8, MOD( TODAY() - DATE(1900, 1, 7), 7) = 2),
AND(Timesheet_week__c <= TODAY() - 9, MOD( TODAY() - DATE(1900, 1, 7), 7) = 3),
AND(Timesheet_week__c <= TODAY() - 10, MOD( TODAY() - DATE(1900, 1, 7), 7) = 4),
AND(Timesheet_week__c <= TODAY() - 11, MOD( TODAY() - DATE(1900, 1, 7), 7) = 5)
)),
AND(ISCHANGED( Timesheet_week__c), Timesheet_week__c < TODAY(),
CASE(MOD( TODAY() - DATE(1900, 1, 7), 7), 0, 0, 6, 0, 1) = 0),
AND(ISCHANGED( Timesheet_week__c),
OR(
AND(Timesheet_week__c <= TODAY() - 7, MOD( TODAY() - DATE(1900, 1, 7), 7) = 1),
AND(Timesheet_week__c <= TODAY() - 8, MOD( TODAY() - DATE(1900, 1, 7), 7) = 2),
AND(Timesheet_week__c <= TODAY() - 9, MOD( TODAY() - DATE(1900, 1, 7), 7) = 3),
AND(Timesheet_week__c <= TODAY() - 10, MOD( TODAY() - DATE(1900, 1, 7), 7) = 4),
AND(Timesheet_week__c <= TODAY() - 11, MOD( TODAY() - DATE(1900, 1, 7), 7) = 5)
)
)
)
another one: checks for the monday
OR(AND(ISNEW(), MOD(Timesheet_week__c - DATE(1900, 1, 7), 7) <> 1), AND(ISCHANGED(Timesheet_week__c), MOD(Timesheet_week__c - DATE(1900, 1, 7), 7) <> 1))
All Answers
I have resolved the issue by writing validation rules. I am sharing this and it might be helpful for others.
first one: checks for the remaining validation...before friday COB and after friday COB.
OR(
AND(ISNEW(), Timesheet_week__c < TODAY(),
CASE(MOD( TODAY() - DATE(1900, 1, 7), 7), 0, 0, 6, 0, 1) = 0),
AND(ISNEW(),
OR(
AND(Timesheet_week__c <= TODAY() - 7, MOD( TODAY() - DATE(1900, 1, 7), 7) = 1),
AND(Timesheet_week__c <= TODAY() - 8, MOD( TODAY() - DATE(1900, 1, 7), 7) = 2),
AND(Timesheet_week__c <= TODAY() - 9, MOD( TODAY() - DATE(1900, 1, 7), 7) = 3),
AND(Timesheet_week__c <= TODAY() - 10, MOD( TODAY() - DATE(1900, 1, 7), 7) = 4),
AND(Timesheet_week__c <= TODAY() - 11, MOD( TODAY() - DATE(1900, 1, 7), 7) = 5)
)),
AND(ISCHANGED( Timesheet_week__c), Timesheet_week__c < TODAY(),
CASE(MOD( TODAY() - DATE(1900, 1, 7), 7), 0, 0, 6, 0, 1) = 0),
AND(ISCHANGED( Timesheet_week__c),
OR(
AND(Timesheet_week__c <= TODAY() - 7, MOD( TODAY() - DATE(1900, 1, 7), 7) = 1),
AND(Timesheet_week__c <= TODAY() - 8, MOD( TODAY() - DATE(1900, 1, 7), 7) = 2),
AND(Timesheet_week__c <= TODAY() - 9, MOD( TODAY() - DATE(1900, 1, 7), 7) = 3),
AND(Timesheet_week__c <= TODAY() - 10, MOD( TODAY() - DATE(1900, 1, 7), 7) = 4),
AND(Timesheet_week__c <= TODAY() - 11, MOD( TODAY() - DATE(1900, 1, 7), 7) = 5)
)
)
)
another one: checks for the monday
OR(AND(ISNEW(), MOD(Timesheet_week__c - DATE(1900, 1, 7), 7) <> 1), AND(ISCHANGED(Timesheet_week__c), MOD(Timesheet_week__c - DATE(1900, 1, 7), 7) <> 1))