(495) 925-0049, ITShop интернет-магазин 229-0436, Учебный Центр 925-0049
  Главная страница Карта сайта Контакты
Поиск
Вход
Регистрация
Рассылки сайта
 
 
 
 
 

Вызов расширенного отчета из адресной строки

Источник: dvprofessionals
Михаил Захаров

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

Параметры передаются как в любом запросе к 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).

Наример, в службе ТП, есть отчет по количеству обращений от компаний. При нажатии на название компании выводится статистика по всем обращениям от сотрудников данной, конкретной компании.

Ссылки по теме


 Распечатать »
 Правила публикации »
  Написать редактору 
 Рекомендовать » Дата публикации: 29.04.2009 
 

Магазин программного обеспечения   WWW.ITSHOP.RU
Oracle Database Personal Edition Named User Plus License
SAP CRYSTAL Reports 2013 WIN INTL NUL
Quest Software. TOAD Professional Edition
ABBYY FineReader 14 Standard Full
IBM RATIONAL Rose Enterprise Floating User License + Sw Subscription & Support 12 Months
 
Другие предложения...
 
Курсы обучения   WWW.ITSHOP.RU
 
Другие предложения...
 
Магазин сертификационных экзаменов   WWW.ITSHOP.RU
 
Другие предложения...
 
3D Принтеры | 3D Печать   WWW.ITSHOP.RU
 
Другие предложения...
 
Новости по теме
 
Рассылки Subscribe.ru
Информационные технологии: CASE, RAD, ERP, OLAP
Новости ITShop.ru - ПО, книги, документация, курсы обучения
Программирование в AutoCAD
Компьютерная библиотека: книги, статьи, полезные ссылки
Windows и Office: новости и советы
Краткие описания программ и ссылки на них
ЕRP-Форум. Творческие дискуссии о системах автоматизации
 
Статьи по теме
 
Новинки каталога Download
 
Исходники
 
Документация
 
 



    
rambler's top100 Rambler's Top100