单个批准节的布局已经在之前练习中创建,但是,它并不做任何事情。现在是时间使用InfoPath规则的力量控制每个批准者的界面功能。表单移动到下一个批准者状态后,批准和拒绝单选按钮以及意见框将会禁用。当批准者点击提交按钮时,他的名字和日期将会保存,然后下一个批准者将看到只读信息。每个批准者提交表单后,提交按钮会隐藏在approver节中。
下面练习中,你将在New视图提交按钮上创建几个规则,在managerapproval节控件上创建格式化规则。
准备:设计模式打开ContosoReimbursementform.xsn,切换到New视图。
1. 双击提交按钮,在功能区点击“管理规则”。
2. 点击“新建”选择“操作”。
3. 在详细信息输入Set Fields。点击“添加”按钮,选择“设置域值”。在“域”文本框选择FormStatus。值输入Manager Approval,点击“确定”。
4. 点击“设置域”规则下拉框,选择“上移”;你想让这个规则在“提交”规则前应用。
5. 切换到Approvals视图,在Manager Approval节中,选择Approve选项,在“规则”窗体,点击“新建”选择“格式”。
6. 命名Disabled,条件设置为FormStatus不等于Manager Approval。选中“禁用此控件”复选框。
7. 现在复制粘贴此规则到其他控件。选中Disabled规则,在顶部点击“复制规则”按钮。
8. 选中Rejected选项,点击“粘贴规则”按钮。
9. 点击选中Comments文本框,点击“粘贴规则”按钮。
现在三个控件有相同规则。如果FormStatus不等于Manager Approval时会被禁用。
这时Comments框下控件上可以创建“格式”规则。
10. 点击选中已计算值域(其中有Approved By文本),点击“新建”,选择“格式”。创建条件FormStatus不等于Manager Approval,选择“隐藏此控件”复选框。
11. 点击“复制规则”按钮。
12. 选中ManagerApprovalDate文本框,点击“复制规则”。
注意:同样的规则从一个控件赋值到另一个控件。你不想manager看到这两个空域,所以它们是隐藏的。当表单到manager下一个审批者时,域中的值将看见。点击提交按钮时将捕获Manager的名字,所以控件是只读的。
13. 在Manager Approval节底部添加“提交按钮”,在“开始”选项卡,点击按钮添加到表单。
14. 点击“居中”。双击新按钮,输入标签Submit(提交),保留规则和自定义代码的默认下拉操作。
注意本练习中最后一个规则是提交按钮的格式规则。它与manager approval节中其他控件规则相似。
15. 选中“提交”按钮,创建格式规则,如果 FormStatus不等于Manager Approval,隐藏此按钮。
只有一个approval节被创建,但是节中每个控件上都创建了格式规则。当创建所有规则时,节可以被拷贝,创建另一级审批。