Работа с фотографией контакта

Всем доброго времени суток.
Версия 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 сейчас вот такая:

setContactPhoto: function(photoId) {
                                        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, вне зависимости от того, есть фото у контакта, или нет.

Как исправить функцию, чтобы подстановка работала?

Нравится

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

Здравствуйте, посмотрите актуальную для 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,
				},
Показать все комментарии