设为首页 收藏本站
查看: 974|回复: 0

[经验分享] SharePoint Designer + InfoPath 无代码工作流设计实例

[复制链接]

尚未签到

发表于 2015-9-29 11:27:12 | 显示全部楼层 |阅读模式
  SharePoint Designer + InfoPath 无代码工作流设计实例(更新至 工作流设计)
实例名称: 发电厂设备缺陷管理
服务器环境: Windows 2003 企业版 + SharePoint Server 2007 企业评估版 + SQL Server 2005
设计工具: SharePoint Designer 2007 做页面修改和工作流设计 + InfoPath 2007 做表单
相关界面见另贴http://bbs.winos.cn/thread-43283-1-1.html
本文将我的设计过程与大家分享,设计中遇到很多困难,不会解决的只好换了比较笨的办法。
希望借此机会得到大家的指点,为以后的设计充电。

目  录

第一步:需求分析                            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
          完整访问路径: http://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号,创建人、创建时间;缺陷的分类信息等。
下一节在对外部引用数据做说明。
页面整体效果如下:





第四步 设计InfoPath表单——3、创建数据连接
填写表单时,希望“系统分类”、“缺陷接收人”等信息以下拉选单的形式选择,不要手工输入。
“分类”信息和“接收人”信息,已经在MOSS中建立好了。
我们需要在InfoPath中读取MOSS中的列表内容,形成下拉列表。
首先,需要“添加数据连接”,“仅接收数据”,数据源选择“SharePoint”,输入表单库地址,选择表单库或列表,选择读取的字段,给数据连接起名字,完成即可。
步骤如下图:



第四步 设计InfoPath表单——4、将外部数据关联到表单




第五步 发布InfoPath表单——1、发布前的准备工作
表单设计到此基本完成,下面准备将设计好的表单发布到MOSS中的表单库中,以实现在线填写表单的功能。
要实现IE填写表单,需要做如下工作:
    1、修改表单的兼容性设置为:“可以在浏览器中打开”
    2、发布时要勾选“用户可以通过浏览器填写表单”
    3、修改MOSS表单库的“高级设置”——“打开启用了浏览器的文档”选为“显示为网页”
如图:



第五步 发布InfoPath表单——2、发布表单
使用发布向导 发布表单:





需要注意一点:
    表单中,除缺陷的基本信息由“运行班长”在填写表单时填写。
    其他各部分信息分别由不同的用户在不同的时间段填写。
    这些内容需要以后需要在MOSS工作流中进行修改,因此在发布时,需要勾选“允许用户使用数据表和属性页修改该域中的数据”

经过试验,域(元素)在MOSS工作流中修改会报错,域(属性)正常。
因此在当初设计表单时,除基本信息外都使用了域(属性)。


表单发布成功后,就可以在MOSS中测试IE填写表单的功能,遇到问题可以修改表单再次发布。
测试中可能会遇到以下问题:


  • 表单在IE中呈现时,多了两个工具条;
  • 设计的按钮不起作用;
  • 用工具栏中的按钮提交时,要输入文件名;
  • 保存了表单,不自动关闭;
  
下一步,我们将处理以上问题,实现自动化保存。
第五步 发布InfoPath表单——3、使用按钮“规则”保存表单

InfoPath表单默认在提交时要求输入文件名。在IE中也同样。
我们可以通过按钮规则进行自动命名保存。
思路是:


  • 在数据源中预先增加一个“文件名”这样的域属性或域元素。用于临时保存文件名字符串;
  • 检查“文件名”字符串是否存在,若不存在,表明是新建的文件,生成字符串;
  • 我们采用“日期”加“时间”的格式,避免重名(可能出现的冲突:同1秒内的提交可能被覆盖);
    如:20080908-083834  日期-时间           (冲突在用户不算太多的场合可以忽略)
  • 将字符串,保存在“文件名”域;
  • 建立“提交方式”的数据连接,将表单以指定文件名提交。
  • 关闭表单。
  
一、形成文件名字符串
具体操作如下:
双击按钮,进入属性,添加一个“设置文件名”的规则,规则条件为“文件名为空”时执行这条规则。
设置域值为通过函数转换的字符串:  translate(translate(substring(translate(now(), ":", ""), 1, 20), "-", ""), "T", "-")


公式:




  • translate(translate(substring(translate(now(), ":", ""), 1, 20), "-", ""), "T", "-")
复制代码
now() 返回 2008-09-08T11:25:58        固定格式
translate(now(), ":", "") 返回  2008-09-08T112558       去掉冒号
同理去掉减号-
将T换成-
得到20080908-112558    作为文件名
第五步 发布InfoPath表单——3、使用按钮“规则”保存表单
二、使用“提交”连接(建立提交连接)
生成文件名字符串后,需要保存表单到表单库。
InfoPath提供“提交”连接的形式,以指定的字符串作为文件名保存表单。
在上一步的基础上,添加一个新规则。

  •   提交之前先更新填写时间。(略)
  •   为“工作状态”设置一个初始化息。(略)
  •   添加操作为“使用数据连接进行提交”。
  •   新建一个连接,步骤如下图。
  •   添加一个“关闭表单”的 操作,提交后自动关闭表单。(略)


  • 完成后,保存表单。 再次发布。在MOSS中进行测试
  第五步 发布InfoPath表单——3、使用按钮“规则”保存表单
三、取消系统工具栏的显示
【工具】菜单——“表单选项”——浏览器
去掉两个选项:

第六步:设计SharePoint Designer无代码工作流

1、用Designer打开站点、新建工作流

第六步:设计SharePoint Designer无代码工作流

2、使用工作流向导






第六步:设计SharePoint Designer无代码工作流

3、从用户处收集数据
工作流中最核心的操作是“从用户处收集数据”,让用户填写指定的信息,如:审批意见、下一审批人之类的信息。
然后再判断用户填写信息,根据条件进行流转。
“用户处收集数据”系统会为用户创建一条任务,并等待任务“完成”。
收集任务 会在工作流中返回该任务ID号,需要使用此ID号查询任务详细信息。
ID号保存在“工作流变量”中。类型为“列表ID”
3.1 收集任务

  
  3.2 查询任务中填写的信息


  
3.3 最终工作流步骤


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-120394-1-1.html 上篇帖子: Integrating 3rd Party Single Sign On in Sharepoint Portal Server 下篇帖子: Upgrading MOSS 2007 SSP User Profiles and MySite content to SharePoint Server 20
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表