В данной статье будет показано, как добавить в отчет диаграммы. Диаграммы упрощают восприятие чисел. Они позволяют кратко представить данные и удобны при сравнении нескольких показателей. В данной статье будет показано как добавить в отчет круговую диаграмму, в которой в зависимости от параметров заданных на странице запроса будут выводится данные по прибыли или по выручке. В данной статье продолжается работа над отчетом, созданным в статьях Разработка отчета для классического клиента и Разработка отчета для ролеориентированного клиента.

Добавление переменной в отчет

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

В Report Designer:

  1. Щелкните View > C/AL Globals. Откроется окно C/AL Global.
  2. На закладке Variables введите:
  3. Name DataType
    ChartType Option
  4. Щелкните View > Properties. Откроется окно Properties для переменной ChartType.
  5. Установите для переменной ChartType свойство:
    • OptionString: Don’t show chart,Sales by salesperson,Profit by salesperson
  6. Закройте окно Properties.
  7. Щелкните View > Sections. Откроется Section Designer.
  8. Добавьте текстовую зону в секцию Customer Body (2), установите для нее следующие свойства:
    • Visible: No
    • SourceExpr: ChartType
    • ForeColor: 65535
  9. Закройте Section Designer.
  10. Щелкните View > Request Page. Откроется Request Options Page Designer.
  11. Перейдите на пустую строку и введите:
    • Caption: Chart Type
    • Type: Field
    • SourceExpr: ChartType

    Страница запроса должна выглядеть так:

    Запрос
    Рисунок 1.1

  12. Закройте Request Options Page Designer.

Добавление диаграммы в отчет

Далее будет показано как добавить диаграмму в макет отчета.

В Microsoft Dynamics NAV Classic Client:

  1. Щелкните Tools > Object Designer. Откроется Object Designer.
  2. Щелкните кнопку Report, чтобы открыть список отчетов.
  3. Выберите отчет 123456701 Salesperson Cust. Sales Profit, затем щелкните кнопку Design.
  4. Перетащите элемент управления Chart из панели инструментов в макет отчета.
  5. Щелкните правой кнопкой мыши по диаграмме и выберите Properties. Появится окно Chart Properties.
  6. На закладке General установите следующие свойства:
    • Name: chart1 (значение по умолчанию)
    • Title: =IIF(Fields!ChartType_.Value="Sales by salesperson","Sales LCY by Salesperson","Profit LCY by Salesperson")
    • Chart Type: Pie

    Окно Chart Properties должно выглядеть следующим образом:

    Chart PropreriesChart Propreries
    Рисунок 1.2.

  7. Перейдите на закладку Data и установите свойство:
    • Dataset name: DataSet_Result
  8. Нажмите кнопку Add в разделе Values. Откроется окно Edit Chart Values.
  9. На закладке Values установите следующие свойства:
    • Series label: [пусто]
    • Value: =IIF(Fields!ChartType_.Value="Sales by salesperson",Sum(Fields!Customer__Sales__LCY__.Value),Sum(Fields!Customer__Profit__LCY__.Value))

    В зависимости от выбранной опции на странице запроса отчет будет формироваться на основании сумм продаж или сумм прибыли.

    Окно Edit Chart Values должно выглядеть следующим образом:

    Edit Chart ValueEdit Chart Value
    Рисунок 1.3

  10. На закладке Point Labels установите следующие свойства:
    • Show Point Label: true
    • Data label: =IIF(Fields!ChartType_.Value="Sales by salesperson", Sum(Fields!Customer__Sales__LCY__.Value)/Sum(Fields!Customer__Sales__LCY__.Value,"chart1"), Sum(Fields!Customer__Profit__LCY__.Value)/Sum(Fields!Customer__Profit__LCY__.Value,"chart1"))
    • Format Code: P2

    В зависимости от выбранной опции на странице запроса для данных будут выводиться подписи с информацией о доли в сумме продаж или в сумме прибыли. За формат вывода отвечает параметр P2, где P – это процент, а 2 это количество знаков после запятой.

    Окно Edit Chart Values должно выглядеть следующим образом:

    Edit Chart ValueEdit Chart Value
    Рисунок 1.4

  11. Щелкните кнопку OK.
  12. Нажмите кнопку Add в разделе Series groups. Откроется окно Grouping and Sorting Properties.
  13. На закладке General установите следующие свойства:
    • Expression: =Fields!Salesperson_Purchaser_Code.Value
    • Label: =Fields!Salesperson_Purchaser_Name.Value

    Окно Grouping and Sorting Properties должно выглядеть следующим образом:

    Grouping and Sorting PropertiesGrouping and Sorting Properties
    Рисунок 1.5

  14. Щелкните кнопку OK.
  15. Теперь окно Chart Properties должно выглядеть следующим образом:

    Chart PropertiesChart Properties
    Рисунок 1.6

  16. Щелкните кнопку OK, чтобы закрыть окно Chart Properties.
  17. Щелкните по элементу управления Chart и установите ему свойство:
    • Visibility, Hidden: =IIF(Fields!ChartType_.Value="Don't show chart",True,False)

    Теперь если в странице запроса указать опцию «Don't show chart», то диаграмма выводиться не будет

  18. Закройте Visual Studio, когда система предложит сохранить изменения, щелкните кнопку Yes.
  19. Щелкните в любом месте Report Designer, затем щелкните кнопку Yes, чтобы загрузить макет из Visual Studio.
  20. Сохраните отчет и закройте Report Designer.

Запуск измененного отчета

  1. Щелкните кнопку Пуск > Выполнить (Win+R) и укажите DynamicsNAV:////runreport?report=123456701.
  2. Edit
    Рисунок 1.7

  3. В поле Chart Type выберите Profit by salesperson.
  4. Щелкните кнопку Preview.

Print previewPrint preview
Рисунок 1.8.

В отчет выведена круговая диаграмма, в которой указана доля прибыли в процентах, приходящая на каждого менеджера.

 

Андрей Панько >>
Dynamics NAV MVP
apanko@rabota-na-rezultat.ru