Выделить записи Дашборда, содержащие ID текущего пользователя или ID открытой карточки
Раздел: Аналитика и отчетность
День добрый!
Подскажите, пожалуйста, как настроить Источник данных и Дашборд.
Имеется тип объекта "Работа" с атрибутом-ссылкой на объект типа "Студент" (унаследован от Пользователя). В таблицу дашборда в карточке Студента нужно вывести все работы, которые относятся только к нему, но из документации не совсем понятно, как работать с параметрами Источника и Дашборда, чтобы настроить такой фильтр.
И возможно ли настроить дополнительный фильтр с выбором работ текущего пользователя?
Войдите или Зарегистрируйтесь чтобы комментировать.
Комментарии
Добрый день.
Типы объектов, которые наследуется от Пользователя, работают некорректно. В будущем в системе появится запрет на наследование от этого типа объекта. Лучше наследовать от типа объекта "Сотрудник", т.к. в нем уже есть необходимые атрибуты для ввода персональных данных и связь с типом объекта "Пользователь".
Для примера будут использованы типы объекта "Работа" и "Студент":
Эти типы объектов нужно добавить в источник данных:
и выбрать необходимые поля:
Далее нужно настроить связь типов объектов:
Для связи нужно выбрать тип "Только связанные строки источников" - так в источнике будут выводиться только работы, у которых указан студент. После настройки фильтрации будут выводиться только работы, которые относятся к открытой карточке студента.
На вкладке "Условия фильтрации" нужно добавить алгоритм фильтрации для типа "Студент". В алгоритме нужно создать параметр. На скрине выделены настройки параметра, которые необходимо указать. Остальные настройки параметра менять не надо.
Далее нужно будет добавить по кнопке "Attr" атрибут "Код", параметр - по кнопке "param". Алгоритм должен выглядеть следующим образом:
Алгоритм нужно сохранить по кнопке "ОК".
Далее нужно добавить параметр источника и сохранить его:
После этого указать созданный параметр в поле "Параметр источника":
Настройка источника данных на этом завершена.
На дашборде нужно создать параметр:
В настройках источника данных дашборда нужно будет указать этот параметр:
При такой настройке в таблице на самом дашборде не появится ничего, т.к. id карточки студента на дашборд не передается.
В карточке студента нужно вынести дашборд на визуал и указать такие настройки:
Данные на дашборде появятся только при просмотре из карточки студента:
При этом в реестре типа объекта "Работа" экземпляров больше, т.е. в карточке студента на дашборде выводятся только его работы:
Для этого нужно добавить на дашборд элемент управления:
В алгоритме "Текущий пользователь" используется код:
Также этот алгоритм нужно будет указать в настройках параметра дашборда: