Картинки в динамическом списке
Механизмы вывода картинок в табличные поля и динамические списки известны, тема заезженная, но в большинстве случаев требуют хранения картинок в составе конфигурации или БД. Сомнительный подход, с учетом затрат на хранение, все больший уклон в сторону SaaS и повышение требований к интерфейсам и визуализации. А что делать, если медиа-контент используется на витрине (сайте, мобилке и т.д.), а также должен быть виден в решении на 1С? Давайте посмотрим.
- Описание
- Подробнее
Описание
В случаях, когда необходим доступ к медиа-контенту с витрины используется стороннее хранилище данных. В качестве хранилища может использоваться сетевой каталог, S3 или CDN-решение. По сути это аналог хранилища двоичных данных с высокими требованиями доступности и скорости. Почему бы решению на 1С не использовать те же хранилища, если они удовлетворяют требования таких высоконагруженных систем как витрины: сайты, мобильные приложения.
Повлияет ли на скорость работы подход основанный на использовании стороннего хранилища? Да, может, но тут опять же апелляция к требованиям со стороны витрин, а так же оценке влияния в каждом конкретном случае.
Механика вывода картинок в динамическом списке основана на всем известном приеме: поместить двоичные данные во временное хранилище , получить адрес, сохранить адрес в строковый реквизит, который на форме отображается как поле картинки.
Предположим, у нас есть справочник с данными. В реквизитах справочника есть URL картинки. Необходимо вывести на форму динамический список справочника с отображением картинки в каждой строке.
Создаем форму списка справочника. Заполнение динамического списка меняем на "Произвольный запрос". Отключаем динамическое считывание данных, оно в нашем случае может привести к нестабильности работы.
Добавляем в параметры запроса строковый параметр ИдентификаторФормы, в который соответственно будем передавать идентификатор нашей формы.
В вычисляемые поля запроса добавляем строковое поле Картинка. Значение будет возвращаться из метода общего модуля, в который как параметр будет передаваться URL изображения текущей записи справочника.
На форме в табличное поле списка выводим реквизит "Картинка" с типом "Поле картинки".