zoukankan      html  css  js  c++  java
  • MSCRM中报表开发二:创建基于FetchXML报表


    1. 获取FetchXML因为FetchXML难以撰写,所以我们一般都是使用高级查找来生成FetchXML或者通过其他工具来生成。我这里在商机界面通过高级查找制作了一个新的视图,名称为 商机查询, 查询结果如下所示:

    Dynamics CRM: 创建基于FetchXML的报表 - 罗勇 - 罗勇的博客
     

    然后我将下载的Fetch XML放在桌面上,名称为 FetchXML.xml,其中的文本如下:

    <fetch version="1.0" output-format="xml-platform" mapping="logical" distinct="false">

      <entity name="opportunity">

        <attribute name="name" />

        <attribute name="customerid" />

        <attribute name="estimatedvalue" />

        <attribute name="opportunityid" />

        <attribute name="estimatedclosedate" />

        <order attribute="name" descending="false" />

        <filter type="and">

          <condition attribute="statecode" operator="eq" value="0" />

          <condition attribute="ownerid" operator="eq-userid" />

        </filter>

        <link-entity name="account" from="accountid" to="customerid" alias="ac">

          <attribute name="numberofemployees" />

          <filter type="and">

            <condition attribute="accountid" operator="not-null" />

          </filter>

        </link-entity>

      </entity>

    </fetch>

     

    2.  新建报表项目。打开SQL Server Business Intelligence Development Studio,点击 文件 > 新建 > 项目,项目类型选择 商业智能项目 中的 报表服务器项目,为该项目命个名字。

    Dynamics CRM: 创建基于FetchXML的报表 - 罗勇 - 罗勇的博客

     Dynamics CRM: 创建基于FetchXML的报表 - 罗勇 - 罗勇的博客

    3. 新建报表。在右边的解决方案资源管理器中的报表文件夹右击,选择 添加 >新建项,模板选择报表,我这里命名为 OpportunityReport.rdl ,然后点击添加按钮。
    Dynamics CRM: 创建基于FetchXML的报表 - 罗勇 - 罗勇的博客
     
    Dynamics CRM: 创建基于FetchXML的报表 - 罗勇 - 罗勇的博客
     

    4.  添加数据源。在左边的 报表数据中 选择 数据源,右击,选择 添加数据源,名称我输入CRM,嵌入链接的类型我选择 Microsoft Dynamics CRM Fetch,连接字符串的输入格式是:将组织的url,比如http://crmserver:5555/DefaultOrg 中的倒数第一个斜线换成分号。然后在数据源中的凭据中选择 使用此用户名和密码,然后输入用户名和密码。

    Dynamics CRM: 创建基于FetchXML的报表 - 罗勇 - 罗勇的博客

    Dynamics CRM: 创建基于FetchXML的报表 - 罗勇 - 罗勇的博客
     
    Dynamics CRM: 创建基于FetchXML的报表 - 罗勇 - 罗勇的博客
     

    5.    添加数据集。右击上一步骤添加的数据源,选择 添加数据集 ,在查询下面的文本框中输入我们之前拿到的FetchXML,然后点击 刷新字段 按钮,然后点击 确定 按钮关闭该对话框。你会看到数据集中出来了不少字段。

    Dynamics CRM: 创建基于FetchXML的报表 - 罗勇 - 罗勇的博客
     
    Dynamics CRM: 创建基于FetchXML的报表 - 罗勇 - 罗勇的博客
     
    Dynamics CRM: 创建基于FetchXML的报表 - 罗勇 - 罗勇的博客

    6. 制作报表。打开报表的工具箱,将一个表拖动到设计界面,然后将要显示的字段,比如name,customerid,estimatedvalueValue,estimatedcloseddateValue,ac_numberofemployeesValue 拉到表的列中,并稍微下设置格式,更改列标题。完成后效果如下图所示,然后点击设计旁边的预览可以看到效果。然后点击全部保存将它保存下来。注意,拉到报表中的列一般要用自动加上Value的那些列。

         如果要格式化请参考文章 Personalizing Reports for Microsoft Dynamics CRM Online 。

    CRM Reporting Undocumented Feature Uncovered

    Dynamics CRM: 创建基于FetchXML的报表 - 罗勇 - 罗勇的博客
     
    Dynamics CRM: 创建基于FetchXML的报表 - 罗勇 - 罗勇的博客
     

     7.  开启报表的预筛选功能。右击报表数据中的参数文件夹,选择 添加参数,名称设置为 CRM_FilteredOpportunity ,(ps:对于CRM中的报表,以CRM_开头的参数是会自动变成隐藏参数,因为本查询主要实体是Opportunity,所以命名为CRM_FilteredOpportunity)选择参数可见性设置为 隐藏 。在默认值中指定默认值,指定的默认值为 <fetch version="1.0" output-format="xml-platform" mapping="logical" distinct="false"><entity name="opportunity"><all-attributes /></entity></fetch> 。然后点击确定关闭这个窗口。

    Dynamics CRM: 创建基于FetchXML的报表 - 罗勇 - 罗勇的博客
    Dynamics CRM: 创建基于FetchXML的报表 - 罗勇 - 罗勇的博客
     
    Dynamics CRM: 创建基于FetchXML的报表 - 罗勇 - 罗勇的博客
     

     8.  更改Dataset增加一个参数。然后双击 DataSet1 ,在参数中增加一个参数,参数名称设置为 CRM_FilteredOpportunity ,参数值设置为[@CRM_FilteredOpportunity] ,然后点击 查询 ,修改查询的文本,主要是对主实体opportunity增加属性 enableprefiltering="1" prefilterparametername="CRM_FilteredOpportunity" ,如后图所示。

    Dynamics CRM: 创建基于FetchXML的报表 - 罗勇 - 罗勇的博客
     
     Dynamics CRM: 创建基于FetchXML的报表 - 罗勇 - 罗勇的博客
     
     9.   上传报表。导航到 设置 > 自定义 > 自定义项 > 自定义系统,选择 新建 > 报表,报表类型选择现有文件,然后点击浏览按钮选择报表文件,我这里是OpportunityReport.rdl,起个名字,选择类别为销售报表,相关记录类型选择 商机,显示于选择你想要显示的地方,然后点击保存,在点击 发布所有自定义项。PS:也可以在 工作区 > 我的工作 >报表 新建报表,这里新建则不需要发布,方便。
    Dynamics CRM: 创建基于FetchXML的报表 - 罗勇 - 罗勇的博客
     
    Dynamics CRM: 创建基于FetchXML的报表 - 罗勇 - 罗勇的博客
     

    10.  测试报表。导航到 销售 > 商机,点击 运行报表 > 我的商机报表,在弹出的页面中做合适的选择后,点击 运行报表 按钮,一会儿报表就运行出来了。

     Dynamics CRM: 创建基于FetchXML的报表 - 罗勇 - 罗勇的博客
     
    Dynamics CRM: 创建基于FetchXML的报表 - 罗勇 - 罗勇的博客
     
    Dynamics CRM: 创建基于FetchXML的报表 - 罗勇 - 罗勇的博客
     
     
    引用地址:http://luoyong0201.blog.163.com/blog/static/1129305201310298221728/
    注明:除了安装Business Intelligency Development Studio (sql server 2012版本,这个工具是包括在SQL Server Data Tools这个功能中了)外,制作该种类型的报表,需要安装Report Authoring Extension。
  • 相关阅读:
    Why Choose Jetty?
    Jetty 的工作原理以及与 Tomcat 的比较
    Tomcat设计模式
    Servlet 工作原理解析
    Tomcat 系统架构
    spring boot 打包方式 spring boot 整合mybaits REST services
    wireshark udp 序列号 User Datagram Protocol UDP
    Maven 的聚合(多模块)和 Parent 继承
    缓存策略 半自动化就是mybaitis只支持数据库查出的数据映射到pojo类上,而实体到数据库的映射需要自己编写sql语句实现,相较于hibernate这种完全自动化的框架我更喜欢mybatis
    Mybatis解决sql中like通配符模糊匹配 构造方法覆盖 mybits 增删改
  • 原文地址:https://www.cnblogs.com/Earson/p/4159755.html
Copyright © 2011-2022 走看看