- Post History
- Subscribe to RSS Feed
- Mark as New
- Mark as Read
- Bookmark
- Subscribe
- Printer Friendly Page
- Report Inappropriate Content
5 hours ago
Remove a resource from an existing assignment so that the allocated work returns to an unassigned pool, ready to be reassigned later.
1. Before you begin
- Role required:
resource_manageror a role withcanWriteandcanCreateaccess onsn_plng_att_core_resource_assignment. - The assignment must be a user-type resource assignment (not a group or resource plan row).
- The assignment must have planning attributes associated with the task.
- The assignment must not have any actual hours captured against it.
- The assignment must not be an operational work assignment.
About this task
Unassign is available from two surfaces and each uses different underlying behavior:
Resource Management Workspace — Open a resource card or board and choose Unassign from the row context menu (ellipsis). The system validates the assignment, opens a confirmation modal, and on confirm creates a new unassigned assignment with all allocations transferred from the original user. The original assignment is then deleted.
Project Workspace — In the Planning grid for a project, inline-edit the resource column on the assignment row to clear the user, then save. The existing assignment record is updated in place — user_resource is set to null. No new assignment is created and allocations remain on the same record.
Key difference: In RMW, unassign creates a new record and transfers allocations. In PWS, the same record is updated with no transfer.
2. Procedure
- Navigate to Workspaces > Resource Management Workspace (or open the Planning view in Project Workspace).
- Select the resource card icon and open a resource card, or access a resource board from a widget on the overview dashboard.
- Select the chevron icon for the drill-down view of the tasks assigned to the resource.
- Select the row context menu (three vertical dots) for the required assignment row and choose Unassign.
- In the Project Workspace, instead of using the context menu, click on the resource column for the assignment row, clear the user, and save.
- In the RMW confirmation modal, click Unassign to confirm.
- A confirmation message appears once the unassign completes. The board refreshes to show the unassigned assignment in the resource pool.
3. Worked example
A resource assignment for the Network Upgrade task is assigned to Alex Chen with the following setup:
- Task duration: January 01 – January 31, 2024
- Assignment duration: January 01 – January 07, 2024 (5 working days)
- Effort type: Hours, Weekly time span
- Total effort: 32 hours
This example uses planned hours that vary by day. When the assignment is unassigned, these planned hours are preserved on the new unassigned assignment:
| Jan 01 | Jan 02 | Jan 03 | Jan 04 | Jan 05 | |
|---|---|---|---|---|---|
| Hours | 8 | 10 | 6 | 8 | 0 |
Weekly total (before): 32 hours
When you unassign Alex via the RMW context menu:
- Alex’s assignment is deleted.
- A new unassigned assignment is created for the same task with all fields copied. The
user_resourceon the new record is set to null. - The daily allocations are transferred to the new unassigned assignment. The per-day distribution (contour) is preserved exactly — it is not flattened or redistributed.
Daily allocation after unassign:
| Jan 01 | Jan 02 | Jan 03 | Jan 04 | Jan 05 | |
|---|---|---|---|---|---|
| Alex | — | — | — | — | — |
| Unassigned | 8 | 10 | 6 | 8 | 0 |
Weekly totals after unassign:
| Weekly total | |
|---|---|
| Alex | 0 |
| Unassigned | 32 |
The planned hours (8, 10, 6, 8, 0) are preserved on the unassigned record. The weekly and monthly aggregate tables update accordingly.
4. Behavior reference
The following tables describe what happens for each unassign scenario.
Assignment type
| Assignment type | Unassign behavior |
|---|---|
| Standard task-based user assignment | Full unassign flow in RMW. The system runs pre-validation, opens the confirmation modal, creates a new unassigned assignment, transfers the allocation, and deletes the original user assignment. |
| Group assignment — parent row | The Unassign action is not applicable. Group parent rows are not unassigned through this flow. |
| Group assignment — child row of type user | The Unassign action is not available on child rows. Unassign the top-level user assignment instead, if applicable. |
| Operational work assignment | Blocked. Message: “Cannot unassign operational work.” |
| Resource plan rows / operational resource plan rows | The Unassign action is not available on these rows. |
Validation and actuals (RMW)
The system runs these checks before opening the confirmation modal. If any check fails, the modal does not open and an error message is displayed.
| Situation | What happens |
|---|---|
| Assignment has planning attributes and no actuals | Validation passes. Confirmation modal opens and unassign can proceed. |
| Assignment does not have planning attributes | Failure. Message: “Cannot unassign. Resource assignments for the selected task do not have associated planning attributes.” |
| Assignment has actual hours captured on the allocation | Failure. Message: “Cannot unassign. Selected task contains associated actual expenses.” |
| Task has empty start or end dates (non-operational) | Client-side block. Message: “Task has empty start or end dates. Please update the task dates and try again.” |
Cost behavior
| Situation | What happens |
|---|---|
| Assignment with rate model on the task | The rate_model field is copied to the new unassigned assignment. The allocated cost on the resource plan may change because the new unassigned assignment has no user, so the rate model may resolve to a different rate line. |
| Assignment with rate override enabled | rate_override and resource_rate are copied as-is to the new unassigned assignment. Since rate override bypasses the rate model lookup, the cost remains the same. |
Tasks and projects
| Task type | Unassign behavior |
|---|---|
| Project, sub-project, project task, epic | Standard unassign flow works. Task-date validation still applies. |
| Demand | Unassign is supported. Task-date validation uses the demand dates. |
| Operational work / non-project time | Blocked with the operational-work error “Cannot unassign operational work.” |
Unassign in the Project Workspace (PWS)
| Situation | What happens |
|---|---|
| Clear the resource column on a user-type assignment and save | user_resource is set to null on the same assignment record. No new assignment is created, but new Allocation record is created with the current per-day distribution hours (contour) |
| Clear resource on an assignment with actuals | Failure. Message: “Cannot update as actuals are present” |
| Clear resource on a child (sub) assignment | Inline editing is disabled for child assignments |
5. After you unassign
Run a quick sanity check from the board:
- The original user’s assignment no longer appears (RMW) or shows no resource (PWS).
- In RMW, a new unassigned assignment row appears in the resource pool with the transferred allocations.
- New Allocation is created with dailies preserving the daily contour
- Monthly and weekly aggregates for the original user update accordingly.
- The resource plan effort totals reflect the change.
- If CPAAM integrations are enabled,
sn_plng_att_core_cpaam_efforttable will be checked and updated if required
6. Frequently encountered messages
| Message | Meaning |
|---|---|
| “Cannot unassign. Resource assignments for the selected task do not have associated planning attributes.” | The task does not have planning attributes configured. Set up planning attributes before unassigning. |
| “Cannot unassign. Selected task contains associated actual expenses.” | Time cards or actual hours exist on this assignment. You cannot unassign work that has actuals recorded. |
| “Task has empty start or end dates. Please update the task dates and try again.” | The parent task is missing start or end dates. Update the task dates first. |
| “Cannot unassign operational work.” | Operational (KTLO / non-project) assignments cannot be unassigned. |
| “Duration of the assignment should be within the project date range. Realign the assignments to task and try again.” | The assignment dates fall outside the task’s date range. Adjust assignment or task dates. |
| “Successfully unassigned the task.” | The unassign completed successfully. The board will refresh. |
7. Limitations and known constraints
- Operational work assignments cannot be unassigned in the Resource Management Workspace.
- Child (sub) resource assignments cannot be unassigned via the context menu in RMW. The unassign action is hidden for child rows.
- Assignments with actual hours cannot be unassigned in RMW. Clear or adjust actuals first.
- Rate model cost may change — When the original assignment used a rate model with user-specific labor rates, the cost on the unassigned assignment may differ because no user is present to resolve a user-specific rate line. Rate override assignments are unaffected.
- Resource board visible date range does not affect the unassign operation. The server processes the full assignment date range regardless of what is displayed on the board.
