Инструкция
Создание шаблонов отчета
Введение
Функционал шаблонов является необязательной к применению функцией, вы можете использовать шаблон "стандартный отчет".
Необходимость использования шаблонов возникает в нескольких случаях:
- вам необходимо изменить логику работы расчетных модулей
- у вас в компании принят свой шаблон отчета
- вам нужно поменять местами некоторые главы отчета
- вам нужно изменить формулировки текстов внутри отчета
Некоторые из этих пунктов решаются легко самим пользователем, логику работы расчетных модулей возможно изменить с помощью запроса в техническую поддержку.
Вам не нужно заново создавать свой шаблон отчета, просто скопируйте наш шаблон и начните его изменять.
Шаблон состоит из элементов шаблона (заголовки, поля) и блоков. Блоки шаблона позволяют группировать элементы шаблона и повторно использовать, например в разных шаблонах. Работа с шаблонами ведется в редакторе шаблонов визуально.
В любом отчете на вкладке "параметры" вы можете выбрать шаблон "стандартный отчет" или свой собственный.
Шаблоны
Шаблон отчета это набор следующих простых элементов:
- поле
- заголовок
- текст
- код
- блок
Блоки
Блоки позволяют группировать элементы шаблона и использовать их повторно в шаблонах.
Блоки могут быть вложены друг в друга.
Типы элементов шаблона
Каждый элемент шаблона имеет свои свойства которые могут быть изменены в редакторе шаблона.
Текст
Самый простой элемент шаблона это текстовое поле. Его единственное свойство это - текст. Текст можно форматировать и добавлять в него таблицы. В текст могут быть вставлены элементы кода которые позволяют выводить переменную, список приложений, выбирать нужную формулировку в выводах. Подробнее об этом в главе "Код".
Поле
"Поле" выводит нужное поле которое вы заполняете в форме отчета. У этого элемента есть три свойства: "тип поля", "заголовок" и "текст".
"Тип поля" позволяет выбрать нужно поле из формы отчета.
С помощью свойства "заголовок" выбирается вид представления поля:
- полужирный - перед значением поля его название будет выделено полужирным шрифтом
- параграф - значение поля будет выведено после названия поля на следующей строке
- 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. Текущий статус доступа показывает точка около названия элемента:
- синий - вы предоставили общий доступ к этому элементу другим пользователям
- зеленый - вам предоставлен доступ другим пользователем или разработчиками приложения
- серый - доступ для других пользователей закрыт
Создание и копирование
Если войти в любой шаблон откроется редактор шаблонов и в него будет загружен выбранный шаблон или блок.
Флаг "шаблон блока" позволяет сделать из шаблона блок и повторно использовать его в других шаблонах, в отчетах напрямую блоки использовать нельзя.
Добавить нужный элемент шаблона можно с помощью кнопки "добавить".
Кнопка "копировать" скопирует текущий шаблон или блок, вы будете сразу перемещены на новый блок или шаблон, теперь он станет вашим и вы сможете вносить в него изменения и выбрать в своем отчете.
Кнопка "сохранить" сохраняет и генерирует шаблон заново. Если вы вносили изменения в блоки шаблона то после их сохранения необходимо сохранить тот шаблон в который они вставлены, если блок вставлен в другие блоки то сохранить нужно и эти блоки. Только после этого изменения станут доступны в отчете.
Элементы шаблона
Элементы шаблона можно передвигать между собой с помощью кнопки:
удалять кнопкой:
редактировать блок можно с помощью кнопки: