gifts2017

Изображения в динамическом списке

Опубликовал Андрей Д. (detec) в раздел Программирование - Работа с интерфейсом

Есть справочники, в которых очень желательно в некоторых случаях выводить маленькое или большое изображение напротив элемента справочника. При этом удобно пользоваться стандартным инструментарием для списков - формой с динамическим списком.

Как известно, в управляемом интерфейсе техника отображения графических изображений реализована через элемент управления (ЭУ) "Поле картинки". Этот ЭУ использует строковые данные - навигационную ссылку к какому-либо объекту инфобазы, в ХранилищеЗначения которого находится необходимое нам изображение.  В типовой УНФ можно подсмотреть, как реализован вывод изображения номенклатуры на форму элемента.

Однако мне было интересно добиться схожего эффекта в динамическом списке, который тоже поддерживает ЭУ "Поле картинки". После ряда экспериментов мне пришла в голову мысль: а почему бы не хранить в реквизите элемента строку с навигационной ссылкой? В прикладываемой демобазе с демонстрацией алгоритма я определяю навигационную ссылку как при интерактивных действиях - в команде "Вставить кратинку", так и при программных - в подписке на событие.

Можно хранить графическое изображение как в самом элементе справочника, так и в элементе подчинённого справочника - на уровне интерфейса данная схема работает аналогично.

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

Дополнение от 09.03.2011. К сожалению, выяснилось, что в веб-клиенте, по крайней мере, в 8.2.13.218, изображения, выводимые по навигационной ссылке, не отображаются. Внешне это выглядит как-будто в тэгах укзан адрес несуществующего файла изображения. Ждём исправления бага.

Дополнение от 17.01.2012. В релизе 8.2.15.289 окончательно исправлена ошибка в веб-клиенте: теперь изображения выводятся точно так же, как и в тонком клиенте.

Скачать файлы

Наименование Файл Версия Размер Кол. Скачив.
Демобаза_изображения_в_динамическом_списке
.dt 100,23Kb
21.02.13
347
.dt 100,23Kb 347 Скачать

См. также

Подписаться Добавить вознаграждение

Комментарии

1. Василий Демидов (Душелов) 10.02.11 13:52
2. Андрей Д. (detec) 10.02.11 14:40
(1) Добавил скриншот, с картинки анонса. Для данной разработки, думаю, каждому придётся подгонять свой внешний вид динамического списка, так что мой скриншот малопоказателен.
3. Геннадий Пиганов (Totoro) 10.03.11 00:51
(0) Мне больше понравился вариант хранения НавСсылка в справочнике Файлы. А в справочники Лучи хранить ссылку на файл. Так как-то более независимо от количества объектов, завязанных на справочник Файлы (да и навигационную ссылку нужно обновить только при изменении картинки файла).
ЗЫ Наверное это ты имел ввиду говоря про подчиненный справочник.
4. Александр Нав (skeptik2105) 20.09.11 18:56
Спасибо, как раз нужно было
5. Andrey Krapivin (kr_andr) 23.11.11 10:33
7. EvgeniuXP EvgeniuXP (EvgeniuXP) 19.01.12 21:52
автор прав, можно хранить адрес в реквизите, но есть другая проблема, а если эту картинку изменят или удалят, то нужно будет пробегать по всем объектам и искать данную строку адреса и менять, а это не есть гуд.

И второй минус (но первый спасает пока временно... поэтому ждем исправлений)

в табличной части справочника если отобразить реквизит, который в свою очередь ссылается на другой справочник, а тот в свою очередь на другой и там адрес картинки, то данная картинка не будет отображена в тонком клиенте (8.2.14 и 8.2.15 все релизы) - выход? - описан выше автором. В саппорт сообщил и демо базу закинул им.
8. EvgeniuXP EvgeniuXP (EvgeniuXP) 19.01.12 21:53
(7) ошибся, не в тонком, а в вебе, в тонком работает нормально.
9. Андрей Д. (detec) 19.01.12 22:09
(7) я у себя проверял - изменение картинки не влечёт за собой изменение навигационной ссылки. Во всяком случае, в реально работающем решении у меня картинка меняется (увеличивается физический размер по горизонтали и вертикали), но это никак не сказывается на отображении.

В саппорт сообщил и демо базу закинул им.


Можно и мне кинуть демобазу на dlit_yandex.ru?
10. EvgeniuXP EvgeniuXP (EvgeniuXP) 20.01.12 18:00
(9) адрес меняется если другую картинку будете вставлять, т.е. если вдруг прежнюю захотите заменить на новую - так что проблема актуальна.

P.S. на емайл отправил.
11. sumixam (sumixam) 23.11.12 12:01
вот поднакоплю $ обязательно скачаю, сам сейчас вот думаю как сканы доков передавать из тонкого клиента на сервер, не хочу записывать к себе в базу, расти будет быстро, может кто даст совет или ссылку, где почитать на сайте, спасибо
12. Роман Неважно (Romeooo) 28.01.13 23:50
Спасибо! Классная идея! Воспользовался. Только зачем для хранения картинок делать отдельный справочник? Почему не сделать реквизит(тип хран.знач.) в справочнике Лучи?
13. Андрей Д. (detec) 29.01.13 14:04
(12) Можно и так, я у себя в другой конфигурации так и сделал.
14. Сергей Галюк (dj_serega) 14.04.14 11:39
Нового не узнал. Как оказалось, делал также. Просто нужно картинки обрезать. Оно само не подганяет каждую строку ;(
15. Salavat (Salavat) 28.10.14 16:23
(14) dj_serega, да блин - автовысота не работает.
точнее работает,но делает это автоматом - в нуль. балин.
16. Salavat (Salavat) 28.10.14 16:27
(14) dj_serega, условное форматирование надо както прикрутить.
вопрос - "как?".
17. Dmitry Dmitry (Dimasik2007) 13.11.14 22:55
Походу, в Такси 8.3.5.1186 и выше (а может и чуть ниже) вывод картинок в списках веб-клиента снова сломали. Даже в деревьях не отображается на форме, рисует стандартные папочки. При этом в тонком - все норм.
18. Александр Горлов (gavlexx) 28.11.14 06:23
Проверил. В 8.3.5.1119 уже не работает. В 8.3.4.437 в веб-клиенте картинки в строках списка по навигационной ссылке еще выводятся нормально.
19. Геннадий (DrSender) 02.12.14 19:55
Спасибо автору. +. Как раз это пробовал. Делаю в 8.3.5.1231 толстый клиент - работает, но...
В элементе справочника и в дополнительном реквизите формы навигационная ссылка отрабатывает нормально, а в списке не масштабируется и расползается по строке, можно хранить две картинки-вторую для отображения, но непонятно, чем обрезать в мобильных приложениях
20. Геннадий (DrSender) 02.12.14 19:59
(16) Salavat, у меня тут http://infostart.ru/public/315363/ описано подробно, как обрезать. Надо посмотреть строку команды на закладке.
Ничего что я тут свою ссылку поставил? Если неправильно - уберу.
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа