:: Visual Foxpro, Foxpro for DOS
Можно ли создать оглавление в report form
Каратаев
Автор

Сообщений: 3977
Откуда: Алматы
Дата регистрации: 04.12.2001
Приветствую, коллеги!
Возникла задача создать оглавление с указанием страниц отчёта во встроенном report form...
Группировка по определённому полю (группа товаров) имеется.
Уже голову сломал, как это сделать. Пока делаю так:
SELECT distinct kod_gr_tov, n_gr_tov FROM cur_price INTO CURSOR cur_gr READWRITE
INDEX on kod_gr_tov TAG kod_gr_tov
GO TOP
SCAN
gcGrTov = gcGrTov + ALLTRIM(n_gr_tov)+ CHR(13)+ CHR(13)
ENDSCAN
Потом эту переменную, gcGrTov, вставляю в репорт... Но это не то... Мне надо в виде оглавления с указанием на какой странице находится каждая группа...
P.S. Отчёт потом выводится в PDF-файл и отправляется клиенту... Кто-нибудь делал такое оглавление? Есть какие мысли?


------------------
Никогда не бывает настолько плохо, чтобы не могло быть еще хуже.
Ratings: 0 negative/0 positive
Re: Можно ли создать оглавление в report form
Sawradym

Сообщений: 2244
Откуда: Винница
Дата регистрации: 15.05.2007
Думаю что без функции с использованием _pageno внутри отчета никак не обойтись.
А может даже и функция не поможет. Пробовать надо.


------------------
Ratings: 0 negative/0 positive
Re: Можно ли создать оглавление в report form
pasha_usue

Сообщений: 3650
Откуда: Е-бург
Дата регистрации: 06.10.2006
А в любом случае, в два прогона надо будет делать.
Ratings: 0 negative/0 positive
Re: Можно ли создать оглавление в report form
of63

Сообщений: 25256
Откуда: Н.Новгород
Дата регистрации: 13.02.2008
Можно во время выполнения репорта заполнять файл с оглавлением (или переменную), которую потом присоединить к файлу репорта.
Например, создаем переменную, которая инкрементируется при смене группы, но вместо
переменная = переменная + 1 пишем
переменная = переменная + МояФункция(_PAGENO, значение выражения группы, что-то еще)
МояФункция лежит снаружи репорта, функция возвращает 1, кроме этого она заполняет файл/переменную с оглавлением групп. Эту переменную изобразить в SUMMARY репорта

Можно в 2 прогона, тогда Первый прогон репорта можно сделать в никуда, а второй - уже в PDF, причем на втором прогоне у нас уже заполнена переменная с оглавлением... как-то так.
Ratings: 0 negative/0 positive
Re: Можно ли создать оглавление в report form
Каратаев
Автор

Сообщений: 3977
Откуда: Алматы
Дата регистрации: 04.12.2001
Спасибо, завтра буду пробовать эти варианты. По результатам отпишусь. Забрезжил лучик надежды...


------------------
Никогда не бывает настолько плохо, чтобы не могло быть еще хуже.
Ratings: 0 negative/0 positive
Re: Можно ли создать оглавление в report form
Каратаев
Автор

Сообщений: 3977
Откуда: Алматы
Дата регистрации: 04.12.2001
Всё получилось! Даже без пустого прогона. Оглавление выводится в конце отчёта и к этому моменту уже создана табличка с наименованиями групп и их страницами.
Но всё-же это оглавление приходится выводить через переменные... Как вывести данные из таблицы в Summary отчёта не знаю. Ибо Detali туда не прикрутишь, а как ещё - честно, не знаю...
[attachment 30742 2019-03-15_105441.png]
А было бы здорово, если бы в Summary получилось вывести не переменную, а саму таблицу...


------------------
Никогда не бывает настолько плохо, чтобы не могло быть еще хуже.
Ratings: 0 negative/0 positive
Re: Можно ли создать оглавление в report form
pasha_usue

Сообщений: 3650
Откуда: Е-бург
Дата регистрации: 06.10.2006
В 9-ке есть мультидетэйл. Можно вывести сначала развёрнутые строки, потом итоги.
И даже в 8-ке делали, просто добавляли итоги в конец курсора с деталями, а правило скрытия/показа вешали на каждый контрол.

PS. Да. Если оглавление в конце, то двойной прогон не нужен.
Ratings: 0 negative/0 positive
Re: Можно ли создать оглавление в report form
Каратаев
Автор

