Вы можете настроить произвольные поля для вывода в диаграмме Ганта, которые будут наиболее точно отвечать вашим потребностям и бизнес-процессу.
По умолчанию все дополнительные поля, которые настроит администратор системы, у пользователя в интерфейсе Ганта будут скрыты, но при необходимости пользователь может:
Пример пошаговой настройки изложен здесь: «Как вывести "Отклонение базового плана" и "Статус отклонения" в Диаграмму Ганта».
Вы можете настроить для отображения в диаграмме Ганта поля из любого настроенного LINQ-запроса, в котором:
Если в системе нет ни одного подходящего LINQ-запроса, то раздел содержит только текст «Нет ни одного источника данных с колонкой «ObjectId»».
Выберите тот LINQ-запрос в выпадающем списке, поля из которого хотите вывести в Гант → Настроить.
Вы можете выводить поля из LINQ-запроса выборочно. Вы сами определяете, что именно нужно выводить в Ганте, отмечая чек-боксом в колонке те поля, которые должны появиться у пользователя в «Пользовательских колонках» в Ганте.
По умолчанию все чек-боксы не активны.
Поле «Тип» содержит выпадающий список с типами данных полей.
Поддерживаемые типы данных:
если А > 10, то зеленый индикатор; если А > 20, то красный индикатор
то значению А = 25 будет присвоен зеленый индикатор, т.к. по порядку расположения индикаторов сверху вниз условие зеленого индикатора выполнилось первым и остальные не проверяются.
По нажатию на кнопку «Сохранить» страница «Настройка полей из LINQ-запроса…» закрывается. Открывается страница «Настройка диаграммы Ганта»:
Если настройка уже произведена, и поля для отображения выбраны, они выводятся на странице «Настройка диаграммы Ганта» в виде краткой таблицы, содержащей название включенного поля и его тип, соответственно.
Над таблицей отображается название настроенного LINQ-запроса.
Созданную настройку можно отвязать и создать новую – кнопка «Отвязать настройки».
Если в колонке (Отображать в диаграмме Ганта) страницы «Настройка полей из LINQ-запроса «Название_запроса» не активен ни один чекбокс, то в разделе «Настройка полей из LINQ-запроса» страницы «Настройка диаграммы Ганта» отображается выпадающий список с LINQ-запросами и кнопкой «Настроить».
При этом настройки для раннее настраиваемого LINQ-запроса сохраняются, если снова выбрать его и нажать «Настроить».
Изменения одинаковы для диаграммы Ганта, открытой с уровня любого объекта Системы.
В выпадающем списке (у любой из колонок диаграммы Ганта) выводится новый пункт «Пользовательские столбцы». Пункт виден, только если к Ганту настроен и привязан LINQ-запрос.
При наведении на пункт «Пользовательские столбцы» выводится список с названиями тех полей LINQ запроса, у которых активирован чекбокс в колонке (Отображать в диаграмме Ганта).
Названия полей LINQ-запроса берутся из колонки «Псевдоним», если оно заполнено. Если не заполнено, то из колонки «Название».
Каждое поле имеет чекбокс. По умолчанию не отмечен.
При активации чекбокса:
Происходит сопоставление идентификаторов объектов, подгруженных в диаграмму Ганта, с идентификаторами объектов поля ObjectId и заполнение поля соответствующими данными.
Запрос данных по полю происходит разово. Данные сохраняются до обновления страницы с диаграммой Ганта.
Поля с типом «Индикатор»:
Если данные ячейки поля не соответствуют ни одному заданному логическому выражению (или выражения составлены некорректно), то индикатор в ней не отображается, ячейка поля пустая.
При сохранении настроек отображения диаграммы Ганта (Опция «Сохранить настройки»), сохраняется видимость и порядок полей LINQ-запроса согласно выбранным настройкам.
При изменении настроек видимости полей на странице «Настройка полей из LINQ-запроса «Название_запроса»» изменяются и сохраненные настройки отображения диаграммы Ганта.
Например, если у поля LINQ-запроса был деактивирован чекбокс в колонке (Отображать в диаграмме Ганта), то из таблицы диаграммы Ганта данное поле пропадает, несмотря на то, что оно было отображено при сохранении настроек отображения диаграммы Ганта (Опция «Сохранить настройки»).
Если у соответствующего объекта, загруженного в диаграмму Ганта, LINQ-запрос по соответствующему полю вернул пустое значение, то и в соответствующей строке этого поля отображается пустое значение.
Начиная с версии 3.29
появилась возможность фильтровать строки в табличной части по значениям пользовательских полей - данных, включенных в Гант из привязанного LINQ-запроса.
Фильтрация доступна по текстовым значениям столбцов, а также по столбцам с типом «Индикатор».
Фильтры по по пользовательским полям работают по аналогии с фильтрами для системных полей - для всех фильтров работает возможность множественной фильтрации.
Экспорт диаграммы Ганта:
Если тип у включенного для отображения поля LINQ-запроса не может быть сконвертирован в тип, указанный в колонке «Тип», то в диаграмме Ганта данное поле отображает пустые данные. Ошибка в диаграмме Ганта не выводится.
Если поле LINQ-запроса отображено в диаграмме Ганта, то при изменении типа поля в самом LINQ-запросе (когда возникает ситуация невозможности конвертации в тип, указанный в колонке «Тип»), поле отображает пустые данные. Ошибка в диаграмме Ганта не выводится.
Переименованное поле в LINQ-запросе расценивается, как новое поле.
Проверка на корректность составленного логического выражения у типа «Индикатор» не производится. В диаграмме Ганта у соответствующего поля с некорректно составленным логическим выражением отображается пустое значение.
С целью фильтрации возвращаемых данных LINQ-запрос должен учитывать передаваемый диаграммой Ганта идентификатор объекта (RootProjectId) с карточки которого она открыта. Требование не обязательное и необходимо для оптимизации запроса. Для оптимизации запроса добавьте в него следующую строку:
var objectID = parameters.GetValueOrDefault<Guid>("RootProjectId", new Guid("daba2cbb-a4a9-4708-9366-5dd3ead1f172"));
где
RootProjectId
– передаваемый диаграммой Ганта идентификатор объекта,new Guid(«daba2cbb-a4a9-4708-9366-5dd3ead1f172»)
– идентификатор любого объекта системы, необходимый для отладки запроса.
LINQ-запрос должен обязательно возвращать поле ObjectId – идентификаторы объекта (который был передан LINQ-запросу диаграммой Ганта) и всех его дочерних объектов.
В противном случае данный запрос не будет виден в списке для привязки к диаграмме Ганта.