На днях возникла у меня, казалось бы, простая задача, сделать в отчете ссылки на форму сущности. В 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
Больше спасибо Андрею за наставление на путь истинный (см. комментарии).
Простите, коллега, но к чему такое извращение? Ссылки следующего вида прекрассно работают:
http://server:port/OrgName/CRMReports/viewer/drillopen.aspx?ID=5479050B-E603-E211-AE60-00155D3A0B01&LogicalName=businessunit