一步步学习微软InfoPath2010和SP2010--第十一章节--创建批准流程(6)--表单加载规则

        在第五章节“添加逻辑和规则到表单”中,你了解到表单规则和逻辑。每个按钮和控件都可以有应用的规则。不仅规则可以在单个控件中创建,而且每次打开表单时运行的规则也可以创建。这些是表单加载规则。对于经过批准流程和本例中的表单,这些类型的规则可以被用在InfoPath作为工作流的部分。每个规则可以有自己的条件和操作。例如,一个规则可以在新建表单中执行某操作,另一个规则可用于批准流程,以及另一个用于已经被批准且完结的表单。

        在功能区“数据”选项卡,点击“表单加载”按钮。你将注意到已经创加了一个表单加载规则。这个规则将在本章节解决。


        在你的表单中,你不想让终端用户有能力在表单视图中切换。Reimbursement表单的流程可以这样:

1.      当新表单填写完成时,FormStatus默认值为“New”。

2.      在新建视图,第一次点击提交按钮使FormStatus域值设置为Manager Approval。

3.      使用下列表单加载规则:如果FormStatus包含Approval,切换到Approval视图

4.      伴随着每个人批准并提交表单,FormStatus值从Manager Approval变为VP Approval,每个提交按钮将设置FormStatus的值。

5.      因为CEO是最后一个批准者,当她批准并点击提交时,FormStatus值设置为“已完成”。

6.      如果其中任何人拒绝了表单,FormStatus域被设置为“已拒绝”。

7.      使用下列表单加载规则:如果FormStatus等于“已完成”或“已拒绝”,切换到只读视图。

        下面练习中,你将创建两个表单加载规则,这样视图可以自动切换。

         准备:以设计模式打开ContosoReimbursementform.xsn。

1.      在功能区,点击“数据”选项卡,点击“表单加载”按钮。

2.      点击“新建”按钮,选择“操作”。

3.      “详细信息”输入Approvals。

4.      在“条件”节,点击“无--规则在打开表单时运行”链接。

5.      在myFields下拉框,点击“选择域或组”。


6.      展开Hidden组,选择FormStatus,点击“确定”。

7.      在第二个下拉框,选择“包含”。

8.      第三个,“键入文本”,输入Approval。点击“确定”。


9. 在“运行这些操作”旁点击“添加”按钮,选择“切换视图”。

10.  选择“Approvals”视图,点击“确定”。


        现在approvals规则已经创建,已完成或已拒绝表单规则也可以被创建了。

11.  点击“新建”按钮,选择“操作”。

12.  详细信息输入Read Only。在“条件”节,点击“无-规则在打开表单时运行”链接。

        有两个条件:FormStatus等于“已完成”和FormStatus等于“已拒绝”。注意到第一行末尾的下拉框中“或”条件。


13.  点击“确定”。在“运行这些操作”旁点击“添加”按钮,选择“切换视图”。

14.  选择Read Only视图,点击“确定”。


        尽管有两级审批可用,有一个审批视图就很高效了,因为我们的表单加载规则可以保持简单。记住条件是大小写敏感的,所以确保认真遵从说明指导。

        目前,我们创建了一些approval域,一个approval节,一些表单加载规则。下一个任务是将所有这些功能绑定到一起(使用一些自定义提交按钮和更多规则)。

posted @ 2014-04-02 21:38  crazygolf  阅读(169)  评论(0编辑  收藏  举报