Сообщений: 3977
Откуда: Алматы
Дата регистрации: 04.12.2001
Паша, спасибо. Что значит мультидетэйл? В смысле второй детэйл сделать? Ну да, я там могу их сколько угодно наплодить, у меня 9-ка, только проблема-то в том, как потом этот детэйл в Summary вывести?
Или я чего-то недопонял?


------------------
Никогда не бывает настолько плохо, чтобы не могло быть еще хуже.
Ratings: 0 negative/0 positive
Re: Можно ли создать оглавление в report form
pasha_usue

Сообщений: 3650
Откуда: Е-бург
Дата регистрации: 06.10.2006
Каратаев
Паша, спасибо. Что значит мультидетэйл? В смысле второй детэйл сделать? Ну да, я там могу их сколько угодно наплодить, у меня 9-ка, только проблема-то в том, как потом этот детэйл в Summary вывести?
Или я чего-то недопонял?
Первый детэйл по основному курсору. Второй детейл по курсору с группами.
Ratings: 0 negative/0 positive
Re: Можно ли создать оглавление в report form
Каратаев
Автор

Сообщений: 3977
Откуда: Алматы
Дата регистрации: 04.12.2001
Не получается. Второй детэйл втыкается либо в первую группировку, либо, если создать новую, то она втыкается в первую... Наверное, что-то не так делаю...
Ладно, спасибо, пока переменной буду страницы групп выводить... Там ещё поэкспериментирую... Может что и наковыряю...


------------------
Никогда не бывает настолько плохо, чтобы не могло быть еще хуже.
Ratings: 0 negative/0 positive
Re: Можно ли создать оглавление в report form
pasha_usue

Сообщений: 3650
Откуда: Е-бург
Дата регистрации: 06.10.2006
Группировка должна идти по мастер-курсору.

Пример: [attachment 30743 2bcursors.zip]
Ratings: 0 negative/0 positive
Re: Можно ли создать оглавление в report form
of63

Сообщений: 25256
Откуда: Н.Новгород
Дата регистрации: 13.02.2008
В Summary-же есть поле со Stretch. Туда же можно переменную затолкать...
Ratings: 0 negative/0 positive
Re: Можно ли создать оглавление в report form
Каратаев
Автор

Сообщений: 3977
Откуда: Алматы
Дата регистрации: 04.12.2001
Спасибо! Попробую по такому принципу сделать... Паша, только объясни откуда там у тебя курсор берётся? Нифига не нашёл где он там создаётся... В DE пусто, все проперти вроде просмотрел... Мастер-курсор... Что-то я вообще не в теме, похоже...


------------------
Никогда не бывает настолько плохо, чтобы не могло быть еще хуже.
Ratings: 0 negative/0 positive
Re: Можно ли создать оглавление в report form
Каратаев
Автор

Сообщений: 3977
Откуда: Алматы
Дата регистрации: 04.12.2001
Ну я сейчас так и делаю... Только меня попросили оглавление вначале печатать, видимо придётся ещё один прогон делать...


------------------
Никогда не бывает настолько плохо, чтобы не могло быть еще хуже.
Ratings: 0 negative/0 positive
Re: Можно ли создать оглавление в report form
Каратаев
Автор

Сообщений: 3977
Откуда: Алматы
Дата регистрации: 04.12.2001
А... всё. Нашёл... Спасибо ещё раз! Буду пробовать таким образом...


------------------
Никогда не бывает настолько плохо, чтобы не могло быть еще хуже.
Ratings: 0 negative/0 positive
Re: Можно ли создать оглавление в report form
pasha_usue

Сообщений: 3650
Откуда: Е-бург
Дата регистрации: 06.10.2006
Каратаев
Спасибо! Попробую по такому принципу сделать... Паша, только объясни откуда там у тебя курсор берётся? Нифига не нашёл где он там создаётся... В DE пусто, все проперти вроде просмотрел... Мастер-курсор... Что-то я вообще не в теме, похоже...
Для тех, кто сам не нашёл, там в Data Environment метод Init используется, где курсоры и создаются.
Ratings: 0 negative/0 positive
Re: Можно ли создать оглавление в report form
Каратаев
Автор

Сообщений: 3977
Откуда: Алматы
Дата регистрации: 04.12.2001
Ещё раз спасибо всем за подсказки и помощь. Всё получилось с мультидетэйл и выводом оглавления вначале репорта... Правда, всё-же пришлось делать изначально пустой прогон для вычисления номеров страниц.
За основу и в качестве рабочего образца взял пример от Павла...
Спасибо! :beer2:


------------------
Никогда не бывает настолько плохо, чтобы не могло быть еще хуже.




Исправлено 1 раз(а). Последнее : Каратаев, 19.03.19 15:08
Ratings: 0 negative/0 positive


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

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

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