在第五章节“添加逻辑和规则到表单”,你了解到所有表单规则。你可能推演过什么时候规则创建在控件上,什么时候作为表单加载规则。添加了影响表单中不同域的规则使得表单变得些许法则。这是InfoPath规则检查器能帮忙的地方。
规则检查器是一个工具,用来分析所有表单规则。不仅你可以看到全局,表单中所有规则列表,而且任何特定域都可以被锁定。为了访问规则检查器,在功能区“数据”选项卡,点击规则检查器按钮即可。你可以点击任何一个橙黄色超链接查看关于给定域或规则的更多详细信息。或者,在右边域窗格,右击任何域名,点击规则检查器。
规则检查器是个故障分析利器,也可用来做记录。此工具提供了打印按钮,所以如果表单被后的逻辑需要保存为项目记录或进一步检查,你可以打印出来。
小贴士:Office 2010有内置功能,发送文件到Microsoft OneNote,而不是实际的打印机。当你点击打印时,选择发送到OneNote 2010,你将收到提示保存到哪个笔记本。如果你是用OneNote记录关于InfoPath项目的笔记,你可以快速保存规则,作为记录的一部分。
规则检查器有四个节,根据规则信息自动分类:
1. 验证
2. 计算默认值
3. 操作
4. 编程
右边面板有四个节,特定于一个选定的域或组:
1. 依赖此域或组的规则
2. 由此域或组中的更改触发的规则
3. 可能更改此域或组的规则
在Contoso,一个新的InfoPath表单转接被雇佣,对一个InfoPath表单进行故障分析。表单逻辑中某处status域设置为VP Approval,但是怎么发生,在哪儿发生并不明显。
下列练习中,你将打开一个现有表单,使用规则检查器检查表单中的逻辑。Contoso Reimbursement表单在第十一章节“创建审批流程”已经被创建,内置了很多不同逻辑规则。你将探索规则检查器,并定位FormStatus被设置为VP Approval的地方。
准备:以设计模式打开ContosoReimbursementFinal.xsn,切换到New视图。
1. 在“数据”选项卡,点击“规则检查器”。
2. 查看所有规则信息。点击任何橙黄色链接查看更多项目信息,会在右边出现新的窗格。
3. 关闭规则检查器。
4. 在右边域窗格,展开Hidden节,右击FormStatus域,点击规则检查器。
5. 在规则检查器右边窗格,转到“可能更改此域或组的规则”节。
你会发现设置表单状态的操作,以及当按钮被点击时发生。但因为按钮没有合适的标签,所以你不知道是哪个按钮。是时候修改按钮标签这样它们更加有用。
6. 关闭规则检查器。在InfoPath Designer中,双击选中提交Submit按钮。
7. 在“属性”选项卡,点击“控件属性”。
小贴士:可以使用Alt+Enter快捷键打开控件属性。
8. 在ID框,输入NewFormSubmitButton,点击“确定”。
9. 在“页面设计”选项卡,切换到Approvals视图。
10. 在Manager Approval节,选中Submit按钮,打开属性。
11. 设置ID为Manager_Button,点击“确定”。
12. 重复步骤10、11,设置VP Approval节中Submit按钮ID为VP_Button。
现在规则检查器将变得更加清楚明了。
13. 右击FormStatus,选择规则检查器。
14. 在“可能更改此域或组的规则”节,再次查看“操作”节。
你在寻找表单哪个地方将FormStatus更改为VP Approval,发现Manager_Buttton是被点击的按钮,规则名称Approved。
15. 关闭规则查看器。
16. 在Manager Approval节,双击Submit按钮,在功能区点击“管理规则”。
17. 在右边“规则”窗格点击选中“Approved”规则。
问题解决!有个操作将FormStatus设置为VP Approval。
在之前的练习中,你学会了如何记录和分析表单逻辑问题。这个样例表单相对简单,但是你可以想象到,随着表单复杂度升高这个技巧多么有用。