next up previous contents
Next: Графические отчеты Up: Построение отчетов Previous: Построение отчетов   Contents

Простые текстовые отчеты

Простые текстовые отчеты отсылаются клиентскому приложению с помощью конструкции <report>...</report>. Между тэгами помещается собственно текст отчета.

Клиентское приложение по получению отчета открывает окно, в котором отображается текст отчета а также кнопки для печати или сохранения отчета в файл.

Для автоматизации процесса создания отчетов можно применять модуль service.report, который представляет класс report. Класс имеет следующие методы:

__init__(stream) создает экземпляр класса. stream - открытый к записи поток, в который будет производится вывод отчета;
addPart(name,part) добавляет к классу шаблон part под условным именем name.
writePart(name) производит вывод в поток шаблона под именем name.

Формат файла шаблона приведен в документации report.py и во многом схож с форматом языка Perl.
Пример шаблона:

		a="""Текст с центровкой влево ^<<<<<<<<<<<<<  $text"""
Конструкция ^<<<<<<<<<<< определяет центровку текста, содержащегося в переменной text. При вызове метода writePart в шаблон будут подставлены значения переменных, указанных в шаблоне. Переменные шаблона определяются внутри экземпляра класса В качестве примера можно привести следующий код:
	a=report()
	template1="example template ^<<<<<<< $text"
	a.addPart('templ1',template1)
	a.template1="value of template1"
	a.writePart()

Пример кода также есть в модуле report.py.

Cуществуют следующие шаблоны:

^<<<<<<<<<<<<<<< - центровка текста влево;
^>>>>>>>>>>>>>>> - центровка текста вправо;
^||||||||||||||| - центровка текста в центре;
^####.### - форматирование дробного числа.



2004-12-28