Methods

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.

 

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

 

 

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.0encoding="utf-8"?>
<xs:schema attributeFormDefault="unqualifiedelementFormDefault="qualifiedxmlns:xs="http://www.w3.org/2001/XMLSchema">

<xs:element name="ParentField">

<xs:complexType>

<xs:sequence>

<xs:element maxOccurs="unboundedname="Field">

 <xs:complexType>

 <xs:sequence>

<xs:element name="FieldNametype="xs:string/>
<xs:element name="FieldValuetype="xs:string/>
<xs:element name="FieldReadOnlytype="xs:boolean/>
<xs:element name="FieldVisibilitytype="xs:unsignedByte/>
<xs:element name="FieldRequiredtype="xs:boolean/>
<xs:element name="FieldFormat/>
<xs:element name="FieldMasktype="xs:boolean/>
<xs:element name="FieldCalcOverridetype="xs:boolean/>
<xs:element name="HiddenFieldtype="xs:boolean/>

</xs:sequence>

</xs:complexType>

 </xs:element>

</xs:sequence>

 </xs:complexType>

 </xs:element>

</xs:schema>

 

 Sample XML

 <?xml version="1.0encoding="UTF-8standalone="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>

 

For help regarding Quik! Forms and the Quik! API
Email: support@quikforms.com | Phone: (877) 456-QUIK