Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.09.18;
Скачать: CL | DM;

Вниз

QReport. Коррекция отчета перед печатью   Найти похожие ветки 

 
MsGuns ©   (2003-08-27 13:16) [0]

Проблема в том, что в отчете есть пустая графа, которую узер хочет заполнять руками непосредственно перед печатью (типа примечаний). Однако Preview такого, ессно, не позволяет. Есть ли какое-нибудь решение в рамках именно этого компонента или надо выводить НД источника в ексель (например) ?

И второй вопрос. Надо средство просмотра сохраненных .QRP на ПК без БД и проги, которые собственно эти отчеты создали и сохранили. Написал мини-прожку, в которой лежит QReport, и ему в событии OnShow формы дается запуск метода Preview. Потом уже делаешь Load, просмотр, печать и т.д. Но проблема ! При загрузке отчета из .QRP установки формата листа игнорируются и остаются те, которые я выставил в дизайне (т.е.абсолютно левые). В результате отчет обрезается (альбом до портрета, к примеру). Где скривил руками или головой ?

ЗЫ. В FAQ, к сожалению, не нашел. Поиск по QRep тоже мало что дал


 
stud ©   (2003-08-27 13:19) [1]

1 можно создать свой просмотр. а проще вывести на форме то что нужно и пость пользователь в каком-нибудь эдите вводит свои коментарии. и выводи их потом где угодно

2 можно отчет сохранять в формате эксель или ворд( версия pro)


 
MsGuns ©   (2003-08-27 13:44) [2]

>stud © (27.08.03 13:19) [1]
1. Можно, конечно, предварительно вывести данные отчета в стринггрид (к примеру) и дать редактить, а уж потом выводить в QReport, но не катит из-за сложности подгонки шрифтов и размеров грида и формата листа принтера.

2. С этим-то понятно. Но тогда на фиг репорты, да и морочливо (опыта, увы, нет)


 
stud ©   (2003-08-27 14:10) [3]

по поводу 2 никаких морок. кидаеш компонент на репорт и все.

а по поводу первого - пользователь все равно должен видеть исходные данные перед печатью, в каком виде решать тебе.
я так понимаю тебе нужно дать польз. редактировать коментарий для каждой записи?


 
MsGuns ©   (2003-08-27 14:39) [4]

>stud © (27.08.03 14:10) [3]
>по поводу 2 никаких морок. кидаеш компонент на репорт и все.

Не пробовал, потому и спрашиваю в конференции

>а по поводу первого - пользователь все равно должен видеть исходные данные перед печатью, в каком виде решать тебе.
я так понимаю тебе нужно дать польз. редактировать коментарий для каждой записи?

Да.


 
stud ©   (2003-08-27 14:47) [5]

так может добавить в таблице поле для коментария?


 
Hawk2 ©   (2003-08-27 16:17) [6]

Извините что вмешиваюсь, как по мне то я считаю что QReport хорош в том случае где нужно чтобы пользователь ничего не мог напортить или изменить в отчете, а в остальных случаях лучьше Ексель. И вообще он мне больше нравится, вывел данные из базы, а там хоть в другой отчет можно переделать и при пересилке на другую машину проблем з програмкой просмотра нет, так как очень большая редкость чтобы на машине не было Екселя, особенно там где занимаются всякого вида расчетами. И вообще мощный инструмент.


 
stud ©   (2003-08-27 16:54) [7]

инструмент-то мощный, только возьмет пользователь и в отчете в экселе изменит цены или еще что а в базе забудет... и начнется нормальная половая жизнь))))


 
MsGuns ©   (2003-08-27 17:41) [8]

>Hawk2 © (27.08.03 16:17) [6]
Ваш вариант мне, конечно, нравится бОльше из-за своей универсализации, но есть 2 причины "против":

