驰骋开源的.net工作流,工作流程管理系统
驰骋工作流,好用看的见http://ccflow.org. 简单来自背后的力量.
posts - 40,comments - 10,trackbacks - 0

熟悉ccflow的各个属性是设计ccflow流程必要条件。

 

 

是否启用:如果此流程在运行就启用它,不运行就不启用它,可用于流程的历史版本管理,也可以因管理的需要,设置它。

运行方式:是为流程的自动做的标记,自动运行的流程,可以用户以sdk的方式开发。

是否可以独立启用:如果是一个独立启用的流程就可以显示在发起流程列表里,否则就不显示,如果该流程是一个子流程并且该流程不能被独立发起,只能被调用,就设置他为不可独立起用。

导航url:是在发起流程时的要点的连接,如果为空就表示直接启动流程,MyFlow.aspx?FK_Flow=xxx&FK_Node=xxx如果你指定了这个连接在发起界面连接上,就直接转向您指定的连接上去,您的页面可以进行二次业务处理在转到MyFlow.aspx上来。

比如:合同修改流程,要发起这个流程首要的界面是要呈现一个合同列表,用户选择这个列表后,在转入流程发起。这个合同列表界面就是一个流程发起列表界面与流程启动界面一个缓冲。

标题生成规则:

标题:是流程标题,一个流程在开始节点是必须有一个标题字段Title,并且这个字段不可别删除,默认为隐藏的。

标题字段用于待办、在途的工作列表上,是能让使用者知道这是那一条流程。

标题字段不能修改,它是系统根据一定的规则自动生成的。

默认生成规则为:"@WebUser.FK_DeptName,@WebUser.No,@WebUser.Name@RDT发起.";解析为:财务部,zhangna,张娜在11121020发起。

流程设计人员可以根据自己的需要设计自己的规则,规则表达式中支持节点表单字段。

比如:"@wenjianmingcheng@RDT发起.";其中@wenjianmingcheng是节点表单的数据库字段。

流程应用类型:

是说明流程类型,如果没有特殊的指定,就是正常的流程。

工程类型的流程是ccflow的一种特定的流程,它有项目组的概念,什么是工程类的流程请baidu ccflow 工程类型流程。


类别:工作流开发 查看评论
posted @ 2011-12-16 22:31 驰骋工作流,工作流程管理系统. 阅读(237) | 评论 (0)编辑 收藏

驰骋工作流程管理系统,多表单附件使用方法。

ccflow多表单附件:

多表单附件是用户上传的附件格式不能确定,数量不能确定情况下使用。

设计步骤:在工具栏点多附件按钮:

  

多表单附件属性:

附件名称:就是为控件起一个名称,附件编号需要全局唯一。保存到是文件要保存的位置。

是否可下载,是否可删除,是否可上传是用来控制附件的访问权限的。

 

特别说明:

类别可以为空,如果不为空时系统就会自动为它附件按约定的格式分类。

 

两种附件的展现模式:


 

 

 


类别:默认分类 查看评论
posted @ 2011-12-14 07:32 驰骋工作流,工作流程管理系统. 阅读(255) | 评论 (0)编辑 收藏

从表事件

 

表的事件的格式与主表的事件格式一样的描述。在实际工作中,我们经常用到表保存完后要处理一些业务逻辑。

比如:要根据主表的字段更新一些从表的信息。

比如:在每条数据更新前后都要做安全性校验。

 

以下界面从从表设计界面进入:


 

 

特别说明:

对于明细表保存前,保存后两个事件,用@符号获取的变量是主表字段的变量。

其它的事件是明细表的字段。

@WebUser.No,@WebUser.Name@WebUser.FK_Dept 全局字段约定不变。

 

 


类别:默认分类 查看评论
posted @ 2011-12-14 05:46 驰骋工作流,工作流程管理系统. 阅读(185) | 评论 (0)编辑 收藏

如何提高工作流程管理系统运行效率?

 关键字:工作流程管理系统,workflow,bpm,执行效率,缓存.

     Ccflow通过如下方提高业务流程系统执行效率。

缓存机制

1,什么情况下用到缓存?

  有以下几条缓存数据的规则。

  1,数据被频繁利用,但是不经常更新,数据量不太大.

      比如人员、岗位、部门。

 

   2,数据在同一个过程中经常利用,比如:流程对一个实体进行运算.它经常被各个方法所使用.

     比如纳税人流程中:纳税人的信息\土地流程中的土地信息. 

  3,用户的个人信息,比如他的岗位集合,部门集合.....  

 

2 ,缓存分类.

 

  全局级的:application中应用.比如:部门、岗位、人员、持久化存储的映射.

  用户级的.session中应用.一个操作员的个人信息.

  临时级的.临时应用,在各个过程中应用,一个操作中消亡。

 

3,缓存怎么在ccflow工作流引擎中表现?

 

   1,系统启动时,自动的把一个常用的数据调入到 全局级的缓存区。

   2,用户登陆后,把该用户的岗位、部门集合放入到用户级的缓存区.

   3,系统在运算时,大部分数据已经被加工处理好,大大减轻了服务器的负担.

 

事先计算:

事先计算就是把能够计算得到的属性在流程设计时提前计算出来,比如:节点的位置,它是一个枚举类型,开始节点、中间节点、结束节点。如果在运行中计算会消耗服务器的资源,如果在设计阶段计算好,就会节省这笔开销。

这些事先计算包含多个方面,比如:表单是否有明细、是否有框架、是否有扩展应用。。。。。

 

XML数据的缓存

  系统启动起来后就会把xml数据调入到缓存处理,节省了大量的IO操作。

 

 

参数执行:

   多达95%以上的sql都是用参数执行的,您可以通过监控工具捕获到它们。Ccflow是运行在bp框架上的,所有的实体类,都是放在SQLCash这个类中,所有的update,delete,insert,select操作都是采用的参数执行,生成的sql放入缓存里。


类别:工作流开发 查看评论
posted @ 2011-12-14 04:58 驰骋工作流,工作流程管理系统. 阅读(687) | 评论 (0)编辑 收藏

注:本文章从网上摘录,并做了相应的修改。

         第一次接触工作流系统,可能会对一些基本的术语和名词有误解。如流程实例,流程模版,流程版本等,以及这些名词之间的关系,需要有一个学习和理解的过程。这些名词和术语也是工作流系统中的通用名词,通过学习和理解后,会对这些术语和名词有一个共同的认识和理解。

如下面的词语

工作流引擎:抽象的业务流程设计模型,负责业务流程的定义,解释和运转。

工作流模版:用工作流引擎的基本概念和路由过程表示出一个业务办理过程,这个过程通常是用xml格式的文件来记录的,这个xml文件,就是工作流模版,也可以说是流程模版。

工作流名称:就是工作流模版文件的名称。也可以叫流程名称。

工作流版本:工作流模版的版本,也可以叫流程版本。在工作流系统中,对工作流模版有个版本管理,新建一个工作流模版时候,它的工作流模版是.1。当再次做修改的时候,可以选择创建新的版本,如.2。
        因为一旦业务流程模版投入使用了,有了运行的流程实例了,再次对业务流程做的修改,就需要更新到新的版本中,原来的流程版本还需要存在,原来的流程定义信息,按版本仍然能查询到。新的修改在新的版本中。
     流程名称+流程版本 是唯一标识一个业务流程的。

工作流建模:利用流程设计器将业务处理过程用工作流的节点方式表示出来,就是工作流建模,也可以说是流程建模。

