The quick action buttons on the toolbar of a child panel on Incident (for example Task or External Task) have logic that determines when they are enabled based on the current Status of the child record. This logic is visible in the configuration screens for the button in the appropriate Incident layout. However, changing the logic does not appear to change the button's behavior.
Example Use Case: Allow users to be able to Complete an external task that is in a Logged state
Steps to Reproduce:
1. Go to IncidentLayout.ServiceDesk and go to formView
2. In the External Task tab, edit the Toolbar
3. Set the Complete quick action to have any of the disabled rules below:
$(if Status == "Logged" || Status == "Assigned" || Status == "Accepted" ||
Status == "Reassigned" || Status == "Waiting" || Status == "On Hold"
NOTE: Above is an out of the box script
$(if Status == "Logged" || Status == "Assigned" || Status == "Accepted" || Status == "Waiting"
$(if Status == "Logged"
Selecting a Logged external task, the Complete button should be enabled
Selecting a Logged external task, the Complete button is disabled.
The quick action buttons also have a 'Disable in UI when:' expression on the Quick Action itself, which will override the expression on the layout toolbar. This expression will also need to be modified.
To make the update for the example use case in the Description above:
Go to the External Task workspace
Select the Action Menu
Expand the Buttons folder
Edit the Complete button
On the right, update 'Disable in UI when:' to the same expression as the layout toolbar
Save the Quick Action