95. 基于Notes/Domino的文档工作流系统(七)

本文继续剖析基于Notes/Domino的文档工作流系统的设计和代码,以方便用户能应用和创建自己的工作流。(CSDN的下载资源一旦上传就不能修改,很不方便,现已将下载地址改到GitHub,若发现下载有问题,请与我联系。)
在前文对工作流建模时,我们抽象出以下几类对象:
工作流:每个工作流实例都存放工作流名称、当前节点等信息,并负责处理流程各节点的操作。
采用工作流的业务对象:在这里也就是采购单。
工作流的配置对象:不同工作流实例以及各个节点的操作的实际差异都是从配置数据中读取的。
最后一类对象体现为工作流、节点和操作三种配置文档,在上文已经介绍。前两类对象在我们的Notes工作流里保存于同一个文档,即流程文档主文档合一。现在我们就来看看与这个文档对应的表单设计和代码类。

流程子表单

流程文档的字段都包含在FlowControls子表单内,主文档对应的则是主表单,这样只要将该子表单嵌入主表单,主文档就具备了运行工作流的数据。
这里写图片描述
应用它创建你的工作流时需注意以下几点:
1. 能进行工作流的操作的用户有三类,一是流程在当前节点的处理人,保存在FlowControls子表单的PersonInCharge字段里。二是能进行像取消Cancel这样的操作的特殊用户,保存在FlowHandlers字段里。三是特权用户角色,像本演示流程用的[IT]角色,能进行上述两类操作。这个[IT]不宜配置,所以在Actions按钮的隐藏公式和代码里都直接用的。所以须将它换成你的系统里代表特权用户的角色。
2. 流程名称保存在FlowName字段里。因为位于通用的子表单内,无法直接写入特定的流程名称,所以在创建主文档时,要将应用的流程名称写入该字段。例如:

    Dim doc As NotesDocument
    'CreateDoc is a function in LS library lsNotes
    Set doc=CreateDoc("fmPurchasing")
    doc.FlowName="Purchasing"

    
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
最新版本,请从Simpleflow官方站点下载 http://www.simpleflow.com.cn Simpleflow V20090103 基于Domino工作流套件 Mail: [email protected] QQ: 935139121 BLog: http://blog.csdn.net/simpleflow V2009预览: http://blog.csdn.net/simpleflow/archive/2008/12/13/3509566.aspx 1.关于License,此版本为20用户免费版.仅用于评估与学习,但没有时间限制 如果对Simpleflow认可,可以免费申请100用户注册码. 申请注册码方法需要提供以下信息 1.公司名称 2.公司地址 3.公司电话 4.申请人 5.申请人手机 6.服务器名(FullName) 7.申请人数 发送到[email protected] 我们会在最短时间内给您回复您的注册码. 2.关于套件组成 1.Application.nsf 流程运行应用库(必需)(CS/BS) 2.Process.nsf 流程定义库(必需)(仅CS) 3.Organization.nsf 流程组织库(CS/BS) 4.Outofoffice.nsf 外出代理授权库(CS/BS) 5.Archive.nsf 流程归档库样例(CS/BS) 6.Log.nsf 流程运行日志库(CS/BS) 7.Names_Ext.nsf 辅助目录库(CS/BS) 注:所有Profile设置,均在CS进行. 3.关于自带样例 1.非生产采购申请 一个简单实现的采购申请,业务流程不一定具有代表性.仅供参考 实现功能包括: A.BS与CS混合驱动 B.标准化拆分与合并(执行委员会节点,按参与者拆分) 说明:此流程除需要创建相应表单外,不需要写任何LS代码 2.收文流程 实现功能包括: A.BS与CS混合驱动 B.自定义的拆分与合并(部门承办,承办完成等待合并节点,自定义合并处理,针对指定栏位进行处理) 3.督办流程 A.仅BS驱动.其它类似收文 4.关于ACL 所有数据库的管理员请设置为管理员级别,并请设置[SysAdmin]角色 1.Application.nsf Default是作者[创建,删除文档,写公共文档] 如果流程支持拆分与合并,则同时需要 [复制与粘贴文档]权限 2.Process.nsf Default是读者 3.Organization.nsf Default作者(如果扩展该库功能的话,请赋予相应的写权限) 4.Outofoffice.nsf Default是作者[创建删除] 5.Log.nsf Default是作者[创建] 6.Archive.nsf Default是作者[创建] 7.Names_Ext Default是作者[创建] 说明ACL设置需要根据具体情况来设置,这里并不是给出标准设置,仅供参照. 如果哪位发现有安全性漏洞,请反馈给[email protected].谢谢支持. 5.关于设置 每个数据库请用[SysAdmin]角色的用户在CS登陆后,在[系统管理]里进行[系统设定] 系统设定主要包括数据库路径设定,不需要多讲 6.如何新建流程定义 http://blog.csdn.net/simpleflow/archive/2008/01/24/2062579.aspx http://blog.csdn.net/simpleflow/archive/2008/01/24/2062850.aspx 流程定义库已作过部分升级,但仍可参照 7.如何新建一个流程实例 1.CS 在导航帧的左下角,下拉框选择后启动 2.BS 页面右帧靠近顶部的绿色小图标 8.咨询与联系 如有疑惑或需要支持,请通过Mail联系我,我会及时进行回复,并整理一些普遍关心的问题发布到Blog上. 9.谢谢支持. 欢迎大家提出不管支持也好反对也好的意见.

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值