|
|
<!-- If you want to validate or edit this document separately, uncomment
|
|
|
this prolog
|
|
|
|
|
|
<?xml version="1.0" ?>
|
|
|
<!DOCTYPE chapter PUBLIC "-//KDE//DTD DocBook XML V4.1-Based Variant V1.0//EN" "dtd/kdex.dtd">
|
|
|
|
|
|
-->
|
|
|
<chapter id="tutorial">
|
|
|
<chapterinfo>
|
|
|
<authorgroup>
|
|
|
<author
|
|
|
><firstname
|
|
|
>Alexander</firstname
|
|
|
> <surname
|
|
|
>Dymo</surname
|
|
|
> <affiliation
|
|
|
> <address
|
|
|
><email
|
|
|
>cloudtemple@mksat.net </email
|
|
|
></address>
|
|
|
</affiliation>
|
|
|
</author>
|
|
|
<author
|
|
|
><firstname
|
|
|
>Phil</firstname
|
|
|
> <surname
|
|
|
>Thompson</surname
|
|
|
> <affiliation
|
|
|
> <address
|
|
|
><email
|
|
|
>phil@river-bank.demon.co.uk </email
|
|
|
></address>
|
|
|
</affiliation>
|
|
|
</author>
|
|
|
<othercredit role="translator"
|
|
|
><firstname
|
|
|
>Олег</firstname
|
|
|
><surname
|
|
|
>Баталов</surname
|
|
|
><affiliation
|
|
|
><address
|
|
|
><email
|
|
|
>olegbatalov@mail.ru</email
|
|
|
></address
|
|
|
></affiliation
|
|
|
><contrib
|
|
|
>Перевод на русский язык</contrib
|
|
|
></othercredit
|
|
|
>
|
|
|
</authorgroup>
|
|
|
</chapterinfo>
|
|
|
<title
|
|
|
>Учебник</title>
|
|
|
|
|
|
<para
|
|
|
>Этот учебник предназначен для краткого введения в Kugar.</para>
|
|
|
|
|
|
<para
|
|
|
>Вы создадите с помощью &kudesigner; простой шаблон отчёта, простой файл данных и в конце сгенерируете законченный отчёт.</para>
|
|
|
|
|
|
<para
|
|
|
>Исходный код для примеров шаблонов и файла данных может быть найден в файлах<filename
|
|
|
>sample1.kut</filename
|
|
|
> и <filename
|
|
|
>sample1.kud</filename
|
|
|
>, которые распространяются совместно с &kugar;.</para>
|
|
|
|
|
|
|
|
|
<sect1 id="tut-1">
|
|
|
<title
|
|
|
>Создание шаблона отчёта с помощью &kudesigner;</title>
|
|
|
|
|
|
<para
|
|
|
>Запустите &kudesigner; набрав в командной строке <command
|
|
|
>kudesigner</command
|
|
|
>. </para>
|
|
|
|
|
|
<para
|
|
|
>После того как вы запустите дизайнер, выберите <guimenu
|
|
|
>Файл</guimenu
|
|
|
>|<guilabel
|
|
|
>Создать</guilabel
|
|
|
> и установите размер страницы в <guilabel
|
|
|
>Letter</guilabel
|
|
|
> и её ориентацию в <guilabel
|
|
|
>Landscape</guilabel
|
|
|
>. Установите левое и правое поля в 48, верхнее и нижнее в 40. Все размеры в &kudesigner; (поля страницы, размеры, позиции, &etc;) указываются в миллиметрах. <screenshot
|
|
|
> <mediaobject>
|
|
|
<imageobject>
|
|
|
<imagedata fileref="tut_file_new.png" format="PNG"/>
|
|
|
</imageobject>
|
|
|
<textobject>
|
|
|
<phrase
|
|
|
>Диалог <interface
|
|
|
>Новый отчёт</interface
|
|
|
></phrase>
|
|
|
</textobject>
|
|
|
</mediaobject>
|
|
|
</screenshot>
|
|
|
</para>
|
|
|
|
|
|
<para
|
|
|
>Теперь создан новый отчёт и все кнопки на <guilabel
|
|
|
>Панели элементов</guilabel
|
|
|
> и <guilabel
|
|
|
>Панели разделов</guilabel
|
|
|
> теперь включены (соответствующие пункты меню в <guilabel
|
|
|
> Элементы</guilabel
|
|
|
> и <guilabel
|
|
|
>Секции</guilabel
|
|
|
> также включены). <screenshot
|
|
|
> <mediaobject>
|
|
|
<imageobject>
|
|
|
<imagedata fileref="tut_empty_report.png" format="PNG"/>
|
|
|
</imageobject>
|
|
|
<textobject>
|
|
|
<phrase
|
|
|
>Диалог Пустой отчёт</phrase>
|
|
|
</textobject>
|
|
|
</mediaobject>
|
|
|
</screenshot>
|
|
|
</para>
|
|
|
|
|
|
<para
|
|
|
>Теперь пришло время добавить некоторые разделы к отчёту и определить их размеры. Мы добавим <link linkend="report-header-and-footer"
|
|
|
>заголовок и итоги отчёта</link
|
|
|
>, <link linkend="page-header-and-footer"
|
|
|
>верхний и нижний колонтитул</link
|
|
|
> и одну <link linkend="detail"
|
|
|
>секцию</link
|
|
|
>. Заголовок и итоги отчёте печатаются соответственно на первой и последней страницах перед и после любых данных отчёта. Итоги отчёта являются хорошим местом для помещения <link linkend="calculated-field-element"
|
|
|
>вычисляемых полей</link
|
|
|
>. Колонтитулы страницы печатаются сверху и снизу каждой страницы. Наш отчёт будет иметь одну секцию с уровнем 0. Это означает что все наши строки данных имеют идентичную структуру (&ie; поля). Если структура данных более сложная или организована согласно отношению главный-подчинённый, должны быть создано больше уровней секций. Пример как это может быть сделано смотрите в файлах <filename
|
|
|
>sample3.kut</filename
|
|
|
> и <filename
|
|
|
>sample3.kud</filename
|
|
|
> За дополнительной информацией обратитесь к <link linkend="template-elements"
|
|
|
> описанию элементов шаблона</link
|
|
|
>. </para>
|
|
|
|
|
|
<para
|
|
|
>Секции могут быть добавлены с помощь меню <guilabel
|
|
|
>Секции</guilabel
|
|
|
> или <guilabel
|
|
|
>Панели секций</guilabel
|
|
|
>. Теперь добавим заголовок и итоги отчёта, колонтитулы и затем секцию. При добавлении секции установите её уровень в 0 как показано на снимке экрана далее. <screenshot
|
|
|
> <mediaobject>
|
|
|
<imageobject>
|
|
|
<imagedata fileref="tut_set_level.png" format="PNG"/>
|
|
|
</imageobject>
|
|
|
<textobject>
|
|
|
<phrase
|
|
|
>Установка уровня секции</phrase>
|
|
|
</textobject>
|
|
|
</mediaobject>
|
|
|
</screenshot>
|
|
|
</para>
|
|
|
|
|
|
<para
|
|
|
>Теперь наш отчёт должен напоминать этот снимок экрана. <screenshot
|
|
|
> <mediaobject>
|
|
|
<imageobject>
|
|
|
<imagedata fileref="tut_rep_look1.png" format="PNG"/>
|
|
|
</imageobject>
|
|
|
<textobject>
|
|
|
<phrase
|
|
|
>Отчёт с секциями</phrase>
|
|
|
</textobject>
|
|
|
</mediaobject>
|
|
|
</screenshot>
|
|
|
</para>
|
|
|
|
|
|
<para
|
|
|
>Все наши разделы имеют предопределённую высоту - 50mm. Давайте изменить это. Щёлкните &RMB; на секции Заголовка отчёта и нажмите кнопку <guilabel
|
|
|
>Изменить свойства</guilabel
|
|
|
> на панели <guilabel
|
|
|
>Правка </guilabel
|
|
|
> и затем выберите секцию. Должно показаться окно свойств. <screenshot
|
|
|
> <mediaobject>
|
|
|
<imageobject>
|
|
|
<imagedata fileref="tut_edit_height.png" format="PNG"/>
|
|
|
</imageobject>
|
|
|
<textobject>
|
|
|
<phrase
|
|
|
>Изменение высоты секции</phrase>
|
|
|
</textobject>
|
|
|
</mediaobject>
|
|
|
</screenshot>
|
|
|
</para>
|
|
|
|
|
|
<para
|
|
|
>Теперь установите высоту заголовка отчёте в 70. Повторим эту процедуру для всех остальных секций. Установите высоту верхнего колонтитула в 45 а секции в 30. Нижний колонтитул и итоги отчёта должны быть высотой 32 мм. </para>
|
|
|
|
|
|
<para
|
|
|
>Шаблон отчёта с размеченными должным образом секциями готов к заполнению элементами отчёта. <screenshot
|
|
|
> <mediaobject>
|
|
|
<imageobject>
|
|
|
<imagedata fileref="tut_rep_look2.png" format="PNG"/>
|
|
|
</imageobject>
|
|
|
<textobject>
|
|
|
<phrase
|
|
|
>Отчёт с настроенными размерами секций</phrase>
|
|
|
</textobject>
|
|
|
</mediaobject>
|
|
|
</screenshot>
|
|
|
</para>
|
|
|
|
|
|
<para
|
|
|
>Теперь вы можете добавлять в секции отчёта элементы. Пять различных типов элементов могут быть добавлены в отчёт. <link linkend="label-element"
|
|
|
>Метка</link
|
|
|
> является прямоугольной областью, которая может иметь границу и может быть заполнена любым текстом. Цвет текста метки и фона, так же как и её шрифт могут быть изменены. Тип линии границы и её цвет также можно настроить. <link linkend="field-element"
|
|
|
>Поле</link
|
|
|
> может быть помещено в секцию данных. Поля представляют поля дынных, их значения будут браться из файла данных при генерации отчёта. Количество, суммы, средние числа &etc; для значений полей могут быть напечатаны в отчёте с помощью <link linkend= "calculated-field-element"
|
|
|
> Вычисляемых полей</link
|
|
|
>. <link linkend="special-element"
|
|
|
>Специальные</link
|
|
|
> - метки с предопределённым текстом типа текущей даты или номера страницы. Общий вид отчёта может быть улучшен с с помощью <link linkend="line-element"
|
|
|
>Линий</link
|
|
|
>. </para>
|
|
|
|
|
|
<para
|
|
|
>Для добавления в отчёт элемента щёлкните на соответствующем кнопке в <guilabel
|
|
|
>Панели элементов</guilabel
|
|
|
> и поместите (щёлкните) его в секцию. Выбранный элементы будет помещён в выбранную секцию с верхним левым углом в указанные координаты. Другие свойства установлены в значения по умолчанию и могут быть изменены с помощью диалога <guilabel
|
|
|
>Свойства элемента отчёта</guilabel
|
|
|
> (там же самым способом что мы изменяли высоту разделов). </para>
|
|
|
|
|
|
<para
|
|
|
>Так, давайте добавим метки в заголовок отчёта и верхний колонтитул как показано на снимке экрана ниже. Обратите внимание, что у метки <quote
|
|
|
>Mutiny Bay Software</quote
|
|
|
> <guilabel
|
|
|
>BorderStyle</guilabel
|
|
|
> и <guilabel
|
|
|
>BorderWidth</guilabel
|
|
|
> установлены в 0, а <quote
|
|
|
>Отчёт об инвентаризации программного обеспечения</quote
|
|
|
> - 1mm. Все цвета установлены как комбинации трёх значений (RGB - красный, зелёный,синий) и разделены запятыми. </para>
|
|
|
|
|
|
<para
|
|
|
>Также добавим элементы полей в секция данных. Только предположим что мы имеем четыре поля - заголовок, версию, платформу и количество копий. Так четыре элемента <guilabel
|
|
|
>Поле</guilabel
|
|
|
> должны быть помещены и их свойства <guilabel
|
|
|
>Поля</guilabel
|
|
|
> установлены. Обратите внимание, что Свойство <guilabel
|
|
|
>Текст</guilabel
|
|
|
> автоматически установлено в <quote
|
|
|
>[<userinput
|
|
|
>имя_поля</userinput
|
|
|
>]</quote
|
|
|
> </para>
|
|
|
|
|
|
<para
|
|
|
>Нижний колонтитул является хорошим местом для отображения текущей даты и номера страницы, так что добавим два специальных поля и установим их свойства <guilabel
|
|
|
>Тип</guilabel
|
|
|
> в 0 и 1. Специальное поле с Типом=0 представляет дату и с типом=1 - номер страницы. Обратите внимание, что свойство <guilabel
|
|
|
>Текст</guilabel
|
|
|
> автоматически изменилось. </para>
|
|
|
|
|
|
<para
|
|
|
>Последний элемент, который будет помещён - это <guilabel
|
|
|
>Вычисляемое поле</guilabel
|
|
|
> для поля <quote
|
|
|
>копии</quote
|
|
|
>. Для назначения суммы(копий) установите свойство <guilabel
|
|
|
>Field</guilabel
|
|
|
> вычисляемого поля в <quote
|
|
|
>копии</quote
|
|
|
> и <guilabel
|
|
|
>CalculationType</guilabel
|
|
|
> в 1 (функция суммы). </para>
|
|
|
|
|
|
<para
|
|
|
>Наконец, наш шаблон отчёта должен выглядеть следующим образом: <screenshot
|
|
|
> <mediaobject>
|
|
|
<imageobject>
|
|
|
<imagedata fileref="tut_rep_complete.png" format="PNG"/>
|
|
|
</imageobject>
|
|
|
<textobject>
|
|
|
<phrase
|
|
|
>Полный отчёт</phrase>
|
|
|
</textobject>
|
|
|
</mediaobject>
|
|
|
</screenshot>
|
|
|
</para>
|
|
|
|
|
|
</sect1>
|
|
|
|
|
|
|
|
|
|
|
|
<sect1 id="tut-2">
|
|
|
<title
|
|
|
>Создание файла данных для отчёта</title>
|
|
|
|
|
|
<para
|
|
|
>Вообще говоря, файлы данных могут быть созданы несколькими способами. Некоторые используют таблицы преобразования xsl для создания &XML; из другого документа &XML; (типа электронной таблицы &kspread;); другие используют собственную программу для получения данных из базы данных и заполнения файла данных. В этом учебнике мы просто создадим его вручную. Исходный код для этого примера может быть найден в файле <filename
|
|
|
>sample1.kud</filename
|
|
|
> или скопирован из примера ниже. </para>
|
|
|
|
|
|
<programlisting
|
|
|
><?xml version=<quote
|
|
|
>1.0</quote
|
|
|
> encoding=<quote
|
|
|
>UTF-8</quote
|
|
|
>?>
|
|
|
|
|
|
<!DOCTYPE KugarData [
|
|
|
<!ELEMENT KugarData (Row* )>
|
|
|
<!ATTLIST KugarData
|
|
|
Template CDATA #REQUIRED>
|
|
|
|
|
|
<!ELEMENT Row EMPTY>
|
|
|
<!ATTLIST Row
|
|
|
level CDATA #REQUIRED
|
|
|
title CDATA #REQUIRED
|
|
|
version CDATA #REQUIRED
|
|
|
platform CDATA #REQUIRED
|
|
|
copies CDATA #REQUIRED>
|
|
|
]>
|
|
|
|
|
|
<KugarData Template="sample1.kut">
|
|
|
<Row level="0" title=" BRU" version="15.0" platform="x86" copies="1"/>
|
|
|
<Row level="0" title=" Caldera Open Linux" version="2.2" platform="x86" copies="3"/>
|
|
|
<Row level="0" title=" K Desktop" version="1.1.1" platform="x86" copies="1"/>
|
|
|
<Row level="0" title=" Netscape Communicator" version="4.6" platform="x86" copies="10"/>
|
|
|
<Row level="0" title=" Redhat Linux" version="5.0" platform="x86" copies="11"/>
|
|
|
<Row level="0" title=" Redhat Linux" version="5.1" platform="x86" copies="12"/>
|
|
|
<Row level="0" title=" Redhat Linux" version="5.2" platform="x86" copies="14"/>
|
|
|
<Row level="0" title=" Redhat Linux" version="6.0" platform="x86" copies="15"/>
|
|
|
<Row level="0" title=" Star Office" version="5.0" platform="x86" copies="1"/>
|
|
|
<Row level="0" title=" Star Office" version="5.1" platform="x86" copies="3"/>
|
|
|
<Row level="0" title=" Microsoft Windows NT" version="3.1" platform="x86" copies="1"/>
|
|
|
<Row level="0" title=" Microsoft Windows NT" version="3.51" platform="x86" copies="1"/>
|
|
|
<Row level="0" title=" Microsoft Windows NT" version="4.0" platform="x86" copies="1"/>
|
|
|
<Row level="0" title=" Microsoft Windows NT" version="5.0" platform="x86" copies="1"/>
|
|
|
<Row level="0" title=" Sun Solaris" version="2.5" platform="Sparc" copies="1"/>
|
|
|
</KugarData>
|
|
|
</programlisting>
|
|
|
|
|
|
</sect1>
|
|
|
|
|
|
<sect1 id="tut-3">
|
|
|
<title
|
|
|
>Создание отчёта</title>
|
|
|
|
|
|
<para
|
|
|
>В настоящий момент вы имеете шаблон отчёта (<filename
|
|
|
>sample1.kut</filename
|
|
|
>) и файл данных отчёта (<filename
|
|
|
>sample1.kud</filename
|
|
|
>). </para>
|
|
|
<para
|
|
|
>Для создания отчёта, наберите в оболочке следующую команду: <command
|
|
|
>kugar <option
|
|
|
>-r <replaceable
|
|
|
>sample1.kut</replaceable
|
|
|
></option
|
|
|
> <option
|
|
|
>-d <replaceable
|
|
|
>sample1.kud</replaceable
|
|
|
></option
|
|
|
></command
|
|
|
> </para>
|
|
|
|
|
|
<para
|
|
|
>Это запустит окно оболочки &kugar; с сгенерированным отчётом. <screenshot
|
|
|
> <mediaobject>
|
|
|
<imageobject>
|
|
|
<imagedata fileref="tut_rep_generated.png" format="PNG"/>
|
|
|
</imageobject>
|
|
|
<textobject>
|
|
|
<phrase
|
|
|
>Созданный отчёт</phrase>
|
|
|
</textobject>
|
|
|
</mediaobject>
|
|
|
</screenshot>
|
|
|
</para>
|
|
|
|
|
|
</sect1>
|
|
|
|
|
|
</chapter>
|