一步步学习微软InfoPath2010和SP2010--第十一章节--创建批准流程(8)--提交表单操作

本文主要是介绍一步步学习微软InfoPath2010和SP2010--第十一章节--创建批准流程(8)--提交表单操作,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

        不同的审批中,不同的操作将以指定次序发生。而且,不同操作会根据表单是批准还是拒绝相应发生。然而,无论表单是批准还是拒绝,当前登录用户的名字和当前日期都会被保存。根据你定义的规则,下面是表单的行为:

1.      无条件

        当提交按钮被点击时,发生下列操作:

        A. Approver域被设置为当前登录用户名。

        B. Approval Data域被设置为当前日期。

2.      批准

        当表单被批准时,FormStatus值被设置为VP Approval。VP将是下一个批准表单的人,并且VP approval节在manager approval之下。

3.      拒绝

        当表单被拒绝时,FormStatus值被设置为Rejected。

        下面练习中,你将创建操作规则,当提交按钮被点击时执行。

        准备:设计模式打开ContosoReimbursementform.xsn,切换到Approval视图。

1.      双击选中“提交”按钮,点击功能区“管理规则”。

2.      点击“新建”选择“操作”,命名Set Approver Info。

3.      在“运行这些操作”,点击“添加”,选择“设置域值”。


4.      点击“域”框旁的域选取器。


5.      在Manager_Approval节,选择ManagerApprover域,点击“确定”。


6.      点击“fx”按钮,点击“插入函数”。

7.      选择userName函数,点击“确定”,并点击“插入公式”窗口的“确定”。


8.      点击“确定”关闭规则详细信息。


9.      再次点击“添加”,选择“设置域值”。重复步骤4-7,ManagerApprovalDate域值Today()。


10.  在“规则”窗格,点击“新建”,选择“操作”,命名Approved,条件ManagerApproval等于Approved(已批准),点击“确定”。


11.  添加一个设置域值操作。FormStatus设置为VP Approval,点击确定。记住是大小写敏感的。


12.  点击“新建”按钮创建另一个操作规则,命名Rejected,设置条件FormStatus等于Rejected。

        注意:正如步骤11,不需要点击“fx”按钮,可以直接输入文本。

13.  设置完所有值,表单需要提交并关闭。点击“新建”,选择“操作”。命名Submit and Close。无条件。创建两个操作:提交表单到SharePoint(Submit Data),并关闭表单。

        现在提交按钮有5个规则。


        自动化这个表单幕后需要很多操作。所有这些复杂性对于填表人都是透明的。Approval流程易于理解且非常简单。

        在下面的练习中,你将复制Manager Approval节来创建另一个approvals。

1.      切换到Approvals视图,选择Manager Approval节,在左下角点击“节”,按下Ctrl+C复制这个节。


2.      按下右箭头知道光标在节右边,粘贴。

3.      在新节的标题,改变Manager为VP。现在所有的VP域需要使用,而不再是manager域。右击VP节左下角的“节”,选择“改变绑定”。


4.      控件需要绑定到VP Approval节,而不是Manager Approval,选择VP_Approval节,点击“确定”。


        现在每个单独控件需要改变绑定。

5.      在VP Approval节,右击Approve选项,选择“改变绑定”。在VP_Approval节,选择VPApproval域,点击“确定”。


6.      使用步骤5的方法,改变下列控件的绑定。


7.      已计算值Approved by域有点不同。点击选中这个控件,按下Alt+Enter打开属性。XPath域为空,所以计算值需要重新创建。如果XPath不为空,清空。点击旁边的“fx”按钮。


8.      创建下列公式,连接VPApproval、 By:和VPApprover,点击两次“确定”。

        现在Approve选项需要重新设置默认值。

9.      选中Approve选项,打开属性,选中“默认情况下选中此按钮”,点击“确定”。

        现在规则需要稍微修改下。

10.  双击选中Approve选项。点击“管理规则”按钮,有个规则Disabled。点击链接打开规则条件。

11.  修改条件中的文本为VP Approval。

12.  修改approval节中六个控件,格式规则与manager approval规则相同,除了条件是“VP Approval”。

13.  提交按钮也要修改。在VP Approval节中,选中提交按钮。在“规则”窗格中,点击“Set Approver Info”规则。在“运行这些规则”处,点击Set a field’s value: ManagerApprover =username()。

14.  更改ManagerApprover为VPApprover,点击“确定”,再次点击“确定”保存操作。


15.  Approval Date同样操作,选择VPApprovalDate。

16.  Approved和Rejected规则后的条件也需要修改。在VP_Approval节中,改变每个规则后的条件,这样选择VPApproval域。

17.  在VP Approval节中,点击选择提交按钮。选中Approved规则,设置FormStatus为Completed。


        当Manager填写完approval信息时,你不想看到VP Approval节。

18.  选中VP Approval节。

19.  创建格式规则Hidden。条件是FormStatus等于Manager Approval,选中“隐藏此控件”复选框。


