zoukankan      html  css  js  c++  java
  • QuickFlowDesigner教程(1)入门快速设计无代码可循环流程

    QuickFlowDesigner是QuickFlow的无代码设计器,拥有了QuickFlowDesigner之后,QuickFlow整体解决方案已经涵盖了基于VS2008的开发和基于QuickFlowDesigner的无代码工作流定义。

    VS2008+QuickFlow适合复杂的流程,需要写大量逻辑代码的情况。

    QuickFlowDesigner适合于代码逻辑比较简单的场景,VS2008+QuickFlow和QuickFlowDesigner都可以自定义审批页面。

    下面我们看一个简单流程如何用QuickFlowDesigner来实现。

    流程图:

    image

    这个是一个单步审批可以退回的流程,SPD天然的不支持退回使这类流程的定制很是痛苦,我们看看看如何用QuickFlowDesigner来快速的实现。

    Step1)首先建立一个自定义列表,名字叫“信息资源申请”,添加两个栏:申请内容,申请理由,如下:

    image

    Step2)打开QuickFlowDesigner,设计流程

    将start1的名称改为“开始”,拖拽一个Task活动到设计器,名称改为“经理审批”,设置User属性为审批人账号,如下图

    image

    在“经理审批”的TaskActions集合中添加两个审批动作:同意,退回,如下图:

    image

    拖拽OutcomeDecision活动到设计器,从“经理审批”画一根线连到OutcomeDecision,然后设置OutcomeDecision的Compared属性为“同意”

    image

    拖拽一个Task到设计器,改名为“退回提交人”,将“退回提交人”的User属性绑定到工作流的Originator字段。

    image

    image

    拖拽一个End到设计器,改名为“结束”,分别将OutcomeDecision的F(条件为假)和T(条件为真)两端连线到“退回提交人”和“结束”两个活动,从“退回提交人”连一根线到“经理审批”,如下:
    image

    Step3)发布流程

    通过File菜单中的Publish to SharePoint或按Ctl+P键,发布流程。

    输入站点URL,点击Open加载列表,选择工作流附加的列表为“信息资源申请”,选择一个任务列表,输入工作流名称,选择启动模式为自动启动,如下图:

    image

    注:实际测试的时候最好也选中Manual,这样既能在添加列表项后自动启动也能手工启动流程。

    下面我们就可以来测试了。

    新建

    image

    工作流启动了

    image

    注:因为选择了自动启动(Auto),所以不用在流程页面手工启动流程,流程自动启动了。

    如果只选择了Auto,那么在流程启动页面是看不到这个流程的,必须选择Manual,才能在流程启动页面看到这个流程

    默认审批界面

    image

    退回后重新提交

    image

    注意:

    1)因为SharePoint的bug,如果选择流程启动方式为Auto, 启动流程的用户请不要用系统账号,否则流程不能触发, 安装MOSS SP2后这个bug解决。

    2)设计流程时,先改活动名字再划线,改了活动名字后,相关联的线需要重新画[最新版本已无此限制]。

    3)将系统默认的“用户任务”WebPart添加到网站首页,每个用户即可看到自己的任务

    4)部署后,若出现页面错误,确保能显示详细错误信息:http://www.cnblogs.com/zhaom/archive/2011/01/05/1926109.html

    QuickFlow和QuickFlowDesigner可以到以下地址下载:

    http://quickflow.codeplex.com

    后继文章:

    2)QuickFlowDesigner自定义简单流程页面

    3)QuickFlowDesigner UI代码和工作流交互

    4)QuickFlowDesigner之规则引擎

  • 相关阅读:
    mysql 大数据提取
    Python 爬虫实例(11)—— 爬虫 苏宁易购
    Python 爬虫实例(10)—— 四行代码实现刷 博客园 阅读数量
    Python MySQLdb 批量插入 封装
    Python MySQLdb insert(插入) 封装
    Python MySQLdb select(选择) 封装
    iOS开发-iPad侧边栏Tab选项卡切换
    iOS开发-xCode6(iOS 8)中应用程序图标和启动页面设置
    iOS开发-CoreMotion框架(加速计和陀螺仪)
    iOS开发-JSON解析
  • 原文地址:https://www.cnblogs.com/jianyi0115/p/1601423.html
Copyright © 2011-2022 走看看