Larry,
Hans is correct that server-side events are one possible solution. The
problem with this approach is that there's no simple way to send
feedback to the user outside of email. That being said, if you choose
this approach I'd suggest that you avoid cancelling the timesheet save
event and instead prevent the user from submitting the timesheet --
otherwise, your users will be very annoyed that they have to re-enter
everything. At least if you allow them to save they can later transpose
the information.
Another approach would be to add some JavaScript to the
SelectTaskDlg.aspx page (I'm thinking in the UpdateTaskFullName
function) found in C:\Program Files\Common Files\Microsoft Shared\Web
Server Extensions\12\TEMPLATE\LAYOUTS\PWA\TIMESHEET\. This approach
isn't really ideal, though, because it involves editing the underlying
page. Unfortunately, since this isn't a web part page, this is the best
we can do. Note that any change to this file will affect all PWA
instances in the farm. If you choose this approach, you should be
careful to not break anything or cause any unintended side effects.
Also, be sure to test thoroughly and to keep a copy of your changes, as
this file could be overwritten by a service pack or other update.
Looking at a few of the available products that offer a solution to this
issue, it appears that they've taken this approach.
When I do deployments, my personal preference is to handle this as a
training issue by teaching users to not use top-level tasks and
instructing timesheet approvers to reject any timesheet that includes a
top-level task.
Steve
--
Stephen Sanderlin, Project MVP
VP of Technology
MSProjectExperts
For Project Server Consulting:
http://www.msprojectexperts.com
For Project Server Training:
http://www.projectservertraining.com
Read our blog at:
http://www.projectserverhelp.com