Шаблон позволяет определить внешний вид документа или записи справочника, включая форматирование текста, вставку графики, расположение полей и пр. Создание шаблона осуществляется при помощи текстового редактора. В отличие от редактора, применяемого в текстовом поле, редактор шаблона имеет дополнительные кнопки-списки, позволяющие вставлять в шаблон пользовательские поля (поля, определенные администратором), системные поля (поля, которыми обладает любой тип документа или справочник) и переменные типов документов, которые содержат произвольную информацию (например, результаты выполнения какого-либо действия).
Пользовательские поля размещаются в шаблоне в виде {Название поля}. Если одно и то же поле разместить дважды, то при повторном размещении поля оно принимает вид {Название поля [*]}. При подобной записи поле отображается только в режиме просмотра документа, в режиме формы (создание, редактирование) оно отсутствует.
К системным полям типа документа относятся:
- АВТОР — поле содержит автора документа;
- ДАТА СОЗДАНИЯ — дата, когда был создан документ;
- ДАТА/ВРЕМЯ ИЗМЕНЕНИЯ — дата и время последнего изменения документа;
- СОСТОЯНИЕ — состояние документа (заголовок или название точки маршрута, на которой находится документ в конкретный момент времени);
- ТИП ДОКУМЕНТА — поле содержит название типа документа;
- ПОДРАЗДЕЛЕНИЕ — содержит подразделение, к которому относится автор документа;
- РЕГИСТРАЦИОННЫЙ НОМЕР — регистрационный номер документа, присвоенный ему в результате выполнения действия Регистрация ;
- ДАТА РЕГИСТРАЦИИ — при выполнении действия Регистрация в данное поле записывается текущая дата.
У справочников системные поля иные:
- АВТОР — сотрудник, создавший конкретную запись справочника;
- РЕДАКТОР — сотрудник, который последним изменял запись справочника;
- ДАТА/ВРЕМЯ СОЗДАНИЯ записи справочника;
- ДАТА/ВРЕМЯ ИЗМЕНЕНИЯ записи справочника (последнее редактирование).
В Шаблоне можно использовать следующие переменные (только для типов документов):
- ЗАГОЛОВОК — заголовок документа, который состоит из названия типа документа и перечисления скобках полей документа, у которых установлен атрибут Использовать в Заголовке;
- ПОЛЬЗОВАТЕЛЬ — переменная, содержащая пользователя, открывшего документ для просмотра;
- КОНТРОЛЬ — результаты своего выполнения действие Контроль записывает в данную переменную;
- РОДСТВЕННЫЕ ДОКУМЕНТЫ — переменная, содержащая дерево родственных документов (созданных при помощи действия Создание );
- РЕШЕНИЕ — переменная, в которую действие Решение записывает результаты своего выполнения;
- ДЕЛА — при отнесении документа к делу, действие Дело записывает в данную переменную список дел, к которым относится документ;
- ТЕКУЩАЯ ДАТА — переменная содержит дату, текущую на момент открытия документа;
- ТЕКУЩАЯ ДАТА/ВРЕМЯ — переменная, содержащая дату и время, текущие на момент открытия документа.
Все описанное далее следует читать только тем, кого не пугают аббревиатуры HTML, CSS и иже с ними.
Администратор, проектирующий шаблон может не только определять цвета, начертания и шрифты для обычного текста, но и стили для гиперссылок, элементов управления и пр. Для этого администратор должен обладать навыками работы с CSS.
Чтобы переопределить какой-либо стиль в шаблоне необходимо использовать следующую конструкцию в режиме HTML:
<div style="display:none;">
{%style%}
стиль CSS
{%/style%}
</div>
Следующий пример окрашивает фон документа или записи справочника в зеленый цвет:
<div style="display:none;">
{%style%}
body {
background-color:green;
}
{%/style%}
</div>
Поля, использующие гиперссылки, применяют следующие классы, переопределяя которые администратор может определять их внешний вид:
- для поля Структура — structure;
- для поля Справочнике — reference;
- для поля Файл — file;
- для поля Документ — document.
Нижеприведенный пример изменяет шрифты для полей с гиперссылками:
<div style="display:none;">
{%style%}
#structure {
font-family: "Times New Roman", Times, serif;
font-size: 18px;
font-style: italic;
color: #3300FF;
}
#reference {
font-family: "Times New Roman", Times, serif;
font-size: 18px;
font-style: italic;
color: #3300FF;
}
#file {
font-family: "Times New Roman", Times, serif;
font-size: 18px;
font-style: italic;
color: #3300FF;
}
#document {
font-family: "Times New Roman", Times, serif;
font-size: 18px;
font-style: italic;
color: #3300FF;
}
{%/style%}
</div>
Администратор также может переопределить внешний вид любого поля в шаблоне. Для этого в созданном документе посредством просмотра его HTML-кода необходимо определить идентификатор соответствующего поля (он может быть, например, следующего вида idfield_ea4ac9370c). А затем, используя переопределение стиля CSS, задать новый вид. Например, изменить ширину строкового поля до 100px:
<div style="display: none;">{%style%} #idfield_ea4ac9370c { width:100px; } {%/style%}</div>
Администратору также доступна возможность использования Java Script при проектировании шаблонов документов (справочников). Например, нижеприведенный код позволяет добавить в документ вкладки:
<div id="tabs">
<ul>
<li style="margin-left: 1px" id="tabHeaderActive">
<a href="javascript:void(0)" onClick=" return toggleTab(1,2)">Вкладка1</a>
</li>
<li id="tabHeader2">
<a href="javascript:void(0)" onClick=" return toggleTab(2,2)" >Вкладка2</a>
</li>
</ul>
</div>
<div id="tabscontent">
<div id="tabContent1" style="display:yes;">Содержимое первой вкладки</div>
<div id="tabContent2" style="display:none;">Содержимое второй вкладки</div>
</div>
</div>
Еще один пример, демонстрирующий возможность показа (скрытия) секции документа в зависимости от выбранного значения перечисления:
<p>{Перечисление}</p>
<div id="section">
<fieldset> <legend>Секция</legend>
<p>Содержимое</p>
</fieldset>
</div>
<div style="display:none;">
{%edit%}
if ($("$Перечисление$").value == 0) {
$("section").style.display = "block";
}
else {
$("section").style.display = "none";
}
$("$Перечисление$").onchange=function(){
if (this.value == 0) {
$("section").style.display = "block";
}
else {
$("section").style.display = "none";
}
}
{%/edit%}
{%view%}
if ($("$Перечисление$").value == "0") {
$("section").style.display = "block";
}
else {
$("section").style.display = "none";
}
{%/view%}
</div>
Следующий пример демонстрирует использование фреймов:
{%iframe%} name="frame" id="frame" frameborder = "no" src ="/structure/view?hideMenu" scrolling = "auto" width="80%" style =" border:0px solid white; margin-bottom:75px; " {%/iframe%}
<a href="/structure/view?hideMenu" target="frame">Открыть Структуру во фрейме</a><br /><a href="/lms?hideMenu" target="frame">Открыть Почту во фрейме</a>
Если предполагается выводить документы на печать, будет полезен класс CSS no-print, который позволяет скрыть некоторые элементы в печатной форме. Например, элементы шаблона заключенные в блок <div class="no-print"> ... </div>
будут видны в экранной форме, но будут отсутствовать в печатной. Кстати, вывод на печать в СЭД Detrix осуществляется стандартными средствами веб-браузера.
Аналогично описанному выше no-print используется CSS-класс no-screen. Этот класс скрывает соответствующий блок на экране, но выводит его на печать.
СЭД Detrix обеспечивает также возможность скрытия ряда элементов страниц, таких как, меню, навигационный заголовок, панель действий и пр. Для реализации такого скрытия в URL-адресе должны присутствовать соответствующие GET-параметры:
- hideMenu — скрыть меню и навигационный заголовок;
- hideBarAndCrumbs — скрыть панель действий;
- hideTitle — скрыть навигационный заголовок;
- hideToolbar — скрыть панель инструментов;
- hideLog — скрыть Ход работ.