RSS Подписка на статьи RSS Подписка на комментарии Панель инструментов

Блог профессионалов стал частью сайта технической поддержки DocsVision http://support.docsvision.com. Новые материалы будут появляться уже на этом сайте.

Поиск

Ярлыки

авто генерация кода (1) Администрирование DocsVision (60) Атрибутивный поиск (3) База данных (24) Базы знаний (1) Безопасность (1) Бизнес-процессы (20) Блог (2) Вы увидите это первыми (1) Групповые политики (1) Диаграммы (2) Задания (2) Интеграция (2) Карточки DocsVision (14) Конструктор Решений (11) Маркетинг и продажи (4) Навигатор (3) Новое (3) Новости (32) Опрос (4) Опросы DocsVision (4) Оптимизация (3) Отчеты (2) Ошибки (1) Поддержка (14) Полезные ссылки (1) Представления (4) Производительность (5) Разбор полетов (18) Разработка для Workflow (7) разработка карточек (2) Разработка на платформе DocsVision (41) Разработка решений (43) Расширение платформы (1) Расширенные отчеты (9) Решения на платформе DocsVision (6) Сервисы DocsVision (3) Сканеры (3) Справочник сотрудников (1) Справочник типов (1) Установка (1) Утилиты (13) Шлюз в SharePoint (8) Штрихкод (2) Cкрипты карточек (7) DocsVision внутри (1) DocsVision Live (1) FileStream (1) FireFox (2) Opera (1) Powershell (5) Safari (1) SharePoint2007 (1) SharePoint2010 (2) Silverlight (1) UltraViews (1) Vista (1)

Вывод в расширеном отчете ссылки на карточку

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

Итак, будем рассматривать отчеты, которые строятся хранимыми процедурами (не MS Reporting)

Для создания расширенного отчета, который будет отображен в браузере, разработчик должен сделать
а) Хранимую процедуру в базе данных.
б) Xslt преобразование, которое будет применяться к результатам работы процедуры.

Сервер расширенных отчетов возвращает результаты работы процедуры (т.е. все SELECT'ы) в виде одного xml:

<newdataset>
<table>
<column1></column1>
<column2></column2>
</table>
<table1>
<column1></column1>
<column2></column2>
</table1>
</newdataset>

Пусть в одной из колонок в результирующем SELECT'е возвращается идентификатор карточки: колонка InstanceID.
Ссылка на карточку имеет вид http://dvserver/docsvision/?CardID={AE16A7C0-25A0-40D8-B149-5EA2EFFAE337}&ShowPanels=2048&

Фактически для вывода требуется соединить 3 строки:
1) "http://dvserver/docsvision/?CardID={"
2) InstanceID
3) "}&ShowPanels=2048&"

Сделать это можно используя переменные в xslt

<xsl:variable name="clink1">http://dvserver/docsvision/?CardID={</xsl:variable>
<xsl:variable name="clink2" select="InstanceID">
<xsl:variable name="clink3">}&аmp;ShowPanels=2048</xsl:variable>

<a href="{$clink1}{$clink2}{$clink3}">
Открыть карточку
</a>

Внимание, в тексте примера в "&аmp;" стоит кириллическая "а", - сделано, чтобы опубликовать статью. При копировании наберите тег правильно.

Готово. Теперь в отчете будет выведена ссылка, нажав на которую пользователь откроет карточку. Читать дальше

0 коммент.:

Отправить комментарий