Why is there an error with setting mandatory fields and manual transition at same time

The use case is that a customer has some custom fields on a request that need to be filled out before transitioning to the next phase.  These fields are not set at ticket creation and would need to be set afterwards.  Specifically, business rules were created that makes these fields mandatory when attempting to transition to that next phase (on enter of new phase).  This will prevent them from performing that manual transition unless they have provided values for those fields.  This works, if those fields are set and saved before performing the manual transition.  However, if you try and set those fields and perform that manual transition at the same time, you get an error message stating that the fields can not be null, as shown in the below screenshot.

Those fields would not appear to be null from the customer's perspective, since they did provide values for those fields, so why would they still get this error message?  A workaround could be to set and save those fields before transitioning the ticket to the next phase.  The question is why can't the mandatory fields be set at the same time as the manual phase transition?  I tried looking through existing ideas and discussions but didn't see anyone else asking about this.

Parents
  • Verified Answer

    +1  

    In order to transition to the next phase, when clicking on the transition button, the workflow simulator runs to validate the record is ready to be "received" in the new phase, that includes checking all validation rules.

    If the business logic requires your field to be mandatory in the next phase only, add an "if" condition to not check the rule if the phase changes.

    Best regards,

    Brindusa

Reply
  • Verified Answer

    +1  

    In order to transition to the next phase, when clicking on the transition button, the workflow simulator runs to validate the record is ready to be "received" in the new phase, that includes checking all validation rules.

    If the business logic requires your field to be mandatory in the next phase only, add an "if" condition to not check the rule if the phase changes.

    Best regards,

    Brindusa

Children
  • 0 in reply to   

    So the use case is that the fields are mandatory once the ticket reaches a specific phase.  If I use this condition, ${current_update.PhaseId.IsChange != true}, then the moment they try to move the ticket to the next phase, those fields are no longer mandatory.  I want the fields to be mandetory while the ticket is in this phase, but also prevent the ticket from moving to the next phase if those fields are not yet filled out.

    It would also be ideal to have a solution where they could start to move the ticket to the next phase, see the mandetory field requirement, set the fields and save it all at the same time, in a single update.  Currently, with rules that prevent moving to the next phase until these fields are set, it forces the user to set and save those fields before they can start to transition the ticket.