Show/Hide Toolbars

Справочник по интерфейсу администратора



Кликните мышью для просмотра изображения в полном размере

Окно настройки иерархии.

Параметр

Описание

Имя

Название иерархии

Хранимая процедура получения данных

Процедура, которая возвращает данные для статических столбцов. Процедура вызывается рекурсивно - сначала для головной задачи, потом для каждой дочерней и т.д.

Входящие параметры:

@TaskId int = null,
@RootTaskId int = null,
@SessionUserId int,
@XmlParam xml = null,
@OnlyOneRow bit = 0,
@DataType varchar (20) = 'GetChilds'

@TaskId (int) - ID текущей задачи (используется для реализации рекурсии),

@RootTaskId (int) - ID корневой задачи (вершины иерархии),

@SessionUserId (int) - ID пользователя, который просматривает иерархию (необходим для контроля прав доступа),

@XmlParam (xml) - фильтр,

@OnlyOneRow (bit) - служебный параметр, признак получения полного/тестового набора данных. Значение этого параметра заполняется автоматически, достаточно определить его в хранимой процедуре (в общем случае в этот параметр передается значение 0; если передается 1, то возвращается не вся выборка для иерархии, а только одна запись с тестовыми данными, необходимая для настройки таблицы "Настройки вывода колонок", см. ниже),

@DataType (varchar (20)), значение по умолчанию 'GetChilds' - служебный параметр, необходим для обновления иерархии. Значение этого параметра заполняется автоматически. Если параметр имеет значение 'GetChilds', то процедура возвращает все дочерние задачи для @TaskID; если параметр имеет значение 'GetItem', то процедура возвращает данные конкретной задачи @TaskId.

!warning Параметр @RootTaskId может быть задан статически, в настройках иерархии (см. ниже настройку "Id корневой задачи"), а может передаваться в процедуру динамически, при вызове иерархии. Если этот параметр передается динамически, то статический параметр игнорируется. Параметр @TaskId на первой итерации выполнения процедуры равен null, на последующих итерациях  - нет.

Список полей, возвращаемых процедурой, может меняться. Обязательные поля:

Id (int) - ID задачи,

ParentId (int) - ID родительской задачи,

IsEncrypted (bit) - признак зашифрованности задачи,

HasChildren (bit) - признак наличия у данной задачи подчиненных задач.

!warning Названия возвращаемых полей регистрозависимые, т.е. должно возвращаться именно поле Id, а не ID или id

Хранимая процедура получения списка категорий для постановки задачи

(не обязательно)

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

Входящие параметры:

@HierarchyId int = null,
@TaskId int = null,
@SessionUserId int,
@XmlParam xml = null

@HierarchyId (int) - ID иерархии,

@TaskId (int) - ID корневой задачи (вершины иерархии),

@SessionUserId (int) - ID пользователя, который просматривает иерархию (необходим для контроля прав доступа),

@XmlParam (xml) - фильтр.

Процедура должна возвращать поля:

SubcatId (int) - ID категории,

Description (text) - название категории

Хранимая процедура получения динамических данных

(не обязательно)

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

Входящие параметры:

@TaskId int = null,
@RootTaskId int = null,
@SessionUserId int,
@XmlParam xml = null,
@OnlyOneRow bit = 0,
@DataType varchar (20) = 'GetChilds'

@TaskId (int) - ID текущей задачи (используется для реализации рекурсии),

@RootTaskId (int) - ID корневой задачи (вершины иерархии),

@SessionUserId (int) - ID пользователя, который просматривает иерархию (необходим для контроля прав доступа),

@XmlParam (xml) - фильтр,

@OnlyOneRow (bit) - признак получения полного/тестового набора данных. Значение этого параметра заполняется автоматически, достаточно определить его в хранимой процедуре (в общем случае в этот параметр передается значение 0; если передается 1, то возвращается не вся выборка для иерархии, а только одна запись с тестовыми данными, необходимая для настройки таблицы "Настройки вывода динамических колонок", см. ниже),

@DataType varchar (20), значение по умолчанию 'GetChilds' - служебный параметр, необходим для обновления иерархии. Значение этого параметра заполняется автоматически. Если параметр имеет значение 'GetChilds', то процедура возвращает все дочерние задачи для @TaskID; если параметр имеет значение 'GetItem', то процедура возвращает данные конкретной задачи @TaskId.

