Вы можете определять правила фильтрации, которые бы ограничивали результаты для одного объекта на основании значения другого объекта. Вы можете использовать запрос фильтра для правила фильтрации или указать значение выполнения.
В следующем примере представлено, как отображать в окне события только элементы конфигурации, которые связаны с выбранным пользователем. Поскольку нам нужно ограничить вывод элементов конфигурации в окне события, правило фильтрации будет основано на атрибуте Элемент конфигурации в объекте Событие.
Для получения дополнительной информации о значении выполнения см. раздел Фильтрация данных с использованием значения выполнения.
В нашем примере будет использоваться запрос фильтра для выбора только элементов конфигурации, которые связаны с создавшим событие пользователем.
Если уже есть подходящий запрос фильтра, вы может выбрать его из списка.
Для получения информации о создании запросов фильтров см. раздел Фильтры.
Заметьте, что элементы Модуль и Бизнес-объект для групп На основе и Фильтровать по уже определены. Объект На основе относится к объекту для атрибута, для которого определен селектор фильтров (в нашем примере, Управление конфигурациями\Элемент конфигурации). Это означает, что объект Фильтровать по - это объект, для которого предназначен атрибут для селектора фильтров (в нашем примере, Управление событиями\Событие). Это означает, что когда вы добавляете критерий в запрос фильтра, вы будете сопоставлять атрибуты элемента конфигурации с атрибутами события.
Вы можете также добавить любые атрибуты, которые нужно использовать в сложном списке во время создания окна (для получения дополнительной информации о сложных списках см. раздел Сложные списки).
В нашем примере необходимо указать значение выполнения, которое будет использоваться для выбора элемента конфигурации, связанного с создавшим событие пользователем. Связь элемента конфигурации с пользователем является связью нескольких с несколькими: пользователь может иметь несколько элементов конфигурации (компьютер, монитор, принтер и т.д.), а элемент конфигурации может быть связан с несколькими пользователями (например, сетевой принтер). По этой причине существует коллекция Элементы конфигурации пользователя в объекте Элемент конфигурации. Это атрибут Пользователь в данной коллекции, по которому нужно выполнить фильтрацию.
Это означает, что нужно создать критерий Элементы конфигурации пользователей.Пользователь равен (Создавший пользователь).
В дополнение к указанию абсолютного значения или значения выполнения для критерия вы можете выбрать условие, которое устанавливает собственный критерий, такой как текущий пользователь. Выберите элемент Текущий пользователь для отображения в нашем примере всех элементов конфигурации, связанных с текущим пользователем. Необходимо, чтобы элементы конфигурации были связаны с пользователем, для которого было создано событие – Создавший пользователь. Для этого необходимо установить значение выполнения для критерия.
Для изменения существующего правила фильтрации выберите его в списке Правила фильтра и щелкните Изменить.
Вы можете
создать другое правило фильтрации, для выбора элементов
конфигурации только определенного типа. Это выполняется посредством
сопоставления типа класса для элемента конфигурации с
типом элемента конфигурации, выбранным в событии в значении
выполнения.
Это: AND Class Type Is Equal To (Тип элемента
конфигурации)
Установите
фильтр для атрибута, который специфичен для родственного
бизнес-объекта, вместо атрибута, наследуемого из другого
бизнес-объекта. Если вам необходимо создать фильтр наследуемых
бизнес-объектов (например, если фильтруемый атрибут доступен только
для наследуемых бизнес-объектов, тогда вы должны создать правило
фильтрации), оно должно иметь дополнительное условие, применяемое
только к конкретному типу бизнес-объектов.
Например, для бизнес-объекта "Событие" фильтр атрибута
процесса/создавшего пользователя будет фильтровать пользователей по
клиентам, выбранным в окне "Событие". Это корректно работает для
событий. Однако вы не сможете выбрать создавшего пользователя для
бизнес-объекта "Изменение", так как атрибут "Создавший
пользователь" наследуется из бизнес-объекта "Процесс" - всегда
выполняется фильтрация по событию/клиенту. Используя этот пример,
вы не можете задать этот фильтр для атрибута процесса/создавшего
пользователя, так как "Клиент" не является частью бизнес-объекта
"Процесс", хотя и относится к бизнес-объекту "Событие". Поэтому
фильтр должен оставаться в объекте процесса/создавшего
пользователя, но не должен применяться для других бизнес-объектов.
Это можно сделать посредством добавления условия фильтра для
использования только в случае, если бизнес-объект является
событием.