Вход | Регистрация

1С:Предприятие ::

Метки: 

Как вывести картинку в табличный документ

Я
   Master5550
 
30.07.18 - 13:30
1С:ERP Управление Предприятием БИТ.Финанс 3.2, управляемые формы
Есть справочник РесурсныеСпецификацииПрисоединенныеФайлы.
Как из него получить файл и вывести его в табличный документ?
 
  Рекламное место пустует
   Master5550
 
1 - 30.07.18 - 13:32
Запрос.Текст = 
        "ВЫБРАТЬ
        |    ЗаказНаПроизводство2_2Продукция.Ссылка.Организация КАК Организация,
        |    ЗаказНаПроизводство2_2Продукция.Количество КАК КоличествоПродукции,
        |    ЗаказНаПроизводство2_2Продукция.Спецификация КАК Спецификация,
        |    ЗаказНаПроизводство2_2Продукция.Номенклатура КАК Продукция,
        |    РесурсныеСпецификацииПрисоединенныеФайлы.Ссылка КАК Ссылка,
        |    РесурсныеСпецификацииПрисоединенныеФайлы.ФайлХранилище КАК ФайлХранилище
        |ИЗ
        |    Документ.ЗаказНаПроизводство2_2.Продукция КАК ЗаказНаПроизводство2_2Продукция
        |        ЛЕВОЕ СОЕДИНЕНИЕ Справочник.РесурсныеСпецификацииПрисоединенныеФайлы КАК РесурсныеСпецификацииПрисоединенныеФайлы
        |        ПО ЗаказНаПроизводство2_2Продукция.Спецификация = РесурсныеСпецификацииПрисоединенныеФайлы.ВладелецФайла
        |ГДЕ
        |    ЗаказНаПроизводство2_2Продукция.Ссылка В(&МассивДокументов)";

Как из ФайлХранилище получить картинку?
   Master5550
 
2 - 30.07.18 - 14:22
Пока Выборка.Следующий() Цикл
        Если Первый Тогда

    ХЗ = Новый ХранилищеЗначения(Выборка.ФайлХранилище);
        НашаКартинка = ХЗ.Получить();
        ОбластьМакетаСтрока.Рисунки.НашаКартинка.Картинка = НашаКартинка; 
            ТабличныйДокумент.Вывести(ОбластьМакетаСтрока);
    
    КонецЦикла;

Что тут надо доработать?
   Lexey_
 
3 - 30.07.18 - 14:29
(2) ХЗ = Новый ХранилищеЗначения(Выборка.ФайлХранилище);
НашаКартинка = ХЗ.Получить();
А зачем ХранилищеЗначения помещать еще раз в хранилище, чтобы потом опять получить?
   Master5550
 
4 - 30.07.18 - 14:44
Хорошо. Как из ФайлХранилище типа ХранилищеЗначений получить картинку?
   Master5550
 
5 - 30.07.18 - 14:49
ОбластьМакетаСтрока.Рисунки.D2.Картинка = Выборка.ФайлХранилище.Получить();

Несоответствие типов!
   Lexey_
 
6 - 30.07.18 - 14:52
(5) ну и какой там тип?
   Master5550
 
7 - 31.07.18 - 07:45
Выборка.ФайлХранилище - тип ХранилищеЗначения
Выборка.ФайлХранилище.Получить() - типа нету, пусто
   SweetaAngel
 
8 - 31.07.18 - 08:01
Как то так
        Если ЗначениеЗАполнено(стрПечать.Характеристика) Тогда
            Изображение = стрПечать.Характеристика.ОсновноеИзображение.Хранилище.Получить();
            
        Иначе
            Изображение = стрПечать.Номенклатура.ОсновноеИзображение.Хранилище.Получить();
        КонецЕсли;
        
        
        Если Изображение = Неопределено Тогда
            Изображение = Новый Картинка;
        КонецЕсли;



    Изображение = Картинка;

    Если Изображение<> Неопределено Тогда
        Область.Рисунки.Получить(0).Картинка = Изображение;
    КонецЕсли;
   butterbean
 
9 - 31.07.18 - 08:03
(7) там не несколько файлов случайно к этой серии? Твой запрос в этом случае криво будет отрабатывать, т.к. будет дублировать строки документа
   Master5550
 
10 - 31.07.18 - 08:24
(9) Там два файла
 
  Рекламное место пустует
   Master5550
 
11 - 31.07.18 - 08:25
Почему ТипЗнч(Выборка.ФайлХранилища)= ХранилищеЗначения
, а ТипЗнч(Выборка.ФайлХранилища.Получить()) = Неопределено?
   Master5550
 
12 - 31.07.18 - 08:27
Пока Выборка.Следующий() Цикл
        ОбластьМакетаСтрока.Рисунки.КартинкаТест.Картинка = Выборка.ФайлХранилище.Получить();
        сообщить("выб: "+Выборка.Ссылка+"; Тип1: "+ТипЗнч(Выборка.ФайлХранилище)+"Тип2: "+ТипЗнч(Выборка.ФайлХранилище.Получить()));            
            
        ТабличныйДокумент.Вывести(ОбластьМакетаСтрока);
        Прервать;

    КонецЦикла;

Сейчас код такой, на один файл.
   butterbean
 
13 - 31.07.18 - 08:33
не поленился, слазил в типовую, там в поле ФайлХранилище хранится не сам файл, сами данные в регистре ДвоичныеДанныеФайлов либо вообще во внешних файлах на диске
   Master5550
 
14 - 31.07.18 - 08:57
(13) О! Спасибо! Наконец-то получилось


Список тем форума
Рекламное место пустует   Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Рекламное место пустует