Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Delphi [игнор отключен] [закрыт для гостей] / FastReport fp3 / 25 сообщений из 29, страница 1 из 2
01.02.2018, 15:14
    #39594977
markamarka
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FastReport fp3
Добрый день!

Столкнулись с проблемой, есть уже готовый отчет в формате fp3 со страницами формата A4, необходимо его вывести на экран в формате A3 и так чтоб было две страницы на одном листе.
Может кто сталкивался и сможет подсказать как решить данную проблему

Спасибо
...
Рейтинг: 0 / 0
01.02.2018, 15:17
    #39594982
LSV
LSV
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FastReport fp3
Сделать формат А3 и вывод в 2 колонки. Правда могут быть проблемы с выравниванием.
...
Рейтинг: 0 / 0
01.02.2018, 15:17
    #39594983
Kast2K
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FastReport fp3
...
Рейтинг: 0 / 0
01.02.2018, 15:45
    #39595010
markamarka
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FastReport fp3
Kast2K,

мне надо не на печать отправить, а именно вывести новый fp3 на экран
...
Рейтинг: 0 / 0
01.02.2018, 15:46
    #39595011
markamarka
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FastReport fp3
LSV,

это я понимаю , хотелось бы понять как это сделать
...
Рейтинг: 0 / 0
01.02.2018, 15:48
    #39595012
wadman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FastReport fp3
Что-то мне припоминается, что это в фасте (четвертом) уже имеется.
Он умеет автоматом объединять мелкие страницы под формат бумаги в принтере.
...
Рейтинг: 0 / 0
01.02.2018, 15:49
    #39595013
wadman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FastReport fp3
markamarkaмне надо не на печать отправить, а именно вывести новый fp3 на экран
И это соответственно будет на листе А3.
...
Рейтинг: 0 / 0
01.02.2018, 15:50
    #39595014
wadman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FastReport fp3
Во: PrintOptions.PrintMode = pmJoin. Соответственно в свойствах принтера указать бумагу А3, а отчет должен быть А4.
...
Рейтинг: 0 / 0
01.02.2018, 15:51
    #39595017
markamarka
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FastReport fp3
wadman,

в отчете уже готовом fp3 есть несколько страниц формата A4, его нужно преобразовать так ,чтобы страницы были формата A3 и на одном листе было 2 страницы отчета
...
Рейтинг: 0 / 0
01.02.2018, 15:54
    #39595020
markamarka
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FastReport fp3
wadman,

еще раз отмечу, мне не на печать отправить, а именно преобразовать отчет и вывести на экран
...
Рейтинг: 0 / 0
01.02.2018, 15:55
    #39595022
wadman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FastReport fp3
markamarkaеще раз отмечу
И я еще раз отмечу: превью формируется именно так, как уйдет в печать (два листа А4 на одном А3). Печатать при этом не обязательно.

Но мы можем еще пару раз этот момент обсудить...
...
Рейтинг: 0 / 0
01.02.2018, 16:00
    #39595024
markamarka
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FastReport fp3
wadman,


тогда я не очень понимаю как это сделать, можно поподробнее
вот загрузили в превью отчет fp3
дальше как изменить ему формат бумаги и объединить?
...
Рейтинг: 0 / 0
01.02.2018, 16:31
    #39595051
wadman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FastReport fp3
Отчет и так уже A4. Остается поменять опции у frxReport: 21158133 и у принтера выставить А3.
...
Рейтинг: 0 / 0
01.02.2018, 16:51
    #39595072
markamarka
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FastReport fp3
wadman,

извините, но непонятно, когда нужно поставить

frxReport.PreviewPages.LoadFromFile('1.fp3');

есть frxReport.PreviewPages.Page[1] и frxReport.PreviewPages.Page[2] (могу поменять каждой страницы размер)
но как их сделать на одной стрианце
написать frxReport.PrintOptions.PrintMode := pmJoin? так не помогает все равно остается 2 страницы



что нужно написать, чтобы после выполнения frxReport.ShowPreparedReport было то что надо
...
Рейтинг: 0 / 0
01.02.2018, 17:06
    #39595090
wadman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FastReport fp3
markamarkafrxReport.ShowPreparedReport
Это нужно делать при генерации отчета, а не после (когда страницы УЖЕ сформированы).

