SSRS управляемая данными электронная почта

Я довольно новичок в SSRS и у меня есть вопрос о том, как отправить электронное письмо лицам, которые включены в отчет.

Мне было поручено создать отчет, в котором перечислены все сотрудники с их адресом электронной почты и некоторой информацией о них, отчет также содержит адрес электронной почты их руководителей.

Я уже создал отчет, в котором перечислены все сотрудники и необходимая информация, теперь их руководители должны получить электронное письмо, в котором будет отображаться только информация о сотрудниках, которые находятся непосредственно под ними, а электронное письмо следует отправлять менеджерам только в том случае, если они есть сотрудники под ними, который появляется в списке из отчета.

2 ответа

Решение

Создайте хранимую процедуру, которая собирает данные отчета. Вот пример того, как вы могли бы построить это

1) Создайте хранимую процедуру

а) Собирает менеджеров и сотрудников в табличную переменную

б) Он использует курсор для циклического обхода каждого менеджера в табличной переменной и выполняет вторую хранимую процедуру, которая использует DB-email для отправки им сообщения

в) ВЫБИРАЕТ данные отчета

2) Создать отчет SSRS

a) Создайте набор данных, который вызывает вашу хранимую процедуру, начиная с шага 1) (Примечание: это будет отправлять электронную почту менеджерам при каждом запуске!)

б) Опубликовать отчет SSRS на сервере отчетов.

c) Создайте подписки для отчета, чтобы он работал, когда вы этого хотите. Когда SSRS вызывает хранимую процедуру для создания данных отчета, эта хранимая процедура вызывает вашу вторую хранимую процедуру, которая отправляет электронное письмо каждому менеджеру.

SSRS позволяет создавать подписки, использующие данные, однако не позволяет использовать данные для создания подписок.

Вы МОЖЕТЕ сделать следующее: добавьте "Имя менеджера" в качестве параметра к своему отчету, и в отчете будут отображаться только те сотрудники, которые находятся непосредственно под менеджером и переданы параметру. Затем создайте подписку для каждого менеджера, который передает свое имя параметру "Имя менеджера".

Чего НЕ МОЖЕТЕ сделать, так это использовать данные, сгенерированные отчетом, для динамического создания подписок для менеджеров, сотрудники которых будут в отчете в этот день. Чтобы сделать что-то подобное, вам нужно написать собственное приложение для отчетов в.net или что-то подобное.

Другие вопросы по тегам