Создание удобных для чтения отчетов с помощью мастера отчетов Axapta Report Wizard. Создание отчетов для Microsoft Dynamics CRM 3.0 с использованием инструмента Visual Studio .NET 2003
Автор: Слепицкий Андрей, Майкрософт
Введение
Давайте поговорим о том, как с помощью Visual Studio .NET 2003 можно создать отчет и встроить его в Microsoft Dynamics CRM 3.0.
Предположим, Вы – разработчик, и руководитель отдела продаж поставил перед Вами задачу разработать отчет, который отображает всех клиентов компании и все потенциальные сделки, связанные с этими клиентами.
Создание отчета
Перед созданием отчета необходимо написать SQL-запрос, который возвращает нам наши данные. Давайте откроем Query Analyzer (Start -> Programs -> Microsoft SQL Server -> Query Analyzer). Система запрашивает необходимую информацию для подключения к нашему SQL серверу. Укажите имя сервера и тип аутентификации:

Показать полноразмерное изображение
В появившемся окне вводим текст самого запроса:
USE Adventure_Works_Cycle_MSCRM
SELECT
CAST ( CRMAF_Account.accountid AS Varchar ( 36 ) ) AS AccountId , CRMAF_Account.name AS AccountName ,
CAST ( CRMAF_Opportunity.opportunityid AS Varchar ( 36 ) ) AS OpportunityId , CRMAF_Opportunity.name AS OpportunityName ,
CAST ( CRMAF_Opportunity.ownerid AS Varchar ( 36 ) ) AS OwnerId ,
CRMAF_Opportunity.owneridname AS OwnerIdName , CRMAF_Opportunity.estimatedvalue AS EstimatedValue ,
CRMAF_Opportunity.estimatedclosedate AS EstimatedCloseDate , CRMAF_Opportunity.closeprobability AS CloseProbability
FROM FilteredAccount AS CRMAF_Account
LEFT OUTER JOIN FilteredOpportunity AS CRMAF_Opportunity ON CRMAF_Opportunity.accountid = CRMAF_Account.accountid
Нажимаем кнопку F5 для выполнения отчета:

Показать полноразмерное изображение
Теперь, подготовив запрос, давайте создадим отчет, который отображает эти данные. Запустите Visual Studio .NET 2003 (Start -> Programs -> Microsoft Visual Studio .NET 2003 -> Microsoft Visual Studio .NET 2003):

Показать полноразмерное изображение
Нажмите кнопку New Project и выберите тип проекта Business Intelligence Project -> Report Project Wizard. Введите название проекта – CRMReport:

Показать полноразмерное изображение
Нажмите кнопку ОК. Запускается Report Wizard:

Показать полноразмерное изображение
Нажмите кнопку Next. Появится диалоговое окно, в котором необходимо ввести информацию о подключении:

Показать полноразмерное изображение
Нажмите кнопку Edit:

Показать полноразмерное изображение
Введите название сервера, тип аутентификации и укажите используемую базу данных:

Показать полноразмерное изображение
Нажмите кнопку ОК.

Показать полноразмерное изображение
Нажмите кнопку Next. В появившемся окне скопируйте текст запроса:

Показать полноразмерное изображение
Нажмите кнопку Next. Выберите табличный тип отчета:

Показать полноразмерное изображение
Нажмите кнопку Next. Теперь необходимо сгруппировать данные. Т.к. мы хотим получить отчет, в котором возможные сделки (opportunity) сгруппированы по организациям, то необходимо:
- В левой части выбрать параметр AccountName и нажать кнопку Group – параметр отобразится в правой части.
- В левой части выбрать параметры, которые мы хотим увидеть в отчете (OpportunityName, OwnerIdName, EstimatedValue, EstimatedCloseDate, CloseProbability) и нажать кнопку Details – параметры переместятся в правую часть окна

Показать полноразмерное изображение
Нажать кнопку Next. Выбрать тип размещения данных – Stepped:

Показать полноразмерное изображение
Нажать кнопку Next. Указать корпоративный стиль отчета (Corporate):

Показать полноразмерное изображение
Нажать кнопку Next. Система попросит указать сервер отчетов и папку для размещения отчета:

Показать полноразмерное изображение
Нажать кнопку Next. В появившемся окне ввести название отчета – CRM Report и нажать кнопку Finish:

Показать полноразмерное изображение
Первоначальный вариант отчета создан. Теперь его надо отредактировать для более удобной работы. Изменяем названия столбцов (для этого надо перевести курсор в соответствующую ячейку и нажать правую кнопку мыши):
- Account -> Организация
- OpportunityName -> Возможная сделка
- OwnerId -> Ответственный
- EstimatedValue -> Ожидаемый доход
- EstimatedCloseDate -> Ожидаемая дата закрытия
- CloseProbability -> Вероятность закрытия
Теперь надо обеспечить правильное форматирование значений. Для этого:
- Переходим на закладку Data:
- Щелкаем мышью на выпадающем списке Dataset:
- Выбираем пункт ‹New Dataset›
- В появившемся окне меняем поле Name на Formats и в поле Query string вводим select * from dbo.fn_GetFormatStrings():
- Нажимаем кнопку ОК. Возвращаемся на закладку Layout.
- Нажмите правую кнопку мыши на ячейке данных Ожидаемый доход и выберите пункт Properties:
- В появившемся диалоговом окне в области Format выберите пункт Custom:
- Нажмите для редактирования выражения кнопку fx
- Выберите Datasets -> Formats -> First(CurrencyFormat_2_Precision). Нажмите кнопку Replace:
- Два раза нажмите кнопку ОК.
- Аналогично установите форматы для ячеек:
- Ожидаемая дата закрытия (DateFormat)
- Вероятность закрытия (NumberFormat_0_Precision)
Теперь сохраним файл отчета для того, чтобы поместить его в Microsoft Dynamics CRM 3.0. Для этого необходимо выбрать пункт File -> Save CRM Report.rdl As:

Показать полноразмерное изображение
Сохраните файл на рабочий стол. Отчет создан. Теперь необходимо поместить его в список отчетов Microsoft CRM. Для этого:
- Открываем web интерфейс Microsoft CRM и на закладке Рабочая область выбираем пункт Отчеты:
- Нажимаем кнопку Создать:
- Вводим месторасположение отчета, категорию отчета (Отчет о продажах) и нажимаем кнопку Сохранить и закрыть:
- Наш отчет появился в системе:
После того, как мы поместили отчет в список отчетов Microsoft CRM, мы можем запустить этот отчет:

Показать полноразмерное изображение
Система предлагает определить фильтр для данных, которые попадут в отчет. Для реализации фильтрации данных необходимо использовать переопределения представлений (префикс CRMAF в тексте запроса) и обязательно помещать отчет через интерфейс Microsoft CRM. После того, как фильтр определен (или очищен), необходимо нажать кнопку Выполнить отчет

Показать полноразмерное изображение
Система вернула нам необходимые данные:
Выводы
Мы постарались показать, как за 10-15 минут можно создать отчет и сделать его доступным всем пользователям Microsoft CRM. Простые операции позволяют отформатировать данные для наиболее наглядного представления информации, а использование средств Microsoft CRM позволяет реализовать фильтрацию данных, попадающих в отчет.




















