How to show the incidents on a grid on a different color if they have all their tasks completed

Version 1

    Details

    This article explains how to show incidents on a grid in a different color if they have all their tasks completed. 



     


    Resolution

     

    It is possible to use an expression in the style of the grid using the function "IsTrueForAllChildren", but the software would evaluate the expression for each individual result in the grid and would negatively impact the performance. 

    The recommended solution is as follows:


    1.  Create a new Boolean field in the Incident business object named "TaskDone" (it could be any other name)



    2.  Create a Highlighter style called "ChildTasksCompleted" as in the screenshot, using your preferred colors



    3.  In the grid style expression, use this:

       $(if TaskDone == true then "ChildTasksCompleted" else "Default")

    4.  In the Task#Assignment business object, create a new triggered rule "On Update"



    5.  Configure a a new "Run for Child" action



    6. And add a new "Action to Run" of type "Update object"



    7.  Finally the Quick Action should use this expression for updating the TaskDone incident field:

         $(if IsTrueForAllChildren("Incident#", RecId, "task#Assignment.Rev3", "$(Status == 'Completed' || Status == 'Cancelled' || Status == 'Rejected')") == true then true  else false)