powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / fastreport. Чередование листов отчета
14 сообщений из 14, страница 1 из 1
fastreport. Чередование листов отчета
    #39913121
AndreyShepetkov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день!
Отчет формирует заявку, состоящую из двух листов: лицевая сторона и оборотная.
При пакетном формировании по нескольким id сначала формируются все первые листы, потом формируются все вторые листы.
Двусторонняя печать затруднительна

Как реализовать формирование отчета так, чтобы формировался первый лист и после него второй лист по одному id
Далее так же по следующему id.

На данный момент реализовано так.
При нажатии на кнопку печати срабатывает следующий код:
if z = 1 then
begin
ZO.Visible := true;
ZO2.Visible := true;
end;
...
Рейтинг: 0 / 0
fastreport. Чередование листов отчета
    #39913125
DimaBr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что значит "При пакетном формировании" ?
Вы несколько раз подготавливаете шаблон с разным ID, а потом показываете отчёт ?
Или у вас к самому отчёту подключен Датает ?
...
Рейтинг: 0 / 0
fastreport. Чередование листов отчета
    #39913127
AndreyShepetkov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DimaBr,

к отчету подключен sql запрос.

на форме отображается список условных id (адрес, прочие данные). Ставлю галочки на нужных id, по кнопке вывожу заявки на двух листах.


Получается из формы я беру параметры в виде список id, передаю их в sql-запрос, который привязан к каждому листу заявки.
...
Рейтинг: 0 / 0
fastreport. Чередование листов отчета
    #39913190
DimaBr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AndreyShepetkovПри пакетном формировании по нескольким id сначала формируются все первые листы, потом формируются все вторые листы.
1. Создал датасет с одним полем, записал в него буквы алфавита.
2. Создал отчёт, добавил 2 страницы, на первой странице ДВЕ мемки: "Страница 1" и "Колонка из датасета", на второй "Страница 2"
3. frxDBDataset1 - с одной стороны к отчёту, с другой стороны к Датасету
4. Нажал на просмотр
В результате: Страница1, Страница 2, Страница 1, Страница 2
ЧЯДНТ ?
...
Рейтинг: 0 / 0
fastreport. Чередование листов отчета
    #39913199
Shuraken
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Наиболее простой вариант - использовать subreport. Примерная структура отчёта
MasterData
Child1 -> Subreport
...
Рейтинг: 0 / 0
fastreport. Чередование листов отчета
    #39913245
DimaBr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Зачем использовать СубРепорт, если у автора уже всё реализовало
AndreyShepetkov
к отчету подключен sql запрос.

Отчёт, к которому подключён запрос строится целиком для каждой записи запроса. То есть сначала будут 2 страницы для первой записи, потом 2 страницы для второй записи и т.д.
...
Рейтинг: 0 / 0
fastreport. Чередование листов отчета
    #39913527
AndreyShepetkov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shuraken,

через сабрепорт не получилось. Все равно сперва выходят все первые листы, потом все вторые листы.
...
Рейтинг: 0 / 0
fastreport. Чередование листов отчета
    #39913530
AndreyShepetkov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DimaBr,

а можtnt пожалуйста чуть подробнее описать? не совсем понял задумку..
Вся суть я так понял в 3м пункте..
frxDBDataset1 - с одной стороны к отчёту, с другой стороны к Датасету



На обои листах у меня мастердата, данные листы получают из одного запроса.
...
Рейтинг: 0 / 0
fastreport. Чередование листов отчета
    #39913553
DimaBr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вся суть в том, что я сделал так как вы написали.
AndreyShepetkovк отчету подключен sql запрос.
Шаблон отчёта вы не показали, пооэтому пришлось делать по написанному


авторНа обои листах у меня мастердата, данные листы получают из одного запроса.
Этого в тексте изначально небыло.
...
Рейтинг: 0 / 0
fastreport. Чередование листов отчета
    #39913559
AndreyShepetkov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
авторЭтого в тексте изначально небыло.
Перечитал, то что написал сначала еще раз и дописал. Извиняюсь за корявое и неполное изложение.
...
Рейтинг: 0 / 0
fastreport. Чередование листов отчета
    #39913562
DimaBr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторНа обои листах у меня мастердата, данные листы получают из одного запроса.
Если у вас на обоих Листах мастердата, то сначала печаетется весь датасет на первом листе (только первые листы), потом весь датасет на втором листе (вторые листы).
Вариант решения
1. Написать свой "движок" отчёта - OnManualBuild, типа
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
procedure Page1OnManualBuild(Sender: TfrxComponent);
begin
  while not Dataset.Eof do begin
    Engine.ShowBand(MasterData1);
    Engine.ShowBand(MasterData2);
    Dataset.Next;
  end;
end;



2. Сделать вторую страницу на Дочернем бенде, и установить StartNewPage := true
...
Рейтинг: 0 / 0
fastreport. Чередование листов отчета
    #39913633
AndreyShepetkov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DimaBr,

Большое спасибо!
Воспользовался вторым вариантом.
...
Рейтинг: 0 / 0
fastreport. Чередование листов отчета
    #39915763
gpi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AndreyShepetkov
к отчету подключен sql запрос.

Должно работать. При TfrxReport.Datset = Query
...
Рейтинг: 0 / 0
fastreport. Чередование листов отчета
    #39915769
DimaBr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
gpi
AndreyShepetkov
к отчету подключен sql запрос.

Должно работать. При TfrxReport.Datset = Query

Он думает об одном, а пишет другое. Никакого TfrxReport.Datset = Query там как оказалось нет
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / fastreport. Чередование листов отчета
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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