Процедура должна возвращать поля (названия полей могут быть другими):

Id (int) - ключ, по которому будет происходить объединение с набором данных для статических столбцов (также по столбцу Id),

СolName (text) - заголовок динамического столбца, который будет отображаться в пользовательском интерфейсе,

ColFieldName (text) -  название динамического столбца; должно начинаться с латинской буквы, может содержать латинские буквы и цифры (название не должно соответствовать какой-либо колонке данных, возвращаемых хранимой процедурой, оно используется для внутренней логики и большого значения не имеет),

ColValue (тип зависит от значения) - значения в ячейках динамического столбца,

ColOrder (int) - порядок динамического столбца (столбцы будут отображаться слева направо по возрастанию этого значения),

ColStyle (text) - описание стиля ячейки динамического столбца (см. ниже),

ColLink (text) - ссылка, которая будет открываться по клику на ячейку динамического столбца.

Значение этой колонки будет записано в свойство href тега <a>.

Чтобы открыть задачу в модальном окне, в данное поле надо записать следующее:

'javascript:void(window.static.taskClick(' +
cast(%ID_задачи_которую_надо_открыть% as nvarchar(10)) + ',' +
cast(%ID_задачи_для_данной_строки% as nvarchar(10)) + '))'

Если по клику на задачу должна открываться карточка этой задачи, то первый и второй параметры совпадают.

Передача двух разных параметров позволяет реализовать такой сценарий: по клику на задачу в иерархии открывается другая задача, связанная с ней какой-то бизнес-логикой (например, через ДП Lookup).

Например, в иерархии "Подразделения" -> "Вакансии" -> "Анкеты кандидатов" по клику на вакансию открывается карточка приказа, утверждающего новое штатное расписание. В этом случае в первый параметр передается ID задачи с приказом, а во второй параметр - ID задачи с вакансией.

Второй пример - иерархия "Совещания" -> "Вопросы повестки" -> "Решения по вопросам повестки". В карточке вопроса указывается проект, на котором возник этот вопрос. В иерархии по клику на строку с вопросом открывается карточка проекта. В этом случае в первый параметр передается ID проекта, а во второй параметр - ID задачи с вопросом

ColIco (text) - колонка, содержащая адрес иконки для ячейки динамического столбца.

Если в данной настройке есть значение, то будут использоваться указанные иконки. Путь к иконке может указываться относительно приложения, например:

'../img/icon1.png'

Id корневой задачи

(не обязательно)

ID задачи, которая является вершиной иерархии (параметр @RootTaskId, см. выше)

Тип данных

Возможные значения:

Задача - если иерархия строится по задачам,

Прочее - если иерархия строится по другим объектам системы (например, по элементам орг.структуры)

Разрешить drag-and-drop

Если флажок включен, то пользователь сможет менять порядок задач в иерархии (т.е. менять родительские задачи), перетаскивая строки мышью.

!warning Опция доступна только если "Тип данных" имеет значение "Задача".

!warning Режим drag-and-drop корректно работает только если иерархия строится по связям "родительская->дочерняя" - в этом случае при перетаскивании задачи у нее меняется родительская задача. Если же иерархия строится по ссылкам в ДП Lookup или по какой-то иной логике, то при перетаскивании задач эта логика не поддерживается

Загружать все дерево сразу

Если флажок включен, то дерево загружается/обновляется целиком, рекурсивно вызывая обновление каждого узла, у которого есть подчиненные задачи. В этом случае дерево после загрузки отображается полностью раскрытым.

Если флажок отключен, то дерево загружается частями, при открытии ветки подгружается ее содержимое

Разрешить пользователям изменять отображение

Если флажок включен, то пользователи могут менять список и порядок отображаемых столбцов (кроме закрепленных). В пользовательском интерфейсе отображается кнопка Поля.

см. описание

Разрешить инлайн редактирование

Если флажок включен, то для иерархии с типом данных "Задачи" в пользовательском интерфейсе по двойному клику на поле с типом TaskText поле переходит в режим редактирования, и после сохранения (клавишей "Ввод") исправления вносятся в текст задачи

ID внешнего объекта

Присваивается автоматически при первом сохранении настроек иерархии

Открыть настройки фильтрации

(отображается после первого сохранения настроек иерархии)

