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

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

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

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

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



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

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

    КонецЦикла;

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