Skip to main content

Create a Form

Goal​

Create a form that lays out an entity's fields into tabs and sections, used to view and edit a single record.

Prerequisites​

Steps​

  1. Open the entity in Tables and go to the Forms tab. The tab is a list of the entity's existing forms.
  2. Select New to open the Form Designer.
  3. Enter a display name (for example, Main) and a logical name. The prefix of the publisher owning the solution you are working in is shown as a fixed label on the logical name box — type only the part after it (for example, invoice_main). This happens on standard tables too: a form you add to Account carries your prefix, because unprefixed names belong to Parsware.
  4. Build the layout on the canvas. A form is made of tabs; each tab holds full-width rows; each row holds one to four sections; each section holds fields. Add tabs, rows, and sections with the + controls on the canvas.
  5. Drag a field from the field palette on the left onto a section. Drag a placed field to move it between sections or reorder it.
  6. Select any tab, row, section, or field to edit its properties in the Properties panel — a tab's title and icon, a row's column count, a section's title, icon and width, or a field's label and input control (see Choose a Field's Control). A field's placement can also be marked Required or Read-only here (see Make a Field Required or Read-only on a Form).
  7. Drag up to four fields into the Header strip above the tabs — Owner, Status, a total. See The header strip below.
  8. Optionally mark the form as the entity's default form.
  9. Select Save.
  10. The form appears in the entity's form list. Select the form's row (or select it and choose Edit) to reopen it in the designer.

The two form types​

Beside the name is a Form type. It says what the form is for, and it changes where the form can be shown:

TypeWhat it isWhere it is used
MainThe full record page — title bar, command bar, tabs, header strip.Opening a record from a list, a related tab, or a link. Every form authored before form types existed is one of these.
Quick createThe fields, and Save/Close. Nothing else.A dashboard's quick create widget, and anywhere else the surrounding surface already has a frame — a dialog, a drawer panel.

A table can have a default of each. Marking a Quick create form as the default does not un-default your Main form: they are opened by different surfaces, and clearing across types would silently change the record page when you added a tile.

Keep a Quick create form short. It is for "add one of these without leaving what I am doing", so put only the fields that are genuinely required on it — the record can be opened properly afterwards for the rest.

Making one section wider than the others​

A row lays its sections out in equal columns — but a section can take more than one of them. Select the section and set its Width: the number of the row's columns it occupies.

That is what lets a row be uneven. A four-column row whose second section is set to a width of three gives you one narrow section beside one wide one — a shape you could not get before, because the only way to give a section more room was to change the row's column count, which moved every other section in it.

The dropdown offers only up to the row's own column count, since anything wider is not a choice. And a one-column row does not offer it at all: spanning one column of one is what a section already does.

Narrowing a row later is safe. A section set to a width of three in a four-column row becomes full-width if you change that row to two columns — it reflows rather than overflowing or refusing to open. The width you set is kept, not overwritten: widen the row back to four and the section is three columns again. What you see while the row is narrow is the clamped value, so changing the dropdown then does replace it.

The header strip​

Above the tabs on the canvas is a Header strip. Fields dropped there render beside the record's name and stay put whichever tab is open — so they are for the handful of facts somebody needs before deciding where to go: who owns it, what state it is in, what it comes to.

  • Drag a field in from the palette, or from a section, the same way as anywhere else. Drag one out to remove it.
  • It holds four fields. A header is a strip beside a title; a fifth turns it into a section that happens to be at the top, and the form already has those.
  • Header fields are read-only by default. That is what a header is for — and the same field is usually on a tab as well, where it can be edited. Select the chip and untick Read-only in the Properties panel if you want it editable in place.
  • Everything else about a placement works there too: a label override, a control, helper text.

What happens behind the scenes​

The form's layout is saved as a canonical definition and checked against the form schema. Every field placed on the form must be a real field on the entity; a form that references a field that does not exist is rejected. Marking a form as the default clears the previous default for that entity.

The saved definition is the form — the designer is one way to edit it, not the only one. A form written by hand or generated by a tool is checked the same way, and opening it in the designer shows exactly what it describes.

Troubleshooting​

  • "… is not defined on this entity." — a placed field does not exist; add the field to the entity first, or remove it from the form.
  • "… must be lower snake-case and start with the publisher prefix." — correct the form's logical name.
  • "The definition is not valid: …" — the layout failed schema validation (for example, a section with no fields); add at least one field per section.
  • "A form or view named … already exists on this entity." — choose a different logical name.