Bespoke Fields & Screen Aliases: Overview
Custom field configuration and screen customization
Overview
Bespoke tabs and fields can be configured for you to store information that is particular to your business.
Bespoke fields can be added and edited in the patchQuote API.
Tabs
Three bespoke tabs are available:
Clients / Other
Quotes / Other
Contracts / Other
Each tab is named 'Other' by default and can be renamed to suit your needs.
Each tab can be enabled separately, so you can enable only the ones you want.
Each tab can be further configured by role to be hidden or display-only.
Fields
Within each tab, fields can be organised using headings in your desired sort order and can be presented with different characteristics: Text, Text Area, Numeric, Date, Checkbox, Label and Blank.
Each field can also be configured as hidden or display-only by role using role restriction settings.
Users can enter data as required in the bespoke fields. Like standard system fields, data entered or edited here are recorded using our standard Field Auditing feature.
There are some differences from the standard in how these records are managed and displayed in the Edit History screen.
The recorded data can be used in queries and scheduled jobs. By default, bespoke fields are not used in system calculations or any other system logic.
Set-up
Contact your Account Manager if you want to set-up bespoke tabs and fields. They will work with you to set-up the screens and fields you want.
Read through the following set-up details to understand how these screens and fields are set-up.
The original specification for this feature can be opened or downloaded here.
Tabs
Each tab is named 'Other' by default, but they can be renamed.
Clients / Other
The Clients / Other tab is hidden by default.
Internal roles can be given access by updating their Role Restriction bit-array entries.
No external roles are given access to this tab.
Quotes / Other
Set [gb_controls]quotes_bespoke_fields_screen_flag to 'yes' to give all internal roles access to Quotes / Other.
No external roles are given access to this tab.
Contracts / Other
Set [gb_controls]contracts_bespoke_fields_screen_flag to 'yes' to give all internal roles access to Contracts / Other. No external roles are given access to this tab.
Access to Bespoke Fields
Bespoke fields you have set-up are available to internal users by default. Visit Bespoke Role Restrictions for full details on how access to fields can be restricted.
Data Tables
[gb_bespoke_fields] - stores each bespoke field. The unique id is bespoke_field_id.
[gb_bespoke_listboxes] - if a [gb_bespoke_fields]input_type is 'listbox', this table stores each available option in the list.
[gb_bespoke_listboxes]bespoke_field_id joins each record to a [gb_bespoke_fields] record.
Visit Bespoke Listboxes to see sample data.
[gb_bespoke_field_values] stores the recorded value of each bespoke field for each client, quote or contract.
[gb_bespoke_field_values]bespoke_field_id joins this record to a [gb_bespoke_fields] record.
[gb_bespoke_field_values]record_id joins this record to an [fm_clients], [qt_quotes] or [fm_contracts] record.
If [gb_bespoke_fields]input_type is not 'listbox' then [gb_bespoke_field_values]value' is the recorded value for the field
If [gb_bespoke_fields]input_type is 'listbox' then [gb_bespoke_field_values]value' stores the selected [gb_bespoke_listboxes]bespoke_listbox_id of the chosen item in the list.
Data Review and Updates
Use Export Table Data to download and review the current bespoke field tables and records.
Use Import Table Data to upload any additions or revisions you want to make to the bespoke fields.
If you want to create and import a bulk update for client, quote or contract records where the field is a listbox
you will have to identify the required
and import this into the ' field of the records you are updating.
Field Names
The [gb_bespoke_fields]field_name field holds the field label as it will appear on screen unless it is further relabelled using Screen Aliases.
The preferred entry is in lower case with each word separated by an underscore.
Although other ways of entry will work, they can be difficult to work with in queries and scheduled reports and are not recommended and will not be able to be displayed on screen.
For a field_name to appear on screen it must meet these conditions:
All lowercase words
Words separated with an underscore
Numbers are acceptable
Below are examples of what will and won't work.
You may wish to hide certain fields from view on these screens. There are 2 ways of achieving this:
Use a non-compliant field_name
Use role restrictions. For assistance with this functionality contact your Catch-e Account Manager
Columns and Sort Order
Fields can be sorted in any order on the screens across 2 columns.
This is managed by entering the sort order required in the and fields.
The sort order of the screens is firstly by [gb_bespoke_fields]column_number, field_order, then bespoke_field_id.
Label Position
This determines the position of the label in context to the field itself. The label can be either to the 'left' of the field or 'above' it.
Default Values
A default value may be set using this field.
Data Entry Validation
A validation rule can be set for each bespoke field as required.
Enter the rule in , or leave blank if no validation is required.
Then enter a useful validation message for the field in [gb_bespoke_fields]validation_error_message. This will display in an alert box if the validation fails.
Note: Data validation will only occur when both ‘validation_regular_expression‘ and ‘validation_error_message‘ fields populated.
Warning: We suggest that your error message contains the Tab name and field name (as displayed on screen) in your error message. If you are editing another tab and the validation fails this will assist your users to identify which field requires attention. If you are editing fields on the 'Other' tab the cursor will be placed in the first field that needs attention.
Data validation rules are constructed using the Regular Expression data technique. Regular Expression can be described as a sequence of characters that form a search pattern.
The following table includes some of the most common regular expression patterns you are likely to use.
Input Type
Nominate the required for each field. There are 8 options for input_type as described below.
Input Size
Determines the width of the text box in edit mode. Can be used only where Input Type = 'text'
Input Length
Determines the maximum number of characters of a text or number field in edit mode. This field is mandatory where Input Type = 'text' or 'number'.
Note: All bespoke fields are limited to a maximum size of 64kb
Input Rows
Determines the number of rows of the textarea box in display and edit mode. This is only used where Input Type = 'textarea'
Location
If a field_name is formatted correctly as outlined above it will be displayed on the 'Other' tab on either the Clients, Quotes or Contracts area depending on the data value of 'table_name' field.
Use in Quote Placeholders
Bespoke fields for Quotes and Clients are automatically created as quote placeholders if particular settings are in place.
Screen Aliases
Create a Screen Aliases record to rename a bespoke tab or field.
Add an entry into the table for your preferred field name.
The sample data below shows the three bespoke tabs and one field being renamed.
Sample Data
The alias field will allow up to 40 characters, but only a maximum of 14 characters will display. Longer names would disrupt screens at smaller resolutions.
A fieldname formatted correctly to allow it to appear on screen can be renamed using this table to appear on screen with an alternative label.E.g., The bespoke fieldname ‘mladate04_2012’ will appear on screen as ‘M L A Date 04 2012’ but could be renamed using as ‘m.l.a. date 04-2012’ as shown above.
Note: The Edit History screen displays as "Field".
We recommend that you use aliases for field names only when necessary and keep them similar to the field name so users can understand the Edit History better.
Edit History
When any fields in the bespoke tabs are edited an audit history record is written to the table.
stores the bespokefieldid rather than the actual character driven field name.
This accommodates future changes to the data. These changes would break in the link to fields.
The View Edit History screen will display the and and the respective field's Before and After values.
Encrypted Fields
Encrypted fields can be accessed using special syntax.
Example
To decrypt and report on the field you can use this:
SELECT AES_DECRYPT(income_gross, 'AES_CRYPT_CIPHER_KEY') AS income_grossFROM fm_driversWHERE driver_id = '100000';This will only work when the query is run by the Scheduler or via a Web Service call. If you try and run this in Query Browser / Workbench it will return a 'null' value.
Field Auditing
Main Page → Good to know → View Edit History
Main Page → Good to know → View Edit History
Main Page → Good to know → View Edit History
Main Page → Good to know → View Edit History
Main Page → Good to know → View Edit History
Main Page → Good to know → View Edit History
Visit Field Auditing for a full description of this feature.
[View History]
View Edit History popup screen
Visit Field Auditing for a full description of this feature.
[View History]
View Edit History popup screen
Visit Field Auditing for a full description of this feature.
[View History]
View Edit History popup screen
Visit Field Auditing for a full description of this feature.
[View History]
View Edit History popup screen
Visit Field Auditing for a full description of this feature.
[View History]
View Edit History popup screen
Visit Field Auditing for a full description of this feature.
[View History]
View Edit History popup screen
Filters
User Name (Drop List) — Choose a user to review only their entries.
Table (Drop List) — Choose a specific table from the selection to review only entries for that table.
Reference (Drop List) — Choose a specific reference from the selection to review only entries for that reference. If there are no references used, this will display as '--All--'
Field (Drop List) — Choose a specific field from the selection to review only entries for that field.
Field Descriptions
User Name (Text) — Name of the user who made the change
Date (Timestamp) — Date and Time of the change
Table (Text) — The table that contains the field
Reference (Text) — Used if sub-data needs to be displayed. E.g. Budget classes
Field (Text) — The field name that was changed
Before (Any) — The value of the field before it was changed
After (Any) — The value of the field after it was changed
S (Text) — If this field is blank, the update was done by a user from within the Catch-e System. If the field displays an 'x', the record was updated from a bulk upload or an external source. I.e. : Setup / Import Table Data : executeImportTableData : Insert or update a record with auditing
Multiple records
When a screen displays multiple records, audit records are separated and can be shown for the records separately.
In this case, the record itself is selected, then the audit record can be viewed.
This is the case on the following screens:
Contracts / Events
Users / Logins
Lookup Key Data for an ID
Audit fields can be configured to display a linked description rather than the stored value if it is an id that refers to another table.
E.g. Contracts / Order contains an "Order Status" field that displays a description on screen, but the value returned in the Audit History is the orderstatusid.
If the lookup value is configured, is displayed instead of .
The user sees a screen value, rather than a database number.
When a lookup is in use, the Audit History tooltip displays the lookup table, field and value that has been used to link the lookup value.
E.g. 'fmorderstatuses: orderstatusid: 100006'
Note: This does not apply to bespoke records which use a different technique for display.