powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / FastReport. Вертикальные бэнды
25 сообщений из 36, страница 1 из 2
FastReport. Вертикальные бэнды
    #39702008
OlyaLora
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброго времени суток! И с праздником!
Собственно вопрос простой: можно ли заставить FR переносить заголовки с данными на следующую страницу, если имеются вертикальные бэнды?
На странице: 2 "обычных" горизонтальных GroupHeaderов, 2 вертикальных GroupHeaderов. Ну, и соответственно, 2 MasterDatы.
Задача состоит в том, чтобы печатать каждый из GroupHeaderов с его MasterDatой на отдельной странице.
Решения почему-то, ни в нете, ни в документации не нашлось.
...
Рейтинг: 0 / 0
FastReport. Вертикальные бэнды
    #39702163
OlyaLora
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вот картинка, если не совсем понятно по тексту...

Причем, если MasterData достаточно длинная (т.е в запросе несколько/много записей), то сам FR без труда переносит заголовки с содержимым как надо сам. НО....количество строк в запросе, разумеется, не фиксированное... Да и страница по-хорошему должна быть бесконечной ширины.

Есть идеи? Впервые работаю с вертикальными бэндами. Мож, что-то не так делаю?


...
Рейтинг: 0 / 0
FastReport. Вертикальные бэнды
    #39702164
DimaBr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вертикальные бэнды это анахронизм, доставшийся со времён безскриптового движка.
Проще динамически создать нужно количество колонок.
...
Рейтинг: 0 / 0
FastReport. Вертикальные бэнды
    #39702170
OlyaLora
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DimaBrПроще динамически создать нужно количество колонок.
Бе...создавать динамически (без обид). Мне не проще, честно говоря. У меня масса форм (включая и те, что с crosstabaми), где заранее неизвестна длина таблицы ни вниз, ни вправо. Писать для каждой из них динамическое построение как-то не хочется. + Тогда уж проще обойтись без FR, создавая отчет на том же Excel....
...
Рейтинг: 0 / 0
FastReport. Вертикальные бэнды
    #39702176
OlyaLora
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да и, чего уж там,...я и подумать не могла, что возникнет эта проблема (ибо с "обычным" горизонтальным расположение тех же бэндов таких проблем никогда не наблюдалось)
...
Рейтинг: 0 / 0
FastReport. Вертикальные бэнды
    #39702204
DimaBr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Поверьте, проще создать динамически, там кода то на 5-10 строчек
...
Рейтинг: 0 / 0
FastReport. Вертикальные бэнды
    #39702205
DimaBr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
СrossТabы такое же зло как и Вертикальные Бэнды.
Отчёт должен красиво печатать готовые данные, а не создавать их из имеющихся.
...
Рейтинг: 0 / 0
FastReport. Вертикальные бэнды
    #39702218
OlyaLora
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DimaBr,
Не буду с Вами спорить, хотя бы потому что глубоко уважаю Ваше мнение и опыт. Но мне по-прежнему не ясно, зачем вообще нужны данные бэнды, или зачем они наследуют св-во "StartNewPage"... И почему FR беспроблемно переносит те части данных, которые необходимо, самостоятельно, когда место на странице заканчивается...

В любом случае, спасибо за помощь ))
...
Рейтинг: 0 / 0
FastReport. Вертикальные бэнды
    #39702315
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DimaBr> СrossТabы такое же зло как и Вертикальные Бэнды.

Так точно.

Кода для "вручную" там не 5 строчек, конечно, но таки лучше самому.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
FastReport. Вертикальные бэнды
    #39702333
Фотография Кроик Семён
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DimaBrСrossТabы такое же зло как и Вертикальные Бэнды
Гаджимурадов РустамТак точно
Не всё так однозначно

Мне кажется, что многие решения, принятые при проектировании FastReport'а (как то типы бэндов, свойства, провайдеры баз данных или как они там назывались, скриптовый движок), были приняты с оглядкой на киллер-фичу фаста: возможность дизайнить отчеты конечным пользователем
...
Рейтинг: 0 / 0
FastReport. Вертикальные бэнды
    #39702338
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Едва ли много конечных пользователей смогут забацать СrossТab :)
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
FastReport. Вертикальные бэнды
    #39702339
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Справедливости ради, забацать нормальный СrossТab в общем
случае в принципе нетривиальная задача, даже для программиста.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
FastReport. Вертикальные бэнды
    #39702341
