{"revision":"c10276e953456835cdbb1f3a60d58ae1980be353","document":{"id":38140,"path":"platform-administration/advanced-form-administration.md","title":"Advanced form configuration","bundle":null,"doc_type":null,"release":"australia","body":"\n# Advanced form configuration\n\nAdministrators can configure advanced form features, such as form focus, form splits, and derived fields.\n\n-   [Allow insert options on task records](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/platform-administration/advanced-form-administration.md) to let users insert a new task record, such as an incident or change request, from the task record they are currently viewing.\n-   [Turn off focusing on the first writable field of a form](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/platform-administration/advanced-form-administration.md) if you want to prevent the cursor from hopping to the first writable field on a form.\n-   [Deactivate form submission with the Enter key](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/platform-administration/advanced-form-administration.md) if you want users to be able to press the Enter key for reasons other than submitting the form.\n-   [Enable multiple form splits](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/platform-administration/advanced-form-administration.md), which organizes the fields into multiple columns, if you want to design forms with more than the default two column layout.\n-   [Define required fields](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/platform-administration/advanced-form-administration.md) to prevent users from removing them when they configure the form.\n\n## Allow insert options on task records\n\nThe **Insert** and **Insert and Stay** options are disabled by default for task records such as incidents and change requests. You can set a system property to show these options for task records.\n\n### Before you begin\n\nRole required: admin\n\n### Procedure\n\n1.  Navigate to **All** &gt; **System Properties** &gt; **UI Properties**.\n\n2.  Locate the property **Allow the use of the \"Insert\" and \"Insert and Stay\" options on task derived tables** \\(**glide.ui.task.insert**\\).\n\n3.  Select the check box to enable or clear the check box to disable \\(default\\) the options for tasks.\n\n4.  Click **Save**.\n\n\n## Turn off focusing on the first writable field of a form\n\nSwitch the focus on a form to the first element on the page instead of the first writable field to make the form more accessible to users who use screen readers.\n\n### Before you begin\n\nRole required: admin\n\n### About this task\n\nBy default, forms set focus on the first writable field on the form. With first-field focus turned off, the form focuses on the first element on the page instead. Focusing on the first element, instead of the first writable element, helps orient users who use screen readers so they can find all the elements on a form.\n\n### Procedure\n\n1.  Navigate to **All** &gt; **System Properties** &gt; **UI Properties**.\n\n2.  Set the property **glide.ui.focus\\_first\\_element** to **false**.\n\n\n## Hide the template bar for a table\n\nAdministrators can hide the template bar for a table by creating a system property.\n\n### Before you begin\n\nRole required: admin\n\n### About this task\n\nCreating a table-specific property and setting it to false prevents users from displaying the template bar on a record for the specified table.\n\n### Procedure\n\n1.  Navigate to `sys_properties.list`.\n\n2.  [Add a system property](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/platform-administration/t_AddAPropertyUsingSysPropsList.md) with the following settings.\n\n    |Property|Value|\n    |--------|-----|\n    |Name|glide.ui.show\\_template\\_bar.&lt;TABLENAME&gt;|\n    |Type|true \\| false|\n    |Value|false|\n\n3.  Click **Submit**.\n\n\n## Deactivate form submission with the Enter key\n\nBy default, when you press the `Enter` key in a simple one-line text field, a choice list, or a Boolean field, the form is submitted.\n\n### Before you begin\n\nRole required: admin\n\n### About this task\n\nYou can use a system preference to deactivate this feature if you do not want the `Enter` key to submit the form.\n\n### Procedure\n\n1.  From the left navigation pane, select **User Administration** &gt; **User Preferences**.\n\n2.  Select the **enter\\_submits\\_form** preference.\n\n3.  Set the value to **false**.\n\n4.  Click **Update**.\n\n    The change does not take effect until user preferences are reloaded either at login or when a session is created.\n\n\n## Enable multiple form splits\n\nForm splits enable you to organize fields on a form into columns. Administrators must add a property to enable form splits.\n\n### Before you begin\n\nRole required: admin\n\n### About this task\n\n\\[Omitted image \"FormSplitConfiguration.png\"\\] Alt text: Configuration of two form splits\n\n\\[Omitted image \"FormSplitExample.png\"\\] Alt text: Two form splits\n\nWhen you organize fields in this manner and the user is viewing the form on a small mobile device, the fields within the first split are listed before the fields in the second split. In this example, the **Asset tag**, **State**, **Serial number**, and **Substate** field are listed before any of the fields below them. You can also create elements that span the form at the top of the form.\n\n### Procedure\n\n1.  Enter `sys_properties.list` in the Navigation filter.\n\n    The entire list of properties in the System Properties \\[sys\\_properties\\] table appears.\n\n2.  If the property does not exist, click **New**.\n\n3.  Enter the following information.\n\n<table id=\"choicetable_qyc_wqq_pt\"><tbody><tr><td id=\"d293131e616\">\n\n**Name**\n\n</td><td>\n\nglide.ui.form\\_multiple\\_splits\n\n</td></tr><tr><td id=\"d293131e625\">\n\n**Description**\n\n</td><td>\n\nEnable multiple form splits\n\n</td></tr><tr><td id=\"d293131e634\">\n\n**Type**\n\n</td><td>\n\ntrue \\| false\n\n</td></tr><tr><td id=\"d293131e643\">\n\n**Value**\n\n</td><td>\n\ntrue\n\n</td></tr></tbody>\n</table>4.  Click the form context menu icon and select **Save**.\n\n    The **Categories** related list appears.\n\n5.  Click **Edit** and move **UI** to the **Categories List**.\n\n6.  Click **Save**.\n\n    The System Property form reopens and the new property appears in the UI Properties page.\n\n\n## Define required fields\n\nYou can specify which form fields are required in forms. This action prevents users with the personalize\\_form role from removing the field by configuring the form layout.\n\n### Before you begin\n\nRole required: admin\n\nThe Required Form Fields plugin must be active.\n\n### About this task\n\nIf present on a form, only an administrator can remove required fields. When you configure a form, required fields appear in a gray color and have a tooltip indicating they are required. Required fields are defined in the Required Form Fields \\[sys\\_ui\\_element\\_required\\] table.\n\nThe expected \\(although not the only\\) use case for this feature is as part of a delegated administration scheme. For example, you can grant branch offices the rights to modify forms by granting the personalize\\_form role, but not allow them to remove certain fields which are critical to overall business processing.\n\n### Procedure\n\n1.  Navigate to `sys_properties.list`.\n\n2.  Locate the property named **glide.ui.form.enforce\\_required\\_fields** and make sure it is set to true.\n\n3.  Navigate to **System UI** &gt; **Required Form Fields**.\n\n4.  Click **New**.\n\n5.  Select the table and field, and then select the **Required** check box.\n\n    The following example sets the **Short description** field on the Incident form to be required.\n\n    \\[Omitted image \"RequiredFormField.png\"\\] Alt text: Required form field\n\n    If you decide later that you do not want to make the field required, clear the **Required** checkbox. This action is preferable to deleting the record.\n\n6.  Click **Submit**.\n\n\n### Result\n\nIf the table specified has extension tables, then the Required Form Field record applies to forms of all extended tables. For example, if an administrator specifies that the **Short description** field is required for the Task table, then this configuration applies to the Incident form, Change Request form, Problem form, and so on.\n\nAn extended table can override the Required Form Field rule of its base table. For example, if the **Short description** field is required for the Task table, but not required for the Incident table, it is required for all Task tables except Incident.\n\n## Control the label type for derived fields\n\nYou can configure the type of label that appears for derived fields.\n\n### Before you begin\n\nRole required: admin\n\n### About this task\n\nAn example would be displaying the email address for the caller when looking at an incident record. The email address is not stored in the Incident table, but is obtained by following the caller reference from the incident to the User table. You control the label type by setting a system property. For example, the field label for an incident email address can be either of the following strings.\n\n-   **Caller Email**, which represents the complete label to uniquely identify this field as the email from the caller user record. If you display the email address for the person the ticket is assigned to, its label would be **Assigned to Email**.\n-   **Email** which is the label for the target field. This label is not unique on the form if, for example, you are also displaying the email address of the person assigned to the incident. However, usually the placement of the field on the form makes it clear what the field represents.\n\n<table id=\"table_DisplayingInformationFromOtherRecords\"><tbody><tr><td>\n\n\\[Omitted image \"AvailableTableFields.png\"\\] Alt text: Available fields\n\n Choose the **Caller** field and click the expander icon.\n\n</td><td>\n\n\\[Omitted image \"CallerFields.png\"\\] Alt text: Caller fields\n\n Select the available fields associated with the **Caller** field.\n\n</td></tr></tbody>\n</table>### Procedure\n\n1.  Navigate to **All** &gt; **System Properties** &gt; **System**.\n\n2.  Locate the **Use short labels for all fields. For example, if a form contains the caller's email address, use the \"Email\" label rather than the full label of \"Caller Email\"** \\(**glide.short.labels**\\) property.\n\n    The default value is **true**, meaning that the short label is displayed in all forms.\n\n3.  If you want to display the complete label in forms, clear the check box.\n\n4.  Click **Save**.\n\n\n"}}