1. Узер сам может править форму отчетности, а это не всегда есть хорошо, т.к. это наш хлебушек также ;)). Хотя в некоторых случаях это есть даже очень хорошо, т.к. хлеб черствый, а мороки до фига ;((

2. Не делал я такого, к сожалению. И меня больше всего пугает то, как я в Экселе должен указать ссылки на сущности БД, куда потом прога засунет содержимое полей НД. Но ничего, лиха беда - начало.

Если у Вас есть подходящий пример из работающих программ, буду весьма признателен, если мыльнете его мне (WinRar 2.60/WinZip)

Спасибо за участие и советы !

>stud ©

Спасибо большое за попытку помочь ;)


 
HSolo ©   (2003-08-27 18:48) [9]

А может, Вам есть смысл посмотреть на F1Book?


 
Hawk2 ©   (2003-08-27 19:39) [10]

MsGuns © (27.08.03 17:41) [8]
Исходник я Вам отправил, думаю разбиретесь, но там еще нужно объяснить как подготовить шаблон в Екселе по которому будут виводится данные. У меня сейчас нет времени напишу вечером или сюда или на мыло. Если это Вас устроит.


 
MsGuns ©   (2003-08-27 19:39) [11]

>HSolo © (27.08.03 18:48) [9]

А що це таке и з чим його едять ? Безкоштовно мабудь ?


 
Reindeer Moss Eater ©   (2003-08-27 19:41) [12]

А почему не запрашивать у пользователя значение в OnPrint-событии&


 
MsGuns ©   (2003-08-27 19:45) [13]

>Hawk2 © (27.08.03 19:39) [10]

Исходник получил. Спасибо большое, буду разбираться


 
MsGuns ©   (2003-08-27 19:47) [14]

>Reindeer Moss Eater © (27.08.03 19:41) [12]
>А почему не запрашивать у пользователя значение в OnPrint-событии&

Формат листа ? Это в принципе мысль ! Мне чой-то в головенку не пришла ;((


 
Hawk2 ©   (2003-08-27 22:40) [15]

То MsGuns: Я Вам отослал примерчик и небольшой Хелп, чтобы было яснее. Напишите когда получите.


 
HSolo ©   (2003-08-28 10:07) [16]

> А що це таке и з чим його едять ? Безкоштовно мабудь ?

Это ActiveX такой, живет в Delphi на закладке ActiveX. В двух словах - что-то вроде встроенного упрощенного Excel-а, или заготовка для создания такового. Умеет читать/писать Excel-файлы (Excel 4.0/5.0 format), коннектиться к БД ч/з ODBC, можно и ручками заполнять, по аналогии с Excel, формулы вставлять, и много чего еще. У меня в одном проекте (бухгалтерия) все отчеты (журнал-ордера, шахматка, оборотка по иерарх.таблицам) были сделаны на этой штуке; юзера были довольны :)


 
Sergey13 ©   (2003-08-28 10:20) [17]

2MsGuns © (27.08.03 13:16)
А если перефразировать Reindeer Moss Eater © (27.08.03 19:41) [12] И не спросить юзера перед print/preview что то, и это "что то" вставить в отчет в BeforePrint-событии нужного бенда.


 
MsGuns ©   (2003-08-28 11:49) [18]

>Hawk2 © (27.08.03 19:39) [10]

Получил второе послание с архивом. спасибо большое. Сейчас жутко некогда - в выходные на другом компе (с 3-м раром) распотрошу и посмотрю.
FastXLReport.pas посмотрел, но несколько вопросов "пристрелочных":
Excel197 - это из станд.библиотеки ? Если да, то это как-нибудь связано с инсталлированыым екселем. ? Т.е. как оно будет работать, если на ПК нет инсталленного екселя ? Надо типа try поставить, однако ;))

Есть ли в присланном Вами примере шаблона суммирование по колонкам и группировка ? Это, честно говоря, меня больше всего и кумарит. Как бы не пришлось все ручками при экспорте данных не вписывать в ексель :( И по фигу получается настройки в шаблоне фонтов итогов ? Опять же что делать с граф.обрамлением (рамка таблицы), корректным переносом на след.лист и т.д. ? (Этот вопрос скорее риторический - буду сам смотреть в процессе экспериментов)

Вы при написании модуля не пользовались случайно статьей Е.Старостина от 31 иая 2000г с КД ? Меня на эту мысль навела хитровыделанная строка
xlReport.ScreenUpdating[0]:=true;

>HSolo © (28.08.03 10:07) [16]

Спасибо ! Интересная мысль и на заметку маленьким и глупеньким типа меня ;)))

