Напрасно сразу все картинки получаете запросом. На большой базе данных вылетает с ошибкой "Мало памяти".
Получение картинки надо делать в блоке картинки, так получается одна нужная картинка:
//блок картинки
Если Не Товар.ОсновноеИзображение = NULL Тогда
// Запрос изображения
ЗапросИзображений = Новый Запрос();
ЗапросИзображений.Текст = "ВЫБРАТЬ
| Номенклатура.Ссылка КАК Наименование,
| ХранилищеДополнительнойИнформации.ИмяФайла,
| ХранилищеДополнительнойИнформации.Хранилище,
| Номенклатура.Код
|ИЗ
| Справочник.Номенклатура КАК Номенклатура
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.ХранилищеДополнительнойИнформации КАК ХранилищеДополнительнойИнформации
| ПО Номенклатура.Ссылка = ХранилищеДополнительнойИнформации.Объект
|ГДЕ
| Номенклатура.Ссылка = &Ссылка";
ЗапросИзображений.Параметры.Вставить("Ссылка",Товар.Ссылка);
МассивИзображений = ЗапросИзображений.Выполнить().Выгрузить();
Если Не МассивИзображений.Найти(Товар.Код,"Код") = Неопределено Тогда
Изображения = МассивИзображений.НайтиСтроки(Новый Структура("Код",Товар.Код));
ДобавитьКартинкуИЗапись(ПутьХраненияФайла,Запись, Изображения, Товар.ОсновноеИзображение);
Иначе
Запись.ЗаписатьНачалоЭлемента("pictures");
Запись.ЗаписатьКонецЭлемента();
КонецЕсли;
КонецЕсли;
Показать