Сделал Справочник Сотрудники. Сделал два реквизита "Фото в бикини", "Фото без шляпы" (тип данных хранилище значений). В нем буду хранить картинки. Возникла необходимость всех сотрудников выгрузить в Таблицу значений на форме. Направьте плиз на путь - на форме делаю 3 колонки и мне в них нужно вписать эти фотографии. Т. е. структура такая Фото №1, Фото №2, Сотрудник. И чтобы при добавлении строки, фотка в колонку №1, №2 подтягивалась из справочника сотрудники. Делать это условным оформлением ? не получается как то :(
В общих чертах: надо двоичные данные картинки ПоместитьВоВременноеХранилище(), оно вернет ссылку, которую надо подсунуть в качестве источника данных для элемента типа поле картинки.
Там есть проблема.
Проблема с самой таблицей (элементом управления), она не умеет правильно выводить картинки если высота строки больше чем одна строка текста.
Она выводит картинку без масштабирования затирая все что ниже.
А помещать во временное хранилище не обязательно, достаточно сформировать навигационную ссылку на реквизит.
Пример:
ТЧ Состав имеет две колонки: ФизЛицо (СправочникСсылка.ФизическиеЛица) и Фото (Строка(100))
размещена на форме, у колонки Фото ставим Вид=ПолеКартинки
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
Запрос = Новый Запрос;
Запрос.Текст = "
|выбрать первые 20
| Ссылка как ФизЛицо
|из Справочник.ФизическиеЛица
|где Пол = Значение(Перечисление.ПолФизическихЛиц.Женский)
|";
Объект.Состав.Загрузить(Запрос.Выполнить().Выгрузить());
Для каждого СтрокаСостава из Объект.Состав Цикл
СтрокаСостава.Фото = ПолучитьНавигационнуюСсылку(СтрокаСостава.ФизЛицо, "Фото");
КонецЦикла;
КонецПроцедуры
(4)+ Реквизит Фото справочника ФизическиеЛица имеет тип ХранилищеЗначения, туда можно записывать как ДвоичныеДанные так и объекты типа Картинка - значения не имеет, работает и так и так.
(3)в ДС можно было бы делать все точно так же (как в (4)) если бы было преобразование ссылки в строку, но 1С ведь считает что нам это не нужно. :)
Можно извратиться сохраняя в том же объекте текстовое представление своей же ссылки в спец. реквизите, и в запросе ДС конкатенацией собрать навигационную ссылку.
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший