Записки на лету

All posts tagged Reports

На днях возникла у меня, казалось бы, простая задача, сделать в отчете ссылки на форму сущности. В JScript это 5 секунд, в плагине сложнее но тоже можно. Где это искать в БД SQL непонятно.

После некоторых поисков и капаний обнаружилось, что есть некий скрытый параметр CRM_URL, который возвращает ссылку вида «http://имя_сервера/имя_организации/CRMReports/viewer/drillopen.aspx«, которая используется для так называемых Drill-Down отчетов.

Что использовать этот параметр надо добавить скрытый текстовый параметр с именем «CRM_URL» в проект отчета и поставить галочку напротив Allow null value.

В дизайнере в режиме Preview, этот параметр все-равно был пустой, но, при выгрузке в CRM он отрабатывал.

Далее дело техники, в моем случае мне надо было вывести древовидную структуру подразделений с ссылками на сами сущности.

Как сделать отчет с древовидной структурой написано здесь.

В отчете в свойствах нужного нам плейсхолдера на закладке General ставим Markup type — HTML, затем на закладке Action ставим Enable as an action: Go to URL.

Далее в поле Select URL: нужно вставить необходимую ссылку. Обычно ссылка выгладит так: «http://имя_сервера/имя_организации/biz/business/edit.aspx?id=%7bGuid_подразделения%7d» но в нашем случае сработает и вот так:  «http://имя_сервера/имя_организации/CRMReports/viewer/drillopen.aspx?LogicalName=businessunit&ID=%7bGuid_подразделения%7d«.

Для этого в поле Select URL: вставляем следующее выражение.

=Parameters!CRM_URL.Value + "?LogicalName=businessunit&ID=" + Fields!businessunitid.Value.ToString()

Вот, собственно, и все.
Файл отчета можно скачать здесь.

Вместо параметра LogicalName можно использовать OTC, где LogicalName это имя схемы а OTC это код сущности. Полный список кодов можно посмотреть здесь http://msdn.microsoft.com/en-us/library/bb887791.aspx

Больше спасибо Андрею за наставление на путь истинный (см. комментарии).