Связь файла с рисунком с rtf отчетом

Программирование на Атлантисе (VIP, FCOM, ARD), FastReport

Модераторы: m0p3e, edward_K, Модераторы

Ответить
Аля
Посетитель
Сообщения: 36
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Тюмень

Связь файла с рисунком с rtf отчетом

Сообщение Аля »

Здравствуйте!
Есть такая задача - к накладной выводить соответсвующий рисунок (сертификат на товар).
Пока думается реализовать так - завести внешний атрибут к матценности, в котором указать путь к файлу с сертификатом.
Затем в rtf отчете сделать связь с этим файлом.
Вот как собственно эту связь реализовать?
Через вставка - объект - из файла вставляю нужное поле, выглядит примерно так:
{LINK Word.Document.8 "C:\\1.doc" "" \a \p}
Но как во время формирования отчета изменить имя файла?
{LINK Word.Document.8 "C:\\^.doc" "" \a \p}
^ здесь не воспринимается Галактикой как поле... :(
Может есть другие варианты реализации?
DarkAngel27
Местный житель
Сообщения: 228
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Москва
Контактная информация:

Сообщение DarkAngel27 »

{LINK Word.Document.8 ("C:\\"+<переменная>+".doc") "" \a \p}
Так не пробовали?
itwin
Сообщения: 3
Зарегистрирован: 08 июн 2005, 15:25

Я так делал

Сообщение itwin »

При формировании накладной выводите файлики из мемо поля
с именем 1.bmp 2.bmp 3.bmp
те по номеру позиции
а в word
сделайте так:

Код: Выделить всё

.{?Internal; numPPic =1 
.fields
barkod (mc+' '+ PosSertif)        SpStep_WMCPROP   _Izdel _Matter        _Color           SpStep_GARANT       SpStep_Netto        SpStep_mTara 
(DoubleToStr(double(kol),'[|-]366667.8899')) ed
  oplmax
 (nvagon+' '+SpStep_NSERTIF+' '+nkvit)
.endfields
{INCLUDEPICTURE "X:\\PIC\gal_1_.bmp" \* MERGEFORMAT \d}{} 	
Рисунок: ^   ^   ^Изделие: ^Материал: ^Цвет: ^Длина:^Ширина: ^Высота:^Количество:^ ^Дата сдачи: ^Примечание:^

.{?Internal; numPPic =2// и так далее наделайте 
.fields
barkod (mc+' '+ PosSertif)        SpStep_WMCPROP   _Izdel _Matter        _Color           SpStep_GARANT       SpStep_Netto        SpStep_mTara 
(DoubleToStr(double(kol),'[|-]366667.8899')) ed
  oplmax
 (nvagon+' '+SpStep_NSERTIF+' '+nkvit)
.endfields
{INCLUDEPICTURE "X:\\PIC\gal_2_.bmp" \* MERGEFORMAT \d}{}
 	Рисунок: ^   ^   ^Изделие: ^Материал: ^Цвет: ^Длина:^Ширина: ^Высота:^Количество:^ ^Дата сдачи: ^Примечание:^

на форуме itpark.ru вроде есть этот пример
Аля
Посетитель
Сообщения: 36
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Тюмень

Сообщение Аля »

Дело в том, что файлики лежат просто в папке, а не в мемо-полях.
Поэтому и хотелось бы иметь возможность задавать имя поля.
Но похоже это невозможно :(
Тогда сделаю так - просто нужные файлы копировать и переименовывать в 1.bmp, 2.bmp и т.д.

Спасибо за ответы, DarkAngel27 и itwin!
Savich
Постоянный гость
Сообщения: 52
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Беларусь

Сообщение Savich »

У меня была похожая задача.
Необходимо было в зависимости от значений внешних атрибутов к группе партий выводить (или не выводить) в таблицу rtf-отчета рисуноки (логотипы стандартов), т.к. не вся продукция прошла необходимую сертификацию.
Я писал об этом в форуме, но тогда приемлемого решения не нашлось, возможно я не совсем коррекно описал задачу.
Идея была такая: откомпилировать рисунки в ресурс, а затем к ним обращаться по мере необходимости.
Тогда я не нашел, как вытащить из ресурса bitmap в rtf-отчет и сделал вывод всех логотипов внаглую, не зависимо от значений атрибутов.

Рекламаций не поступило, но после того, как эта тема прозвучала на форуме вновь, мне хочется переделать отчет.

Если не затруднит, господа, ответьте на два вопроса:

1. Что такое {INCLUDEPICTURE и где можно про это почитать?

2. Можно ли загнать откомпилированный bitmap из ресура в memo-переменную?

Заранее благодарен за любую информацию.
Аля
Посетитель
Сообщения: 36
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Тюмень

Сообщение Аля »

По поводу первого вопроса - {INCLUDEPICTURE} это поле в word.
Сделайте в word-e Вставка - Поле - и там выберите этот {INCLUDEPICTURE}, укажите имя файла и все остальные параметры. Синтаксис вставленного поля можно увидеть выделив его и нажав shift+f9.
К сожалению такие поля средствами Галактики ни создавать, ни редактировать похоже невозможно.
Ответить