>All
Всем большое спасибо ! Всегда знал, что Мастаки - это The Best !
Инфы достаточно - буду ковыряться. Готового решения, понятно, нет, да и быть не может. Но я его и не искал


 
Hawk2 ©   (2003-08-28 12:17) [19]

Поробую по порядку.

Вы имеете ввиду подключеный модуль Excel97 в разделе uses. Так это экспортированная библиотека типов из Excel. Файл Excel97.pas есть в папке C:\Program Files\Borland\Delphi5\Ocx\Servers\, там еще есть и по Ворду, Аксесу и т.д.

При неустановленном Екселе не пробовал, но конструкцию типа try я думаю надо. Просто я этот модуль написал уже около года назад, сейчас ничего не пишу, поэтому и не довел до конца ("не отшлифовал" :-)), так что можите изменять как посчитаете нужным.

На счет суммирования, там ксожалению его нет, тоже не дошел. А вот обрамление есть. В шаблоне какую рамку поставите такая будет по всему отчету посмотрите в примере. Также переносится цвет шрифта и фона, вот эти строчки:

xlSheet.Range[Col[Column]+IntToStr(Row),Col[RangeLen]+IntToStr(Row+Dat aSet.RecordCount-1)].Font.Color:=xlSheet.Range[Range,EmptyParam].Font. Color;
xlSheet.Range[Col[Column]+IntToStr(Row),Col[RangeLen]+IntToStr(Row+Dat aSet.RecordCount-1)].Interior.Color:=xlSheet.Range[Range,EmptyParam].I nterior.Color;
xlSheet.Range[Col[Column]+IntToStr(Row),Col[RangeLen]+IntToStr(Row+Dat aSet.RecordCount-1)].Borders.LineStyle:=xlSheet.Range[Range,EmptyParam ].Borders.LineStyle;

тут можно добавить и размер шрифта и все что получится.

Я не помню какими статьями пользовался, как я говорил это было около года назад, но знаю что статья была написана автором того самого XLReport-а.

И еще, если Вы не передумали, я сейчас на работе и могу выслать такой же пример запакованный arj, rar или zip из Far-а.


 
Anatoly Podgoretsky ©   (2003-08-28 12:27) [20]

MsGuns © (28.08.03 11:49) [18]
Наряду с try, надо в дистрибутив включить бесплатный Excel Viewer и предложить пользователю его установку.
По словам Микрософт, он поддерживает почти полность OLE


 
MsGuns ©   (2003-08-28 12:33) [21]

>Hawk2 © (28.08.03 12:17) [19]
>И еще, если Вы не передумали, я сейчас на работе и могу выслать такой же пример запакованный arj, rar или zip из Far-а.

Устроит любой, просто WinRar у меня не 3-й, а 2.60. Хотя это необязательно, просто мне будет немножно доп.возни (сходить в другой корпус), но мне не в лом совершенно

>Anatoly Podgoretsky © (28.08.03 12:27) [20]
>Наряду с try, надо в дистрибутив включить бесплатный Excel Viewer и предложить пользователю его установку.

Спасибо, Анатолий. Возьму на заметку. Хотя иногда узеру надо "врезать" в отчет свою инфу (см.сабж)


 
Hawk2 ©   (2003-08-28 13:08) [22]

MsGuns ©
Посмотрите почту.


 
MsGuns ©   (2003-08-28 13:19) [23]

>Hawk2 © (28.08.03 13:08) [22]

Получил. Спасибо еще раз большое !


 
Hawk2 ©   (2003-08-28 13:30) [24]

Рад был помочь! Надеюсь пригодится.



Страницы: 1 вся ветка

Текущий архив: 2003.09.18;
Скачать: CL | DM;

Наверх




Память: 0.53 MB
Время: 0.022 c
3-58518
Relaxxx
2003-08-28 14:59
2003.09.18
!!!!!!!!!Тупая ошибка, Оракл не пашет с компонентом Table


6-58824
nik_sch
2003-07-18 15:58
2003.09.18
подсоединиться к серверу приложений по TCP/IP


6-58825
and_2
2003-07-15 08:44
2003.09.18
ping!


1-58753
SIW
2003-09-06 16:40
2003.09.18
Проблема с прорисовкой...


1-58715
Patrick
2003-09-08 08:48
2003.09.18
Запись в файл (многопользовательский режим)