Никита Зайцев (WildHare) где-то в 1999 Задача крайне проста в нашем распоряжении имеется энное количество изображений (растровых или векторных,
не суть важно), и мы хотим на лету вставить в табличный документ одно из этих изображений. Само собой,
изображения хранятся в виде отдельных файлов соответствующих форматов, а имя нужного файла станет известно только
в самый последний момент.
Что делать?
Можно потратить некоторое количество времени на борьбу со встроенным объектом Картинка и даже, чем черт не
шутит, добиться какого-то положительного результата. Но можно и не добиться. Во всяком случае, я не добился.
Можно и по-другому. В глобальном модуле пишем функцию:
Функция Рисунок ( Куда,Откуда ) Экспорт
Куда.Загрузить(Откуда);
КонецФункции
В шаблоне таблицы организуем посадочное место для картинки (это делается так:
F10-Таблица-Вставить рисунок-Картинка-растянуть до нужного размера-Отмена). В свойствах
полученного объекта прописываем вызов своей функции (предполагается, что Таб это имя таблицы,
а Путь переменная процедуры печати):
Рисунок(Таб.ТекущийОбъект,Путь);
После всего этого в процедуре печати остается определить, какой графический файл нам нужен:
Путь="C:\My_NonXXX_Pix\025.jpg";
Таб.ВывестиСекцию("КартинаМаслом");
Готово дело, картинка печатается. Единственное, чего еще не хватает программного управления
размерами картинки, но тут уж ничего не поделать. Все-таки 1С это бухгалтерский софт, а не Photoshop. ;-)
|