powered by simpleCommunicator - 2.0.36     © 2025 Programmizd 02
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Fastreport - несколько итоговых бэндов - как?
14 сообщений из 14, страница 1 из 1
Fastreport - несколько итоговых бэндов - как?
    #40109559
GrigoriyFomin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Приветствую всех. Есть отчет фастрепорт - чек продажи. Все выводится хорошо и ровно, но нужно динамически выводить в конце чека всякие акции или скидки - это хотелось сделать несколькими бэндами футерами, которые в рантайме показывались бы или скрывались. но ФР не дает сделать несколько футеров на 1 мастердата. У меня датасет один, а футеров - несколько должно быть - как обмануть систему? reportsummary и pagefooter тоже уже заняты.
...
Рейтинг: 0 / 0
Fastreport - несколько итоговых бэндов - как?
    #40109561
Softologic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
GrigoriyFomin
Приветствую всех. Есть отчет фастрепорт - чек продажи. Все выводится хорошо и ровно, но нужно динамически выводить в конце чека всякие акции или скидки - это хотелось сделать несколькими бэндами футерами, которые в рантайме показывались бы или скрывались. но ФР не дает сделать несколько футеров на 1 мастердата. У меня датасет один, а футеров - несколько должно быть - как обмануть систему? reportsummary и pagefooter тоже уже заняты.

Скрываемые\показываемые в рантайме childband не вариант?
PS: Кодить можно прям в самом репорте кстати.
...
Рейтинг: 0 / 0
Fastreport - несколько итоговых бэндов - как?
    #40109564
GrigoriyFomin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Softologic,

а что даст чайдбанды? они ж вроде от родителя зависят? как это вписывается модель произвольного количества бандов?
...
Рейтинг: 0 / 0
Fastreport - несколько итоговых бэндов - как?
    #40109576
ъъъъъ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
GrigoriyFomin,

в качестве футера используй бэнд master data, но не привязывай к нему датасет и установи число записей == 1.
...
Рейтинг: 0 / 0
Fastreport - несколько итоговых бэндов - как?
    #40109578
ъъъъъ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
GrigoriyFomin,
кроме того. Любой бэнд можешь расширить по высоте и добавить в него дополнительные поля динамически.
...
Рейтинг: 0 / 0
Fastreport - несколько итоговых бэндов - как?
    #40109583
Шавлюк Евгений
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GrigoriyFomin,

На каждое условие сделать по child-бенду.
Т.е. к футеру сделаем Child1, к нему в свою очередь Child2 и т.д.

К каждому из TfrxChild пишем такой обработчик:
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
procedure Child2OnBeforePrint(Sender: TfrxComponent);
begin
  with TfrxChild(Sender) do
  begin
    Visible := <Условие1> = 1;
      
    if not Visible and (Child <> nil) then
      Engine.ShowBand(Child);                                                                     
  end;            
end;



И кстати, при таком подходе главному бенду можно сделать высоту = 0
...
Рейтинг: 0 / 0
Fastreport - несколько итоговых бэндов - как?
    #40109584
GrigoriyFomin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ъъъъъ
GrigoriyFomin,
кроме того. Любой бэнд можешь расширить по высоте и добавить в него дополнительные поля динамически.

не, этот секес я не переживу, ФР весьма своеобразно реагирует на свои же элементы - то места не хватает на текст, он его топу не показывает, так как пару пикселей не хватило. А выставление выравнивания по ширине таких граблей несет....
...
Рейтинг: 0 / 0
Fastreport - несколько итоговых бэндов - как?
    #40109585
ъъъъъ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
GrigoriyFomin,

да всё там прозрачно и просто, ты документацию перечти.
...
Рейтинг: 0 / 0
Fastreport - несколько итоговых бэндов - как?
    #40109623
Softologic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Шавлюк Евгений
GrigoriyFomin,

На каждое условие сделать по child-бенду.
Т.е. к футеру сделаем Child1, к нему в свою очередь Child2 и т.д.

К каждому из TfrxChild пишем такой обработчик:
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
procedure Child2OnBeforePrint(Sender: TfrxComponent);
begin
  with TfrxChild(Sender) do
  begin
    Visible := <Условие1> = 1;
      
    if not Visible and (Child <> nil) then
      Engine.ShowBand(Child);                                                                     
  end;            
end;




И кстати, при таком подходе главному бенду можно сделать высоту = 0

+1
...
Рейтинг: 0 / 0
Fastreport - несколько итоговых бэндов - как?
    #40109653
GrigoriyFomin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Шавлюк Евгений
GrigoriyFomin,
На каждое условие сделать по child-бенду.
Т.е. к футеру сделаем Child1, к нему в свою очередь Child2 и т.д.
кстати, при таком подходе главному бенду можно сделать высоту = 0

никогда с чайлдами не имел дело - они по сути заменяют нужные мне итоговые бэнды? То есть я делаю сколько мне надо чайлдов и манипулирую ими как хочу? И это решает мою проблему, как я понял? Мне просто в боевом проекте играться негде, поэтому если реализовывать, то чтоб наверняка
...
Рейтинг: 0 / 0
Fastreport - несколько итоговых бэндов - как?
    #40109661
DimaBr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вариант 1. Несколько мемок, видимостью и позиционированием (можно например использовать Align) управлять из кода скрипта
Вариант 2. Несколько Child-band с мемками, с управлением видимостью из скрипта
Вариант 3. ЧЕК - обычно матричный принтер, ОДНА мемка (в футере)с динамическим контентом наполняемым из скрипта
Вариант 4. Несколько СТРАНИЦ со своими Band+memo с управлением видимостью из скрипта
...
Рейтинг: 0 / 0
Fastreport - несколько итоговых бэндов - как?
    #40109754
Шавлюк Евгений
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GrigoriyFomin,

Да. Все они вместе обрабатываются похоже как если бы они были частью главного бенда, в твоем случае к футера.
Последовательность чайлдов - односвязный список, и если пользоваться TfrxChild без указанного мною кода, то после первого невидимого, нижние тоже показываться не будут.
...
Рейтинг: 0 / 0
Fastreport - несколько итоговых бэндов - как?
    #40109955
Fr0sT-Brutal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Одна мемка, наполняемая перед показом, и всё
...
Рейтинг: 0 / 0
Fastreport - несколько итоговых бэндов - как?
    #40110317
gpi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Шавлюк ЕвгенийПоследовательность чайлдов - односвязный список, и если пользоваться TfrxChild без указанного мною кода, то после первого невидимого, нижние тоже показываться не будут.
У бэндов можно устанавливать PrintChildIfInvisible = True и управлять только видимостью конкретных бэндов. Оставшаяся часть цепочки бэндов будет отображаться.
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Fastreport - несколько итоговых бэндов - как?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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