Hare.ru @ Коллективный разум / Hare.ru @ Дикое место

Архив hare.ru 
Мысли, конвертированные в текст

Собственные руки TM


Все статьи раздела

Как распечатать произвольную картинку?

Никита Зайцев (WildHare) (где-то в 1999)

Задача крайне проста — в нашем распоряжении имеется энное количество изображений (растровых или векторных, не суть важно), и мы хотим “на лету” вставить в табличный документ одно из этих изображений. Само собой, изображения хранятся в виде отдельных файлов соответствующих форматов, а имя нужного файла станет известно только в самый последний момент.

Что делать?

Можно потратить некоторое количество времени на борьбу со встроенным объектом “Картинка” и даже, чем черт не шутит, добиться какого-то положительного результата. Но можно и не добиться. Во всяком случае, я не добился.

Можно и по-другому. В глобальном модуле пишем функцию:

Функция Рисунок ( Куда,Откуда ) Экспорт
	Куда.Загрузить(Откуда);
КонецФункции
В шаблоне таблицы организуем “посадочное место” для картинки (это делается так: F10-Таблица-Вставить рисунок-Картинка-растянуть до нужного размера-Отмена). В свойствах полученного объекта прописываем вызов своей функции (предполагается, что Таб — это имя таблицы, а Путь — переменная процедуры печати):

Рисунок(Таб.ТекущийОбъект,Путь);

После всего этого в процедуре печати остается определить, какой графический файл нам нужен:

Путь="C:\My_NonXXX_Pix\025.jpg";
Таб.ВывестиСекцию("КартинаМаслом");
Готово дело, картинка печатается. Единственное, чего еще не хватает — программного управления размерами картинки, но тут уж ничего не поделать. Все-таки 1С — это бухгалтерский софт, а не Photoshop. ;-)

Партнеры:


Также может быть интересно:

Канал Россия 1 на http://spbtvonline.ru/
   
 Сайт поддерживается за счет партнеров:
:::... Сайт содержит архив двух версий hare.ru Карта сайта