工作流节点:是工作流引擎的设计基本节点,一个节点表示一个业务处理过程,在流程设计器中,会有相应的表示方式。

流程实例:按照工作流模版定义的处理过程启动运行的业务处理过程,即流程实例。利用建立好的业务流程模版,可以多次启动流程实例,一个流程实例即一个业务处理过程。如请假审批的流程,张三填写他的请假单,启动一个审批流程实例。李四也填写一个自己的清单单,也是启动了一条流程实例。

流程实例id:每条启动的流程实例,在工作流引擎中,都会对应一个流程实例id,来唯一标识这条流程实例。
 

业务数据:流程中每个节点上处理的业务记录等。通常流程数据和业务数据是有关联的。

流程设计器:利用工作流引擎的设计基本节点和概念给业务流程建模的可视化编辑工具,就是流程设计器。

当前步骤:流程实例未结束前,正运行到的当前节点,为当前步骤。

历史步骤:流程实例运行完成的节点,都认为是历史步骤。

流程实例运行轨迹:每条流程实例在工作流模版的节点上运行的轨迹。

流程实例监控:监控每个流程实例在各个节点的运行情况。

任务:每条流程实例在运行到流程的各个节点时,会产生一些待执行的任务信息。有任务名称,描述,和参与人,完成人等任务的基本信息。通过任务链接到待处理的业务过程。

任务参与人:任务信息的参与人,能够查看到任务的相关人。

任务执行人:可执行任务的操作人。
 
任务工单:任务派发下来的工单。

线形流程(串行路由):业务建模中,节点按顺序一个一个的往后串联的方式。

分合流(并行路由):业务建模中,节点并行的方式往后链接。
 
分支:业务建模中,平行分支的节点路由方式。

合并:业务建模中,将平行分支的节点路由再合并起来的路由方式。

子流程:为一个独立的业务流程,嵌入到主流程中。
 
这里只是列出一些常用的工作流系统中的术语,不体现流程引擎的设计基本概念。

特别是流程模版,流程实例,业务数据这之间的关联和区别:

流程模版,是将业务处理过程用工作流引擎的支持的方式表示出来的一个模版文件。
流程实例,按照工作流模版定义的处理过程启动并运行的业务处理过程,通常对应一条主业务数据。

  

 


类别:默认分类 查看评论
posted @ 2011-12-12 03:55 驰骋工作流,工作流程管理系统. 阅读(418) | 评论 (0)编辑 收藏

更多的ccflow,功能图片介绍:
http://hi.baidu.com/ccflow/album

 




类别:默认分类 查看评论
posted @ 2011-12-09 19:51 驰骋工作流,工作流程管理系统. 阅读(472) | 评论 (0)编辑 收藏


说明:
--------------------------------------
1, Prj为项目工程所用的一些扩展应用,项目流程也可以称呼为工程流程,是为了建造一个跨期比较长的工程在每个环节上需要流程控制。


2, 项目流程权限控制比较特殊,比如一个人在a项目中是项目经理,在b项目中是工程师。这类的流程在节点权限控制时会遇到局限在本项目中流转。


3,一个项目会有资料树的概念,每一个有关项目的流程具有一些文档,这些文档会于项目关联。


4,项目流程ccflow在表单设计中有一个约定。每个节点表单中(流程表单除外)都必须有PrjNo,PrjName两个属性.
   在流程设计时必须指明此流程为项目类型的流程。


环境搭建
----------------------------------------
1.  D:\ccflow\ExpandingApplication\Prj\Prj 复制到 D:\ccflow\VisualFlow\ 中去.

2.  在ccflow webapplication 中引用 D:\ccflow\ExpandingApplication\Prj\Components\BP.PRJ\BP.PRJ.csproj

3. 在目录: D:\ccflow\VisualFlow\DataUser 下创建一个Prj.Data 目录. 这个目录将会放资料树。 
    D:\ccflow\VisualFlow\DataUser\PrjData\Data 资料树数据.
  D:\ccflow\VisualFlow\DataUser\PrjData\Templete 资料树模板数据.
 
3. 编译该项目.


创建您的第一个工程项目流程:
----------------------------------------
1, 在流程设计器中建立一个项目, 该项目的编号为 0001.


2, 为该项目设计项目树模板.
   2.1 创建目录: D:\ccflow\VisualFlow\DataUser\PrjData\Templete\001
   2.2 在以上目录下创建目录模板, 系统中读取文件名.文件里面可以没有任何内容. (为了方便期间你可以把 D:\ccflow\ExpandingApplication\Prj\Templete\*.* copy 里面测试)
       目前只支持一级的资料树.

   2.3 说明:在您上传资料后,系统就会自动的把文件上传到 D:\ccflow\VisualFlow\DataUser\PrjData\Data\001 下面。
 
3. 为该项目设计岗位与人员.设计资料树节点访问规则.

4. 新建一个流程,在流程属性中设置该流程为项目类型的流程.

5. 为该流程的每个节点表单都要增加一个PrjNo,PrjName字段.

6, 在表单上,增加一个超连接 连接地址为 =当前节点ID. 系统就会打开项目树了.
 
   ============== over  =================

如果以上有变动,请参考ccflow流程设计器说明书 .http://ccflow.org下载.

 

  
 


 


类别:默认分类 查看评论
posted @ 2011-11-30 09:23 驰骋工作流,工作流程管理系统. 阅读(397) | 评论 (0)编辑 收藏

   
          根据ccflow对外界的最迟不晚于2012年6月份开源全部源代码的承诺,与一些用户迫切想得到自由表单设计器的源代码的需要。我们做出提前开放的决定:

    1, 撤销abc级用户的限制。
 
    2,开放手机访问源代码,表单设计器源代码。分别是:
       D:\ccflow\CCForm
       D:\ccflow\VisualFlow\WF\WAP
          
    到目前为止,ccflow 的源代码完全开放了,欢迎各位潜心研究,心诚则灵。

    以下是给学习使用ccflow的一些建议。

    1, 多看看两个重要的操作手册。
        D:\ccflow\Documents\驰骋工作流程引擎-自由表单设计器操作说明书.doc
        D:\ccflow\Documents\驰骋工作流程引擎-流程设计器操作说明书.doc
 
    2, 多看操作录像.

    3, 按操作录像模仿建立一个简单的流程,流程的一些基本元素概念。

    4, 加入ccflow的qq讨论群, 并把问题放在群论坛上。


    其它:
       ccflow 更新通知
      http://hi.baidu.com/ccflow/blog/item/039ec84744bde0146a63e573.html

     关于发布ccflow 流程设计器源代码与ccflow未来产品线的声明.
      http://hi.baidu.com/ccflow/blog/item/d70431df1932394895ee3755.html
   


礼!!


     ccflow.org

 

 


类别:默认分类 查看评论
posted @ 2011-11-23 22:45 驰骋工作流,工作流程管理系统. 阅读(376) | 评论 (0)编辑 收藏

 ccflow 更新通知:
    经过2天的更新,ccflow 已经完成了本次的更新,此次的更新兼容原来的程序设计。

    本次更新内容:
    ------------------------------------
    1, 目录结构做了调整 原来 visualflow/*.* 重要的文件移入 visualflow/WF/Admin/Xap 里面了.

    2, 把原来c级用户的wap模块加入了 visualflow/WF/WAP目录下.

    3, 删除了各个层是间的隐藏文件, 一些排除的文件都被删除了.  


    彻底的升级办法:
    ----------------------
    1, 重命名本机上的D:\ccflow, 比如:D:\ccflowBak
    2, 重新下载 ccflow 到 D:\ccflow   svn 地址 http://ccflow.googlecode.com/svn/ccflow/
    3, 修改本机上的 IIS 虚拟目录名称 Flow 成 ccflow.
    4, 启动D:\ccflow\VisualFlow\BP.Web.CCFlow.sln

 


致!!!


    ccflow.org

 


类别:默认分类 查看评论
posted @ 2011-11-23 18:19 驰骋工作流,工作流程管理系统. 阅读(396) | 评论 (0)编辑 收藏

关于ccflow的最近更新通知.

各位ccflow爱好者:

    最近ccflow 要做一些调整与变动,会给各位的升级与正常使用带来问题。遇到问题,请按如下步骤解决。

   1,全部更新,更新内容(BP.En30,BP.WFV4, VisualFlow整个目录)
 
   2,提交错误与截图到群论坛中.


   这段时间估计要持续3天左右.


 谢谢您对ccflow的支持.


      济南驰骋信息技术有限公司
      2011/11/21


类别:默认分类 查看评论
posted @ 2011-11-22 07:25 驰骋工作流,工作流程管理系统. 阅读(176) | 评论 (0)编辑 收藏

ccflow流程开始节点表单传输数据方法大全

在启动开始节点时,通常会向其发起点(流程的第一个点)传输一序列值,来减少用户的输入或者处理特定业务。下面把这些特定的方法总结汇总如下。

 

利用url传输数据给表单:

事例:MyFlow.aspx?FK_Flow=001&FK_Node=101&PrjNo=GB1002&PrjName=项目名称.

解释:利用Url的方式传递值,Key就是表单的字段名,如果一致ccform就是自动获取它们把值放入表单控件里。

这种方式适用于数据量比较少,没有明细表的值。

 

把指定物理表的一列值传递给表单:

事例:
MyFlow.aspx?FK_Flow=001&FK_Node=101&FromTableName=Prj_Main&FromTablePK=No&FromTablePKVal=GB1001

解释:利用特定的标记传递table名称,这个table的主键列名称,指定的行数据。系统就会自动的生成一个sql查询到这个行数据。

Select * from FromTableName where FromTablePK =’ FromTablePKVal’.

如果查询不到数据,就会抛异常。

查询到数据就会把这一行的数据根据列名与表单属性名称相对应的copy上去。

这种方式适用于数据量比较大数据传递。

 

其它流程节点通过url转向,转向到开始节点:

应用背景:一个流程A结束后,根据条件它要启动另外一个流程B,对于A流程结束点的数据(主表数据,明细表数据,附件数据)都要传递到B流程的第一个节点上去,类于ccflow节点之间数据传递。

事例:
A流程节点属性中->配置->成功发送后转向方式:转向指定的url转向处理内容:MyFlow.aspx?FK_Flow=001&FK_Node=101这种方式系统就会直接把A流程结束节点的数据复制到B流程的开始节点上去。这些数据包括:主表、多个从表、附件数据。Ccflow采用静默的默认的传递。实现这些方法请参考BP.WFV4中的Flow.cs类中的NewWork()方法。

 

删除草稿:

ccflow草稿的概念:当启动一个流程时,ccflow就会为当前操作人员第一个节点表单插入一条数据,用户点保存时,就会更新这条数据,这个NodeState=0,做为草稿,如果发送出去了,NodeState=1,就变成了节点表单的历史数据了。

如果有了草稿ccflow就会把这个草稿调出来显示给用户。也就是说当前打开当前点时草稿就产生了。

草稿的产生是因为用户在开始节点时,数据了数据,保存了但是没有发送。

如何删除草稿:

事例:MyFlow.aspx?FK_Flow=001&FK_Node=101& IsDeleteDraft=1

说明:删除主表草稿数据,从表草稿数据,附件数据。


类别:工作流开发 查看评论
posted @ 2011-11-17 23:10 驰骋工作流,工作流程管理系统. 阅读(685) | 评论 (0)编辑 收藏

Ccflow如何处理流程退回过程的数据的完整性。

流程在退回时,有一段流程数据就是从当前点到退回点的所做的工作,这部分节点的数据如何处理成为了我们要探讨与取舍的难点。

以请假流程为例,申请人发起,部门经理审批,总经理审批,人力资源归档。如果总经理退回到第一个点,可以解释为,部门经理做的无效的工作,此部分工作需要删除,在3.0以前的版本,ccflow都是这样的处理的,这样的解释也是用户所接受的。

但是在其它的流程就不能这样解释了,因为他需要保留历史痕迹,并且在退回后有如下可能要发生。

1,  退回到指定的点后,发起人删除流程。

2,  退回到退回节点后,发起人修改表单后发送,按原节点发回来。

3,  退回到退回节点后,发起人修改表单后发送,经历与其它的路线步骤到当前点。

4,  退回到退回节点后,发起人修改表单后发送,该走其它的路线不经当前点。

  基于如上可能性的发生ccflow,做了如下处理。

1,  退回阶段流程数据写入txt文件里,放在D:\ccflow\VisualFlow\DataUser\ReturnLog

2,  增加了流程报告与节点的焦点字段功能,系统把每一步骤的操作都记到日志表里了,通过焦点字段的配合,可以让操作员方便明晰的看到轨迹。

 

Ccflow4.5通过如上两个方法解决退回数据的完整性问题。

 

ccflow焦点字段:

http://hi.baidu.com/ccflow/blog/item/af7fa2580a0a26362834f0ff.html


类别:默认分类 查看评论
posted @ 2011-11-17 18:25 驰骋工作流,工作流程管理系统. 阅读(378) | 评论 (0)编辑 收藏

如果通用查询界面满足不了你的要求,你需要自己开发一个查询界面来完成用户的查询需要,下面讲解如何开发一个高级个性化的查询界面。阅读如下内容,需要您了解了ccflow的数据表结构,流程数据存储结构基础之上。

如果你是独立运行模式,使用的ccflow的整体界面,那就修改ccflow主菜单文件。

D:\ccflow\VisualFlow\DataUser\XML\BarOfTop.xml


1,    设置Url=””,  

2,    OnClick=”” 增加一段js代码让其转入你的查询界面中去。

   

在做您个性化的查询时,你可能需要调用如下接口:

流程轨迹图:
http://10.150.224.239/Flow/WF/Chart.aspx?WorkID=943&FK_Flow=008&FID=0

流程工作报告:
http://10.150.224.239/Flow/WF/WFRpt.aspx?WorkID=943&FK_Flow=008&FID=0

 

    表单附件

如何打开表单附件需要你查询了解表单设计器,多个附件的存储。在这里简述如下:

1,   首先要明确要查询那个节点上的附件,你能明确节点ID

2,   查询物理表SELECT*FROMSys_FrmAttachmentDBWHERERefPKVal=工作ID  AND   FK_MapData='ND'+节点编号

根据你的需要生成客户所需要的样式。




 

 


类别:工作流开发 查看评论
posted @ 2011-11-14 00:35 驰骋工作流,工作流程管理系统. 阅读(398) | 评论 (0)编辑 收藏

应用场景: 

如下流程图是一个典型的对附件的审批流程,起草人发起一个标准文件,经过各部门审批,意见征集(分合流),各部门汇签(分合流)。

在工作日志中,用户希望看到日志记录每次审批意见,如果有多次退回,多次审批意见,个是什么。如下图:


如何让ccflow要知道记录表单的那个字段,这个字段可能是审批意见也可能是备注。如果您不设置它,ccflow就记录不上。

解释说明:

节点属性中的焦点字段是用来处理记录一个表单中重要的字段,比如:一个审批表单中的审批处理意见字段,对这个表单来说他非常重要,在流程中我要记录这个字段作为此节点的审核信息。

并非所有的节点都要设置焦点字段。

如下功能中用到焦点字段,工作日志、转发、退回。

在工作日志中应用:

如果您为此节点设置了焦点字段,系统在日志记录时,就会记录到日志中去。如果没有则不记录,如果对一个审批流程来说,记录每个节点的审批意见记录工作日志非常中要。

在转发中应用:

如果设置了焦点字段,用户就可以在当前表单上在这个字段上填写意见,按下转发按钮后这个字段的数据就会被带到转发功能界面里去,符合操作习惯。

在退回中应用:

同上。


类别:默认分类 查看评论
posted @ 2011-11-10 18:59 驰骋工作流,工作流程管理系统. 阅读(735) | 评论 (0)编辑 收藏

ccflow 如何利用节点的[成功发送后转向方式]功能实现,父流程与子流程的完美顺畅结合

业务背景:

case1: 父流程在特定的节点启动子流程后,在子流程完成后,需要转到父流程的发起子流程的发起子流程的节点上来.
      在父流程的节点上可以在启动子流程,或者处理父流程上的以后节点。

case2: 一个节点完成后,需要按照指定的条件(一般就是表单中的一个字段的值)进行转向。

    要满足以上功能,这里就需要熟悉与灵活运用节点属性的[成功发送后转向方式] 。

 

在节点成功发送后有如下处理方式:
   0 提示ccflow默认信息
     系统提示详细的发送信息,包括下一步的接受人。。。
   1 提示指定信息
     按照您定义的信息提示给用户。此选项需要在[转向处理内容]文本框里输入提示内容。
   2 转向指定的URL
     按照您定义的url转向,此选项需要在[转向处理内容]文本框里输入url。
   3 按照条件转向
     在相关功能里定义转向条件。
 
   利用此属性您可以个性化提示信息。可以在流程处理完成后转向指定的url,也可以根据表单的字段的值转向指定的url。

   在父子流程中,当子流程启动起来之后,就可以利用此项功能转到父流程节点上去。

在子流程完成后,从子流程转向父流程配置案例:

1, 打开子流程的最后一个节点属性界面,设置成功发送后转向方式,为3,既:转向指定的url
2, 在转向处理内容输入一个url


     经过如上的配置,子流程在完成后就转向父流程的节点了. 其中: FK_Flow 就是父流程的编号,FK_Node 就是父流程启动子流程的

节点编号。 子流程的FID,就是父流程WorkID.

   其它:在ccflow中, OID 就是WorkID. WorkID就是OID . 他们两个在ccflow中是一个概念,一直被沿用下来了,不要混淆.

  
 


类别:工作流开发 查看评论
posted @ 2011-10-23 06:38 驰骋工作流,工作流程管理系统. 阅读(647) | 评论 (0)编辑 收藏

--- 原文与回复 --
你好,我在嵌入应用CCFLOW时,碰到了一些问题,想请教一下您。

采用傻瓜表单和自由表单设计审批流程时碰到以下问题该如何解决:

采用傻瓜表单设计审批流程存在的问题:

样式固定,无法调整文本框的宽度和高度.
re: 傻瓜表单里的文本框,有三种类型,大块文本,整行显示,半行显示的。
宽度与高度是固定的。

字体无法调整;控件的布局只能是两列;无法调整背景;
re:
1,背景不能调整的,
2, 控件默认是四列显示,可以整行显示, 这就是 friendly form 的特点。
 
当文本框未激活时无法调整框内字体颜色。
re: 可以考虑,增加激活的效果,等待升级吧。
 
设计时指定文本框的长度为整行,显示时却显示一小段。
re: 此属性对傻瓜表单无效,对自由表单,与明细表有效。

 

采用自由表单设计审批流程存在的问题:
样式固定,无法调整文本框的高度;不可编辑的文本框无法调整;
RE: 对于文本狂,明细表,多选,控件,选择该控件,shift+ 方向键可实现。


字体无法调整;控件的总体布局无法调整;无法调整背景;
RE: 字体大小可调整的, 背景不能调整,需要二次开发它。

线条粗细调整没有合理的分级功能。
re:选择线条 按下 A+ A- 可实现线条的粗细。


当控件为日期控件时,无法调整控件的宽度和高度。
re: 日期类的textbox 是固定的。

 


类别:默认分类 查看评论
posted @ 2011-10-21 22:35 驰骋工作流,工作流程管理系统. 阅读(352) | 评论 (0)编辑 收藏

经常用到的ccflow数据查询方法

  要想二次开发你需要熟悉如下查询方法。
    查询待办一个人的待办工作:
   SELECT * FROM WF_GenerWorkerList WHERE FK_Emp='zhoupeng' and IsPass=0 AND IsEnable=1

   查询在途工作:
   SELECT * FROM WF_GenerWorkerList WHERE FK_Emp='zhoupeng' and IsPass=1 AND IsEnable=1

   查询一个人的一个流程的历史处理工作.
   SELECT * FROM V_FlowData WHERE FlowEmps LIKE ',zhoupeng,' and WFState=1

 


 


类别:工作流开发 查看评论
posted @ 2011-10-18 08:01 驰骋工作流,工作流程管理系统. 阅读(207) | 评论 (0)编辑 收藏

Ccflow把流程分为公文类流程与业务类流程。

公文流程是以文档传递为基础的流程,而业务流程则是以表单数据为基础的流程。

类别的约定:

公文流程中只有一个类别: 01表示公文类.  只要编号不是01的流程就是业务流程。

在创建流程时,ccflow自动判断编号是否是01如果是就按照公文类的流程创建否则按照业务类的流程创建。

表单区别:

公文流程的表单字段是固定的,一般不做变化,比如:文号,发文单位,收文单位,机密程度,紧急程度等等,而业务类流程表单是变化的。公文流程节点上只有一个表单,而业务流程有多个表单。

载体区别:

公文以文档为中心,公文流程表单是描述文档的属性,公文流程用户操作的前台表现形式以word为处理工作的载体,采用了vsto技术,处理文件流转。业务流程以IE或者cs程序为载体处理数据流转。

数据存储区别:

公文流程的数据分为三部分,流程运转记录存储在数据表里,公文模板存储在ftp服务器上,公文文档数据存储在ftp服务器上。


在本说明书中如果特别说明都是业务流程开发。


类别:默认分类 查看评论
posted @ 2011-10-18 03:39 驰骋工作流,工作流程管理系统. 阅读(266) | 评论 (0)编辑 收藏

在ccflow表单设计器中,如何实现自动编号(或者时间戳)


应用需求特性:
1, 在开始节点生成.

2, 生成后会自动传递到其它的节点上去.


实现方法:
1, 创建一个生成自动编号或者时间戳的函数. 比如: GenerMyNo

2, 建立一个string字段,设置为只读属性.

3, 在这个字段中的属性的扩展设置中,数据获取-> 方式2:利用sql 自动填充.
   填写一个sql
    for sqlserver:
   比如: SELECT dbo.GenerMyNo()
   
    for oracle:
   比如: SELECT dbo.GenerMyNo()
   

 


类别:工作流开发 查看评论
posted @ 2011-10-17 22:42 驰骋工作流,工作流程管理系统. 阅读(499) | 评论 (0)编辑 收藏

关键字:工作流设计,工作流引擎的开发

设计一个好的工作流引擎,就像设计一部汽车,必须有发动机提供动力,轮子提供行走,车灯提供照明,喇叭提供提示,刹车提供停止,倒挡提供后退,车门提供钥匙进入系统 (也可以说是安全验证),导航器提供方向。现在试想一下:我们拿着钥匙(用户名与密码),进入汽车(工作流引擎前台操作),先看看仪表有多少水与油料(待办工作)。好,现在我们开始进入发动引擎(启动流程),看看前面是否有障碍物(采集信息),挂挡,采油门(点击发送流程按钮),松离合,前进。。。。。。转弯时要看前面的条件是怎样的(方向条件),停车(是否有情况),到达目的地(流程结束),中途情况特殊(流程完成的条件)提前返回,意外情况抛锚(流程体检)需要检修。

       
一个好的工作流引擎具有以下几个要素: 1. 节点  2. 节点完成的条件  3. 方向  4. 方向条件  5. 流程完成的条件 6. 文书、单据 7. 岗位 8. 部门 9. 操作员。

    欢迎参考开源的ccflow.
     http://ccflow.org



posted @ 2011-09-03 16:54 驰骋工作流,工作流程管理系统. 阅读(2138) | 评论 (1)编辑 收藏

流程引擎系统集成部分,如何使用SID对来访用户名进行安全验证?

关键字:ccflow,workflow,bpm,系统集成.

我们知道如果要把ccflow集成到你的系统中(如果你不明白你可以看看相关的文档), 就是

采用偷粱换柱的概念把ccflow 原来访问物理表,现在改写成访问视图这个视图数据是从你

的业务系统中映射而来,所以ccflow在运行时5大组织结构表数据权限体系都可以成功的与

你的系统集成在一起了。


    我们知道,ccflow被集成到你的系统后,用户登录首先是从应用系统(比

如:OA,ERP,CRM) 进入的,在登陆时就,就要向用户表SID裂上写入一个随机的字符串。
   
    在采用嵌入方式工作时,每个功能都需要 UserNo 与 SID 两个参数。在访问功能之前ccflow 需要对来访者进行身份验证。如果能够匹配了,ccflow就会认为是合法的用户。


    在是否验证时有一个开关它在web.config 中配置的,
    IsAuth=1 需要验证,IsAuth=0 不需要验证。

    为了程序调试方便,请把IsAuth 设置成0。

    更多的帮助信息请访问 http://ccflow.org/Help.aspx.

 

    欢迎使用开源的工作流程引擎 ccflow.

posted @ 2011-09-02 09:49 驰骋工作流,工作流程管理系统. 阅读(2124) | 评论 (0)编辑 收藏

给正在考虑用流程开发项目的朋友的一些建议:
1. 开发工作流系统的工作最好不要碰,否则很容易陷进去出不来。如果您决心要开发工作流并且想把它商品化,请做好长期抗战的准备。
2. 如果您的系统用到的流程不多,最好不要用工作流概念来开发您的系统,直接去写死流程和固定代码即可。
3. 如果以上两者皆不是,那您就考虑购买可考的第三方的工作流引擎。他们一般有较好的服务。如果公司没有钱,就考虑开源的,当然您需要费点劲去研究它。
4. 工作流程引擎不可能诞生在实验室里,产品级的流程更是与客户不断磨合、千锤百炼的结果。
5. 如果您要购买工作流, 请多看演示。不要被一些开发商所用的表面化的概念所迷惑。 好用的工作流一定是简单的、 容易理解的、面向业务人员的。
6. 如果单位的资金允许购买服务会更合算,能够快速的帮助你完成集成,自己摸索付出的代价太高。
7. 购买工作流引擎时, 要考虑接口的灵活,要与您现有的系统可实现结合。功能丰富的不一定是好用的,无用的功能浪费您的精力去理解它的概念,还不如没有。
8. 如果对方接口比较友好,客户对实施的要求不高,运行平台是个次要的问题。
9. 购买工作流引擎的时,多数情况下都需要把流程与自己的系统集成,因此要考虑接口的安全性。
大量的多个行业的流程设计案例,都以操作录像演示给您。

驰骋工作流,好用看的见。

http://ccflow.org   

posted @ 2011-09-01 08:24 驰骋工作流,工作流程管理系统. 阅读(1759) | 评论 (6)编辑 收藏

 自由表单设计器,字段数据输入js验证发布说明


各位ccflow的爱好者:

    期待已久的函数验证库功能与大家见面了,经过多次的修改与设计,最后改成现在的操作与实现模式。
目前已经提供部分系统函数验证库,这些通用的函数库会慢慢丰富起来。同时也提供了用户自定义函数功能。

    至此,希望各位能够在使用过程中:
    1,提出更多更好的修改意见,尤其是不能满足你需求的地方。
    2, 提供ccflow 自己使用的通用数据输入校验函数。
    3, 期待着你,提出在使用过程中遇到的bug。
   

更如下内容:
    D:\ccflow\VisualFlow\DataUser\
    D:\ccflow\VisualFlow\Data
    D:\ccflow\VisualFlow\bin
    D:\ccflow\VisualFlow\WF

操作步骤:

    字段属性-> 扩展设置-> js验证.

    更详细的操作说明在<<自由表单设计器表单操作手册>>里.
  

    更多的帮助文件 http://ccflow.org/Case.aspx
 

 

祝你使用愉快!谢谢!

   

               ccflow.org  2011/8/27

posted @ 2011-08-28 22:46 驰骋工作流,工作流程管理系统. 阅读(1903) | 评论 (0)编辑 收藏

什么是ccflow的消息?

消息就是ccflow发给用户的提示信息,比如待办,退回,转发,逾期工作提醒。

Ccflow有几种消息提示模式?

共有5种,分别是:不提示,手机短信提示,邮件提示,邮件+手机短信提示,内部消息。

特别说明:内部消息,就是与之耦合系统的消息处理。比如与oa系统耦合,可以把ccflow的消息传入到您的oa系统中去,用您的oa系统提示给用户要处理的工作。

如何培植ccflow与我的系统内部消息通讯?

在数据库下有一个叫[CCstaff] 的存储过程,ccflow产生内部消息后就会调用这个存储过程,把相关信息传入里面(目前不支持附件)。流程开发人员只要接受过来参数然后把其写入自己的数据表里就完成了。

流程使用人员如何决定接受信息的方式?

在个人配置里进行,如下图。

 

关于CCstaff 存储过程的参数说明:

   @Sender nvarchar(100), -发送人。

    @Receivers nvarchar(2000), -接受人,如果多个中间以逗号隔开。

    @Title nvarchar(100),  -消息标题

    @Context nvarchar(max) –消息内容。


类别:bpm,bpr 查看评论
posted @ 2011-05-12 10:02 驰骋工作流,工作流程管理系统. 阅读(526) | 评论 (1)编辑 收藏

 流程变更分为如下几种情况.

1,增加节点.

 2,减少节点.

 3,节点工作人员发生变化.

 4,表单内容增加.

 5,表单内容减少.

 6,方向条件变化.

 

 面对以上的变化,ccflow采取的应对方案如下.

--------------------------------

 1,增加节点.

    RE:解决方案:对流程没有影响.

    1.对原来与现有的流程没有什么影响,历史的工作报告还能打开.

       流程轨迹图可能会出现不连续的情况,但是不影响查看.

    2,在途工作会按照新的设计去运行. 

 2,减少节点. 

   影响范围:

    1,历史数据会不能正常打开,被删除的节点数据反映不出来.

    2,历史轨迹图不能被正确的显示.

    3,在途工作会出现错误.

   RE:解决方案.

   在原来的基础上改造:

       1,如果历史数据不多,不是很重要.可以考虑,在原来基础上修改.

       2,采用节点的生命周期的模式处理.将要禁用的节点.也就是说节点不删除,而是改变它的生命周期.让其达到不可用的目的.

   废止当前流程,新建新的流程发布:

      1,复制当前的流程,做为新的流程发布.

      2,禁用当前流程.

   建议采取后者方案.  

 3,节点工作人员发生变化.

     RE:对流程运行没有影响,对历史数据没有影响.

 4,表单内容增加.

     RE:对流程运行没有影响,对历史数据没有影响.

  5,表单内容减少.

     RE:把减少的字段隐藏起来.  对流程运行没有影响,对历史数据没有影响.

 6,方向条件变化.

     RE:对流程运行没有影响,对历史数据没有影响.


类别:默认分类 查看评论
posted @ 2011-05-12 10:02 驰骋工作流,工作流程管理系统. 阅读(228) | 评论 (0)编辑 收藏


什么是表单扩展设置?
---------------------------------------
    表单每个字段除了自己本身的属性以外,还有一些属性就是需要多个字段表达的,比如:关联下拉框,要描述这个业务关系就需要到的菜单的扩展设置。
    表单的扩展设置,丰富了多个字段的业务逻辑处理。

表单扩展有那些类型?
---------------------------------------
   1, 级联下拉框.
      可以实现N个下拉框的数据联动。 比如:片区,省份,洲地市,区县。之间的联动。

   2, 自动完成&自动填充.
      自动完成:类于baidu, google搜索的自动完成。
   自动填充:比如输入一个商品编号,系统就会把这个商品的相关属性绑定到其它的控件上去。

   3, 输入验证.
      对于一些文本框数据采集的格式有特定的要求,比如:电话号码,手机号,邮件有特定的采集格式,输入验证就解决了这个问题。即使你对正则表达公不熟悉,系统自带的这些就可以满足您的需要。

  4, pop窗返回值。
      文本框的数据采集如果需要高级的查找查询,需要个性化的定义这个窗体,此扩展设置就可以满足您的要求。

如何设置?
---------------------------------------
   1,在树的左边选择要设置的类型。
   2,根据系统的提示进行设置。


类别:默认分类 查看评论
posted @ 2011-05-12 10:02 驰骋工作流,工作流程管理系统. 阅读(223) | 评论 (0)编辑 收藏

类别:默认分类 查看评论
posted @ 2011-05-12 10:02 驰骋工作流,工作流程管理系统. 阅读(168) | 评论 (0)编辑 收藏

下一步骤的工作人员的接受范围的确定有如下4种模式。

现以A点向B点发送为例。

()岗位确定范围模式:

B点设置的岗位来确定接受人员的范围,这是一个通用的模式。岗位可以设置多个,因为岗位与人员是多对多的关系,所以,就有可能多个处理人出现。发送后,你可以对这个集合进行修改,这也叫工作分配,分配的路径是被系统记录下来的。每次发送就会取这个记忆的路径。

现在以流程事例说明:比如B点岗位是副局长处理,这个单位里有三个副局长,他们分管的业务不同,这个流程是什么业务就需要指定那个局长审批。如果第一次指定了以后,系统就把这个路径记录下来。下一次他会自动取出来,(当然,操作员可以进行二次分配)。按照你的上次分配的计算。这叫投递路径的自动记忆。

这种以岗位确定接受人员的模式是最常用的模式。

()可以选择接受人的发送模式:

设置方式:在A点节点属性里设置可以选择接受人(一个开关属性),在B点设置岗位。那么在A点向B点发送时,引擎就会让你选择人员范围。这个人员的范围,是B点的岗位来确定的。

这种方式与上一个模式有想同的地方,但是应用场景是不同的。

 

()指定特定的人接受人:

在表单中设置一个字段,接受人的下拉列表。指定这个人去接受下一步的工作。这是最直接的一种模式,但是只能指定一个人去处理。这种模式用来处理每次不能确定人的工作人员,并且只有一个工作人员的模式。

 

()指定处理人集合的模式:

B点上选择接受人的集合,系统就会自动的投递给他们,当然也可以进行二次分配。这种模式应用于特定的情况下。


类别:默认分类 查看评论
posted @ 2011-05-12 10:02 驰骋工作流,工作流程管理系统. 阅读(284) | 评论 (0)编辑 收藏

递归在算法在工作流程引擎中的应用

递归做为一种算法在程序设计语言中广泛应用.是指函数/过程/子程序在运行过程中直接或间接调用自身而产生的重入现象.递归是计算机科学的一个重要概念,递归的方法是程序设计中有效的方法,采用递归编写程序能使程序变得简洁和清晰.

递归在工作流程引擎中有广泛的应用,以以下事例来说明:

应用一:退回到指定的节点,要把当前节电与退回节点之间的节点数据清空。

/// <summary>

        /// ÌY¨¦¦?y¢??¨²Ì???Ì?ºyY

        /// </summary>

        /// <param name="nds">Ì?ä?Ì?¨²Ì?¡¥?</param>

        publicvoid DeleteToNodesData(Nodes nds)

        {

            /*aº?À¨¦¤¨²Ì?ä?Ì?¨²Ì?¡¥?*/

            foreach (Node nd in nds)

            {

                Work wk = nd.HisWork;

                wk.OID = this.WorkID;

                if (wk.Delete() == 0)

                {

                    wk.FID = this.WorkID;

                    if (wk.Delete(WorkAttr.FID, this.WorkID) == 0)

                        continue;

                }

 

                /*¦Ì¡Â:°?-¦?y?¨²Ì?ºyY¡ê*/

                DBAccess.RunSQL("DELETE WF_GenerWorkerList WHERE (WorkID=" + this.WorkID + " OR FID=" + this.WorkID + ") AND FK_Node=" + nd.NodeID);

 

                //¦?yy¡êÌ?¤??ºyY¡ê

                DBAccess.RunSQL("DELETE WF_GenerWorkFlow WHERE WorkID NOT IN (SELECT WorkID FROM WF_GenerWorkerList )");

                DBAccess.RunSQL("DELETE WF_GenerFH WHERE FID NOT IN (SELECT FID FROM WF_GenerWorkerList)");

 

                

                DeleteToNodesData(nd.HisToNodes);

            }

        }

 

 

 



应用二:在分合流程过程中,流程结束时,要根据用户的需要判断并杀掉没有完成的进程。

 

/// <summary>

        /// ¨¢º?¢¡Â¨¬

        /// </summary>

        /// <returns></returns>

        publicstring DoFlowOver()

        {

            // ¡§¢¡é¢¡Â¨¬º?¤y¡ê

            GenerWorkFlow gwf = newGenerWorkFlow(this.WorkID);

            Node nd = newNode(gwf.FK_Node);

            string msg = this.BeforeFlowOver();

 

            //¨¨¨?¨¹Ì?Á¨®¢¡Â¨¬¨¢º?¡ê

            WorkerLists wls = newWorkerLists();

            wls.Retrieve(WorkerListAttr.FID, this.WorkID);

            foreach (WorkerList wl in wls)

            {

                WorkFlow wf = newWorkFlow(wl.FK_Flow, wl.WorkID);

                wf.DoFlowOver();

            }

    。。。。。。。。。。。。。。

   }

 

 

 

应用三:根据当前节点的ID,向上追溯一个分流节点。

/// <summary>

        /// ?¨?¨¹Ì?¦?°??Ì?¤?¢¡ÂÌ?

        /// </summary>

        privateNode _GetHisPriFLNode(Nodes nds)

        {

            foreach (Node mynd in nds)

            {

                if (mynd.IsHL)

                    return mynd;

                else

                    return _GetHisPriFLNode(mynd.HisFromNodes);

            }

            returnnull;

        }

        /// <summary>

        /// ¨¹Ì?¦?°??¤?¢¡Â¨²Ì?

        /// </summary>

        publicNode HisPriFLNode

        {

            get

            {

                return _GetHisPriFLNode(this.HisFromNodes);

            }

        }

 

 

 


