## Опис

Шаблони звітів у форматі Open Document Text є звичайними файлами ODT, які можна створити за допомогою будь-якого текстового процесора із підтримкою ODT, зокрема Calligra Words або LibreOffice Writer. Методологічно, слід використати змінні полів користувача для зберігання посилань на відомості, які має бути отримано від проєкту. Змінні Writer називаються поля користувача. Вставити їх можна за допомогою пункту меню Вставка Поле Інші поля Змінні Поле користувача. У Words ці поля мають назву нетипові змінні. Їх можна вставити за допомогою пункту бічної панелі «Редагування тексту»Змінна Нетипова.

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

## Змінні поля користувача

### Змінні

Змінні використовуються для того, щоб засіб створення звітів міг видобути дані з проєкту.

Змінна може бути посиланням на окреме поле даних, посиланням на дані таблиці або посиланням на дані діаграми.

#### Окреме поле даних

Запис змінної окремого поля даних має такий формат:

`назва групи даних`.`властивість` = `ідентифікатор властивості`

де

- значенням `назва групи даних` може бути tr, project або schedule (див. нижче).

- значення `властивість` робить назву поля користувача унікальною.

- `ідентифікатор властивості` ідентифікує властивість у групі даних.

#### Дані таблиці

Таблиця у шаблоні звіту складається зі змінної, яка задає дані таблиці, яку слід використати.

Назва змінної має починатися з `table` (наприклад, tableTasks), з значенням змінної має бути назва таблиці даних (наприклад, tasks).

Одразу після змінної слід вставити таблиці і заповнити стовпчики змінними полів користувача, які визначають те, які з властивостей слід отримати з таблиці, яку вказано вище. Ці змінні повинні мати назви, які починаються із назви змінної таблиці, розташованої вище.

Формат цих змінних є таким:

tableTasks.`властивість` = `ідентифікатор властивості`

де

- властивість робить назву поля користувача унікальною.

- ідентифікатор властивості ідентифікує властивість у групі даних.

#### Дані діаграми

Діаграма у шаблоні звіту складається зі змінної, яка задає дані, які слід використати у діаграмі.

Назва змінної має починатися з `chart` (наприклад, chartBudgetCost), а значення змінної вказує групу даних та значення, які буде використано для діаграми.

Запис змінної має такий формат (зверніть увагу на крапки з комами):

`назва` = `група даних`; values=`список властивостей даних, відокремлених комами`;

де

- `назва` має починатися з chart (наприклад, chartBudgetCost)

- `група даних`

- список властивостей даних, відокремлених комами визначає властивості у групі даних.

Приклад:

chartBudget = project; values=bcws cost, bcwp cost, acwp cost;

### Перекладені мітки

Перекладені мітки надають змогу створювати загальні шаблони звітів, якими можна буде користуватися різними мовами.

Назва змінної | Значення змінної
tr.project | Проєкт
tr.manager | Керівник
tr.schedule | Розклад
tr.bcws | БВЗР
tr.bcwp | БВВР
tr.acwp | ДВВР
tr.spi | ІВП
tr.cpi | ІВР

### Значення проєкту

Показує значення з головного проєкту.

Назва змінної | Значення змінної | Опис
project.name | Назва | Назва проєкту
project.manager | Керівник | Ім'я керівника проєкту
project.bcwscost | БВЗР — Вартість | Бюджетна вартість запланованої роботи на основі вартості
project.bcwpcost | БВВР — Вартість | Бюджетна вартість виконаної роботи на основі вартості
project.acwpcost | ДВВР — Вартість | Поточна вартість виконаної роботи на основі вартості
project.spicost | ІВП (вартість) | Індекс виконання плану на основі вартості
project.cpicost | ІВР (вартість) | Індекс вартості роботи на основі вартості
project.bcwseffort | БВЗР — Обсяг робіт | Бюджетна вартість запланованої роботи на основі обсягу робіт
project.bcwpeffort | БВВР — Обсяг робіт | Бюджетна вартість виконаної роботи на основі обсягу робіт
project.acwpeffort | ДВВР — Обсяг робіт | Поточна вартість виконаної роботи на основі обсягу робіт
project.spieffort | ІВП (обсяг) | Індекс виконання плану на основі обсягу робіт
project.cpieffort | ІВР (обсяг) | Індекс вартості роботи на основі обсягу робіт

### Значення розкладу

Показує значення з поточного розкладу.

