The buttons that run Exact Forms Plus are formula fields. The formula builds a URL, and the parameters in that URL tell Exact Forms Plus which template to use, which records to read, what to create, and where to save it. This page lists every parameter.
The setup wizard writes this formula for you. Open the button field's properties to see it, and edit it there to change how the button works.
How the formula is built
Buttons created by the setup wizard put all parameters inside Base64Encode(), passed as a single request parameter. For example, the Generate EFP Document button looks like this:
var Text url = "https://<your Exact Forms Plus address>/doc_merge_ua.aspx?"
& "request="
& Base64Encode("clientid=Q1234"
& "&appid=" & AppID()
&"&tpdbid=" & [_DBID_DOCUMENT_TEMPLATES]
&"&tpid=1"
& "&msid=" & [Record ID#]
&"&msdb=" & Dbid()
&"&faid=51"
& "&efpdte=52"
& "&docfmt=pdf"
& "&fn=EFP Document"
& "&stream=y"
);
"<a class='Vibrant Blue OpenAsPopup POSTTempToken' data-height=900 data-width=900 data-refresh=true data-tempTokenDBID='" & Dbid() & "' href=\"" & $url & "\">Generate EFP Document</a>"Keep the start of the URL from the button the wizard created. It points to the Exact Forms Plus server for your account.
Use
doc_merge_ua.aspxto open the document in the browser. Usedoc_merge.aspxfor the progress bar. See How users create documents.The
POSTTempTokenclass anddata-tempTokenDBIDsend a Quickbase temporary token with the request. Keep them. If your account requires temp tokens, Exact Forms Plus checks that the token is valid for the record it's processing.
Parameter names aren't case-sensitive. Field parameters take a field ID (a number), except where the table says otherwise.
Required parameters
Parameter | What it does | Example |
|---|---|---|
| Your Quickbase Extensions client ID. It starts with Q. The wizard fills it in. |
|
| The app the button runs in. Exact Forms Plus checks that this app is authorized for your account. |
|
| The Document Templates table. Use the table alias instead of the table ID. |
|
| Record ID# of the template record to use. Must be a number. |
|
| The table that holds the records to process (the master table). |
|
| Record ID# of the record to process. To process many records, use |
|
Output file
Parameter | What it does | Example |
|---|---|---|
|
|
|
| File name, without the extension. Exact Forms Plus removes characters that aren't allowed in file names and adds To build the name from fields on each record, put field IDs between two tildes, separated by periods. After a colon, add the separator to put between the values (default |
|
|
|
|
| What happens after the document is created, with
The document opens only when one document is created, or when a merged document is created. |
|
| Field IDs to read from the master table, separated by periods. Every field the template uses must be listed. Leave it out to use the clist on the template record, which is recommended. |
|
| Extra master table field IDs whose values you want to use inside an embedded report, for example |
|
Update the record
These parameters save the document to the record and change other fields after the document is created. The user token saved for your account must be allowed to edit the fields. When you save to a repository table (repository=y), the master record isn't updated, so these parameters are ignored.
Parameter | What it does | Example |
|---|---|---|
| File attachment field to save the document in. The wizard creates EFP Document for this. Leave it blank to not save the document to the record. |
|
| Date/time field to set to the time the document was created. The wizard creates EFP Date for this. |
|
| Numeric field to set to the document's file size, in bytes. |
|
| Copy values between fields on the record: |
|
| Set a user, email, or text field to the person who selected the button: |
|
| Fields to clear after the document is created, separated by periods. |
|
| A Quickbase API_EditRecord call, Base64 encoded, that runs before the document is created, for example to stamp a field the template prints. It runs only when the button sends a temp token, and uses that token, so you don't need an app token in the call. | See the example after this table. |
To use preqbaction, add it inside the button formula's Base64Encode(), with the API call wrapped in its own Base64Encode(). This Generate EFP Document button sets field 121 to the current time and field 122 to the user's name before the document is created:
var Text url = "https://<your Exact Forms Plus address>/doc_merge_ua.aspx?"
& "request="
& Base64Encode("clientid=Q1234"
& "&appid=" & AppID()
&"&tpdbid=" & [_DBID_DOCUMENT_TEMPLATES]
&"&tpid=1"
& "&msid=" & [Record ID#]
&"&msdb=" & Dbid()
&"&faid=51"
& "&efpdte=52"
& "&docfmt=pdf"
& "&fn=EFP Document"
& "&stream=y"
& "&preqbaction=" & Base64Encode(
URLRoot() &"db/" & Dbid() & "?act=API_EditRecord"
& "&rid=" & URLEncode([Record ID#])
&"&_fid_121=" & ToText(Now())
&"&_fid_122=Updated by: " & UserToName(User())
)
);
"<a class='Vibrant Blue OpenAsPopup POSTTempToken' data-height=900 data-width=900 data-refresh=true data-tempTokenDBID='" & Dbid() & "' href=\"" & $url & "\">Generate EFP Document</a>"Keep the
POSTTempTokenclass anddata-tempTokenDBID. Without the temp token, the call isn't run.Build the call with
URLRoot()so it points to your own Quickbase realm. A call to any other address is rejected.If the call fails, no document is created, and the error page shows the Quickbase error message.
Protection, watermark, and PDF options
Parameter | What it does | Example |
|---|---|---|
| Password. For a PDF, it's needed to open the file. For a Word document, it's needed to edit it. The document opens read-only without it. |
|
| PDF owner password. Blocks printing, editing, and copying. It doesn't require a password to open the file. Use |
|
| Watermark on Word and PDF documents: |
|
|
|
|
|
|
|
|
|
|
| PDFs to put before the generated PDF. PDF output only. Separate files with periods. Each file can be:
The files are added in the order you list them. For a file in Amazon S3:
Your account sets the maximum number of files. See Add and merge PDF files. |
|
| Same as |
|
Many records
Use msqry or msqid instead of msid to create one document for each record the query returns. Each document is saved to its own record. The default limit is 50 documents per run. If the query returns more, only documents up to the limit are created, and only the Generate EFP Document (PB) (progress bar) button says the limit was reached. For larger runs, use the Exact Forms Plus Batch Processor.
Parameter | What it does | Example |
|---|---|---|
| A Quickbase query on the master table, in the same format as the |
|
| The ID of a saved report on the master table. Exact Forms Plus processes the report's records. Don't use it for a single record. Use |
|
| Sort by these field IDs, separated by periods. |
|
| Query options, separated by periods: |
|
Merged document
To combine the documents from a run into one file, pass mrgdbid and mrgrid. The merged file is a PDF when docfmt=pdf, and a Word document otherwise.
Parameter | What it does | Example |
|---|---|---|
| Table of the record that gets the merged file. |
|
| Record ID# of that record. |
|
| File attachment field on that record for the merged file. |
|
| Merged file name. Exact Forms Plus adds |
|
| Date/time field on that record to set when the merged file is created. |
|
| Numeric field on that record for the merged file's size, in bytes. |
|
| More PDFs to add to the end of a merged PDF. PDF only. Plain field IDs refer to the record that gets the merged file. |
|
| Field on that record for the merged file's Amazon S3 key, when the merged file is saved to S3. |
|
| S3 key for the merged file, without the extension. Default: |
|
Repository table
Save the document on a record in another table, usually a documents table related to the master table, instead of on the master record.
Parameter | What it does | Example |
|---|---|---|
|
|
|
| The repository table. Use the table alias. |
|
| The repository table's reference field to the master table, for example Related Purchase Order. |
|
| Value to put in |
|
| File attachment field in the repository table for the document. |
|
|
|
|
| With |
|
| With |
|
| Copy master record values to the repository record: |
|
| Set a user, email, or text field on the repository record to the person who selected the button: |
|
To also save to cloud storage, add the parameters below. The key fields (keyfid, dropboxkeyfid, egnytekeyfid) then refer to fields on the repository table.
Cloud storage
Your account must be set up for the service first. The setup wizard adds these parameters and a View File link when you choose a cloud storage type.
For amazons3, dropbox, and egnyte: y saves each document, and the merged file if there is one; d saves only the individual documents; m saves only the merged file.
Parameter | What it does | Example |
|---|---|---|
| Save to Amazon S3: |
|
| Field that gets the file's S3 key. The wizard creates S3 Key for this. |
|
| S3 key for the file, without the extension. You can build it from fields as in |
|
| Use this bucket instead of the one saved for your account. |
|
|
|
|
| Save to Dropbox: |
|
| Use this Dropbox folder instead of the one saved for your account. |
|
| Field that gets the file name in Dropbox. The wizard creates Dropbox Key for this. |
|
| Save to Egnyte: |
|
| Use this Egnyte folder instead of the one saved for your account. |
|
| Field that gets the Egnyte file ID. The wizard creates Egnyte File ID for this. |
|
Other parameters
Parameter | What it does | Example |
|---|---|---|
|
|
|
|
Works only with |
|
|
|
|
| Not needed. Exact Forms Plus uses the user token saved for your account. The wizard leaves it blank. |
|
Batch Processor parameters
The Batch Processing Arguments field that the wizard creates uses the same parameters, separated by spaces instead of &, plus these. The wizard fills them in.
Parameter | What it does |
|---|---|
| Identify the request and your batch configuration. Exact Forms Plus checks the request against the batch configuration saved for your app, so if you change the arguments, the batch configuration must match. |
| One-record runs: field on the record that gets the error message if the run fails, and the completion time otherwise. The wizard uses EFP Batch Trigger - Msg Field. |
| Bulk runs: the Batch Processing Errors table, and its error message, related record, related record value, and arguments fields. |
If a value can contain spaces, put it in double quotes, or the batch run fails. For a field value: & " fn=\"" & [Field Name] & "\"". For fixed text: & " fn=\"Purchase Order\"".
For setup, see Exact Forms Plus Batch Processor overview.