类别:工作流开发 查看评论
posted @ 2011-05-12 10:02 驰骋工作流,工作流程管理系统. 阅读(271) | 评论 (0)编辑 收藏

    在退回工作时,上一步人员直接退回给指定的人员,只有这节点上的岗位人员可以接受退回信息并处理退回的工作,这个节点上这个岗位上的人员是不可以操作此工作的。所以它是一对一的关系。

      在撤消时,是当前的操作员撤消本次发送,但是他有可能自己的错误,也有可能不需要自己处理需要其它的同岗位同节点上的人员处理了,所以撤消回来的工作应该是1n的关系,回复到工作强办的状态。以便可以让其它的同事也有机会参与处理这件工作。实现这个的状态就要上次的发送轨迹里找到可以处理当前节点的工作人员,进行对他们执行工作分配。

  


类别:默认分类 查看评论
posted @ 2011-05-12 10:02 驰骋工作流,工作流程管理系统. 阅读(178) | 评论 (0)编辑 收藏

应用场景:合流与分河流节点中需要上一个节点所有并行上的工作人员完成一定的百分比才能进行下一步操作。比如:需要60%以上的人员通过后才能执行下一步。

   开发逻辑:

设置这个参数名就员完成通过率,他是在节点一个重要属性之一,取值范围在0-100之间。如果设置成0,就按照任何一个人完成后就可以通过,设置成100,就是所有的人完成后才能通过。之间的通过的情况是按照如下公式求出通过率已完成人数/总线程人数*100%.

