(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
TeeChart Pro VCL/FMX with source code single license
JIRA Software Commercial (Cloud) Standard 10 Users
IBM DOMINO ENTERPRISE CLIENT ACCESS LICENSE AUTHORIZED USER LICENSE + SW SUBSCRIPTION & SUPPORT 12 MONTHS
Oracle Database Personal Edition Named User Plus License
ABBYY Lingvo x6 Европейская Домашняя версия, электронный ключ
 
Другие предложения...
 
Курсы обучения   WWW.ITSHOP.RU
 
Другие предложения...
 
Магазин сертификационных экзаменов   WWW.ITSHOP.RU
 
Другие предложения...
 
3D Принтеры | 3D Печать   WWW.ITSHOP.RU
 
Другие предложения...
 
Новости по теме
 
Рассылки Subscribe.ru
Информационные технологии: CASE, RAD, ERP, OLAP
Новости ITShop.ru - ПО, книги, документация, курсы обучения
Мир OLAP и Business Intelligence: новости, статьи, обзоры
Новости мира 3D-ускорителей
Краткие описания программ и ссылки на них
Компьютерная библиотека: книги, статьи, полезные ссылки
ЕRP-Форум. Творческие дискуссии о системах автоматизации
 
Статьи по теме
 
Новинки каталога Download
 
Исходники
 
Документация
 
 



    
rambler's top100 Rambler's Top100