Some of the options you have
Resource open for time entry is for all tasksTask or project open for time entry is for all resourcesLikewise the tracking method is for all.
What you can try is disable the resources to enter time on unassigned tasks and entering unassigned tasks on timesheets.
Then further make the assignments to start when you allow the resources to enter time.
Setting the task open for time entry will open it for any resource to enter time. (if all other considerations are met)The track mode must be CA PPM and as it says above all parent tasks must be also open for time entry.Setting the resource open for time entry will enable the resource to enter time on any task (if all other considerations are met)There is no parent requirement similar to tasks as resources do not have parents. The resource must be active. If he user is not active it should be locked.A new resource would have OOTB the rights to enter timeTo be more precise those user rights allow to enter time for the associated resource. They do not allow access to the timesheest which must be provided if the resource/user is going to enter time himself or herselfTimesheets - Navigate global right will give access to the timesheet list and to individual time sheets.
Now the resource can enter time for any task of any project where the resource is added to the team staff (in Classic)The dates are for the allocation when the resource is booked to the project and do not have anything to do when the resource can enter time and for what task.If you look at the assignmentsThere are also dates there. They are for the assignment when the resource is planned to work on a particular task. Neither do those limit when the resource can enter time for that particular task.
To illustrate that add another task and do not assign that to any resourcesNow when the resource starts entering time he or she opens a timesheet and clicks Add task and sets the filter to AllAll the tasks in all the projects where the resource is a team member are displayed and can be picked to the time sheet and time entered against.That can be limited to only those tasks which the resource is assigned. Currently the limitation is with the project level attributePrevent Unassigned Timesheet Tasks.In approximately version 7 similar effect was obtained with Assignment level Open for timeentry attribute, but that was dropped in later versions. Maybe it was too cumbersome to use.When Prevent Unassigned TImesheets Tasks is se true in a project the resource can only see the tasks to which he or she is assigned in that project and consequently enter time only on those tasks.That is unless the resource has the Project - Edit project plan right at global or instance levelThat overrules the effect of the Prevent Unassigned Timesheet Tasks attribute.Another approach to the same issue was the global timesheet option for allowing the resources to add unassigned tasks to timesheets.
That was for all projects which apparently was not good.Version 15.9.0 has the same as 13.1.For testing these see
https://community.broadcom.com/enterprisesoftware/communities/community-home/librarydocuments/viewdocument?DocumentKey=741fb37d-b1ee-4d65-bf6f-951ccc14ce30&CommunityKey=7f0cbca3-5f93-4d44-a369-1a8ce98f5578&tab=librarydocuments#ItemCommentPanelSo if you want to prevent a resource from entering time on wrong tasks- set Prevent Unassigned Timesheet Tasks attribute to true on the project(s)- assign the resources only to the tasks where you want them to enter time- do not give Project - Edit project plan rightThis works when there are more than one resource working on a task.If you just want to delay the the time when resource can enter time on a task, make the resource assignment just before the timeperiod starts and close the past timeperiods immediatly afterwards.If you want to prevent a resource from entering time after a date then close the task for timeentry. That is not good if there are other resources who continue to work on the task. Then only one resource assigned to a task is what works.If you have a resource that has entered time on a task and the timeentry is posted and actual there is not an easy way to remove the assignment to prevent further timeentries. The system does not directly allow to unassign if there are actuals.One option is to start with new tasks for each resource from that point on and close the old ones for timeentry.If the is not an option for you and you ask if you can remove a resource from a task after posting hoursThe short answer is yes, butSee https://community.broadcom.com/enterprisesoftware/blogs/connie-fu/2019/05/30/clarity-tuesday-tip-can-a-resource-be-removed-from-a-task-after-posting-hours-on-it