当通过完成率<=通过率时就让其它通过,也就是下一个人的待办工作可见的。

 


类别:工作流开发 查看评论
posted @ 2011-05-12 10:02 驰骋工作流,工作流程管理系统. 阅读(215) | 评论 (0)编辑 收藏

退回与撤消是两个在工作人员需要重新处理,这两个功能的实现都是对于在途工作来说的。

     对于要处理的人员来说,退回是被动的,撤消是主动的。

    并不是所有的节点都可以退回,所以节点的退回功能是可以配置的。

    退回有两种情况一种是直接退回上一步骤,另外一种是可以退回到以前工作的任意一步骤。

    并不是所有的节点都可以退回到任意步骤,所以是否要可以退回到任意步骤也是需要配置的。

    退回可分为显性退回与隐性退回,这两者的不同之处就是是否记录退回轨迹。隐性退回是于特殊的领导使用的功能。

    撤消功能是主动的操作,对于任意一个步骤来说,只要发出去,对方没有处理完之前,都可以撤消。

这个功能在结束节点以外的点都是有效的,撤消是没有工作轨迹可以记录的。

    如果一个节点要求实现不管流程运行那一个环节都可以撤消,这个的功能叫强制撤消。并不是所有的节点都可以强制撤消。

应用案例:一个工作人员受理了一件工作,当这件工作运行了n (n>2)个环节后,受理人员突然发现填写受理的资料错误了,他要撤消回来。

