Инструкция

Создание шаблонов отчета


Введение

Функционал шаблонов является необязательной к применению функцией, вы можете использовать шаблон "стандартный отчет".

Необходимость использования шаблонов возникает в нескольких случаях:

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

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

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

Шаблон состоит из элементов шаблона (заголовки, поля) и блоков. Блоки шаблона позволяют группировать элементы шаблона и повторно использовать, например в разных шаблонах. Работа с шаблонами ведется в редакторе шаблонов визуально.

В любом отчете на вкладке "параметры" вы можете выбрать шаблон "стандартный отчет" или свой собственный.

Шаблоны

Шаблон отчета это набор следующих простых элементов:

  • поле
  • заголовок
  • текст
  • код
  • блок

Блоки

Блоки позволяют группировать элементы шаблона и использовать их повторно в шаблонах.

Блоки могут быть вложены друг в друга.

Типы элементов шаблона

Каждый элемент шаблона имеет свои свойства которые могут быть изменены в редакторе шаблона.

Текст

Самый простой элемент шаблона это текстовое поле. Его единственное свойство это - текст. Текст можно форматировать и добавлять в него таблицы. В текст могут быть вставлены элементы кода которые позволяют выводить переменную, список приложений, выбирать нужную формулировку в выводах. Подробнее об этом в главе "Код".

Поле

"Поле" выводит нужное поле которое вы заполняете в форме отчета. У этого элемента есть три свойства: "тип поля", "заголовок" и "текст".

"Тип поля" позволяет выбрать нужно поле из формы отчета.

С помощью свойства "заголовок" выбирается вид представления поля:

  • полужирный - перед значением поля его название будет выделено полужирным шрифтом
  • параграф - значение поля будет выведено после названия поля на следующей строке
  • h1-h5 - название поля будет заголовком выбранного уровня от первого до пятого, значение поля будет идти после заголовка

Код

Элемент "код" предназначен для вывода с помощью кода на языке шаблонизатора сложных списков и таблиц. Текст введенный в это поле не форматируется автоматически, форматирование необходимо реализовать с помощью тегов HTML.

Список доступных HTML тегов:

<div> блок 
<p> параграф 
<h1> <h2> <h3> <h4> <h5> заголовки от первого до пятого уровня
<b> полужирный текст
<ol> начало списка
<li> элемент списка
<table> начало таблицы
<tr> строка таблицы
<td> столбец таблицы

 Логику в этом поле необходимо реализовать на языке шаблонизатора, подробнее он описан в следующем разделе.

Часто в шаблоне будут встречаться скрытые блоки кода - в них реализована сложная логика работы модулей расчета, постепенно мы будем открывать скрытые возможности этих блоков и переводить их в код более простого шаблонизатора Liquid, подробнее о нем в следующей главе.

Блок

С помощью этого элемента вы можете добавить блок в ваш шаблон. Блок необходимо подготовить заранее или выбрать из доступных по умолчанию. С помощью блоков легко реализовать повторное использование сложных элементов отчета такие как расчеты.

Например с помощью блоков вы можете реализовать две разных концепции работы с шаблонами:

  • создать свой блок с нужной логикой например санитарно-химического анализа и затем использовать в своем шаблоне вместо стандартного, в этом случае обновление вашего шаблона теперь ваша задача.
  • создать свой шаблон (скопировав стандартный), изменить некоторые тексты в шаблоне а блоки использовать стандартные, тем самым вы получаете свой шаблон но его сложные элементы такие как расчеты будут автоматически обновляться с изменениями например в СП.

Описание языка шаблонизатора

За основу шаблонов взят язык шаблонизатора Liquid подробно узнать можно по ссылке: https://shopify.github.io/liqu...

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

Переменные

Самая простая задача шаблона вывести переменную, для этого в блоке кода в место где должно быть значение переменной нужно вставить следующий код

[[report.название_переменной]]

на данный момент доступны следующие переменные:

[[report.project_title]] - название отчета
[[report.company_license]] - СРО компании
[[report.company_title ]] - название компании
[[report.company_inn]] - ИНН компании
[[report.company_ogrn]] - ОГРН компании
[[report.company_address]] - адрес компании

Список будет постепенно расширяться.

Управляющие конструкции

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

Для этого нужно использовать следующий код

[% if report.prb.noise.night == 1 %] в дневное и ночное время. [% else %] в дневное время. [% endif %]

В этом коде в зависимости от переменной night мы выводим одну или другую фразу. 

Список управляющих конструкций будет расширяться.

Функции

С помощью функций легко вывести в отчет какие либо списки, например приложений.

Список протоколов исследований шума можно вывести с помощью кода

[[ 'shum' | PrintSections ]]

Список функций будет расширяться.

Редактор шаблона

Для вывода отчета по своему шаблону его необходимо создать (скопировать) в редакторе шаблонов. Редактор шаблонов находится в разделе Настройки->Шаблоны отчетов.

Список разделен на шаблоны и блоки для удобства навигации. Шаблоны и блоки недоступные для редактирования обозначены замком. К шаблонам и блокам можно предоставлять общий доступ как и к другим элементам внутри Ecolog assistant. Текущий статус доступа показывает точка около названия элемента:

  • синий - вы предоставили общий доступ к этому элементу другим пользователям
  • зеленый - вам предоставлен доступ другим пользователем или разработчиками приложения
  • серый - доступ для других пользователей закрыт

Создание и копирование

Если войти в любой шаблон откроется редактор шаблонов и в него будет загружен выбранный шаблон или блок.

Флаг "шаблон блока" позволяет сделать из шаблона блок и повторно использовать его в других шаблонах, в отчетах напрямую блоки использовать нельзя.

Добавить нужный элемент шаблона можно с помощью кнопки "добавить".

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

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

Элементы шаблона

Элементы шаблона можно передвигать между собой с помощью кнопки:

удалять кнопкой:

редактировать блок можно с помощью кнопки: