> For the complete documentation index, see [llms.txt](https://unisim-soft.gitbook.io/unisim-soft/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://unisim-soft.gitbook.io/unisim-soft/instrukcii/sozdanie-otcheta.md).

# Создание отчета

{% stepper %}
{% step %}

### Создание узла отчета (конфигуратор)

Целью данной инструкции является создание отчета с произвольными параметрами в формате Formula One. (DLL ID = 9002, ReportID = univ).

Найдя подходящий отчет, копируем его с помощью

![](https://content.gitbook.com/content/esWaDpnJvvBDvijJeYrQ/blobs/Ot3S25phOwwZW0tMBWia/image)

![](https://content.gitbook.com/content/esWaDpnJvvBDvijJeYrQ/blobs/qRpXN8LRQyfII0qHKnZ1/image)

Выйдет сообщение о завершении экспорта одного узла. Нажимаем

![](https://content.gitbook.com/content/esWaDpnJvvBDvijJeYrQ/blobs/3uaI5wRqNtGdOWT4Ffmz/image)

![](https://content.gitbook.com/content/esWaDpnJvvBDvijJeYrQ/blobs/p2f3CyZ1bLtrRaWAgUi6/image)

Выбираем журнал и вставляем узел с помощью

![](https://content.gitbook.com/content/esWaDpnJvvBDvijJeYrQ/blobs/rcMu4PMZiVa49bjXD2qt/image)

![](https://content.gitbook.com/content/esWaDpnJvvBDvijJeYrQ/blobs/JojBE6f7js8FDmDChHTL/image)

В результате чего объект будет вставлен как подузел.

![](https://content.gitbook.com/content/esWaDpnJvvBDvijJeYrQ/blobs/xb3u0H6c3MRev0VWjXAF/image)

Получаем сообщение о завершении импорта одного узла. Нажимаем

![](https://content.gitbook.com/content/esWaDpnJvvBDvijJeYrQ/blobs/k5TinMw4jG7DblsO3X1Q/image)

![](https://content.gitbook.com/content/esWaDpnJvvBDvijJeYrQ/blobs/BejDncKuxu2ok1Vzd65s/image)

Нажимаем на кнопку

![](https://content.gitbook.com/content/esWaDpnJvvBDvijJeYrQ/blobs/ZCVifFzLhJ0ZwD8UGbTn/image)

![](https://content.gitbook.com/content/esWaDpnJvvBDvijJeYrQ/blobs/A73MrTVJJM89FM2ehVoT/image)

В открывшемся окне переименовываем название отчета (Тестовый отчет) и *Section (RPT\_BS\_BOOK\_TEST),* (по желанию можно задать перевод на английском и румынском) и нажимаем

![](https://content.gitbook.com/content/esWaDpnJvvBDvijJeYrQ/blobs/gXx1Po74GXBDXjp2k4lZ/image)

![](https://content.gitbook.com/content/esWaDpnJvvBDvijJeYrQ/blobs/xSH4pkSizPmdJ1a2VskF/image)

В поле

![](https://content.gitbook.com/content/esWaDpnJvvBDvijJeYrQ/blobs/niUmBjpyaJ49tyD8XA9N/image)

указываем имя шаблона (bs\_book\_rep\_test.vts), который мы скопировали и нажимаем

![](https://content.gitbook.com/content/esWaDpnJvvBDvijJeYrQ/blobs/edMWTc40klYf2xA8Vc6u/image)

![](https://content.gitbook.com/content/esWaDpnJvvBDvijJeYrQ/blobs/O5dTkmS7NcwELm4YeaT0/image)

В поле

![](https://content.gitbook.com/content/esWaDpnJvvBDvijJeYrQ/blobs/v30oW01trKChbYgdouta/image)

записан блок *PL/SQL* для отчета который мы скопировали. Необходимо создать свой пакет с процедурой.

![](https://content.gitbook.com/content/esWaDpnJvvBDvijJeYrQ/blobs/e70KjdQwfq2Dp9e0tLox/image)
{% endstep %}

{% step %}

### Создание шаблона

Для начала выбираем похожий шаблон. Открываем папку с шаблонами template, находим файлы формата *.vts.* Шаблон откроется в программе *Formula One*.

![](https://content.gitbook.com/content/esWaDpnJvvBDvijJeYrQ/blobs/CgKAlytTmQCQl9TsQ3I1/image)

Копируем нужный файл и тут же вставляем. После чего переименовываем шаблон (в данном случае это *bs\_book\_rep\_test.vts).* При открытии файла откроется полная копия скопированного файла. В процессе редактирования называем наш отчет "Выдача топлива". В поле \_company выводится имя компании. Поля *\_datastart* и *\_dataend* образуют период. В поле *\_clcavtot* выводится название автомобиля из справочника *VMS\_UNIVERS*. *detail1* образуют 4 поля (в *\_avto* попадает код автомобиля из справочника *VMS\_UNIVERS*; в *\_clcavtot* попадает название автомобиля из справочника *VMS\_UNIVERS*; в поле \_cant попадает количество, в поле *txtcoment* комментарий). Напротив summary ведется подсчет всех строк в поле с двойным (!) нижним подчеркиванием *\_\_cant*. Напротив *title* задаются названия.

![](https://content.gitbook.com/content/esWaDpnJvvBDvijJeYrQ/blobs/TxwSpvooYmDogEbOvqDV/image)
{% endstep %}

{% step %}

### Создание пакета

Открываем *Toad* и в редакторе записываем скрипт создания пакета *pkg\_bs\_book\_reps* и процедуры *test*. Выполняем и компилируем скрипт с помощью кнопки

![](https://content.gitbook.com/content/esWaDpnJvvBDvijJeYrQ/blobs/milxn0M4XE8xITdlyKzQ/image)

![](https://content.gitbook.com/content/esWaDpnJvvBDvijJeYrQ/blobs/wawQdwisQNY9EXylAHeg/image)

В процедуре приравниваем для *Header'a* поля с именем компании из таблицы *VMS\_COMPANY*, дату начала и дату конца. Для *filt1* подселектом из справочника *VMS\_UNIVERS* в поле *clcavtot* будет выводиться название автомобиля.

Для *Master'a* приравниваем поля с кодом автомобиля, его названием, количеством, комментарием, *datamanual* (период от *:datastart* до *:dataend*) и кодом документа. Где *nrdoc* *Master'a* равен коду документа, *nrdoc* *Detail'a* равен коду документа, *sysfid* документа равен 10, *cod* *Detail'a* приравниваем к *filt1* и используем нулевые значения. Выполняем и компилируем скрипт с помощью кнопки

![](https://content.gitbook.com/content/esWaDpnJvvBDvijJeYrQ/blobs/ab5COEMvRiEDtgfCpmn2/image)

![](https://content.gitbook.com/content/esWaDpnJvvBDvijJeYrQ/blobs/tfEQstYghp74tfUs9Nfk/image)

Завершаем транзакцию с сохранением с помощью кнопки **Commit**.

![](https://content.gitbook.com/content/esWaDpnJvvBDvijJeYrQ/blobs/A3FSJ9etOYQbugv3WxY8/image)

![](https://content.gitbook.com/content/esWaDpnJvvBDvijJeYrQ/blobs/kQ1ohNC5JgrODUhUhxNX/image)
{% endstep %}

{% step %}

### Создание запроса

В поле

![](https://content.gitbook.com/content/esWaDpnJvvBDvijJeYrQ/blobs/EIBSjdyxuxlDQBV3sp7e/image)

записываем название только что созданного пакета *pkg\_bs\_book\_reps* и через точка название процедуры *test*. После чего нажимаем

![](https://content.gitbook.com/content/esWaDpnJvvBDvijJeYrQ/blobs/No9oo7TwD1U3H28TlWUH/image)

![](https://content.gitbook.com/content/esWaDpnJvvBDvijJeYrQ/blobs/CE0Lo1EE3Zj9i8XkDdPv/image)

Сохраняем изменения посредством **Commit**.

![](https://content.gitbook.com/content/esWaDpnJvvBDvijJeYrQ/blobs/3ZKGhMz7rYx0tZRJUdQ9/image)

![](https://content.gitbook.com/content/esWaDpnJvvBDvijJeYrQ/blobs/Mgr1Eg4Nz6GO3tzR91kN/image)
{% endstep %}

{% step %}

### Изменение шаблона

Для того чтобы изменения вступили в силу обновляем настройки с помощью кнопки *F5*. В появившемся окне нажимаем

![](https://content.gitbook.com/content/esWaDpnJvvBDvijJeYrQ/blobs/KD8WYMePSODE0EwlJEQX/image)

![](https://content.gitbook.com/content/esWaDpnJvvBDvijJeYrQ/blobs/AWT0JCX4wuTuR9FsZLZY/image)

После чего получаем сообщение об успешном обновлении настроек. Нажимаем

![](https://content.gitbook.com/content/esWaDpnJvvBDvijJeYrQ/blobs/XswRElpx0GaVk8QsJvzP/image)

![](https://content.gitbook.com/content/esWaDpnJvvBDvijJeYrQ/blobs/NUD4ADwHrVihVCWbzqYD/image)

Открываем дерево отчетов и находим тестовый отчет в журнале *Доходы*. Нажимаем правой кнопкой мыши и выбираем

![](https://content.gitbook.com/content/esWaDpnJvvBDvijJeYrQ/blobs/DoSF2qC5PdiMOeSPbXPO/image)

![](https://content.gitbook.com/content/esWaDpnJvvBDvijJeYrQ/blobs/XrTUMoDZ73D3cpfn0hF4/image)

В открывшейся вкладке выбираем

![](https://content.gitbook.com/content/esWaDpnJvvBDvijJeYrQ/blobs/tOxvHhuhSCrW7RDjpRKC/image)

![](https://content.gitbook.com/content/esWaDpnJvvBDvijJeYrQ/blobs/uI6fSnIHq8S8Vi08dar5/image)

Для *filt1Caption:TLabel* задаём в поле *Caption* "Автомобиль".

![](https://content.gitbook.com/content/esWaDpnJvvBDvijJeYrQ/blobs/y618EnKeVB7jyhHYupyv/image)

Для *filt1:TUnDBEdit* в поле *Params* задаём фильтр выпадающего справочника. Для этого нажимаем на

![](https://content.gitbook.com/content/esWaDpnJvvBDvijJeYrQ/blobs/YtYsjrB2m7V4KwrSfNcj/image)

![](https://content.gitbook.com/content/esWaDpnJvvBDvijJeYrQ/blobs/xTUycDAoEwraHvxfOzys/image)

В открывшемся окне вводим фильтр, благодаря которому из справочника будет выпадать только список автомобилей. Нажимаем

![](https://content.gitbook.com/content/esWaDpnJvvBDvijJeYrQ/blobs/imO8IunxAahIqKnuNO8P/image)

![](https://content.gitbook.com/content/esWaDpnJvvBDvijJeYrQ/blobs/tTTY9GIwTd9IGYHr61qb/image)

После чего закрываем окно

![](https://content.gitbook.com/content/esWaDpnJvvBDvijJeYrQ/blobs/gHo44B00hx0E2kE7VyQu/image)

![](https://content.gitbook.com/content/esWaDpnJvvBDvijJeYrQ/blobs/LjjASGpUGdp1leKh3U3L/image)

И сохраняем изменения с помощью кнопки

![](https://content.gitbook.com/content/esWaDpnJvvBDvijJeYrQ/blobs/kPFJ05ctdWtzXCSIJmNJ/image)

![](https://content.gitbook.com/content/esWaDpnJvvBDvijJeYrQ/blobs/53CdtmV66blDx8B888nB/image)

В появившемся окне нажимаем

![](https://content.gitbook.com/content/esWaDpnJvvBDvijJeYrQ/blobs/0dXnfnQvyFTCv6IiUQj3/image)

![](https://content.gitbook.com/content/esWaDpnJvvBDvijJeYrQ/blobs/BNhdJ2aZcmg4gA3eejEx/image)

Нажав на

![](https://content.gitbook.com/content/esWaDpnJvvBDvijJeYrQ/blobs/mNHJjK49ilhgZYlInc1D/image)

выпадает справочник с автомобилями.

![](https://content.gitbook.com/content/esWaDpnJvvBDvijJeYrQ/blobs/3PhGhulji5ycDbwKQMIN/image)

Выбираем например Икарус 280 и нажимаем

![](https://content.gitbook.com/content/esWaDpnJvvBDvijJeYrQ/blobs/BFpOlApjlFvKmqmZKxaE/image)

(или горячую клавишу F9).

![](https://content.gitbook.com/content/esWaDpnJvvBDvijJeYrQ/blobs/gBF14wWy8cNA5wb5eJUC/image)

В результате чего построится отчет.

![](https://content.gitbook.com/content/esWaDpnJvvBDvijJeYrQ/blobs/dtBbeUccnTzh4XrvGEgk/image)
{% endstep %}

{% step %}

### Изменение шаблона (дополнительно)

Откроем наш шаблон и изменим поля title на группировку GroupH (Header) по полю \_cod и GroupF (Footer). Так же добавим переход на новую страницу pagebreak. Таким образом будет происходить переход на новую страницу сразу после названия компании (\_company) и после шапки (код, автомобиль, кол-во и комментарий). Для сохранения изменений нажимаем на кнопку

![](https://content.gitbook.com/content/esWaDpnJvvBDvijJeYrQ/blobs/hKVn99xL4QxxhGK3FLuo/image)

![](https://content.gitbook.com/content/esWaDpnJvvBDvijJeYrQ/blobs/ajnRdSXIwMugcItvZWTg/image)

Для того чтобы увидеть изменения необходимо построить новый отчет, либо воспользоваться кнопкой обновить отчет

![](https://content.gitbook.com/content/esWaDpnJvvBDvijJeYrQ/blobs/bTuuOTvFRXjCyi7suywv/image)

(если отчет уже построен).

![](https://content.gitbook.com/content/esWaDpnJvvBDvijJeYrQ/blobs/MmsYMpMPjjvPFWBxtvBn/image)

Можно строить отчеты для разных документов, которые будут отличаться по \_cod от datamanual и считать итоги до документу с помощью поля с двойным (!) нижним подчеркиванием (\_\_cant). Сохраняем изменения с помощью кнопки

![](https://content.gitbook.com/content/esWaDpnJvvBDvijJeYrQ/blobs/5HcvCvY2PJhYONfJKEWK/image)

![](https://content.gitbook.com/content/esWaDpnJvvBDvijJeYrQ/blobs/8md568psQ7MRZovsCtTc/image)

При обновлении отчета, будет построен отчет для двух документов (от 13.10.2013 и 26.10.2013) и для каждого ведется подсчет итогов.

![](https://content.gitbook.com/content/esWaDpnJvvBDvijJeYrQ/blobs/IbYfIwg7i6DF3HHUcS94/image)

Так же можно изменять внешний вид отчета. Для этого необходимо выделить нужные поля и нажав левой кнопкой мыши в меню выбрать

![](https://content.gitbook.com/content/esWaDpnJvvBDvijJeYrQ/blobs/TBtfLmZa6UJeLtPh7XYT/image)

![](https://content.gitbook.com/content/esWaDpnJvvBDvijJeYrQ/blobs/dqLk4vfUNAP9r5T0t3zr/image)

Перейдя на вкладку

![](https://content.gitbook.com/content/esWaDpnJvvBDvijJeYrQ/blobs/hTwlZ2pE1iw4owcPhynC/image)

можно выбрать цвет окна ниже

![](https://content.gitbook.com/content/esWaDpnJvvBDvijJeYrQ/blobs/kOICyuNSZxM0xEN3Ceot/image)

Выберем например цвет

![](https://content.gitbook.com/content/esWaDpnJvvBDvijJeYrQ/blobs/uii4HfBqjnVMnF3xlTNk/image)

ниже

![](https://content.gitbook.com/content/esWaDpnJvvBDvijJeYrQ/blobs/FlneoUXFkaZJWEjB4585/image)

выбираем цвет

![](https://content.gitbook.com/content/esWaDpnJvvBDvijJeYrQ/blobs/mFEEpSEesEmQMPzM9ORf/image)

(ниже Sample показан выбранный цвет) и нажимаем

![](https://content.gitbook.com/content/esWaDpnJvvBDvijJeYrQ/blobs/aCTZozHv4G4M5sbPSHpE/image)

![](https://content.gitbook.com/content/esWaDpnJvvBDvijJeYrQ/blobs/842PhmMKIEhMJ70sJlJI/image)

В результате выделенные поля будут в новом цвете. После проделанных операций сохраняем изменения с помощью кнопки

![](https://content.gitbook.com/content/esWaDpnJvvBDvijJeYrQ/blobs/21ohiMtq1OfnFC93CbY9/image)

![](https://content.gitbook.com/content/esWaDpnJvvBDvijJeYrQ/blobs/PCBL5fD8MnqjZcGrSX3z/image)

В результате отчет примет вид.

![](https://content.gitbook.com/content/esWaDpnJvvBDvijJeYrQ/blobs/2DzEBM7C1d9KbC7NWHis/image)

При включении свойства SetRowHeightAuto on, в отчете будет устанавливаться автоматическая высота строки. Сохраним изменения с помощью кнопки

![](https://content.gitbook.com/content/esWaDpnJvvBDvijJeYrQ/blobs/WmwKbe7pxtGFeZOf1QuP/image)

![](https://content.gitbook.com/content/esWaDpnJvvBDvijJeYrQ/blobs/cISZGWvxl8U6zyU79gbT/image)

После построения отчет примет вид.

![](https://content.gitbook.com/content/esWaDpnJvvBDvijJeYrQ/blobs/0KAQNzCAa0aFJcPuf9jy/image)
{% endstep %}
{% endstepper %}