有两种方式:
1.
打电话给当前处理的工作人员让他退回给您。

2,向管理员申请强制撤消功能。


类别:默认分类 查看评论
posted @ 2011-05-12 10:02 驰骋工作流,工作流程管理系统. 阅读(386) | 评论 (0)编辑 收藏

驰骋.net工作流程引擎设计开发讲座:工作流程类型模式

我们总结一下流程类型的模式,那有助与我们在开发流程引擎,或者在设计与分析流程是以便可以对号入座,说明:本文尽量用通俗的语言来描述。

第一种类型:平面流程,也可以称呼它为单线程流程,这种类型的流程在我们工作中非常多,比如:请假流程、报销流程、借款流程、出库流程。它的特点是:整个流程中只有一个流程ID.不允许两个在在同一个时间点处理一件工作,工作是一个步骤接着一个步骤。它的转向是根据一定的条件来完成的。

第二种类型:分发式流程,也可以叫它为分发式多线程流程。这类的流程开始节点必须是分流节点。结束节点可以是合流节点,也可以是普通节点。比如:周例会流程,销售周总结汇报流程。以“销售部周总结汇报流程”为例来说明,第一部系统定期在周1启动起来流程,把工作(或者说填写销售表)发送给各个销售人员。各个销售人员接受到任务后,发送给销售部经理汇总处理。这类的流程叫分发式多线程流程。

第三种类型:汇流式流程,也可以称为汇总式多线程流程。这类流程的特点是发起流程的人员是不确定的,但是处理这个事务是成批的。用现实的生活举例:小区门口的邮政信箱,邮寄信件的人是不固定的,我们把每个客户看作一个工作线程,邮递员可以根据需要在规定的时间去收取一次。如果没有一个信件要邮寄,他就不收取为空,也就是不进行下一步。这种类型的结束点,也是不确定的可以是汇总的合流点接受,也可以普通点结束。但是开始点必须是普通的节点。

第四种类型:唤醒流程,也称为父子流程,一个平面流程在特定的节点上需要唤醒其它的流程。比如:工程管理流程,一般来说有如下几个环节。 签订合同-》实施工程=》验收工程。

在实施工程这个点上,可以延伸很多的子流程比如:催款流程,派工流程,设计流程。等等。项目经理可以根据需要在任何时间唤醒子流程。工程管理流程叫主流程,催款流程,派工流程。。。则是子流程。这种流程与第二三种模式不同那种,可以称呼为线程,这种也可以叫父子流程。

唤醒的子流程与手工发起的流程的区别是它有一个流程ID。由流程ID.来确定这种流程

综上所述:大千世界,各种流程都可以被提炼,归纳,分类,抽象出来这四种模式。你可以把你分析与设计的流程对号入座,驰骋业务流程引擎已经把完全实现这四种工作模式,并且0代码实现。

如果你是一个工作流程引擎设计人员,分析这四种模式是必须的。


类别:默认分类 查看评论
posted @ 2011-05-12 10:02 驰骋工作流,工作流程管理系统. 阅读(278) | 评论 (0)编辑 收藏

驰骋.net工作流程引擎,工作流程管理系统定时启动约定
======================================

问:什么应用背景需要用到定时启动?

  当一个流程是定期的任务需要手工作需要定期的启动时,它就需要定时的来启动.

比如:
在办公流程中:

月份销售例会:
销售部门需要每个月定期启动一次月份销售例会.

周工作总结流程:
每个周需要基层人员向上部门负责人提交工作总结.


定期起动有几种时间模式?

 定期启动的模式?
 手动启动:
 按年启动:  设置格式:@MM-dd,hh:mm  示例:@05-01,12:01 每年的5月1号12点01分执行.
 按月启动:  设置格式:@dd,hh:mm     示例:@01,12:01 每月的1号12点01分执行.
 按周启动:  设置格式:@X,hh:mm (X代表周几, x=0 周末, x=1 周1 ...... )
 按天启动:  设置格式:@hh:mm        示例:@12:01 每天的12点01分执行.
                                示例:@1,12:01 每周1的12点01分执行.
 按小时启动 设置格式:@mm  示例:@1,12:01 每周1的12点01分执行.

 格式说明:
 多个时间点以@符号分开.
 
 


