18.3 不同工作流的衔接
回顾一下在第13章定义的一个《出库单》模版,仓库保管员在填写出库单时,需要先选择一个未发货的订单号,如下图,也就是说,出库单必须有依据,这个依据就是订单。

图 18‑20
从另一方面来说,一旦一份订单审批通过,发货就是一项明确的必须做的工作,不允许出现订单审批早已通过,而保管员“忘了”发货的情况。
如何保证保管员不会“忘记”发货呢,如果保管员不去填报《出库单》,就无从知道有哪些订单正在等待处理。一种较好的“适时提醒”方式是待办事宜:每有一份订单审批通过,就在保管员的待办事宜列表中增加一项。
待办事宜列表是在表单的流转过程中产生的。工作流是基于模版的,它规定了特定的一种表单的流转方式。这里的问题是,订单和出库单是两个不同的模版。订单有订单的工作流,出库单也可以有出库单的工作流,两者没有关系。
本节要讲述的内容是,如何让不同模版的工作流衔接起来。具体来说,就是在订单流程的末尾,增加一个特殊的任务,它的作用就是“转填新报表”(出库单),并且把订单号传递到出库单上,结果就是:每份订单审批通过后,在保管员的待办事宜列表中会有一项任务,提示发货。
建立发货流程
- 打开《出库单》模版,进入设计状态
- 定义工作流,只建立一个任务“出库”,其有效区域选择“全部”。
- 修改表间公式“提取订单明细”,在其应用方式中增加一种,“修改(或办理)打开时”。

图 18‑21
- 保存模版
在订单审批流程中建立“转填新报表”任务
- 请回顾第 7 章的练习题,我们在订单模板上定义了工作流
- 打开《订单》模版,进入设计状态,选择菜单【工作流】 【定义工作流】
- 弹出“工作流”窗口,点击窗口工具栏上的【转填任务】按钮,鼠标移动到画板上“审批任务”右侧单击,出现五边形框,并弹出“流程任务定义”窗口。在“常规”标签上输入任务名称“提示出库”,在“转接流程”下拉列表中选择“出库单”,在“转接节点”下拉列表中选择“出库”。

图 18‑22
- 切换到“数据传递”标签,在“源数据项”栏的第 2 行下拉选择“订单 _ 主表 . 订单编号”,如图,意即订单审批通过后,即自动提示出库,并把本订单上的“订单编号”自动传递到出库单上。

图 18‑23
- 切换到“执行权限”选项卡,执行人选择“以下范围内用户→属于以下角色”,指定“储运部”、“仓库保管员”,多人协调方式选择“抢先式”,即每个储运部的仓库保管员都会接到一条待办事宜,无论谁先办理了,其它人的待办事宜即自动清除,不会出现重复发货的情况。

图 18‑24
- 按【确定】,回到工作流画板。
- 在任务“审批”和“提示发货”之间建立一条流向,条件为:订单 _ 主表 . 审批意见 = 同意。
- 最后完成的工作流如下图所示。

图 18‑25
- 保存并关闭模版。
流程相接
以某销售员的帐户登录填报一份订单,销售部经理审批同意,然后以仓库保管员的帐户登录,会看到一条待办事宜。办理此项,打开一张出库单,会看到订单的信息自动显示在出库单上。