Every task can have any count of forms. Form is set of data fields, what can be simple text boxes, dropdowns or even complex objects, like tables.
You can configure forms from settings - forms. This dialog contains two columns: left one contains list of forms, and right one details for currently selected form.
Forms have following properties:
- Form name - is used everywhere in user interface, tab titles and lists
- External ID - used for API calls, if you plan to add tasks via API later, and for document editor data structure. Read, how to make forms linkable.
- default - if enabled, it gets added to new tasks automatically. There is no difference, if you use tasks with types or not, but if you use types, list of available forms is defined in task type specification.
- show inline - if enabled, form data is integrated to first page of task, not shown in separate tabs. Normally, every form is shown as separate tabs.
- signable - after filling form, you have to fill signature, otherwise you cannot complete task. Once form is signed, it turns into read-only and you cannot do any further changes there.
After setting up form name, you can add form fields.
Every form field has following attributes:
- field name - this is shown in task as description of that field
- external ID - it's necessary for API calls, and document editor, also link to table form. External ID may be any text, but for some services it's recommended to use standard Latin alphabet, letters a-z or A-Z, and numbers 0-9. Here's guide, how to make tables linkable.
type - shows, what kind of data this field can contain.
- text field - simple text field on one row
- number field - just numbers 0-9
- text area - text field on multiple rows
- drop-down menu - with multiple choices. You have to use values field, what specifies possible values for that type.
- checkbox - for 0/1 values
- drop-down with value -
- web link - like text, but content of this is considered as web link. Usually it's readonly in one of two possible views
- date selector - allows to pick date
- time selector - allows to pick time
- date and time selector - allows to pick date and time
- hidden - you cannot see that field, but it will be kept together with task. Usually it's for API purposes, or if you want to hide old form field without losing already collected history, or deleting that form field is impossible, because of it is used in hundreds of old tasks.
- barcode - contains bar code
- table - together with external ID links to another form, what rows are considered as table rows. See subtopic below.
- values - lists possible values for that field, if you're using dropdown type. Separate different values with semicolons, like value1;value2;value3.
- width - limits field width to this value
desktop - sets, what permissions are available for that field, when you login to desktop web app
- editable - you can change its content in desktop app
- read only - you can only read its content in desktop app
- required - you cannot leave this field empty to complete task
- hidden - you cannot see this field in desktop
mobile - sets, what permissions apply for that field in mobile app, or mobile browser
- editable - you can change its content in mobile app
- read only - you can just see its content in mobile app
- required - you must fill this field to complete task in mobile app
- hidden - you cannot see this field in mobile app
You can create tables in tasks, and tables inside tables, if you really wish. This is done with another form, what represents columns of table.
1. Defining table form
- create new form, what represents future table rows
- set external ID for that table form
- create whatever table rows you need
Following example defines subform "SuppliesTable", what defines three columns: article code, article name, and price. as External ID, we write same text
SuppliesTable, although it may differ from form name.
2. Linking table form to table field
- open main form
- create new row with type "table" and write to Values field same text you wrote to ExternalId field on table form.
This picture shows, how linking works:
This is how such table looks like in user interface: you can create as many rows you want with "add new", double-click on row to edit it and delete unnecessary rows.
If you set form inline, it's shown in front page of task instead of moving it into separate tab. This is what happens when adding form into inline (compare with previous picture):
Here's example, what new task look like, if you have not set "default" flag. If we remove "default" flag from Maintenance form, new task does not include it and you have to add it manually from button "add new form" (compare with figure 3 to see difference).
Note that this task offers form "SuppliesTable". We can avoid to show it, if we use typed tasks instead, and set there forms, what are available for this task.
If form is sign-able, after completing form in mobile app, confirmation pops up, asking signature from customer, what is like drawing with finger or stylus on touch screen. After that, contents of that task comes read-only.
If you change contents of that form later, signature disappears, and getting it confirmed again requires new signature.
Read also: how to make tables linkable.