The following methods are made available by the Quik! Forms Engine.
Method | Description |
AddDocToForms | Adds a customer's external document to a list of documents that are to be included in the PDF that is prepared for signature. |
AddFieldToForm | Add a field to the form |
AddFormID | Adds a given form ID to the list of forms that are to be generated (the same form can be added as many times as needed) |
ClearAddedFields | Clears all the fields that were previously added |
Execute | Run the QFE to retrieve Quik! Form Viewer HTML and returns an array of result objects. |
FormIDs | Returns a list of FormIDs to be generated |
LoadXML | Data can be loaded into the QFE as an XML file that conforms to the Quik! Form Viewer format. The basic structure of the QFV XML format is as follows. |
ResetFormIDs | Clears the list of forms that are to be generated |
NEW SetFieldPropertyByFieldName | Set all the fields of a given field name (e.g. "FName") to a property setting (e.g. read only, hidden, required, etc.) |
NEW SetFieldPropertyByRole | Set all the fields of a given role (e.g. "1own") to a property setting (e.g. read only, hidden, required, etc.) |
Upload | Runs the process to upload all the documents added via the AddDocToPDF method into the Quik! file store. |
AddFieldToForm
Adds a field to the form.
Use this method to prefill any visible or hidden fields on the form. It is recommended that you attempt to fill every field for which you have data. That way you can send the same data to all of the forms and not care whether or not the form has the corresponding field. Any extraneous data supplied to the form is ignored.
Hidden field can also be added to forms so that you might pass hidden data (e.g. system data you need submitted back but don't want the user to see). Simply add the field with a unique field name and the value to populate and it will be added to the end of the form. Then, when a user submits the form, the hidden data will be submitted too.
Example:
'Add hidden field
objQFE.AddFieldToForm( _
FieldName:="TransactionID", _
FieldValue:="123456789", _
FieldReadOnly:=QuikFormsEngine.QFD.FieldReadOnly.NoRestrictions, _
FieldVisibility:=QuikFormsEngine.QFD.FieldVisibility.None, _
FieldRequired:=QuikFormsEngine.QFD.FieldRequired.NotRequired, _
FieldFormat:="", _
FieldMaskFlag:=False, _
FieldCalcOverride:=False, _
HiddenField:=True)
Parameters
Parameter | Description |
FieldName | Gets or sets the name of the field |
FieldValue | Gets or sets the value of the field |
FieldReadOnly | Determines if a field is read-only |
FieldVisibility | Determines if field is visible or hidden |
FieldRequired | Determines if field is required |
FieldFormat | Overrides the default field format (if any) for the field. Format is specified as numeric or alphanumeric (# = number, a = alpha, any other character is a literal value (e.g. "(###) ###-####" will create "(310) 555-1222" for the value "3105551222"). |
FieldMaskFlag | If TRUE, field values are displayed masked (e.g. *********) instead of in clear text. |
FieldCalcOverride | Gets or sets whether a field is calculated or not. |
HiddenField | If TRUE, the field should be added to the form as an input field with type = hidden. |
LoadXML
Add multiple fields to the form via an XML file.
Use this method to prefill any visible or hidden fields on the form. It is recommended that you attempt to fill every field for which you have data. That way you can send the same data to all of the forms and not care whether or not the form has the corresponding field. Any extraneous data supplied to the form is ignored.
Hidden field can also be added to forms so that you might pass hidden data (e.g. system data you need submitted back but don't want the user to see). Simply add the field with a unique field name and the value to populate and it will be added to the end of the form. Then, when a user submits the form, the hidden data will be submitted too.
Example:
'Load data via XML
objQFE.LoadXML("C:\Temp\LoadXMLExample.xml")
Structure
Quik! Fields are defined by a "parent" field – the top-most field that indicates the data set type (e.g. client, account, company, representative, etc.) – and a "base" field – the lowest level field that defines the data element (e.g. first name, date of birth, address line 1, etc.).
The field naming convention is as follows: {ROLE NUMBER}{PARENT FIELD NAME}.{BASE FIELD NAME}
- Role Number represents a counter that indicates the instance of the parent name – a counter is not used with certain names.
- "PARENT NAME" – The Parent Name is a top-level field name that describes the entity that the base field applies to (e.g. Owner, Annuitant, Rep, etc).
- "BASE NAME" – The Base Name is the actual field name that describes the purpose of the data that appears on the form.
- "." – A period or "." separates field names in order to distinguish a hierarchy amongst fields (note: Base Names can be formed from multiple fields separated by periods ".").
A field is defined by the parent and its child field(s). For example, the primary account owner's first name is defined as:
- Quik! Field Name ="1own.FName"
- Quik! Field Name = "1ben.H.Addr123"
Parameters
Parameter | Description |
FileName | Sets the name of the XML file to upload |
Attributes
Every field has attributes that controls the field and its value.
Attribute | Data Type | Required | Description |
FieldName | STRING | YES | The name of the field as displayed on the form. |
FieldValue | STRING | NO | The value to populate in the field (set value to "SET_QUIKFIELD_TO_NULL" to clear any existing value in the field) |
FieldReadOnly | BOOLEAN | NO | If TRUE the field is locked and cannot be edited by the user. |
FieldVisibility | INTEGER | NO | Determines if the field appears and prints (1 = Visible - Print, 2 = Visible - No Print, 3 = Hidden - Print, 4 = Hidden - No Print) |
FieldRequired | BOOLEAN | NO | If TRUE the field is required to be filled in and should be highlighted |
FieldFormat | STRING | NO | Overrides the default format (if any) for the field. Format is specified as numeric or alphanumeric (# = number, a = alpha, any other character is a literal value (e.g. "(###) ###-####" will create "(310) 555-1222" for the value "3105551222"). |
FieldMaskFlag | BOOLEAN | NO | If TRUE the field will appear masked (e.g. "************") and not in clear-text. |
FieldCalcOverride | BOOLEAN | NO | If TRUE the field will not be calculated if a default calculation is used (e.g. FullName is calculated from name parts) |
HiddenField | BOOLEAN | NO | If TRUE the field will be added to the form as a hidden input field that is not shown to the user. |
Schema
<?xml version="1.0" encoding="utf-8"?>
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="ParentField">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" name="Field">
<xs:complexType>
<xs:sequence>
<xs:element name="FieldName" type="xs:string" />
<xs:element name="FieldValue" type="xs:string" />
<xs:element name="FieldReadOnly" type="xs:boolean" />
<xs:element name="FieldVisibility" type="xs:unsignedByte" />
<xs:element name="FieldRequired" type="xs:boolean" />
<xs:element name="FieldFormat" />
<xs:element name="FieldMask" type="xs:boolean" />
<xs:element name="FieldCalcOverride" type="xs:boolean" />
<xs:element name="HiddenField" type="xs:boolean" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
Sample XML
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ParentField>
<Field>
<FieldName>1own.FName</FieldName>
<FieldValue>Thomas</FieldValue>
<FieldReadOnly>false</FieldReadOnly>
<FieldVisibility>1</FieldVisibility>
<FieldRequired>false</FieldRequired>
<FieldFormat></FieldFormat>
<FieldMask>false</FieldMask>
<FieldCalcOverride>false</FieldCalcOverride>
<HiddenField>false</HiddenField>
</Field>
<Field>
<FieldName>1own.LName</FieldName>
<FieldValue>Williams</FieldValue>
<FieldReadOnly>true</FieldReadOnly>
<FieldVisibility>1</FieldVisibility>
<FieldRequired>true</FieldRequired>
<FieldFormat></FieldFormat>
<FieldMask>false</FieldMask>
<FieldCalcOverride>false</FieldCalcOverride>
<HiddenField>false</HiddenField>
</Field>
</ParentField>
AddDocToForms
Add an external document to the form package when e-signing.
When a customer prints or signs a document, they may want to include external PDF documents (attachments) to the forms (e.g. drivers license photocopy, scanned documents, etc.). To perform this function, the customer will call the AddDocToForms method that creates a list of documents to include and then the Upload method to add the documents to the Quik! servers for inclusion. Each time this method is called another document is added to the list of documents to include in the final package.
This method operates independently of all the other features within the Quik! Forms Engine, meaning that when the Execute command is run, the data loaded via this method is ignored. It's only when the Upload method is run that the data for each file is actually uploaded to Quik!. This enables the software to be run separately for uploading documents vs. generating forms.
Example:
'Add hidden field
objQFE.AddFieldToForm( _
FieldName:="TransactionID", _
FieldValue:="123456789", _
FieldReadOnly:=QuikFormsEngine.QFD.FieldReadOnly.NoRestrictions, _
FieldVisibility:=QuikFormsEngine.QFD.FieldVisibility.None, _
FieldRequired:=QuikFormsEngine.QFD.FieldRequired.NotRequired, _
FieldFormat:="", _
FieldMaskFlag:=False, _
FieldCalcOverride:=False, _
HiddenField:=True)
Parameters
Parameter | Description |
FormViewRequestUNID | The FormViewRequestUNID representing the form bundle that the document is to be attached to when signing. |
DocFileName | The file name of the document (e.g. "DriversLicense.pdf") |
DocPath |
|
SortOrder |
|
BeforeForm |
|