Назва змінної | Значення змінної | Опис
schedule.name | Назва | Назва розкладу
schedule.state | Стан | Стан розкладу
schedule.direction | Напрям | Напрям створення розкладу
schedule.overbooking | Перевищення | Перевищення
schedule.distribution | Розподіл | Розподіл
schedule.plannedstart | Запланований початок | Запланований початок
schedule.plannedfinish | Заплановане завершення | Заплановане завершення
schedule.scheduler | Планування | Планування
schedule.granularity | Рівень модульності | Рівень модульності
schedule.mode | Режим | Режим планування (автоматичний або вручну)

### Таблиці

Підтримувані типи таблиць:

- tasks

- taskstatus

- schedules

- projects

Щоб створити таблицю, вставте змінну одразу перед таблицею до вашого файл шаблона. Назва змінної ідетифікує таблицю. Вона має починатися зі слова table, наприклад tableTaskStatus.

Значення змінної використовується для визначення даних, які буде отримано. Воно має збігатися із назвою однієї із підтримуваних таблиць із наведеного вище списку, наприклад taskstatus.

Ви можете вставляти змінні до комірок таблиці за допомогою назви і значення із наведеної нижче таблиці.

Зауважте, що у таблиці розкладів передбачено підтримку значень, які описано вище у розділі значення розкладів.

Для таблиць проєктів, завдань і стану завдань передбачено підтримку таких значень:

Назва змінної | Значення змінної | Опис
`назва таблиці`.name | Назва | Назва завдання або проєкту
`назва таблиці`.wbscode | Код СРР |
`назва таблиці`.type | Тип | Тип завдання
`назва таблиці`.responsible | Відповідальний |
`назва таблиці`.allocation | Розподіл |
`назва таблиці`.estimatetype | Тип оцінки |
`назва таблиці`.calendar | Календар |
`назва таблиці`.estimate | Оцінка | Найімовірніша оцінка
`назва таблиці`.optimistic | Оптимістичне | Оптимістична частка
`назва таблиці`.pessimistic | Песимістичне | Песимістична частка
`назва таблиці`.risk | Ризик | Оцінка неточності
`назва таблиці`.constraint | Часові рамки | Тип часового обмеження
`назва таблиці`.constraintstart | Часові рамки початку | Часові рамки початку
`назва таблиці`.constraintend | Часові рамки завершення | Часові рамки завершення
`назва таблиці`.runingaccount | Поточний запис | Запис для поточних витрат
`назва таблиці`.startupaccount | Початковий запис | Запис для початкової вартості завдання
`назва таблиці`.startupcost | Початкова вартість | Витрати, заплановані на початку завдання
`назва таблиці`.shutdownaccount | Остаточний запис | Запис для завершальної вартості завдання
`назва таблиці`.shutdowncost | Остаточна вартість | Витрати, понесені на момент завершення завдання
`назва таблиці`.description | Опис | Опис завдання
`назва таблиці`.expected | Очікуване | Обчислена найімовірніша оцінка
`назва таблиці`.optimistic | Оптимістичне | Обчислена оптимістична оцінка
`назва таблиці`.pessimistic | Песимістичне | Обчислена песимістична оцінка
`назва таблиці`.starttime | Час початку | Час початку за розкладом
`назва таблиці`.endtime | Час завершення | Час завершення за розкладом
`назва таблиці`.duration | Тривалість | Тривалість за розкладом
`назва таблиці`.earlystart | Ранній початок | Перша можлива дата початку
`назва таблиці`.earlyfinish | Раннє завершення | Перша можлива дата завершення
`назва таблиці`.latestart | Пізній початок | Остання можлива дата початку
`назва таблиці`.latefinish | Пізнє завершення | Остання можлива дата завершення
`назва таблиці`.positivefloat | Додатній резерв |
`назва таблиці`.freefloat | Вільний резерв |
`назва таблиці`.negativefloat | Від’ємний резерв |
`назва таблиці`.startfloat | Початковий резерв |
`назва таблиці`.finishfloat | Завершальний резерв |
`назва таблиці`.assignaments | Призначення | Призначення виконавців
`назва таблиці`.varianceest | Відхилення (Оц) | Обчислене відхилення оцінки
`назва таблиці`.variancedur | Відхилення (Трив) | Обчислене відхилення тривалості
`назва таблиці`.optimisticdur | Оптимістична (Трив.) | Обчислена оптимістична тривалість
`назва таблиці`.pessimisticdur | Песимістична (Трив.) | Обчислена песимістична тривалість
`назва таблиці`.status | Стан | Стан завдання, який буде показано на панелі стану завдання
`назва таблиці`.completion | % виконання | Рівень виконання завдання
`назва таблиці`.plannedeffort | Запланований обсяг робіт | Запланований обсяг робіт
`назва таблиці`.actualeffort | Поточний обсяг робіт | Поточне виконання робіт
`назва таблиці`.remaningeffort | Залишковий обсяг робіт | Обсяг робіт, що залишився
`назва таблиці`.plannedcost | Запланована вартість | Заплановану вартість
`назва таблиці`.actualcost | Поточна вартість | Поточну вартість
`назва таблиці`.actualstart | Поточний початок | Поточний початок
`назва таблиці`.started | Почато |
`назва таблиці`.actualfinish | Поточне завершення | Поточне завершення
`назва таблиці`.finished | Завершено |
`назва таблиці`.schedulingstatus | Стан планування | Стан планування
`назва таблиці`.bcws | БВЗР | Бюджетна вартість запланованої роботи (на основі вартості)
`назва таблиці`.bcwp | БВВР | Бюджетна вартість виконаної роботи (на основі вартості)
`назва таблиці`.acwp | ДВВР | Поточна вартість виконаної роботи (на основі вартості)
`назва таблиці`.spi | ІВП | Індекс виконання плану
`назва таблиці`.critical | Критичний | Завдання є критичним
`назва таблиці`.criticalpath | Критичний ланцюжок | Завдання належить до критичного ланцюжка
`назва таблиці`.notscheduled | Не включено до розкладу | Не є цікавим
`назва таблиці`.assignmentmissing | Не вказано призначення | Не є цікавим
`назва таблиці`.resourceoverbooked | Перевищено можливості | Не є цікавим
`назва таблиці`.resourceunavailable | Виконавець недоступний | Не є цікавим
`назва таблиці`.constrainterror | Помилка у часових рамках | Не є цікавим
`назва таблиця`.effortnotmet | Невідповідний обсяг робіт | Не є цікавим
`назва таблиці`.schedulingerror | Помилка планування | Не є цікавим
`назва таблиці`.level | Рівень вузла, рівень | Не є цікавим
`назва таблиці`.statusnote | Нотатки щодо стану | Зауваження: не реалізовано
`назва таблиці`.owner | Власник | Не варто використовувати, не є аж надто цікавими
`назва таблиці`.status | Стан | Не варто використовувати, не є аж надто цікавими
`назва таблиці`.time | Час | Не варто використовувати, не є аж надто цікавими

