Topic: [Отчет] Вывод изображения в отчет, при использовании режима LinkFile

Вывод изображения в отчет, при использовании режима LinkFile у компонента DBImage требует небольшого скрипта и вычисляемого поля, т.к. при использования режима LinkFile, файл изображения хранится не в базе данных, а на диске компьютера.


Проект с примером:
http://myvisualdatabase.com/forum/misc. … download=1

Dmitry.

Re: [Отчет] Вывод изображения в отчет, при использовании режима LinkFile

Добрый день, Дмитрий.
Подскажите, я немного не понял. Как то пример у меня странно отображается. Работает только с теми записями, которые уже есть в примере, а новые не отображает.  Я правильно понял - фото в примере все равно пишется в базу и копия в папку photo. Так? Но при этом фото все равно забивает базу со временем. А можно ли сделать так, чтобы был компонет save file in database (с типом linkfile), например ссылка на фото, а потом эту фотку достать и вставить в отчет?

Re: [Отчет] Вывод изображения в отчет, при использовании режима LinkFile

Приветствую,


проверил пример, все ок, новые записи с фото также появляются в отчете.
проблема с данным проектом? или в вашем?


фото непосредственно в базу со временем не сохраняются, сохраняются исключительно в папку.

Dmitry.

Re: [Отчет] Вывод изображения в отчет, при использовании режима LinkFile

Здравствуйте, Дмитрий!
А как быть, если изображения хранятся в сетевой папке? Сохраняются они туда отлично, в проекте ведут себя нормально. А вот в отчёт не хотят попадать. Экспериментировал, в том числе в Вашем проекте с примером, всё работает, в отчет фото не выводится.

Post's attachments

Attachment icon Снимок.PNG 3.3 kb, 394 downloads since 2018-01-19 

Re: [Отчет] Вывод изображения в отчет, при использовании режима LinkFile

ilych3 wrote:

Здравствуйте, Дмитрий!
А как быть, если изображения хранятся в сетевой папке? Сохраняются они туда отлично, в проекте ведут себя нормально. А вот в отчёт не хотят попадать. Экспериментировал, в том числе в Вашем проекте с примером, всё работает, в отчет фото не выводится.

Вопрос решился так:
procedure Picture1OnBeforePrint(Sender: TfrxComponent);
begin
Picture1.LoadFromFile(<Report."employees.photo_file">); 
end;

Re: [Отчет] Вывод изображения в отчет, при использовании режима LinkFile

Столкнулся вот с такой бедой. В пределах одной таблицы всё работает хорошо, но как только в формирование результата добавляешь смежную таблицу вылетает ошибка. Связи таблиц настроены верно, по отдельности всё работает отлично. Как быть?

Post's attachments

Attachment icon Снимок.PNG 11.5 kb, 321 downloads since 2018-10-23 

Re: [Отчет] Вывод изображения в отчет, при использовании режима LinkFile

metatron wrote:

Столкнулся вот с такой бедой. В пределах одной таблицы всё работает хорошо, но как только в формирование результата добавляешь смежную таблицу вылетает ошибка. Связи таблиц настроены верно, по отдельности всё работает отлично. Как быть?

Пожалуйста создайте отдельную тему, приложите ваш проект, также сообщите текст ошибки.

Dmitry.

Re: [Отчет] Вывод изображения в отчет, при использовании режима LinkFile

ilych3 wrote:
ilych3 wrote:

Здравствуйте, Дмитрий!
А как быть, если изображения хранятся в сетевой папке? Сохраняются они туда отлично, в проекте ведут себя нормально. А вот в отчёт не хотят попадать. Экспериментировал, в том числе в Вашем проекте с примером, всё работает, в отчет фото не выводится.

Вопрос решился так:
procedure Picture1OnBeforePrint(Sender: TfrxComponent);
begin
Picture1.LoadFromFile(<Report."employees.photo_file">); 
end;

Добрый день! А у вас база SQLite или MySQL?
У меня второе и не получается отобразить картинку в отчете, файлы тоже в сетевой папке.

9 (edited by SNKip 2021-11-08 06:35:25)

Re: [Отчет] Вывод изображения в отчет, при использовании режима LinkFile

В общем у меня заработало так:

procedure Picture1OnBeforePrint(Sender: TfrxComponent);
var
       s, drive, path: string;                                
begin
       drive:= 'W';                                          
       s := <Report."Макет">;
       if s<>'' then Delete(s, 1, 1);                    
       path := drive + s;                                  
       Picture1.FileLink:= path;                                                
end;

Базу использую MySQL, картинки в отдельной папке на сетевом диске. Скрипт пишется в самом отчете на вкладке "Code", отчет нужно открывать в дизайнере.
Вычисляемые поля в таблицу не добавлял, просто указал в запросе для отчета (у меня отчет запросом формируется) поле "photo_filename" (у вас может называться по другому, в зависимости от названия поля с картинкой).
Также в переменную пришлось занести букву диска, иначе путь без нее загружается. Может можно как-то более правильно сделать, но и такой варик у меня работает.