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