This is working by designed in the below scenarios:
At times an assignment status can be completed but not the task if there are other assignments on the task.
The assignment gets marked completed if actuals are posted with no remaining ETCs. See more details at:
The assignment cannot have a status of complete. It must be "not started" or "started." The assignment status is determined by condition a, b or c below.
a. If there are no actuals posted to the assignment, regardless of what the estimates are, then the assignment status is Not Started.
(PRAssignment.prstatus = 0)
b. If there are actuals and the estimate is not 0, then the assignment status is started.
(PRAssignment.prstatus = 1)
c. Otherwise (there are actuals and the estimate is 0) then the assignment status is completed. (PRAssignment.prstatus = 2)
(You can update the start/finish dates to be within the timesheet population range, then the task will show up)
See the following excerpt on Add Assigned Tasks functionality from docops: Create a Timesheet with Previous Timesheet Tasks or Current Assignments
Add Assigned tasks: This option appears only when you have assignments. This option populates a new timesheet with task assignments that are currently open. The open assignments have a date range within the time period of the new timesheet and typically have non-zero pending or accepted ETC. The range also includes the number of days that your administrator set on the Timesheet Options page. The Populate Time Range field includes a setting for the days before and after the time period start (default = 7 days). If any open assignments have non-zero ETC, the tasks in any future time periods outside the range also appear.