Всем привет.

 

Пытаюсь сделать кастомное праймари поле для раздела "контакты" в мобильном приложении.

 

Поле должно состоять из двух уже существующих в объекте 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".

 

Подозреваю, что ошибка связана с тем, что при отрисовке раздела, движок не может найти какое-то из этих полей. (Но это не точно.)

 

Поэтому проверил манифест на синхронизацию этих полей:

Изображение удалено.

 

При этом добавив эти поля по отдельности через мастер мобильного приложения, отображается корректно:

Изображение удалено.

 

Может кто сталкивался с чем-то подобным: в чём может быть дело?

Нравится

2 комментария

Добрый день.

Рекомендую вам попробовать нечто подобное, без приведения к 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" манифеста.

 

Показать все комментарии