表单审批过程几乎完成。表单第一次提交后,它自动在下次打开时切换到Approvals视图。最后只读视图需要配置。在这个视图上看审批过程。

        作为表单生命周期的一部分,你不想任何表单的数据在表单完成已批准后被修改。因此你使用只读视图和表单加载规则,当表单状态为已完成时,它自动切换到那个视图。这维持了数据的完整性。

        下面练习中,你将复制approvals视图到read-only视图。

1.      按下Ctrl+A,复制。

2.      在功能区,选择Read Only视图,粘贴。

3.      在“页面设计”选项卡,“视图”部分,点击“属性”。


4.      在“常规”选项卡,选择“只读”复选框,点击“确定”。


5.      点击“文件”菜单,点击“快速发布”。

        现在只读视图真正只读了。记住当最后一个审批者批准表单时,提交按钮设置FormStatus为Completed。如果FormStatus等于Completed或Rejected时,表单加载规则自动切换到只读视图。

        小贴士:只读视图中,如果你使用了附件控件,附件将不能打开和查看。解决办法是不选中只读复选框,而是每个控件单独设置为只读。

        自由发布和测试表单。


这篇关于一步步学习微软InfoPath2010和SP2010--第十一章节--创建批准流程(8)--提交表单操作的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1082990

相关文章

python使用fastapi实现多语言国际化的操作指南

《python使用fastapi实现多语言国际化的操作指南》本文介绍了使用Python和FastAPI实现多语言国际化的操作指南,包括多语言架构技术栈、翻译管理、前端本地化、语言切换机制以及常见陷阱和... 目录多语言国际化实现指南项目多语言架构技术栈目录结构翻译工作流1. 翻译数据存储2. 翻译生成脚本

Linux流媒体服务器部署流程

《Linux流媒体服务器部署流程》文章详细介绍了流媒体服务器的部署步骤,包括更新系统、安装依赖组件、编译安装Nginx和RTMP模块、配置Nginx和FFmpeg,以及测试流媒体服务器的搭建... 目录流媒体服务器部署部署安装1.更新系统2.安装依赖组件3.解压4.编译安装(添加RTMP和openssl模块

Android 悬浮窗开发示例((动态权限请求 | 前台服务和通知 | 悬浮窗创建 )

《Android悬浮窗开发示例((动态权限请求|前台服务和通知|悬浮窗创建)》本文介绍了Android悬浮窗的实现效果,包括动态权限请求、前台服务和通知的使用,悬浮窗权限需要动态申请并引导... 目录一、悬浮窗 动态权限请求1、动态请求权限2、悬浮窗权限说明3、检查动态权限4、申请动态权限5、权限设置完毕后

0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeek R1模型的操作流程

《0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeekR1模型的操作流程》DeepSeekR1模型凭借其强大的自然语言处理能力,在未来具有广阔的应用前景,有望在多个领域发... 目录0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeek R1模型,3步搞定一个应

Java深度学习库DJL实现Python的NumPy方式

《Java深度学习库DJL实现Python的NumPy方式》本文介绍了DJL库的背景和基本功能,包括NDArray的创建、数学运算、数据获取和设置等,同时,还展示了如何使用NDArray进行数据预处理... 目录1 NDArray 的背景介绍1.1 架构2 JavaDJL使用2.1 安装DJL2.2 基本操

Python创建Excel的4种方式小结

《Python创建Excel的4种方式小结》这篇文章主要为大家详细介绍了Python中创建Excel的4种常见方式,文中的示例代码简洁易懂,具有一定的参考价值,感兴趣的小伙伴可以学习一下... 目录库的安装代码1——pandas代码2——openpyxl代码3——xlsxwriterwww.cppcns.c

轻松上手MYSQL之JSON函数实现高效数据查询与操作

《轻松上手MYSQL之JSON函数实现高效数据查询与操作》:本文主要介绍轻松上手MYSQL之JSON函数实现高效数据查询与操作的相关资料,MySQL提供了多个JSON函数,用于处理和查询JSON数... 目录一、jsON_EXTRACT 提取指定数据二、JSON_UNQUOTE 取消双引号三、JSON_KE

springboot启动流程过程

《springboot启动流程过程》SpringBoot简化了Spring框架的使用,通过创建`SpringApplication`对象,判断应用类型并设置初始化器和监听器,在`run`方法中,读取配... 目录springboot启动流程springboot程序启动入口1.创建SpringApplicat

C++实现封装的顺序表的操作与实践

《C++实现封装的顺序表的操作与实践》在程序设计中,顺序表是一种常见的线性数据结构,通常用于存储具有固定顺序的元素,与链表不同,顺序表中的元素是连续存储的,因此访问速度较快,但插入和删除操作的效率可能... 目录一、顺序表的基本概念二、顺序表类的设计1. 顺序表类的成员变量2. 构造函数和析构函数三、顺序表

使用C++实现单链表的操作与实践

《使用C++实现单链表的操作与实践》在程序设计中,链表是一种常见的数据结构,特别是在动态数据管理、频繁插入和删除元素的场景中,链表相比于数组,具有更高的灵活性和高效性,尤其是在需要频繁修改数据结构的应... 目录一、单链表的基本概念二、单链表类的设计1. 节点的定义2. 链表的类定义三、单链表的操作实现四、