Публикация

Подтягивание полей из колонок объекта в карточку с Profile модулем.

Итак, допустим у нас есть своя страница, созданная через мастер. В ней есть поле контакт, к нему подтягивается значение поля Job через атрибуты:

Contact: {
	lookupListConfig: {
		columns: ["Job"]
	}
}

Далее мы настраиваем красивый модуль выбора контакта как это сделано в лиде. И вроде бы всё хорошо, но колонка Job не подтягивается. Как и любые другие колонки... Смотрим BaseProfileSchema, видим 

getLookupConfig: function(config) {
	var masterColumnInfo = this.get("MasterColumnInfo");
	var lookupListConfig = masterColumnInfo.lookupListConfig;
	var entitySchemaName = masterColumnInfo.referenceSchemaName || this.entitySchemaName;
	var masterColumnName = this.get("masterColumnName");
	var lookupConfig = {
		entitySchemaName: entitySchemaName,
		multiSelect: false,
		columnName: masterColumnName,
		hideActions: true,
		lookupListConfig: lookupListConfig,
		filters: this.getLookupQueryFilters(masterColumnName)
	};
	this.Ext.apply(lookupConfig, config);
	return lookupConfig;
}

и ужасаемся. Зачем в конфиг для лукапа кидать lookupListConfig - ума не приложу. Далее в LookupPage он не используется, фильтры из него не достаются.

Фиксится очень просто, перед Ext.apply прописываем

lookupConfig.columns = lookupListConfig ? lookupListConfig.columns : [];

сохраняем, закрываем страницу, выходим из системы и идём пить чай. Одним багом стало меньше

Нравится

Поделиться

1 комментарий

Зарегистрировали данную проблему. Спасибо.

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