Смысл этих "махинаций" какой, если не печать?
...
Рейтинг: 0 / 0
01.02.2018, 17:16
    #39595104
markamarka
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FastReport fp3
wadman,

отчеты передаются из другой организации в формате fp3 -это не обсуждается, условия тут поставить нельзя
клиент просит , чтобы была возможность преобразовать отчет и получить его на экране в таком виде, он говорит, ему так надо
...
Рейтинг: 0 / 0
01.02.2018, 17:22
    #39595108
wadman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FastReport fp3
Тогда остается своя форма предпросмотра.
...
Рейтинг: 0 / 0
01.02.2018, 17:27
    #39595110
markamarka
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FastReport fp3
wadman,

а какая разница? так и делается через свою
только надо как то поместить все объекты первой страницы и второй на одну страницу - вот это не можем найти как
...
Рейтинг: 0 / 0
01.02.2018, 17:40
    #39595123
wadman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FastReport fp3
markamarkaвот это не можем найти как
У страниц есть метод
Код: pascal
1.
2.
procedure DrawPage(Index: Integer; Canvas: TCanvas; ScaleX, ScaleY,
      OffsetX, OffsetY: Extended); override;
...
Рейтинг: 0 / 0
02.02.2018, 06:39
    #39595312
gpi
gpi
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FastReport fp3
На экран вывести не получится. Нужно только переформировать отчёт.
Если очень нужно, то можно попробовать переносить каждый объект из сформированного отчёта на новую страницу формата А3
...
Рейтинг: 0 / 0
02.02.2018, 08:55
    #39595372
markamarka
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FastReport fp3
gpiНа экран вывести не получится. Нужно только переформировать отчёт.
Если очень нужно, то можно попробовать переносить каждый объект из сформированного отчёта на новую страницу формата А3

вот мне это и надо, только что-то не получается, как целиком страницу перенести - тут есть примеры, а вот по объектно не получается
...
Рейтинг: 0 / 0
02.02.2018, 09:00
    #39595376
markamarka
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FastReport fp3
уже попробовали сам файл просто поправить - работает, но страшновато, вдруг в нем чего-нибудь не то поправишь не ту позицию и потом будет неправильно
хотелось бы именно процедурами, что берется объект со страницы и переносится в такую-то позицию другой страницы
...
Рейтинг: 0 / 0
02.02.2018, 18:29
    #39595829
Victor Cookin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FastReport fp3
markamarka,

А что в техподдержке фаста рекомендуют?
...
Рейтинг: 0 / 0
02.02.2018, 19:19
    #39595853
Victor Cookin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FastReport fp3
Как я понимаю - из

1
2
3
4
5
6
7


надо получить
1 2
3 4
5 6
7

Собственно, содержимое страниц не меняется. Просто страницы попарно объединяются. Так? И всё это только на экране, печатать не надо.
...
Рейтинг: 0 / 0
02.02.2018, 20:15
    #39595880
_Den_Z_
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FastReport fp3
markamarka,

Как-то так:
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
var
  i: Integer;
  c: TfrxComponent;
  IsEven: Boolean;
begin
  frxReport.PrepareReport();
  IsEven := False;
  i := 0;
  while (i < frxReport.PreviewPages.Count) do
    if IsEven then
    begin
      frxReport.PreviewPages.Page[i - 1].PaperSize := DMPAPER_A3;
      while (frxReport.PreviewPages.Page[i].Objects.Count > 0) do
      begin
        c := TfrxComponent(frxReport.PreviewPages.Page[i].Objects[0]);
        c.Left := frxReport.PreviewPages.Page[i - 1].PaperWidth * fr01cm / 2;
        c.Parent := frxReport.PreviewPages.Page[i - 1];
      end;
      frxReport.PreviewPages.ModifyPage(i - 1, frxReport.PreviewPages.Page[i - 1]);
      frxReport.PreviewPages.ModifyPage(i, frxReport.PreviewPages.Page[i]);
      frxReport.PreviewPages.DeletePage(i);
      IsEven := False;
    end
    else
    begin
      IsEven := True;
      Inc(i);
    end;
  frxReport.ShowPreparedReport;
end;
...
Рейтинг: 0 / 0
Форумы / Delphi [игнор отключен] [закрыт для гостей] / FastReport fp3 / 25 сообщений из 29, страница 1 из 2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]