Вводные:
Нужно вывести картинку при активизации строки в списке спр. Номенклатура
Некорректно работающая обработка //infostart.ru/public/883665/ (вызов серверного метода при активизации строки)
Решение
Разместить на форме списка реквизит "АдресКартинки" тип Строка(0), Вид на форме "Поле картинки"
Учесть что в форме списка есть два списка, СписокСтандартныйПоискНоменклатура, СписокРасширенныйПоискНоменклатура, для каждого из них нужно создать процедуру ПриАктивизацииСтроки()
Ссылка на основную картинку номенклатуры хранится в ФайлКартинки
В БСП есть механизм получения адреса картинки РаботаСФайлами.ДанныеФайла(), результат которого передаем в "АдресКартинки"
Код:
Сделан под отображение картинки группы, переделать под номенклатуру относительно просто:
&НаКлиенте
Процедура на_ИерархияНоменклатурыПриАктивизацииСтрокиПосле(Элемент)
ТекущиеДанные = Элементы.ИерархияНоменклатуры.ТекущиеДанные;
Если ТекущиеДанные = Неопределено Тогда
Возврат;
КонецЕсли;
НовыйАдресКартинки = ПолучитьАдресКартинки(ТекущиеДанные.Ссылка);
Если АдресКартинки <> НовыйАдресКартинки Тогда
АдресКартинки = НовыйАдресКартинки;
КонецЕсли;
КонецПроцедуры
&НаСервереБезКонтекста
Функция ПолучитьАдресКартинки(Номенклатура)
Если НЕ ЗначениеЗаполнено(Номенклатура.на_ИзображениеГруппы) Тогда
Возврат "";
КонецЕсли;
Попытка
АдресКартинки = РаботаСФайлами.ДанныеФайла(Номенклатура.на_ИзображениеГруппы).СсылкаНаДвоичныеДанныеФайла;
Исключение
АдресКартинки = "";
КонецПопытки;
Возврат АдресКартинки;
КонецФункции