Форум: "Базы";
Текущий архив: 2003.09.18;
Скачать: [xml.tar.bz2];
Вниз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;
Скачать: [xml.tar.bz2];
Память: 0.51 MB
Время: 0.009 c