:: Visual Foxpro, Foxpro for DOS
Многодетальный отчет
PaulWist
Автор

Сообщений: 14625
Дата регистрации: 01.04.2004
Имеем классическую схему описанную Алексеем Климовым forum.foxclub.ru

CREATE CURSOR FalseCursor (Fix I)
INSERT INTO FalseCursor (Fix) VALUES ( 1 )
SELECT MyTable1
INDEX ON .T. TAG Fix
SELECT MyTable2
INDEX ON .T. TAG Fix
SELECT MyTable3
INDEX ON .T. TAG Fix
SELECT FalseCursor
SET RELATION TO .T. INTO MyTable1 ADDITIVE
SET RELATION TO .T. INTO MyTable3 ADDITIVE
SET RELATION TO .T. INTO MyTable3 ADDITIVE
SELECT FalseCursor
REPORT FORM ....

Всё работает хорошо, но имеется одна фича, которую не могу побороть:
-) FalseCursor - имеет записи
-) MyTable1 - имеет записи
-) MyTable2 (или 3) - нет записей, и у Детали для MyTable2 стоит "Start on new page"
то репорт выводит "паразитную пустую страницу" (пропечатывая для неё _PAGENO)/

Собственно вопрос: как "подавить" вывод такой "паразитной" страницы?


------------------
Есть многое на свете, друг Горацио...
Что и не снилось нашим мудрецам.
(В.Шекспир Гамлет)
Ratings: 0 negative/0 positive
Re: Многодетальный отчет
PaulWist
Автор

Сообщений: 14625
Дата регистрации: 01.04.2004
Танцы в "присядку" результата не дали (видать баг для SP2 Version:09.00.0000.7423).

Пришлось исполнять "танцы с бубном":
- подавление вывода на печать через On Entry Title band
- вывод в Null для расчета страниц через On Exit/On Entry для Detail Footer band/Detail Header band
- собственно вывод на печать,
благо до меня их уже много раз исполняли


------------------
Есть многое на свете, друг Горацио...
Что и не снилось нашим мудрецам.
(В.Шекспир Гамлет)
Ratings: 0 negative/0 positive
Re: Многодетальный отчет
Igor Korolyov

Сообщений: 34580
Дата регистрации: 28.05.2002
Сам отчётец бы приложил (с create cursor+insert в DE.BeforeOpenTables - или в отдельном prg для тестовых данных)...


------------------
WBR, Igor
Ratings: 0 negative/0 positive
Re: Многодетальный отчет
Chemberzhy

Сообщений: 13142
Откуда: Измаил
Дата регистрации: 28.04.2009
В print when объекта выводящего _Pageno установить remove line if blank с условием reccount()>0
Ratings: 0 negative/0 positive
Re: Многодетальный отчет
PaulWist
Автор

Сообщений: 14625
Дата регистрации: 01.04.2004
Igor Korolyov
Сам отчётец бы приложил (с create cursor+insert в DE.BeforeOpenTables - или в отдельном prg для тестовых данных)...

В аттаче отчет (можно просто запустить):

- в DE.BeforOpenTables код создания и наполнения курсоров.
- Отчет имеет 2 полосы деталей
-- первая полоса строится по курсору Tmp (имеет 3 записи)
-- вторая полоса строится по курсору Tmp1 (имеет 1 запись)

Для второй детали, когда EOF(Tmp1) = .t. "вылезает" пустой лист.


------------------
Есть многое на свете, друг Горацио...
Что и не снилось нашим мудрецам.
(В.Шекспир Гамлет)
Ratings: 0 negative/0 positive
Re: Многодетальный отчет
PaulWist
Автор

Сообщений: 14625
Дата регистрации: 01.04.2004
PaulWist
Танцы в "присядку" результата не дали (видать баг для SP2 Version:09.00.0000.7423).
Пришлось исполнять "танцы с бубном":
- подавление вывода на печать через On Entry Title band
- вывод в Null для расчета страниц через On Exit/On Entry для Detail Footer band/Detail Header band
- собственно вывод на печать,
благо до меня их уже много раз исполняли

Для истории.

Расчет страниц надо проводить при том принтере на который будет выведен отчет, те "танцы с бубном" начинаются с :

Цитата:
- подавление вывода на печать через On Entry Title band
- выбор принтера
- вывод в Null для расчета страниц через On Exit/On Entry для Detail Footer band/Detail Header band
- собственно вывод на печать


------------------
Есть многое на свете, друг Горацио...
Что и не снилось нашим мудрецам.
(В.Шекспир Гамлет)
Ratings: 0 negative/0 positive
Re: Многодетальный отчет
Влад Колосов

Сообщений: 22664
Откуда: Ростов-на-Дону
Дата регистрации: 05.05.2005
Это фичи, я не смог победить.
При нечетном количестве в мультидеталях гонит пустой лист.


------------------
Совершенство - это не тогда, когда нельзя
ничего прибавить, а тогда, когда нечего убавить.
Ratings: 0 negative/0 positive


Извините, только зарегистрированные пользователи могут оставлять сообщения в этом форуме.

On-line: 52 (Гостей: 52)

© 2000-2024 Fox Club 
Яндекс.Метрика