_Den_Z
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Гаджимурадов Рустам,
Пользователи могут делать через связку с FastCube ;)


OlyaLora ,
У вертикальных бэндов StartNewPage не обрабатывается, т.к. они не развиваются (сейчас весь упор делается на таблицу).
NewPage вызывать тоже бесполезно, т.к. вывод вертикальных отличается от обычного вывода.

Но можно воспользоваться скриптом, и менять Engine.PageWidth.
Что-то вроде :
Код: 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.
var
  nWidth, PageW: Extended;

procedure BandOnAfterPrint(Sender: TfrxComponent);
begin                   
 if Sender is TfrxGroupHeader then
 begin
   Engine.PageWidth := PageW;
   nWidth := 0;
 end;
 nWidth := nWidth + TfrxBand(Sender).Width;
 if Sender is TfrxGroupFooter then
   Engine.PageWidth := nWidth;
end;

procedure Page1OnBeforePrint(Sender: TfrxComponent);
begin
 PageW := Engine.PageWidth;
end;
  
procedure Page1OnAfterPrint(Sender: TfrxComponent);
begin
  Engine.PageWidth := PageW;
end;



Событие BandOnAfterPrint связывается с всеми вертикальными бэндами.
Накапливаем ширину, в вертикальном подвале устанавливаем PageWidth равным этой ширине. При печати заголовка сбрасываем, и повторяем заново.

Или подождать нового билда, функционал StartNewPage для вертикальных добавляется одной строчкой, в следующем билде добавлю ее обработку.
...
Рейтинг: 0 / 0
FastReport. Вертикальные бэнды
    #39702343
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А вот и начальник транспортного цеха.

_Den_Z> Пользователи могут делать через связку с FastCube ;)

Боюсь, этого большинство тоже не осилит.
Вообще, нелегкое это дело - ваять end-user
отчеты самим пользователям и тем паче дать
удобный инструмент для этого. У тех же 1С
он тоже далек от идеала.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
FastReport. Вертикальные бэнды
    #39702347
DimaBr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если хочешь сделать что-то хорошо, сделай это сам. (Фердинанд ПОРШЕ)
...
Рейтинг: 0 / 0
FastReport. Вертикальные бэнды
    #39702348
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Отож. Но у меня такая задача пока не стояла, вроде, а ради
спортивного интереса я за такую сложную задачу не возьмусь.
А формировать отчеты в МСО по шаблонам - это несложно.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
FastReport. Вертикальные бэнды
    #39702360
Фотография Gator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гаджимурадов РустамЕдва ли много конечных пользователей смогут забацать СrossТab :)
Ну... желание у заказчиков бывает.
И решения есть и компоненты кубов, и в Экселе... (даже у "девок" красивый Pivot). Другое дело, что сотрудники не пользуют их по разным причинам ( неудобно, нахненадь, время... их спросить ещё? ).
НО
imho Заказчик имеет [сеть] OLTP , но не имеет средств на OLAP
____________
когда тописал здесь или в соседнем форуме
...
Рейтинг: 0 / 0
FastReport. Вертикальные бэнды
    #39702364
Bali
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Нормальный кросстаб в Фастрепорте, если его "немного" допилить.
У меня основная масса отчетов на кросcтабах сделаны.
Динамически формируемый SQL запрос + CrossTab - самое то. Пользователи на одном шаблоне не один десяток отчетов могут сформировать, только выбирая что с чем группировать, в какой последовательности выводить, и где итоги нужны.
...
Рейтинг: 0 / 0
FastReport. Вертикальные бэнды
    #39702365
DimaBr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BaliНормальный кросстаб в Фастрепорте, если его "немного" допилить.
Допилите, пожалуйста, чтобы прятались колонки, сортировались, перемещались и фильтровались, чтобы заголовки были Custom и итоги по условию
...
Рейтинг: 0 / 0
FastReport. Вертикальные бэнды
    #39702398
чччД__
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DimaBrСrossТabы такое же зло как и Вертикальные Бэнды.
Отчёт должен красиво печатать готовые данные, а не создавать их из имеющихся.
Я как-то довольно долго боролся с ними (кросс), и даже добился нужного результата, но в итоге все чаще стал использовать событие OnManualBuild...
...
Рейтинг: 0 / 0
FastReport. Вертикальные бэнды
    #39702418
