Версия для печати темы (https://pro1c.org.ua/index.php?s=4e67a00250c1de650ef1b0eca68befa8&showtopic=31209)

Нажмите сюда для просмотра этой темы в обычном формате

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 _ Программирование в 1С Предприятие 7.7 _ Работа с картинками в таблице отчета

Автор: Talkman 05.08.16, 12:38

Задача. Вывести перечень товаров по заданому условию с фото товара, указаному в карточке номенклатуры. Вопрос таков. Что писать в вставленом в таблицу объекте картинка. Если можно грубый пример работы с картинками. Гугл выдает пару примеров, но я что то не совсем понял что писать в свойствах в самом объекте в таблице. Все данные на вывод в итерации цикла при ВывестиСекцию() имеются. Засунуть их в таблицу, чтобы фото показывалось как то не могу...

Автор: Talkman 05.08.16, 13:46

Talkman @ Сегодня, 13:38 *,

Спасибо, разобрался.

Автор: Vofka 05.08.16, 13:54

Talkman, озвучьте, может кому-то будет полезно.

Автор: Dartvader111 29.08.16, 16:50

Приветсвую! Как делаю я - вставляем в отчет секцию в ней объект картинка, у картинки следующий текст

Если  путьФайла<>"" Тогда
        таб.ТекущийОбъект.Загрузить(путьФайла);
        таб.ТекущийОбъект.РежимРисования(3);
КонецЕсли;


печать справочника с картинками реализуем кодом

    сч = 1;
    ВыбратьСтроки();
    Пока ПолучитьСтроку() = 1 Цикл
        путьФайла = СокрЛП(Товар.ПутьКФото);  
        Таб.ПрисоединитьСекцию("СтТов|СтрТов");
    КонецЦикла;



 i 

Выделяйте, пожалуйста, код
 

Автор: Talkman 07.05.19, 13:30

Talkman @ 05.08.16, 14:46 *
Дурак Вы Talkman. Не написал раньше как разобрался, теперь по второму кругу инфу ищешь...
Подсобите плз, в каком поле объекта картинка на табличной форме вызывать процедуру карт()

Процедура карт(карт)
    карт.РежимРисования(3);
    карт.УстановитьКартинку(Картинка);
КонецПроцедуры


Автор: Talkman 07.05.19, 14:33

Talkman @ Сегодня, 14:30 * ,
Значит так. Процедура Карт() вызывается с текстового поля объекта Рисунок. Вызов

Карт(Таб.ТекущийОбъект)

, где таб - переменная текущей таблицы.

Скопирую на всякий весь мануал.
Код 1C v 7.x
Перем Картинка, ТЗКаталога, ПутьКаталогаРисунков;
//******************************************************************************
Процедура Сформировать1()
    Таб = СоздатьОбъект("Таблица");
    Таб.ИсходнаяТаблица("Сформировать");
    Картинка = СоздатьОбъект("Картинка");
    т=1;
    ТЗКаталога.ВыбратьСтроки();
    Пока ТЗКаталога.ПолучитьСтроку() = 1 Цикл
        Картинка.Загрузить(ТЗКаталога.Путь);
        Сформировать = т;
        Таб.ВывестиСекцию("Заголовок");
        т = т+1;
    КонецЦикла;
    Таб.Опции(0,0,0,0);
    Таб.Показать("Сформировать","");
    ТЗКаталога = "";
КонецПроцедуры  
//******************************************************************************
Процедура карт(карт)     //Вызывается из объекта картинка на печатной форме
    карт.РежимРисования(3);
    карт.УстановитьКартинку(Картинка);
КонецПроцедуры      //карт(карт)     Вызывается из объекта картинка на печатной форме
//******************************************************************************
Процедура СканироватьКаталог(Каталог)    
    Перем А;
    ФСО=СоздатьОбъект("ФС");
    Ф=ФСО.НайтиПервыйФайл(Каталог+"*");
    Пока Ф<>"" Цикл
        Если (Ф<>".")И(Ф<>"..") Тогда
            ФС.АтрибутыФайла(Каталог+Ф,,А);
            Если Сред(А,4,1)="1" Тогда
                СканироватьКаталог(Каталог+Ф+"\");
            Иначе
                Если (Прав(Ф,4)=".jpg") или (Прав(Ф,4)=".wmf") или (Прав(Ф,4)=".emf") или (Прав(Ф,4)=".ico") или (Прав(Ф,4)=".bmp") или (Прав(Ф,4)=".dib") или (Прав(Ф,4)=".rle") Тогда
                    ТЗКаталога.НоваяСтрока();
                    ТЗКаталога.Путь = Каталог+Ф;
                    ТЗКаталога.Файл = Ф;        //Для поиска файла по имени (исп в другой обработке)
                КонецЕсли;
            КонецЕсли;
        КонецЕсли;
        //Сообщить(Каталог+Ф);
        Ф=ФСО.НайтиСледующийФайл();
    КонецЦикла;
КонецПроцедуры  //СканироватьКаталог(Каталог)  
//******************************************************************************
Процедура Сформировать()  
    Если ФС.ВыбратьКаталог(ПутьКаталогаРисунков,"Выберете папку с рисунками .jpg...",60) <> 1 Тогда
        Предупреждение("Рисунки не покажу!");
        Возврат;
    Иначе
        ТЗКаталога = СоздатьОбъект("ТаблицаЗначений");
        ТЗКаталога.НоваяКолонка("Путь",,,,,,,);
        ТЗКаталога.НоваяКолонка("Файл",,,,,,,);
        СканироватьКаталог(ПутьКаталогаРисунков+"\");
    КонецЕсли;
    Сформировать1();
КонецПроцедуры

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua