MS CRM 2011的自定义和开发(6)——表单编辑器(第三部分)

前面两篇文章介绍了MS CRM 2011中的表单编辑器,以及如何利用该工具对实体的界面表单进行定制化编辑与设计。本篇文章将介绍基于角色的表单。

在之前版本中,所有角色看到的表单都是一样的,如果需要按照角色,显示不同的界面效果,那么就需要使用JScript脚本,在表单的OnLoad事件中进行扩展开发才成。

例如,有一个业务场景,对于客户表单,销售员看到基本信息,不可以修改;而销售经理不仅可以看到基本信息还可以看到联系信息,但是不可以修改这些信息;销售总监不仅可以看到基本信息、联系信息,而且可以修改这些信息。

如果是以往的MS CRM版本,那么,在客户表单的OnLoad事件中,首先发出WhoAmIRequest请求,获取当前用户的ID,从而获取用户角色,然后依据用户角色信息对基本信息以及联系信息两部分的各个字段进行控制,包括将字段隐藏(设置字段的display样式值为none)、对字段进行禁用,对选项卡、节进行隐藏等等操作。如果涉及的字段很多,那么需要书写大量的脚本进行控制,并且由于是表单中的JScript脚本,所以会和界面表单中的字段息息相关——任何被控制字段从表单中移除,都需要修改脚本,维护、管理起来非常繁琐、麻烦。

而在CRM 2011中,就可以利用依据角色表单,利用配置的方式,非常方便完成此功能。

image_thumb3

为了演示的需要,首先,在客户表单中,添加两个选项卡,分别是

选项卡1:该选项卡标签为“全部角色可见、销售员只读”,代表该选项卡内的“客户名称”字段,销售员、销售经理以及销售总监都是可见的,其中销售员是只可以看见,不可以修改的;

选项卡2:该选项卡标签为“销售人员不可见、销售经理可见只读、销售总监读写”,代表该选项卡内的“主要电话”字段,销售人员是看不到的;销售经理可以看到这个字段信息,但是不能够修改该字段数据;销售总监可以看到,并且可以修改该字段信息;

点击表单编辑器工具栏中的“分派安全角色”按钮,系统弹出“分派安全角色”对话框,如下图所示。

image_thumb5

选择“仅向这些选定安全角色显示”,只选择“系统管理员”角色,勾选“已启用回退”复选框,点击“确定”按钮。将此表单作为未明确分配表单的角色的用户可以使用本表单的样式访问客户记录,同时,作为后续步骤的表单模板。

第二步,点击表单编辑器工具条中的“另存为”按钮,系统弹出“另存为”对话框,如下图所示。

image_thumb7

在“名称”文本框中,输入“销售员界面”作为给销售员的表单的名称。

第三步,在“销售员界面”表单中,删除选项卡2,即删除标签为“销售人员不可见、销售经理可见只读、销售总监读写”的选项卡,而后设置“客户名称”字段为只读,如下图所示。

image_thumb11

由上图可见,左上侧,已经显示当前表单的名称为“销售员界面”,右侧为设置“客户名称”字段为只读的对话框。同时,表单中,已经删除了标签为“销售人员不可见、销售经理可见只读、销售总监读写”的选项卡。

点击工具栏中的“分派安全角色”按钮,系统弹出“分配安全角色”,将当前表单分派给“销售员”,点击“确定”按钮。如下图所示。

SNAGHTML20f94daf_thumb1

保存并关闭此表单。

第四步,打开第一步骤中只分配给系统管理员的表单,点击“另存为”按钮,命名为“销售经理界面”,设置“主要电话”字段为只读,如下图所示。而后保存关闭。

SNAGHTML20cded66_thumb1

点击工具栏中的“分派安全角色”按钮,系统弹出“分配安全角色”,将当前表单分派给“销售经理”,点击“确定”按钮。如下图所示。

image_thumb15

第五步,打开第一步骤中只分配给系统管理员的表单,点击“另存为”按钮,命名为“销售总监界面”。

点击工具栏中的“分派安全角色”按钮,系统弹出“分配安全角色”,将当前表单分派给“销售副总裁”,点击“确定”按钮。如下图所示。

image_thumb17

第六步,发布以上做的自定义。

第七步,以不同角色登陆系统,可以看到如下的效果。

销售员查看的表单界面:

image_thumb21

销售经理查看的表单界面:

image_thumb23

销售总监查看的表单界面:

image_thumb25

由上可见,依据不同的角色,MS CRM 2011系统会展现不同的页面。

posted on 2011-10-25 22:39  石头居  阅读(2786)  评论(2编辑  收藏  举报