OlyaLora
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
_Den_Z,
Рада Вас слышать в наших рядах! :))
_Den_ZУ вертикальных бэндов StartNewPage не обрабатывается, т.к. они не развиваются (сейчас весь упор делается на таблицу).
NewPage вызывать тоже бесполезно, т.к. вывод вертикальных отличается от обычного вывода.Эт я уже поняла....
_Den_ZИли подождать нового билда, функционал StartNewPage для вертикальных добавляется одной строчкой, в следующем билде добавлю ее обработку.

Ну, и самый главный тривиальный вопрос: "Когда?" )))
(мне не то, чтобы сильно горит, но хотелось бы знать: делать по вышеописанной схеме или потерпеть)

ps Я так понимаю, в 6 версии этот функционал останется? (пару проектов уже переведены, до текущего еще не дошла). Опять же, как я понимаю, необходимый в данном случае функционал реализовывается в 6ке с помощью объекта "таблица"?



Гаджимурадов РустамБоюсь, этого большинство тоже не осилит.

Хотите верьте, хотите - нет. У меня такие есть пользователи. Да, их по пальцам перечесть, но есть же...



Гаджимурадов РустамDimaBr> СrossТabы такое же зло как и Вертикальные Бэнды.

Так точно.

Кода для "вручную" там не 5 строчек, конечно, но таки лучше самому.


Я согласна с Вами обоими, что штуки эти очень и очень негибкие. НО! Зачем же ж тогда вообще нужны такие объекты, если не использовать их по прямому назначению, хотя бы для несложных построений без оглядки на то
DimaBr, чтобы прятались колонки, сортировались, перемещались и фильтровались, чтобы заголовки были Custom и итоги по условию
А уже для более сложных решений использовать скрипты/excel и т п и т д...
Может, конечно, я и не права....Но справедливости ради, отмечу, что до сих пор практически все задачи удавалось решать при помощи стандартных методов, лишь только изредка прибегая к "изощрениям" под условие.
...
Рейтинг: 0 / 0
FastReport. Вертикальные бэнды
    #39703805
_Den_Z
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
OlyaLoraНу, и самый главный тривиальный вопрос: "Когда?" )))

Билд 5ки уже обновился.
Для FR6 будет позже, т.к. там еще ряд изменений будет. Приблизительно в середине этой недели.

OlyaLoraОпять же, как я понимаю, необходимый в данном случае функционал реализовывается в 6ке с помощью объекта "таблица"?

Да, но сейчас пока только через скрипт.
В 6.3 планируется упрощение работы с таблицей. Поэтому для перехода советую дождаться этого обновления.
...
Рейтинг: 0 / 0
FastReport. Вертикальные бэнды
    #39704086
OlyaLora
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
_Den_ZБилд 5ки уже обновился.
Если имеется в виду 6.18 билд, то еще на выходных пробовала, но что-то пошло не так....

Полагаю, что я некорректно работаю с вертикальными бэндами в принципе. Я вложила тестовый пример на базе из Demos (Таблица Sales). Предполагается, что отчет должен выводить на каждой отдельной странице информацию о каждом из заказов (печатая их не "вниз", а "вправо"), повторяя при этом на каждой из страниц заголовок (т е весь GroupHeader1 целиком). Т е должно получится что-то вроде листовки по каждому из заказов. Но заголовки в приложенном отчете не повторяются на каждой странице + у бэнда GroupHeader3 свойство StartNewPage будто бы игнорируется вообще.

_Den_ZВ 6.3 планируется упрощение работы с таблицей. Поэтому для перехода советую дождаться этого обновления.
Разумеется, подожду.
Спасибо )))
...
Рейтинг: 0 / 0
FastReport. Вертикальные бэнды
    #39706788
OlyaLora
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
OlyaLora Я вложила тестовый пример на базе из Demos (Таблица Sales).
Эммм.....неудачный пример?....Или может не совсем понятно объяснила поставленную цель?
...
Рейтинг: 0 / 0
FastReport. Вертикальные бэнды
    #39706913
_Den_Z
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
OlyaLora,

GroupHeader1 не будет перепечатываться, его объекты не лежат четко на пересечении вертикальных горизонтальных бэндов, поэтому расти в ширину он не будет (а будет напечатан как обычный бэнд). Для печати этого заголовка над всеми объектами которые переносятся при расти в ширину, должны быть соответствующие объекты строго на пересечении с вертикальными бэндами.
...
Рейтинг: 0 / 0
25 сообщений из 36, страница 1 из 2
Форумы / Delphi [игнор отключен] [закрыт для гостей] / FastReport. Вертикальные бэнды
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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