Виклик розширеного звіту з адресного рядка

Повернемося до модуля розширених звітів. Одна з головних функцій – це можливість викликати розширений звіт не тільки з картки документа, а й передаючи параметр в адресному рядку.
Для чого це може бути корисно. Наприклад при створенні вкладених звітів, або коли з одного звіту треба викликати інший.

Параметри передаються як у будь-який запит до aspx, перший через? наступні через &
Ім'я параметра те саме, яке призначено в настройках звіту, і вона чутлива до регістру.

Приклад.
http://dvserver/docsvision/ReportingServer/Fetch.aspx?basename=DVBase&reportid =% 7bEA242123-1C33-45BF-AEB9-E6784AAD62BD% 7d & cardid =% 7b99841090-2FF8-4DFB-B44A-A14A36E59FC0% 7d & PartnerID = SDADFE1C-9A03-45CD- 94C1-EE8577C12346

тут
Ідентифікатор звіту
Ідентифікатор картки розширеного звіту
Параметр

Якщо звіт містить декілька параметрів, то не обов'язково передавати все. Ті, які не вказані в адресному рядку будуть взяті з налаштувань звіту – параметри за замовчуванням.
На даний момент не реалізована передача параметрів типу "дата-час". Якщо є необхідність в цьому, то можна зробити у процедурі параметр типу "рядок" і передавати значення в рядку, приводячи до дати вже у процедурі.

Тепер про безпеку. Потрібно в будь-яких звітах приділяти увагу безпеці. При поверненні результуючого набору сервер розширених звітів очікує колонку SecurityDesc, в якій повинен бути дескриптор безпеки (кожна картка). І якщо у користувача, який викликає звіт немає прав на рядок (немає запису в дескриптор), то цей рядок йому в звіт не буде повернута. Якщо цієї колонки немає, то будуть повернуті всі рядки.

Як отримати дескриптор – просто. Наприклад, робиться вибірка за картками в цьому випадку потрібно з'єднати Табліца.InstanceID = dvsys_instances.InstanceID, далі з'єднати dvsys_instances.SDID = dvsys_security.ID та отримати з dvsys_security.SecurityDesc.

Додано.
Як це можна використовувати? Наприклад, робите звіт, в якому є статистика по всім контрагентам, а при натисканні на контрагента відкривається новий звіт по ньому (по суті у першому звіті є посилання на інший звіт, в який передаються параметри, як у xlst динамічно робити посилання описано в http://www.interface.ru/home.asp?artId=20218).


Наример, в службі ТП, є звіт за кількістю звернень від компаній. При натисканні на назву компанії виводиться статистика по всіх зверненнях від співробітників даної, конкретної компанії.

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*