Post

3 followers Follow
1
Avatar

custom action on Timesheets

Hi,

 

My Problem:

I want to lock timesheets so no one (apart from Admin) can edit any fields once the timesheets are marked as locked (new custom toggle field).

Once they have been submitted by Team members they have to be edited by managers etc. So there are custom fields that can be edited once sheets have been submitted. Sometimes these fields are auto populated, depending on the project, but possibly need correcting.

My idea so far:

I was thinking of making a custom action (run by the programme manager) that would set the custom lock field to true for all timesheets prior to a specified date. this works but I have to select all timesheets that I want this applied on - impractical for 1000 timesheets for 50+ users.

So I'm wondering whether:

a) I'm going about this the wrong way

b) there is a way of selecting all time sheets prior to a certain date and change the custom field.

 

Any help appreciated

 

 

Robin Head Answered

Please sign in to leave a comment.

2 comments

0
Avatar

I've attempted such customizations unsuccessfully.  My approach had been to place the Custom Action at the Organization object, but the configuration appears to get confused when linking to a field on Timesheets: $AllUsers.ReportedTimesheets.C_TestCounter 

(It's a tease to hint at a feature that's not actually supported.)

If your 'locking' period was systematic, it could be accomplished via a Validation Rule on fields changing where $ReportedDate < Today() - Days(n).

The best mechanism I know of to affect multiple Timesheets is a Scheduled Workflow Rule; you could store multiple 'variables' as custom fields on Organization (or Project) and pull them when the SWR fires on each Timesheet---this doesn't seem like it will help you.

You might be able to leverage an 'Editable' Report to easily provide PMs with a single entry location (but copy and paste doesn't seem to be supported):  

 

Matt 0 votes
0
Avatar

Hello Robin,

You should be able to 'lock' timesheets in bulk using a scheduled workflow rule. The only limitation is that scheduled workflow rules only run on objects that have been last updated in the last eight weeks. 

Important: if you want to use time functions like Today() in the evaluation criteria, it's not going to work. The way to work around this is to create a conditional action list in your workflow and then use the time functions in the evaluation criteria of the conditional action list.

Please let me know if this helps.

Thank you,

Roland

Roland Pumputis 0 votes