(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
Купить CommView for WiFi 1 лицензия
VMware Workstation 14 Pro for Linux and Windows, ESD
Panda Internet Security - ESD версия - на 1 устройство - (лицензия на 1 год)
YourKit Profiler for .NET - Floating License - 1 year of e-mail support and upgrades
Delphi Professional Named User
 
Другие предложения...
 
Курсы обучения   WWW.ITSHOP.RU
 
Другие предложения...
 
Магазин сертификационных экзаменов   WWW.ITSHOP.RU
 
Другие предложения...
 
3D Принтеры | 3D Печать   WWW.ITSHOP.RU
 
Другие предложения...
 
Новости по теме
 
Рассылки Subscribe.ru
Информационные технологии: CASE, RAD, ERP, OLAP
Новости ITShop.ru - ПО, книги, документация, курсы обучения
Вопросы и ответы по MS SQL Server
Краткие описания программ и ссылки на них
Новые программы для Windows
Компьютерная библиотека: книги, статьи, полезные ссылки
ЕRP-Форум. Творческие дискуссии о системах автоматизации
 
Статьи по теме
 
Новинки каталога Download
 
Исходники
 
Документация
 
 



    
rambler's top100 Rambler's Top100