The ASK instruction does exactly what it appears it will do – forces HotDocs to ASK (present to user) a specific variable or dialog. ASK is quite often under utilized, as many developers permit HotDocs to generate a template interview. For those developers in the know, there is a lot more functionality, flexibility and control possible when you write your own interview. For those developers who design their own interviews, use of the ASK statement is absolutely critical.
In its simplest form, you simply ASK a variable or dialog. Lets say we are designing a conveyancing/real estate master interview. We have borrowers, lenders, their counsel and perhaps a guarantor or two. The borrowers may not necessarily always have representation, nor will the borrowers always have a guarantor. So here’s how our interview might look:
In its simplest form, you simply ASK a variable or dialog. Lets say we are designing a conveyancing/real estate master interview. We have borrowers, lenders, their counsel and perhaps a guarantor or two. The borrowers may not necessarily always have representation, nor will the borrowers always have a guarantor. So here’s how our interview might look:
ASK INTRO DLG //ask whatever intro/matter information we need
ASK PROPERTY DLG //get property information
ASK LOAN DLG //get loan related information
ASK BORROWER DLG //basic information - how many borrowers, any shared address for service - details common to all borrowers
IF ANSWERED ( BORR Num LMT ) //force user to specify how many borrowers there are going to be
ASK BORROWERS RPT //info for each borrower
END IF
IF BORR Counsel TF //did the user specify that the borrowers had counsel?
ASK BORROWER COUNSEL DLG
END IF
IF LOAN Guaranteed TF //did the user specify that the loan was guaranteed?
ASK GUARANTOR DLG //if so, grab guarantor details as well
END IF
With developer designed interviews and the ASK instruction used in conjunction with IF statements, we can minutely control the interview and user experience. ONLY those dialogs necessary are presented to the user, which reduces the chance of erroneous data entry, while forcing the user to be presented with the dialogs and questions that are necessary to complete the specifics of each transaction. Dynamically. Efficiently. Correctly.