Where do the work_start & Work_end dates get set to read -only on the Project form

bpolo
Tera Guru

Checked most of the project scripts and cant seem to find where the work_start & work_end dates are being set to read-only. Please would someone be able to advise. Thanks!

1 ACCEPTED SOLUTION

shloke04
Kilo Patron

Hi,



Did you got a chance to Test the Solution provided for your query.



If your query is Resolved, Please mark the answer as correct so that the thread can be removed from the Unanswered list.



Regards,


Shloke


Hope this helps. Please mark the answer as correct/helpful based on impact.

Regards,
Shloke

View solution in original post

15 REPLIES 15

robpickering
ServiceNow Employee
ServiceNow Employee

Bernardine,



My strong recommendation is that if you wish to have these fields be editable, you should instead create new "u_work_start" and "u_work_end" fields on the Project Table, remove the out-of-box fields from the Project Form, and add your new ones in their place.   That way you will not be making significant modifications to out-of-box ACLs, Properties, and Business Rules in order to just make this editable.



To answer your question(s):


  1. Once you deactivated the pm_project.work_start (work_end), you unmasked the planned_project.work_start (work_end) ACLs, so those too will have to be deactivated as well (they have similar logic to handle roll_up fields).
  2. Roll-up fields can be defined on the Planned Task Rollup table, using these instructions:   Configure rollup for planned task fields
  3. You can read more about Roll-up fields here:   Parent-child rollup task calculations


-Rob


Thanks very much, Rob! We decided to go with custom date fields as you suggested@.


robpickering


Do you forsee a problem with disabling the roll up business rule/script, so that these fields do not roll up ever? And then making new ACL's to allow the fields to be writable?



We do not want project tasks rolling up dates and removing flexibility from our project dates.



Thanks


edwajs
ServiceNow Employee
ServiceNow Employee

Hi Shane,



Per Rob's update to Bernie:



My strong recommendation is that if you wish to have these fields be editable, you should instead create new "u_work_start" and "u_work_end" fields on the Project Table, remove the out-of-box fields from the Project Form, and add your new ones in their place.   That way you will not be making significant modifications to out-of-box ACLs, Properties, and Business Rules in order to just make this editable.


I have worked a number of customer issues with Development in regards to the rollup and adjustment of date values in the Project Management application.   The design intent is:


a.   Planned start/Planned end/Planned duration are dependent on each other, and are editable in the project until you have children.


b.   Once you have children, Planned end/Planned duration become readonly because the values are rolled up to the parent project.


c.   You are supposed to take a baseline before starting the project so you have your record of what all your original planned dates were.


d.   As you start the project/tasks, the Actual start is used in calculations with the planned duration to adjust the planned end date.


... So if you start early, the new planned end is going to be earlier than originally expected.


... And if you start later than originally expected, the new planned end will be adjusted accordingly.


e.   This way, at any given point in the project, the planned end values are the most accurate based on your original estimates of the duration of each task.  


f.   There is a Gantt chart view to allow you to compare your current Project values to the baseline.



If you want dates completely under your control and not manipulated by the code, it is much easier to follow Rob's recommendation and add custom fields of your own.   If you modify the various components (client scripts, ACLs, etc.) and get unexpected results, you will have to debug the customizations on your own as it is outside of scope for Technical Support.



Ed Wajs


ServiceNow Technical Support


robpickering
ServiceNow Employee
ServiceNow Employee

Shane,



If you're going to deactivate, make sure you just set "Active = False", that way you'll still get upgrades in the future.


The only issues should be that they stop rolling up various values to the parent; however, you should always test this in your Development instance and ensure that the behavior is as you would expect.



-Rob