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

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

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

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

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


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

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

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

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



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


авторНа обои листах у меня мастердата, данные листы получают из одного запроса.
Этого в тексте изначально небыло.
...
Рейтинг: 0 / 0
14.01.2020, 11:46
    #39913559
AndreyShepetkov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
fastreport. Чередование листов отчета
авторЭтого в тексте изначально небыло.
Перечитал, то что написал сначала еще раз и дописал. Извиняюсь за корявое и неполное изложение.
...
Рейтинг: 0 / 0
14.01.2020, 11:49
    #39913562
DimaBr
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
fastreport. Чередование листов отчета
авторНа обои листах у меня мастердата, данные листы получают из одного запроса.
Если у вас на обоих Листах мастердата, то сначала печаетется весь датасет на первом листе (только первые листы), потом весь датасет на втором листе (вторые листы).
Вариант решения
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
14.01.2020, 13:34
    #39913633
AndreyShepetkov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
fastreport. Чередование листов отчета
DimaBr,

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

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

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

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


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