Troubleshooting form issues
This article discusses how to troubleshoot form loading and broken form issues.
Form loading issues
The form does not fully load. The form may appear to be loaded, but if you cannot see context menu when you right-click, then this is the best indicator that it has not loaded.
This is most likely caused by a client-side error that usually comes from client script or UI script. Try opening the Browser Developer tool and loading the form. There should be an error visible in console. For more information on how to use browser console to find client-side script errors, see KB0549901.
Broken form issues
Sections and fields are missing from the form.
The key to resolving broken form issues is to understand form structure and tables to identify the issues.
- The form structure is based on the type of view (Default, Advanced, etc.)
- Views can be found in sys_ui_view table:
(Note: The first view with Name "[empty]" and Title "Default view" should not be renamed because this can cause an issue on all forms.)
- Every form must have a view, for example: container for Forms, Form Sections, Lists, and Related Lists (see the Default view example below):
- The form related list points to [sys_ui_form] table. The form is the container for the form sections.
Identifying form issues
- In the Related Lists form, you can find the table with the issue and open it. When the [sys_ui_form] record is open, you can see the type of form and the Form Sections related list. Notice the order of the form sections on the Form - incident below:
- Most issues occur if you have form sections with the same positions. The first section by default does not have name. Ensure that form sections do not have the same positions.
- The form field only exists if the form has multiple sections that are added by personalizing a form.
- The related list of the form sections actually has a many to many relationship between forms and sections, and is the [sys_ui_form_section] table. This only exists for a specific table when the form has multiple sections. In many cases, the record may exist in the list with the wrong reference, or the relationship is broken and needs to be added.
- If the section is visible in this related list but the reference is wrong, follow the steps in article KB0534762. This details how to fix the broken relationships between [sys_ui_section] and [sys_ui_form_section] records.
- If the record does not exist, you may need restore the broken relationship. You can restore the relationship by clicking New and referencing missing UI section by populating the Sys UI section field. You can do this if you know the name of the section and can find it in the list.
- Keep in mind that when you click the Position link from the above related list Form Sections, you are redirected to the [sys_ui_form_section] many to many table record. When you click the Sys UI section, you are redirected to the actual form section [sys_ui_section] record with all of its elements.
- The Form Section [sys_ui_section] stores form section elements like fields and annotations. Below are all the elements that belong to specific section in the Section Elements related list. Elements can be added or removed here, and the order can be changed:
Resolving form issues
- In the [sys_ui_element] table, the majority of the form issues are resolved by inspecting above mentioned tables and comparing them with the base system. Form changes should be done using the Personalizing Form option. Access these tables to understand and fix the issue. We do not recommend creating sections and other form records directly in these tables.
- You can compare the above table records with either the base system or one of your instances where the issue does not exist. When you find what is missing or corrupted, you can export the record in XML from other instance and import it as XML. Exporting/importing XML and deleting customized records is another way to solve the form issues.
- Records that are not from the base system can be deleted to restore the base system default view (such as domain specific). However, we recommend taking backup first (exporting to XML) and deleting or importing from the other instance in this order:
- import element records