По клику на ссылку открывается окно для выбора фильтра (аналогичного фильтру отчетов и портальных блоков).

Параметры фильтрации передаются в хранимую процедуру в параметре @XmlParam в виде XML-структуры.

Пример работы с фильтром в иерархии можно посмотреть здесь.

Если для иерархии настроена фильтрация, в пользовательском интерфейсе отображается кнопка Фильтр

Кнопки управления

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

hierarchy_context

Настройка кнопки описана здесь.

Настройки вывода колонок

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

Чтобы изменить порядок следования колонок в иерархии, перетащите строки таблицы настроек в нужном порядке:

rows_order

Отображать

Если флажок отключен, то колонка не будет отображаться (по умолчанию отображаются все колонки).

см. описание

Столбец из хранимой процедуры

Название колонки в SQL-процедуре

Заголовок колонки

Название колонки, как оно должно отображаться в иерархии

Подсказка для наименования колонки

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

Ширина колонки в %, px

Ширина колонки в % от общей ширины иерархии или в px (указывается слитно, без пробела)

Выравнивание текста

Выберите один из доступных вариантов выравнивания текста (по левому краю, по центру, по правому краю)

Брать ссылку из столбца

Выберите колонку, содержащую ссылку, которая будет открываться по клику мыши.

Значение этой колонки будет записано в свойство href тега <a>.

Чтобы открыть задачу в модальном окне, в данное поле надо записать следующее:

'javascript:void(window.static.taskClick(' +
cast(%ID_задачи_которую_надо_открыть% as nvarchar(10)) + ',' +
cast(%ID_задачи_для_данной_строки% as nvarchar(10)) + '))'

Если по клику на задачу должна открываться карточка этой задачи, то первый и второй параметры совпадают.

Передача двух разных параметров позволяет реализовать такой сценарий: по клику на задачу в иерархии открывается другая задача, связанная с ней какой-то бизнес-логикой (например, через ДП Lookup).

Например, в иерархии "Подразделения" -> "Вакансии" -> "Анкеты кандидатов" по клику на вакансию открывается карточка приказа, утверждающего новое штатное расписание. В этом случае в первый параметр передается ID задачи с приказом, а во второй параметр - ID задачи с вакансией.

Второй пример - иерархия "Совещания" -> "Вопросы повестки" -> "Решения по вопросам повестки". В карточке вопроса указывается проект, на котором возник этот вопрос. В иерархии по клику на строку с вопросом открывается карточка проекта. В этом случае в первый параметр передается ID проекта, а во второй параметр - ID задачи с вопросом

Брать стилизацию из столбца

Если в данной настройке есть значение, то текст в этой колонке будет выводиться с указанными атрибутами форматирования (вместо форматирования по умолчанию)

Брать иконку из столбца

Если в данной настройке есть значение, то будут использоваться указанные иконки. Путь к иконке может указываться относительно приложения, например:

'../img/icon1.png'

Тип колонки

Возможные значения:

Text,

TaskText,

Html,

UserId,

Date,

DateTime,

Percent,

Number,

Money,

Boolean.

!warning В любой иерархии должна быть одна колонка с типом TaskText. Тип TaskText рекомендуется указывать для колонки с текстом задачи (для типа данных "Задача") или названием объекта (для типа данных "Прочее"). Во-первых, слева от такой колонки отображается символ стрелки, по нажатию на нее раскрывается/сворачивается ветвь иерархии. Во-вторых, текст задачи можно редактировать непосредственно из иерархии (при включенном флажке "Разрешить инлайн редактирование", см. выше)

Формат вывода данных

для даты

для чисел

Максимальное количество выводимых символов

Действует для колонок с типом Text и TaskText. Если значение не указано - текст отображается полностью.

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

Закрепленная

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

Если флажок включен, колонка закреплена.

!warning При закреплении хотя бы одной видимой колонки, у всех видимых колонок должна быть задана ширина в пикселях

Доступно пользователям

Если флажок включен, а также включена настройка "Разрешить пользователям изменять отображение" (см. выше), то пользователи смогут включать/отключать отображение данного столбца (с помощью кнопки Поля), менять ширину столбца и порядок следования незакрепленных столбцов.

см. описание

Настройки вывода динамических колонок

Брать порядок из столбца

Колонка ColOrder из хранимой процедуры

Брать имя поля из столбца

