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

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


Параметри передаються як в будь-який запит до 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>

*

*