• MS CRM 2011的自定义和开发


    Microsoft Dynamics CRM 2011 SDK 5.07版本已经发布

        近日,产品组发布了新一版本的软件开发工具包(SDK),版本号为5.07,下载地址为http://www.microsoft.com/download/en/details.aspx?id=24004

    MS CRM 2011汇总更新5发布

        MS CRM产品组已经发布了MS CRM 2011的Rollup(汇总更新),版本5。其下载地址为:

        英文下载链接页面:

    http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=27820

        简体中文版下载链接页面:

    http://www.microsoft.com/downloads/zh-cn/details.aspx?familyid=b9dd0bd7-8b1f-45af-a5ae-ee73a07ec90c&displaylang=zh-cn

        有关本次更新的具体内容,稍后发文章再介绍吧。

    除了表单编辑器,Microsoft Dynamics CRM中,还提供了对一批记录查看的界面,这就是视图View,同表单一样,视图,也是可以通过相应的编辑器进行设定与修改的,这就是视图编辑器。

        视图分为几类,包括有系统视图以及个人视图,系统视图,可以通过视图编辑器进行创建、修改、删除,系统中具有实体可见性权限的用户都可以使用系统视图;而个人视图,是通过CRM的高级查找功能进行创建的视图,由于是终端用户自己通过高级查找功能创建的,所以是个人所有,其他人不可见。

        在系统视图中,又分为“查找视图”、“高级查找视图”、“快速查找视图”、“公共视图”、“默认公共视图”、“关联视图”。

    查找视图:用户单击查找字段时使用的视图;

    快速查找视图:用于显示使用“搜索”框完成的搜索结果的视图;

    高级查找视图:用于显示使用高级查找创建的搜索的结果;

    公共视图:所有 Microsoft Dynamics CRM 用户都可以查看的视图。公共视图显示在每个实体的“查看”列表中;
    默认公共视图:用户在点击站点图时,右侧内容区域显示的默认视图;

    关联视图:某一实体在其他实体表单中的显示视图。关联视图与实体在其所对应的用户界面区域中可见的视图不同。例如,在客户记录的“信息”下,单击“联系人”可以查看并打开联系人表单。该表单就是联系人关联视图。每个实体只能有一个关联视图;

        下面就每种视图的样子做一一介绍:

        查找视图,是用户单击查找字段时使用的视图。例如,在客户表单中,点击“上级单位”字段的查找图标,系统弹出查找对话框,而在查找对话框中呈现的就是相应实体的查找视图。如下图所示。

    image

        快速查找视图:用于显示使用“搜索”框完成的搜索结果的视图。终端用户在客户列表中的搜索框中输入查询条件,那么需要被查询的搜索列以及搜索结果展现哪些列信息,都是在快速查找视图中展示的。如下图所示。在客户列表的搜索框中输入条件“蓝”

    image

        点击“搜索”按钮,系统将会根据条件进行检索,从而切换到“快速查找视图”并显示搜索结果。结果如下图所示。

    image

        对比上面两个截屏的列信息,可以看到,两个列表的列信息是不一样的。

        高级查找视图:用于显示使用高级查找创建的搜索的结果。点击“高级查找”按钮,在其中输入条件,点击“运行”按钮,系统将会转换到结果视图,这个视图中的列信息就是在“高级查找视图”中进行设置,全部过程如下图所示。

    image

        点击“高级查找”按钮,如上图所示,系统会弹出“高级查找”页面,在该页面中,设定查找条件,点击“结果”按钮,如下图所示。

    image

        系统将会切换到“列表工具——<相应实体显示名称>”页面,其中的列信息就是由“高级查找视图”所设定的,当然,也可以在上图所示的页面中,点击“编辑列”按钮,来设定需要显示的列信息。

    image

        公共视图:所有 Microsoft Dynamics CRM 用户都可以查看的视图。如下图所示,点击站点图中的“客户”按钮,可以在右侧的内容区域显示的列表,都是公共视图。如下图所示。

    image

        而“我的可用客户”,就是默认公共视图。点击“我的可用客户”右侧的下拉框,可以显示公共视图列表,如下图所示。

    image

        关联视图:某一实体在其他实体表单中的显示视图。如下图所示。在客户表单右侧的导航栏的“联系人”按钮,右侧内容区域显示的“联系人关联视图”就是联系人实体的关联视图。

    image

        以上,介绍的是MS CRM系统中各类视图,以及可以访问这些视图的方式。在下一篇文章中,介绍如何对视图进行自定义。

    进入视图编辑器的方式有两种:

    如果,可以实体已经位于站点图中,那么当点击站点图中该实体的图标时,Ribbon工具条会有一个“自定义”页签,打开该页签,其中包括有

    • “视图”按钮,可以在视图编辑器中打开该视图,从而对当前视图进行编辑;效果如下图所示;
    • image
    • “新系统视图”按钮,可以为当前实体创建新的系统视图;
    • image
    • “系统视图”按钮,将导航到当前实体的视图列表;
    • image

    另一种方法,就是点击“设置”-->“自定义”-->“自定义项”—>”自定义系统”,打开解决方案,在实体节点下,找到需要修改的视图所属的实体,点击该实体节点下的“视图”节点,在右侧的内容区域显示的就是实体的视图列表,该列表中,包含了相应实体的所有视图。

    可以点击工具条中的“新建”按钮,创建新的视图;

    可以左键点击某个视图后,再点击工具条中的“删除”按钮以删除某个视图;

    可以左键点选某个视图后,点击“其他操作”菜单项,系统会给出多个操作选项,包括有

    “编辑”——编辑点选的视图;

    “激活”、“停用”——令点选视图处于可用或被禁用状态;

    “设置默认”——将点选视图作为默认视图;

    “设置依赖项”——设定点选视图的依赖组件,主要是视图中的列信息,这样,可以避免其他人误操作,删除了当前视图所需要的字段信息,从而造成视图无法正常工作。

        下面,就新建一个视图,演示一下如何利用视图编辑器进行视图编辑操作。

        点击工具条中的“新建”按钮,系统弹出“视图属性”对话框,在“名称”文本框中输入视图的名称,在“描述”文本区域中输入对当前新建视图的一些解释性信息。如下图所示。

    image

        点击“确定”按钮,系统打开视图编辑器,视图编辑器分为三个部分,分别是

    工具条区域,包括有“保存”、“另存为”以及“保存并关闭”三个按钮,用于完成对修改动作进行保存等处理动作;

    效果区域,显示视图的最终展现效果,方便操作人员以所见即所得的方式对视图进行编辑;

    常规操作区域,包括

    “向左”、“向右”箭头:用于调整列的先后顺序;

    视图属性:用于设定视图的名称、说明等信息,如上图视图属性对话框中的内容;

    编辑筛选条件:用于设定视图中的筛选条件;

    配置排序:设定视图的排序依据;

    添加列:可以添加视图中需要显示的列信息;

    更改属性:在左键点选视图中某列后,可以修改该列的宽度信息;

    移除:从视图显示列中移除点选的列;

        视图编辑器的截屏如下图所示。

    image

        如果需要向视图中加入显示列,那么,点击右侧的“添加列”,系统弹出“添加列”对话框,如下图所示。

    image

        默认是当前实体的所有字段的列表,可以点击字段显示名称前面的复选框以选择需要加入到视图中的列,如果这些列信息不够,那么点击上方的“记录类型”下拉框,在这里列表中,存放了与当前实体是1对N关系的各个实体的名称。操作元可以选择相应的实体,那么在下方的字段列表中,就会显示被选择实体的所有字段信息,点击复选框,可以选择需要被添加到视图中的列信息。

        例如,我选择客户实体的“客户编码”、“客户规模”、“客户等级”以及“联络电话”作为被添加列,那么,我勾选这四个字段前面的复选框,如下图所示。

    image

        点击“确定”按钮,返回编辑器主界面,此时,效果区域,就会将刚才选择的四个字段添加到视图列信息中,如下图所示。

    image

        我还觉得信息不足,需要在视图中添加客户主要联系人的一些信息,那么,再次点击“添加列”按钮,并在系统弹出的“添加列”对话框的“记录类型”下拉框中选择“主要联系人(联系人)”项目。如下图所示。

    image

        下方的字段列表就会更换为“联系人”实体的字段,在字段列表中选择“全名”、“性别”以及“商务电话”三个字段,点击“确定”按钮,返回主界面,效果如下图所示。

    image

        此时,我需要调整一下列的顺序,需要把“客户编号”放在第一位,那么,左键点选“客户编号”列,然后,点击“向左”箭头,将其移动至第一列。如下图所示

    image

        而后,需要减小“客户编号”字段的宽度,那么,点击“更改属性”,系统弹出“更改列属性”对话框,在此对话框中,可以设定列的宽度信息,如下图所示,将“客户编号”字段的宽度由100修改为75。

    image

        点击“确认”按钮,返回主界面,可以发现“客户编号”列的宽度已经缩短。

        接下来,设定视图的筛选条件,所谓视图么,就是从某个角度去看待数据,那么既包括了需要显示的列信息,同时也包括了筛选数据的依据,通过“编辑筛选条件”就可以设定筛选数据的条件了。点击“编辑筛选条件”,系统弹出“编辑筛选条件”对话框,那么,就可以在其中设定筛选条件,如下图所示,我设定显示在被视图中的数据,第一个条件,主要联系人字段不能够为空,第二个条件,数据的状态必须是可用的。

    image

        点击“确定”按钮,返回主界面。

        下面,设置排序问题,点击“配置排序”,系统弹出“配置排序顺序”对话框,设定排序依据是“客户编号”,升序排列,第二依据是“客户名称”,也是升序排列。如下图所示。

    image

        点击“确定”按钮,返回主界面,可以看到在“客户编号”以及“客户名称”列上都出现了一个向上的正三角箭头,如下图所示

    image

        Okay,完成了视图的编辑工作,点击工具条中的“保存并关闭”按钮,发布一下。在前端界面看到的效果如下图所示:

    image

        以上,就是使用视图编辑器进行视图编辑操作的演示。

    Microsoft Dynamics CRM 2011中的扩展框架如下图所示。图中,标记为蓝色的、标记有齿轮的条块,均是其扩展点。下面进行介绍。

    image

        从下向上看,MS CRM系统分为三层,分别是存储层、应用层以及前端展现层。

        在数据存储层中,包含有两部份信息,分别是元数据Metadata数据库以及业务数据Data数据库两部分。所谓元数据,就是本系列之前部分文章介绍的实体、属性、关联、表单、视图等部分的内容。系统基于定之后的元数据模型,可以生成业务数据存储以及业务逻辑处理和前端界面展现等信息。举例来讲,员工实体Employee,包含有姓名、性别、年龄等字段,那么,可以通过在实体编辑器中自定义一个实体与之相对应,而展现界面,可以通过表单编辑器来设定,这些信息会存储在Metadata数据库中。在使用中,系统会依据表单编辑器的设定信息,渲染出对应的表单,以方便End User进行录入、更新等操作,End User创建的员工张三,将会存储在Data数据库中。

        应用层中,由下至上,包括有数据访问平台层Data Access Platform、数据访问组件层Data Access Components、业务实体组件层Business Entity Components、异步或同步业务逻辑层Synchronous and Asnynchronous Business Logic、安全管理模块Security以及工作流模块Workflow,而应用层通过web service的方式,向外部暴露其中包括的各种方法,从而便于系统的前端表单、其他系统的调用。而系统提供的扩展点,在应用层,包括有插件扩展以及自定义工作流活动扩展。即上图中的Pre-Event Plugins、Post-Event Plugins以及Custom Workflow三个条块中的内容。

        所谓的插件Plugin,笔者建议,可以将其看作是有业务语意的触发器Trigger。在数据库中,触发器Trigger会基于对数据表的某些操作而被数据库调用、执行,可以是Before方式运行,也可以是Instead方式运行,可以触发的操作包括有Insert、Update以及Delete。而微软CRM系统中的插件,可以被触发的操作要更多一些,更加的贴近业务层面的操作,操作的类型包括有记录创建、记录更新、记录删除、记录分派、记录合并的状态等等操作。插件可以在前置执行,即Pre-Event插件,也可以后置执行,即Post-Event插件。同时,插件还可以是同步执行、或者也可以以异步形式运行。

        MS CRM 2011使用了微软的工作流框架作为其工作流引擎,目前使用的是WF(Windows workflow foundation)的版本是4.0,故此,实施人员可以基于WF4.0的规范,开发自己的工作流活动,以扩展系统的功能,从而满足自己的业务需求。

        在前端展现层,可以通过之前的一系列文章中的实体编辑器、表单编辑器、以及后续会介绍的web资源、脚本资源等模块完成表单的自定义与开发;使用表单编辑器中提供的IFrame等组件完成表单页面级别的集成;通过调用应用层公布的web service以完成后端的server到server的集成;还可以使用sql脚本来自定义开发报表、使用仪表板、图表、Excel,完成数据展现上面的扩展。

  • 相关阅读:
    Java 字典
    java 集合
    Java Array类、大数据运算、包装类
    java String、StringBuilder 、正则表达式
    Java时间日期类 Date、DateFormat、Calendar类
    java包的声明、导入、System类
    java正则表达式
    java-StringBuffer类和StringBuilder类
    java-String类
    java的API,Object类,equals方法,toString方法
  • 原文地址:https://www.cnblogs.com/Leo_wl/p/2256752.html
Copyright © 2020-2023  润新知