Колонка ColFieldName из хранимой процедуры

Брать заголовок из столбца

Колонка ColName из хранимой процедуры

Брать подсказку для наименования колонки из столбца

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

Брать значение из столбца

Колонка ColValue из хранимой процедуры

Ширина колонки в %, px

Ширина колонки в % от общей ширины иерархии или в px (указывается слитно, без пробела)

Выравнивание текста

Выберите один из доступных вариантов выравнивания текста (по левому краю, по центру, по правому краю)

Брать ссылку из столбца

(не обязательно) Колонка ColLink из хранимой процедуры

Брать стилизацию из столбца

(не обязательно) Колонка ColStyle из хранимой процедуры

Брать иконку из столбца

(не обязательно) Колонка ColIco из хранимой процедуры

Тип колонки

Возможные значения:

Text,

TaskText,

Html,

UserId,

Date,

DateTime,

Percent,

Number,

Money,

Boolean.

Формат вывода данных

(не обязательно)

для даты

для чисел

Доступно пользователям

Если флажок включен, и включена настройка "Разрешить пользователям изменять отображение" (см. выше), то пользователи смогут включать/отключать отображение динамических колонок (с помощью кнопки Поля).

см. описание

Настройка стиля

Для описания стилей могут использоваться следующие типовые значения:

Значение

CSS стиль

Default

Нет стиля

Success

background-color:#dff0d8 (зеленый)

Info

background-color:#d9edf7 (голубой)

Warning

background-color:#fcf8e3 (желтый)

Danger

background-color:#f2dede (розовый)

TotalsRow

font-weight: bold

BackRed

background-color: pink

BackGreen

background-color: lightgreen

BackBlue

background-color: lightblue

BackYellow

background-color: gold

TextRed

color: red

TextGreen

color: green

!warning Если необходимо задать несколько атрибутов, их надо перечислить через пробел.

Помимо типовых значений для задания стиля можно использовать любые значения цвета и фона в формате 'Color#ХХХХХХ' для цвета текста и 'Background#ХХХХХХ' для цвета фона (где ХХХХХХ - шестизначное обозначение цвета в формате HEX). Если надо задать оба значения, их можно перечислить через запятую 'Color#ХХХХХХ,Background#ХХХХХХ'. Например, 'Color#ff0000,Background#00ff00'.

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

Значение

Описание

CSS

task-closed

для завершенных задач - серый шрифт

color: gray

task-rejected

для отклоненных задач - серый перечеркнутый шрифт

color: gray; text-decoration: line-through

task-new

для новых задач - жирный шрифт

font-weight: bold

task-overdue

для просроченных задач - красный шрифт

color: red

В дополнение к этим стилям может использоваться стиль task-state, который отображает текст одной строкой без переносов (white-space: nowrap). Например, 'task-state task-closed'. Этот стиль действует для колонок с типом Html.

!warning Для колонки с типом TaskText всегда применяется стиль с автоматическим переносом строки, который имеет преимущество (white-space: normal !important).

Настройка отображения столбцов

Первоначально при загрузке иерархии отображаются только те статические колонки, для которых включен флажок "Отображать", а также динамические колонки (если они настроены).

Если для иерархии включена настройка "Разрешить пользователям изменять отображение", то пользователи могут менять список отображаемых колонок, их порядок и ширину. В пользовательском интерфейсе в правом верхнем углу иерархии будет отображаться кнопка Поля. По клику на кнопку открывается окно со списком доступных для отображения колонок, в котором пользователь может выбрать нужные ему колонки. Для выбора доступны только те колонки (статические и динамические), для которых включен флажок "Доступно пользователям".

hierarchy_cols

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

!warning Для статических колонок с включенным флажком "Закрепленная" возможности управления видимостью, порядком и шириной не действуют.

Права доступа к иерархии

В поле "ID внешнего объекта" при наведении курсора мыши на строку всплывает кнопка !detailsInNewWindow , по клику на нее открывается окно для настройки прав доступа. Доступ выдается на уровне групп. Если включен флажок "Виден всем", то иерархию смогут просматривать все пользователи. Чтобы добавить группу, участники которой получат право просматривать иерархию, нажмите кнопку Добавить в блоке "Право просмотра".

hierarchy_view_edit

Настройка прав доступа к иерархии.

Полезные ссылки