HEAT Classic: can a field be conditionally closed required for close based on another fields value?

Version 3

    Details

     

    We have  FilerRole field that is used for reporting on certain types of calls, but has nothing to do with other types.

    How can I require FilerRole <> '' when BudgetArea in ('Efiling', 'Erecording') but allow it to be empty when the Budget Area is anything else?

     


    Resolution

    Field level security is not part of the code base for HEAT Classic.   So in order to require a value to be entered for FieldA before close and  based on what the value is for FieldB, you have to get creative.


    Right  off the bat, the only way to enforce this would be to (a.) remove the  role's right to "Close Call Record" and remove the drop down for the Status field and then (b.) use an AutoTask process in  order to Close the Call Ticket and set it as a button.


    These are the tasks you would need to create:

    1.  Create a Close Record AutoTask to link to button with an IF statement that looks at the value for the BudgetArea == Efiling

         True Result:  Run IF Empty AutoTask on FilerRole

         False Result:  Run If statement AutoTask to see if value == Erecording


    2.  If statement looking for BudgetArea == Erecording

         True Result:  Run IF Empty AutoTask on FilerRole

         False Result:  Run auto AutoTask to close the call ticket.


    3.  IF FilerRole is Empty AutoTask .

         True Result:  Pop Message box stating that the field requires a value, supply value and re-run close ticket button.

         False Result:  Run close call ticket AutoTask.


    Attached  is a quick very basic example of how to accomplish this in the Demo  DB.  Pr-requisite to these working is adding the FilerRole and  BudgetArea fields to the CallLog table and form.  If you have access to a Demo  DB, create those two fields, add them to the form, import the attached  and test.


    This is very basic and obviously could be expanded out in a host of different ways, like prompting for the  FilerRole if it was indeed empty, or even prompting for the BudgetArea,  then evaluate if FilerRole needs a value.