## Діаграма

Може бути використано вставленням змінної із назвою chartX (X=якийсь текст, щоб зробити назву змінної унікальною) зі значенням project до того, як діаграму буде використано.

Зауважте, що діаграму має бути «прив'язано як символ», інакше засіб створення звітів не знайде її.

Змінна має такий формат:

Змінна: `Назва: chartX (X=якийсь текст) Значення: project; values=`дані`;`

де `дані` є списком відокремлених комами значень, які слід включити до діаграми.

Можливі значення параметра `дані`:

- >bcws effort — бюджетна вартість запланованої роботи на основі обсягу робіт.

- bcwp effort — бюджетна вартість виконаної роботи на основі обсягу робіт.

- acwp effort — поточна вартість виконаної роботи на основі обсягу робіт.

- spi effort — індекс виконання плану на основі обсягу робіт.

- cpi effort — індекс вартості роботи на основі обсягу робіт.

- bcws cost — бюджетна вартість запланованої роботи на основі вартості.

- bcwp cost — бюджетна вартість виконаної роботи на основі вартості.

- acwp cost — поточна вартість виконаної роботи на основі вартості.

- spi cost — індекс виконання плану на основі вартості робіт.

- cpi cost — індекс вартості роботи на основі вартості.

У діаграмі, яку ви створите у вашому шаблоні, має бути та сама (або більша) кількість стовпчиків, що і кількість значень, які ви вказали у вашій змінній.

Приклад:

Назва змінної: `chart1` Значення: `project; values=bcws cost,bcwp cost, acwp cost;`

Зауважте, що не можна одночасно використовувати значення на основі обсягу робіт і на основі вартості робіт. Якщо вам потрібно показати обидва типи значень, створіть дві окремі діаграми.

### Діаграма Ґанта

Не підтримується.