По умолчанию, представление “Мои инциденты” показывает список инцидентов, назначенных на текущую учетную запись. Такое поведение возможно благодаря использованию токена [me] в условии отбора. Представления поддерживают еще один токен – [mygroups], который позволяет фильтровать по вхождению в группу текущего пользователя.
Просто заменить токен нельзя – в этом случае мы потеряем инциденты, назначенные на пользователя, а не на группу. Для того, чтобы получить оба критерия в одном представлении, придется редактировать пакет управления (МП) вручную. Для этого необходимо:
- Экспортировать МП “Библиотека настройки управления инцидентами Service Manager”(ServiceManager.IncidentManagement.Configuration) в любую папку.
- Открыть полученный файл ServiceManager.IncidentManagement.Configuration.xml с помощью любого редактора.
- Найти в тексте представление “Мои инциденты”, оно начинается со строк:
<View ID="System.WorkItem.Incident.AssignedToMe.View" Accessibility="Public" Enabled="true" Target="CoreIncident!System.WorkItem.Incident" TypeID="SMConsole!GridViewType" Visible="true"> <Category>NotUsed</Category> <Data> <Adapters> ....
- Отредактировать секцию FreeFormCriteria, заменив значение:
<Freeform> <Criteria xmlns="http://Microsoft.EnterpriseManagement.Core.Criteria/"> <Expression> <SimpleExpression> <ValueExpressionLeft> <GenericProperty Path="$Context/Path[Relationship='WorkItem!System.WorkItemAssignedToUser' SeedRole='Source']$">Id</GenericProperty> </ValueExpressionLeft> <Operator>Equal</Operator> <ValueExpressionRight> <Token>[me]</Token> </ValueExpressionRight> </SimpleExpression> </Expression> </Criteria> </Freeform>
на значение:
<Freeform> <Criteria xmlns="http://Microsoft.EnterpriseManagement.Core.Criteria/"> <Expression> <In> <GenericProperty Path="$Context/Path[Relationship='WorkItem!System.WorkItemAssignedToUser' SeedRole='Source']$">Id</GenericProperty> <Values> <Token>[me]</Token> <Token>[mygroups]</Token> </Values> </In> </Expression> </Criteria> </Freeform>
- Сохранить пакет управления, и импортировать его в SCSM.
После этого перейти в представление и убедиться, что необходимый эффект достигнут.
Если вы захотите добавить столбец “Кому Назначено” в это представление, необходимо дополнительно отредактировать файл, добавив:
- В секцию <Columns> (в этой секции столбцы идут в том порядке, в котором они отображаются в консоли):
<mux:Column Name="assignedDisplayName" DisplayMemberBinding="{Binding Path=AssignedUser.DisplayName, Mode=OneWay}" Width="150" DisplayName="Header_Assigned_To" Property="AssignedUser.DisplayName" DataType="s:String" />
- В секцию <ViewStrings>:
<ViewString ID="Header_Assigned_To">$MPElement[Name="System.WorkItem.Incident.Active.View.Header_Assigned_To"]$</ViewString>
Итог работы:
- Три замечания:
- Не стоит после этого редактировать представление из консоли, т.к. вы потеряете изменение критерия отбора.
- У меня представление обновилось после небольшой задержки, так что обновите представление через несколько минут
- По предварительным данным Microsoft, с выходом SP1 токен [me] будет включать в себя действие токена [mygroups].