Всем доброго времени суток.
Версия 7.10.
Есть блок, в котором должна отображаться фотография контакта:
"operation": "insert",
"name": "SubscriberPhoto",
/**/
"values": {
"itemType": Terrasoft.ViewItemType.BUTTON,
"imageConfig": {"bindTo": "setContactPhoto"},
"classes": {"wrapperClass": ["subscriber-photo"]},
"style": Terrasoft.controls.ButtonEnums.style.TRANSPARENT,
}
},
Функция setContactPhoto сейчас вот такая:
if ( (photoId == "Photo") || !photoId){
return this.get("Resources.Images.UnidentifiedSubscriberPhoto");
}
var photoConfig = {
source: this.Terrasoft.ImageSources.ENTITY_COLUMN,
params: {
schemaName: "SysImage",
columnName: "Data",
primaryColumnValue: photoId
}
};
return {
source: Terrasoft.ImageSources.URL,
url: Terrasoft.ImageUrlBuilder.getUrl(photoConfig)
};
},
Также есть запрос, вытягивающий из контакта Contact колонку Photo. photoId в функции - отправляю value из колонки Photo в ответе на запрос данных из контакта.
Тем не менее всегда подставляется пустое значение UnidentifiedSubscriberPhoto, вне зависимости от того, есть фото у контакта, или нет.
Как исправить функцию, чтобы подстановка работала?
Нравится
Здравствуйте, посмотрите актуальную для 7.10 инструкцию:
https://academy.terrasoft.ru/documents/technic-sdk/7-10/dobavlenie-poly…
В особенности части где указывается поле изображения в объекте.
Здравствуйте. По ссылке не совсем то.. там речь идёт о поле для изображения на странице.
А если у нас нет своего объекта? Мы делаем карточку звонка, там должно быть изображение из контакта. Причём ссылка на него генерится через ImageUrlBuilder, заметил, что при этом только не изменяется изображение в блоке, остаётся та заглушка UnidentifiedSubscriberPhoto, которая выставлялась при первоначальной загрузке.
Как можно обновить блок?
Может быть есть тип виртуальной колонки Terrasoft.DataValueType и можно сделать динамическое изменение через атрибут?
Нашёл например такой тип Terrasoft.DataValueType.IMAGE - есть ли примеры работы с ним?
UPD. Сделал через виртуальную колонку - работает:
"contactImage": { "dataValueType": Terrasoft.DataValueType.IMAGE, "type": Terrasoft.ViewModelColumnType.VIRTUAL_COLUMN, },