分类: 系统运维
2010-03-17 11:09:20
目 录
第一步:需求分析 1#
第二步:MOSS环境设置,用户、用户组权限设置 2#
第三步:创建表单库和相关列表 3#
第四步:设计InfoPath表单
1、设计数据源结构 4#
2、设计表单页面结构 6#
3、创建数据连接 8#
4、将外部数据关联到表单 11#
第五步:发布InfoPath表单
1、发布前的准备工作 19#
2、发布表单 20#
3、使用按钮“规则”保存表单 23# 25# 26#
第六步:设计SharePoint Designer无代码工作流
1、用Designer打开站点,新建工作流 52#
2、使用工作流向导 53#
3、从用户处收集数据 54#
用户类型:运行班长、检修班组、检修专责、运行专责、生产部专责
处理对象:《设备缺陷通知单》(以下简称“缺陷单”)
现状:运行值班员 手工填写缺陷单,发给检修班组,检修班组领取缺陷单,处理缺陷,处理好后填写处理意见,交给运行班长验收。一个缺陷单处理结束。
若检修班组接到缺陷单,无法处理时,要申请择机处理。择机处理时,需依次经过 检修专责、运行专责、生产部专责审批。批准后的缺陷单暂时挂起,等具备检修条件后再处理,处理好后填写处理结果,交运行验收。
若检修班组接到缺陷单,发现缺陷不是本班缺陷,应转给其他班组继续处理。
根据需求,设计工作流程图如下:
第二步 MOSS环境设置,用户、用户组权限设置
MOSS的部署和设置在这里不做过多的说明。
本文需要一个MOSS站点完成 “缺陷单”表单库的存储 以及工作流的关联
本文使用了子站点,不是必须的,完全个人喜好。跟站点下的默认内容较多,怕混淆,建了子站点便于管理。
子网站权限采用继承方式,用户和权限统一在根网站下设置。说明:本文使用的服务器名称为:DC1
站点端口:8080
子站点:EDM
完整访问路径:第三步 创建表单库和相关列表
1、需要创建一个表单库用了存储缺陷单,创建“表单库”,命名为 EDList
2、为能够使缺陷单能够按不同分类进行统计,需创建相关分类字典列表,创建“自定义列表”如下:类型为:自定义列表
名称 创建时输入的名称
分类-机组 TypeJZ
分类-缺陷 TypeQX
分类-设备 TypeSB
分类-责任 TypeZR
分类-值别 TypeZB
分类-专业 TypeZY
以上分类,从不同角度对同一个缺陷单进行标示,便于将来统计。需要特别说明的是:
为了方便以后的引用(提高可度性),在创建表单库或自定义列表时,都输入英文名称,避免MOSS将中文转码。
同理:表单库中的字段也可以同样方法设置,创建时输入英文名,回头再改成中文。
这样,内部存储为英文名,显示为中文。
3、为了在InfoPath表单中可以以列表的方式选择“缺陷单的接收人”,还需要建立一个辅助列表,用来存储用户名和用户账户的对照关系。
创建类型为自定义列表,名称为:缺陷接收人 EDRecvUser
4、为实现自动识别 缺陷单 填写人所属的“专业”“值别”等信息,需要建立一个辅助列表,用于对照 用户账户 与专业、值别的关系。
创建类型为自定义列表,名称为:用户列表 UserList
整个网站结构如下图:第四步 设计InfoPath表单——1、设计数据源结构
需要在MOSS工作流中修改的字段,增加时需要选择为“域(属性)”,不需要在外部修改的字段可以为“域(元素)”
图中浅色图标样式为“域(元素)”,深色图标为“域(属性)”第四步 设计InfoPath表单——2、设计表单页面结构
页面以“节”分块显示不同工作进度下的信息。
通过判断相应字段是否为空,控制节是否显示。
页面中部分元素 是从MOSS中读取的,回显到表单中,如:ID号,创建人、创建时间;缺陷的分类信息等。
下一节在对外部引用数据做说明。
页面整体效果如下:
经过试验,域(元素)在MOSS工作流中修改会报错,域(属性)正常。
因此在当初设计表单时,除基本信息外都使用了域(属性)。
第五步 发布InfoPath表单——3、使用按钮“规则”保存表单
三、取消系统工具栏的显示
【工具】菜单——“表单选项”——浏览器
去掉两个选项:
1、用Designer打开站点、新建工作流 |
2、使用工作流向导 |
3、从用户处收集数据 工作流中最核心的操作是“从用户处收集数据”,让用户填写指定的信息,如:审批意见、下一审批人之类的信息。 然后再判断用户填写信息,根据条件进行流转。 “用户处收集数据”系统会为用户创建一条任务,并等待任务“完成”。 收集任务 会在工作流中返回该任务ID号,需要使用此ID号查询任务详细信息。 ID号保存在“工作流变量”中。类型为“列表ID” 3.1 收集任务
3.2 查询任务中填写的信息 3.3 最终工作流步骤 |
chinaunix网友2010-03-17 17:17:51
问题2:InfoPath表单嵌入页面应该有种方法。 我是用框架嵌入的。 框架需要放在XSLT视图的(dvt_1.rowedit)模板代码内,具体可以在代码中找到 table的开始位置,增加一个新的