类别:工作流开发 查看评论
posted @ 2011-05-12 10:02 驰骋工作流,工作流程管理系统. 阅读(209) | 评论 (0)编辑 收藏

工作日历分为,月日历,周日历,天日历。

它能形象的反应出来,一个人的工作内容,结合日历面板的方式呈现,让用户对数据的感知更加直观。

驰骋工作流程引擎, 会以5.0 为新老用户提供这个功能,老用户将获取免费升级。


ccflow 工作月日历

 

 



工作周日历

 

 

 


 


类别:默认分类 查看评论
posted @ 2011-05-12 10:02 驰骋工作流,工作流程管理系统. 阅读(361) | 评论 (0)编辑 收藏

类别:默认分类 查看评论
posted @ 2011-05-12 10:02 驰骋工作流,工作流程管理系统. 阅读(153) | 评论 (0)编辑 收藏

驰骋工作流程引擎-公文流程引擎图片演示-VSTO技术

公文菜单-利用vsto技术,因为没有发起流程,所以一些菜单是灰色的。

 

发起流程选择一个流程模板,公文模板是显示在下面的。

 

签发流程


切换登陆用户




类别:默认分类 查看评论
posted @ 2011-05-12 10:02 驰骋工作流,工作流程管理系统. 阅读(207) | 评论 (0)编辑 收藏
  工作流管理系统是“一种在工作流形式化表示的驱动下,通过软件的执行而完成工作流定
  义、管理及执行的系统”,其主要目标是对业务过程中各活动发生的先后次序及同活动相关的相
  应人力或信息资源的调用,进行管理而实现业务过程的自动化。
  在企业的日常工作中,绝大多数属于流程类工作,比如业务的分级审批工作、各类申请表单、
  公文签审、业务处理等。通过现代的技术手段将企业内诸多繁琐复杂的业务流程自动化,并对其
  进行有效地管理便是工作流需要解决的问题。
  传统的系统设计方式将业务流程以编码的方式固化在应用系统中,在业务流程和组织结构发
  生改变的情况下,需要将系统进行重大修改,甚至重新设计。实际上,业务流程的改变是导致许
  多应用系统失败的最主要的原因。
  工作流管理系统的出现使得上述情况发生了改变。应用系统的开发人员通过可视化的方式分
  析和设计业务流程,并将各个应用模块联接在一起。在组织结构和业务流程发生变化的时候,能
  够在很少修改甚至不修改原来应用的情况下,仅仅通过适当调整或重新定义工作流程就能适应变
  化了的情况。

  采用工作流管理系统有以下优点:
  
1、提高系统的柔性,适应业务流程的变化,建设各类信息系统的重要工作之一就是发现用户的
  工作流程,进行分析建模,并把它体现到信息系统的设计中。
  2、企业都在随着时间不断地改革工作流程,使企业各部门能够更好地发挥服务职能、提高工作
  效率。
  3、提高企业工作效率,企业许多流程在自动化过程中会省去一些不必要的步骤
  4、较好的流程控制,通过标准的工作方法和跟踪审计,提高了业务流程的管理
  5、跨越流程的软件控制,使流程可以按照业务的灵活设计。
  6、业务流程的改进,对流程的关注,使它们趋向于流畅和简单。
  企业建立以工作流为基础的协同软件的必要性:
  1、从IT规划出发
  企业信息化建设已经逐步从以前的以业务部门推动IT 部门的被动式建设方式,逐渐向IT 部门
  从整个企业的角度对IT 进行主动规划的方式转变。被动的信息化建设方式导致的结果是在企业
  内部产生大量的“梅花桩”,成为企业内部的信息孤岛。而主动规划则大大改观了这种局面,通过
  主动规划,各个业务系统之间不再各自为阵,彼此孤立,互不相通,甚至重复建设了。
  对于流程企业的建设,在IT 规划过程中,一个重要的目标就是“企业流程整合”,为了达到这
  个目标,“工作流平台”可以说是不可或缺的。那么从IT 规划的角度,如何选择一个适合您的工
  作流平台呢?
  1)是否符合短期与长期规划的需求
  由于IT 规划一般至少是对信息化进行3~5 年的规划,因此现在工作流产品时,既要考虑工作
  流产品是否符合短期内的业务需求,又要考虑工作流产品是否能够满足企业业务发展的长期需
  求。
  短期的业务需求一般都是比较明确的,这些系统,往往都是由于企业业务发展的需要而要求必
  须马上进行建设的,因此对IT 系统提出的要求都非常具体。
  对于IT 规划中,未来的业务需求,往往是不容易预测的。但是对于选择工作流产品来说,这又
  是至关重要的。
  2)支撑整个流程企业的IT运行的工作流
  目前市场上的工作流产品鱼目混珠,其中大部分都是一些做行业应用软件的集成商为了自用而
  开发的。这一类工作流产品大多都是专门针对某一类业务系统而开发的(比如OA 类),无法应
  用在其它业务系统。并且这类工作流产品的易用性、功能完备性等等都得不到保证。因此这类专
  用的工作流是不能支撑整个流程企业的IT 运行的。
  而作为一个要运行在整个企业IT 系统的工作流平台,必须具有很好通用性和适应性,比如工作
  流平台不仅仅能够用于支持企业内部的OA 系统运行,还要能支撑企业的业务系统。
  2、从业务需求出发
  工作流平台一个非常重要的依据就是是否能够满足业务系统本身的需求,现代企业的业务需求
  有以下特点:
  1)新产品新业务推出频繁
  市场是一个竞争异常激烈的市场,随着竞争的加剧,新产品推出的频度也越来越高。
  这些新产品、新业务的频繁推出,需要IT 系统能够以更快的速度来响应,以提高业务的敏捷性。
  而对于以流程为主的系统来说,工作流产品的灵活性、适应性显得尤为重要。如果工作流平台不
  能支持这种业务的快速变化,则将极大的影响企业新业务的推出,从而最终影响企业在市场的竞
  争力。
  2)海量数据、高并发
  3)业务流程跨组织
  由于企业很多都是矩阵式的组织机构,因此在企业内部的公文处理流程中常常需要在不同部门
  之间跨部部门(包括平级和上下级部位之间)交叉、往复流转。甚至很多行文是在不同部门的彼
  此独立的系统之间进行交互的。
  4)流程的灵活性要求高
  企业的流程对灵活性要求非常高,同一个流程往往需要往复运行很多轮才能结束。有时在流程
  未能固化之前,甚至要求流程按照任意顺序流转,而不受流程本身的逻辑控制(即所谓的自由流)。
  另外,对于公文审批规则、会签、退回、批阅、督查督办、机构的岗位设置等等都有比较灵活
  的要求。
  5)严格的权限控制
  企业的行文,每一步的公文处理都有严格的权限控制。比如同一个流程中不同的公文有的人只
  能看,不能审批签字;同一个处理人员在不同的流程环节中对公文的权限也不相同。有的甚至要
  求某些公文只能查阅,但是不能复制到本地保留副本。这些需求都是在选择一个工作流引擎时需
  要重点考察的。
  6)安全保密要求高
  企业中的公文流转,由于涉及到企业机密,因此要求公文在流转过程中,必须保证绝对的安全,
  不能出现被黑客非法窃取的情况。
  

类别:默认分类 查看评论
posted @ 2011-05-12 10:02 驰骋工作流,工作流程管理系统. 阅读(331) | 评论 (0)编辑 收藏