Uncaught TypeError: Cannot read property 'columnType' of undefined
Всем привет.
Пытаюсь сделать кастомное праймари поле для раздела "контакты" в мобильном приложении.
Поле должно состоять из двух уже существующих в объекте Contact полей: Name и AnLastVisitDate.
Код:
Terrasoft.sdk.GridPage.setPrimaryColumn("Contact", { columns: ["Name", "AnLastVisitDate"], vadFunction: function(values) { var contactName = values.Name; var lastVisitDate = values.AnLastVisitDate; return "(" + lastVisitDate.toString() + ") " + contactName; } });
При переходе в раздел "контакты" после синхронизации получаю следующую ошибку: "Uncaught TypeError: Cannot read property 'columnType' of undefined".
Подозреваю, что ошибка связана с тем, что при отрисовке раздела, движок не может найти какое-то из этих полей. (Но это не точно.)
Поэтому проверил манифест на синхронизацию этих полей:
При этом добавив эти поля по отдельности через мастер мобильного приложения, отображается корректно:
Может кто сталкивался с чем-то подобным: в чём может быть дело?
Нравится
Добрый день.
Рекомендую вам попробовать нечто подобное, без приведения к toString():
Terrasoft.sdk.GridPage.setPrimaryColumn('Account', { columns: ['Name', 'AnLastVisitDate'], convertFunction: function(values) { if (!Ext.isEmpty(values.AnLastVisitDate)) { return values.Name + ' (' + values.AnLastVisitDate+ ')'; } else { return values.Name; } } });
Михаил, спасибо за подсказку!
Результат есть.
Terrasoft.sdk.GridPage.setPrimaryColumn("Contact", { columns: ["Name", "AnLastVisitDate"], vadFunction: function(values) { if (!Ext.isEmpty(values.AnLastVisitDate)) { return "Тест_2"; } else { return "Тест_1"; } } });
Однако, столкнулся со странным поведением системы при подключении своего модуля.
Исчезает строка поиска и фильтров раздела.
Как только модуль отключаю, снова всё на месте.
Модуль подключая в группе "Models" манифеста.