CRM 2011 и SSRS - создание отчета для отдельной записи - PullRequest
4 голосов
/ 01 августа 2011

Можно ли вообще использовать CRM 2011 и SSRS для создания отчета по одной записи и получения результатов только для этой одной записи?

EDIT
Дополнительная информация - необходимо использовать:
Пользовательский отчет SSRS
Пользовательский объект в CRM

Ответы [ 3 ]

5 голосов
/ 03 августа 2011

Вот более конкретная ссылка на ваш вопрос: ссылка .Возможно, вам нужна предварительная фильтрация (см. «3. Элемент предварительной фильтрации» в предоставленной ссылке), если вы хотите, чтобы отчет был специфичным для записи (контекстно-зависимым).

Вот ссылка, описывающая2 типа предварительных фильтров (CRM 4.0, но теория применима к CRM 2011): ссылка .А вот пример предварительной фильтрации в CRM 2011: ссылка

Я успешно сделал это в CRM 2011 с полностью настраиваемым отчетом, сделанным в BIDS, для пользовательского объекта с полной чувствительностью к контексту.

Обязательно изучите fetchXML, так как это будет перспективная технология для этих отчетов.Существующие отчеты используют SQL, что делает их плохими примерами для копирования.

Вот пример того, как извлечь fetchXML из расширенного поиска: ссылка Также имеется дополнительная информация о предварительной фильтрации.

1 голос
/ 01 августа 2011

Посмотрите отчет Account Overview.rdl. Это может быть выполнено для одной учетной записи или нескольких записей.

См. Отчеты для Microsoft Dynamics CRM с использованием служб отчетов Microsoft SQL Server

0 голосов
/ 06 мая 2014
  1. Создайте встроенное соединение с ядром базы данных CRM для среды, на которую вы хотите ориентироваться.
  2. Создать встроенный набор данных для запроса текущей записи. Это будет немного странно, так как опыт скажет вам, что вы получите тонны записей, но из-за неловкости CRM он фактически получит только текущую запись. Например, если вы хотите получить текущую цитату, вы должны использовать «SELECT quoteid FROM FilteredQuote AS CRMAF_Quote»
  3. Добавьте параметр для хранения ссылки на сущность, которую вы только что запросили. В соответствии с этим примером я создал @QuoteFilter, который является типом text, может хранить несколько значений (даже если это не то, для чего мы его используем) и получает значение по умолчанию из набора данных на шаге 2. Также, вероятно, следует сделайте это скрытым, поскольку GUID не являются удобными для пользователя.
  4. Наконец, используйте параметр, обнаруженный в предложении where других наборов данных. Например, поиск по продуктам котировок для текущей котировки будет выглядеть примерно так: SELECT * FROM FilteredQuoteDetail WHERE (quoteid = @QuoteFilter)

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

...