Сообщение: TypeError: undefined is not an object (evaluating 'Terrasoft.sdk.RecordPage.getColumns(model, columnSetName).get(columnName).columnOriginalConfig') [Mobile]
Симптомы
В мобильном приложении при переходе в один из разделов происходит ошибка:
Тип: Terrasoft.SourceCodeException
Сообщение: TypeError: undefined is not an object (evaluating 'Terrasoft.sdk.RecordPage.getColumns(model, columnSetName).
get(columnName).columnOriginalConfig')
Дополнительная информация:
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"
Причина
Пользователь удалил базовую колонку через дизайнер
Решение
1) В конфигурации создаем новый "модуль" с именем UsrMobileOverrideUtilities
добавляем в него такой текст:
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) Меняем пользовательский манифест обычно он называется UsrMobileApplicationManifestCustom
добавляем в него такой блок:
"CustomSchemas": [ "UsrMobileOverrideUtilities" ],
Необходимые условия и возможные ограничения
Базовая колонка использовалась в одном из базовых скриптов мобильного приложения