Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
14 дек 2024, 03:34

Не могу программно "достать" картинку из номенклатуры

Автор aleon1, 22 окт 2020, 17:21

0 Пользователей и 1 гость просматривают эту тему.

aleon1

Добрый день!
Имеется УНФ 1.6.21.114, необходимо создать печатную форму, в которой выводятся картинки из номенклатуры.
Нужен фрагмент кода вроде:


Картинка = Новый Картинка("D:\Pic.png");   // картинка из файла, а надо из номенклатуры
ОбластьСКартинкой.Рисунки.D1.Картинка = Картинка;
ТабличныйДокумент.Вывести(ОбластьСКартинкой);


С картинкой из файла все работает, а как программно "достать" картинку из номенклатуры, не знаю. Прошу помощи.
Буду признателен за любую информацию.


LexaK

да в общем все правильно делаете, из номенклатуры, из справочника (или что/где там у вас) достаются бинарные данные картинки, сохраняются во временный файл, во временном каталоге, а дальше вы уже знаете, как по пути с файлом вывести картинку
если помогло нажмите: Спасибо!

aleon1

Цитата: LexaK от 22 окт 2020, 17:40
да в общем все правильно делаете, из номенклатуры, из справочника (или что/где там у вас) достаются бинарные данные картинки, сохраняются во временный файл, во временном каталоге...

Вот тут-то и проблема, даже не представляю, как это делается.

IL2016

на учебе по 1С на эту тему говорили что используется переменная с типом ХранилищеЗначений, в которую собственно после выбора файла помещают данные из файла. а потом при надобности берут эти данные из хранилища.

LexaK

примерно так

ИмяФайла = ПолучитьИмяВременногоФайла();
ДанныеКартинки = ВашеХранилище.Получить();//ДанныеКартинки  - тип должен быть ДвоичныеДанные
ДанныеКартинки.Записать(ИмяФайла);
//вот это ИмяФайла выводите в картинку вашего отчета
если помогло нажмите: Спасибо!

aleon1

Цитата: LexaK от 23 окт 2020, 10:49
примерно так

ИмяФайла = ПолучитьИмяВременногоФайла();
ДанныеКартинки = ВашеХранилище.Получить();//ДанныеКартинки  - тип должен быть ДвоичныеДанные
ДанныеКартинки.Записать(ИмяФайла);
//вот это ИмяФайла выводите в картинку вашего отчета


Мне всё понятно кроме одного: ВашеХранилище - как его получить? Т.е.
    ВашеХранилище = ???


LexaK

aleon1, к сожалению у меня нет базы  УНФ 1.6.21.114,
посмотрите в конфигураторе и под отладчиком как и куда добавляется картинка по номенклатуре?
или в карточке товара, если отображается картника, под отладчиком, при открытии посмотрите как/откуда она выводится 
если помогло нажмите: Спасибо!

aleon1

Цитата: LexaK от 23 окт 2020, 10:49
примерно так

ИмяФайла = ПолучитьИмяВременногоФайла();
ДанныеКартинки = ВашеХранилище.Получить();//ДанныеКартинки  - тип должен быть ДвоичныеДанные
ДанныеКартинки.Записать(ИмяФайла);
//вот это ИмяФайла выводите в картинку вашего отчета


Вы указали мне где искать. Вставил в ваш фрагмент строку

ДанныеКартинки = РаботаСФайлами.ДвоичныеДанныеФайла(Номенклатура.ФайлКартинки);

и всё заработало. Благодарю Вас!


Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск