TypeError: undefined is not an object (evaluating 'Terrasoft.sdk.RecordPage.getColumns(model, columnSetName).get(columnName).columnOriginalConfig') [Mobile]
Symptoms
While accessing one of the section in the mobile app, the following error is displayed:
Terrasoft.SourceCodeException
Сообщение: TypeError: undefined is not an object (evaluating 'Terrasoft.sdk.RecordPage.getColumns(model, columnSetName).
get(columnName).columnOriginalConfig')
Additional information:
Script: file:///private/var/mobile/Containers/Bundle/Application/4C00C070-499C-4318-9653-8938B2A3B608/bpm'online.app/www/Common/Terrasoft.Mobile.Combined.js%0D%0A%09Line: 7698"
Cause
The user deleted the base column via the designer
Solution
1. In the configuration, create a new "module" with the name UsrMobileOverrideUtilities
Add the following text:
Ext.define("Terrasoft.sdk.RecordPage.Override", { override: "Terrasoft.sdk.RecordPage", configureColumn: function(model, columnSetName, columnName, columnConfig) { if (!Terrasoft.sdk.RecordPage.getColumns(model, columnSetName).get(columnName)) { return; } this.callParent(arguments); } });
2. Change the custom manifest (usually called UsrMobileApplicationManifestCustom)
Add the following block:
"CustomSchemas": [ "UsrMobileOverrideUtilities" ],
Necessary conditions and possible restrictions
The base column was used in one of the base mobile application scripts.