<< Click to Display Table of Contents >> Прикладные модули > Agile-доски > Настройка решения Пример добавления контролов
|
![]() ![]() ![]() |
Ситуация
Предположим, компания ведет проектную деятельность, в которой регламентирован процесс приемки. Для работ по каждому тикету необходимо указывать условия и ответственного за приемку.
Чтобы адаптировать решение «Agile-доски» под потребности компании, В тикет необходимо добавить поля для заполнения данных о приемке. Также при сохранении тикета нужно убедиться, что у ответственного за приемку есть права на просмотр Agile-доски.
Решение
1.В среде разработки создайте решение с именем AgileAcceptance.
2.Перекройте в новом решении справочник Ticket.
3.Добавьте модуль AgileBoards в список зависимостей решения.
4.В редакторе перекрытого справочника добавьте свойства:
•AcceptanceCriteria с отображаемым именем «Условия приемки» и типом Строка;
•Supervisor с отображаемым именем «Ответственный за приемку» и типом Ссылка. В поле Тип сущности выберите Sungero.Company.Employee.
5.Чтобы у ответственного за приемку были права на просмотр тикета, добавьте для свойства Supervisor обработчик событий «Изменение значения свойства»:
public virtual void SupervisorChanged(DirRX.AgileBoards.Shared.TicketSupervisorChangedEventArgs e)
{
if (e.NewValue == null)
{
return;
}
if (e.NewValue.Status != Sungero.Company.Employee.Status.Active)
{
throw Sungero.Core.AppliedCodeException.Create("Ответственный за приемку должен быть действующим сотрудником.");
}
else
{
if (_obj.BoardId == null)
{
throw Sungero.Core.AppliedCodeException.Create("Тикет не связан с доской.");
}
var board = Functions.Board.Remote.GetBoard(_obj.BoardId.Value);
/// Проверить, есть ли у сотрудника права на просмотр доски.
if (!board.AccessRights.CanRead(e.NewValue))
{
/// Если нет – выдать.
board.AccessRights.Grant(e.NewValue, DefaultAccessRightsTypes.Read);
board.AccessRights.Save();
}
}
}
6.Перейдите в узел «Форма» и в контекстном меню узла выберите пункт Добавить вкладку. Укажите для вкладки имя Acceptance и отображаемое имя «Приемка работ». Убедитесь, что установлен флажок Отображать в форме.
7.Добавьте на новую вкладку группу контролов Acceptance. Разместите в ней контролы Условия приемки и Ответственный для приемку и свяжите их с созданными свойствами:
В результате в тикетах на Agile-доске отображаются новые поля:
© Компания Directum, 2024 |