<!-- 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
>&lt;?xml version=<quote
>1.0</quote
> encoding=<quote
>UTF-8</quote
>?&gt;

&lt;!DOCTYPE KugarData [
    &lt;!ELEMENT KugarData (Row* )&gt;
    &lt;!ATTLIST KugarData
        Template CDATA #REQUIRED&gt;

    &lt;!ELEMENT Row EMPTY&gt;
    &lt;!ATTLIST Row
        level CDATA #REQUIRED
        title CDATA #REQUIRED
        version CDATA #REQUIRED
        platform CDATA #REQUIRED
        copies CDATA #REQUIRED&gt;
]&gt;

&lt;KugarData Template="sample1.kut"&gt;
    &lt;Row level="0" title="  BRU" version="15.0" platform="x86" copies="1"/&gt;
    &lt;Row level="0" title="  Caldera Open Linux" version="2.2" platform="x86" copies="3"/&gt;
    &lt;Row level="0" title="  K Desktop" version="1.1.1" platform="x86" copies="1"/&gt;
    &lt;Row level="0" title="  Netscape Communicator" version="4.6" platform="x86" copies="10"/&gt;
    &lt;Row level="0" title="  Redhat Linux" version="5.0" platform="x86" copies="11"/&gt;
    &lt;Row level="0" title="  Redhat Linux" version="5.1" platform="x86" copies="12"/&gt;
    &lt;Row level="0" title="  Redhat Linux" version="5.2" platform="x86" copies="14"/&gt;
    &lt;Row level="0" title="  Redhat Linux" version="6.0" platform="x86" copies="15"/&gt;
    &lt;Row level="0" title="  Star Office" version="5.0" platform="x86" copies="1"/&gt;
    &lt;Row level="0" title="  Star Office" version="5.1" platform="x86" copies="3"/&gt;
    &lt;Row level="0" title="  Microsoft Windows NT" version="3.1" platform="x86" copies="1"/&gt;
    &lt;Row level="0" title="  Microsoft Windows NT" version="3.51" platform="x86" copies="1"/&gt;
    &lt;Row level="0" title="  Microsoft Windows NT" version="4.0" platform="x86" copies="1"/&gt;
    &lt;Row level="0" title="  Microsoft Windows NT" version="5.0" platform="x86" copies="1"/&gt;
    &lt;Row level="0" title="  Sun Solaris" version="2.5" platform="Sparc" copies="1"/&gt;
&lt;/KugarData&gt;
</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>
