Dynamics 365 Project Service Automation: Setting a new Template Resource for a Work Hours Template

Tested on:
Dynamics 365 version 9.0.2, PSA solution version 3.x, Unified Client Interface

In Dynamics 365 Project Service Automation solution version 3, changing a Template Resource now also changes the calendar the template uses. In PSA solutions V1 (D365 CE version 8.2) and V2 (D365 CE version 9.0) we had to create a new Work Hours Template if we wanted to make changes to a calendar and the subsequent Work Hours. Simply changing a Template Resource didn’t have an impact on a template’s calendar. If you are left wondering what I mean, please read MVP Joe Gill’s article on this subject.

In V3 this issue is fixed – at least partially depending on how you look at calendars and work hours. In V3, changing a Template Resource’s calendar doesn’t change the calendar of a Work Hours Template and personally I think this is a very good thing. Why would we want a change in a Bookable Resource’s personal work hours to change the calendar our Projects follow.

To change the calendar used by a Work Hours Template we simply have to choose a new Template Resource for the template. With a few clicks we can reflect changes made to our original Template Resource’s calendar on our Work Hours Template as well. Let’s look at the scenario as a whole and start by setting work hours for a Bookable Resource.

Setting Work Hours for a Bookable Resource and creating a Work Hours Template

1. Open a Bookable Resource and select Show Work Hours. A pop-up window will appear.

2. Set work hours for the Bookable Resource.


3. Navigate to Work Hours Templates, create a new template, select a Template Resource and save the template.


4. Verify changes on a Project. At this point a Project Template is not used and the Schedule is built from scratch. Set Work Hours were 8 so an Effort of 8 should set Duration to 1 while an Effort of 9 should set Duration to 2.

Changing a Template Resource’s Work Hours

5. Navigate back to Bookable Resource and change a user’s Work Hours from 8 h to 10 h per day. At this point we’re not doing any changes to the Work Hours Template. We only change a Bookable Resource’s Work Hours.


6. Create a new Project without a Project Template but use the Work Hours Template created in step 3 for the new Project. Looking at Schedule we can see that changing a Bookable Resource’s Work Hours has not had a direct impact on the Work Hours Template.


7. Navigate back to the Work Hours Template. Change the Template Resource to another Bookable Resource (in this example Generic Resource). Save the record and then change the Template Resource back to the original Bookable Resource (in this example myself).

8. Create a new Project without a Project Template and use the Work Hours Template we just edited on Project. As we can see, when we change a Template Resource, new Work Hours kick in. An Effort of 10 now sets Duration to 1. An Effort of 11 sets Duration to 2 as we set daily Work Hours to 10 h in step 5.

Project Templates

A Project Template always has a Work Hours Template associated to it. When looking at the Project Template form, the Work Hours Template is seen on the Calendar template lookup. If you change Work Hours you need to reassociate the related Work Hours Template on the Calendar template lookup like we did for the Template Resource in step 7. Reassociating the Work Hours Template doesn’t automatically align Effort and Duration on a Project Template’s Schedule so you need to edit all the tasks on a Schedule for the Work Hours behind the reassociated Work Hours Template to kick in.

I hope this brief article demystifies Work Hours Templates in V3 of Dynamics 365 Project Service Automation. Being able to update existing Work Hours Templates is a nice update to PSA and saves administrators and project managers time as a new template isn’t needed every time work hours change.

Disclaimer:
All my blog posts reflect my personal opinions and findings unless otherwise stated.

Leave a Reply

Your email address will not be published. Required fields are marked *