
17.3 不同工作流的衔接
回顾一下在第13章定义的一个《发货单》模版,仓库保管员在填写发货单时,需要先选择一个未发货的订单号,如下图,也就是说,发货单必须有依据,这个依据就是订单。
从另一方面来说,一旦一份订单审批通过,发货就是一项明确的必须做的工作,不允许出现订单审批早已通过,而保管员“忘了”发货的情况。
如何保证保管员不会“忘记”发货呢,如果保管员不去填报《发货单》,就无从知道有哪些订单正在等待处理。一种较好的“适时提醒”方式是待办事宜:每有一份订单审批通过,就在保管员的待办事宜列表中增加一项。
待办事宜列表是在表单的流转过程中产生的。工作流是基于模版的,它规定了特定的一种表单的流转方式。这里的问题是,订单和发货单是两个不同的模版。订单有订单的工作流,发货单也可以有发货单的工作流,两者没有关系。
本节要讲述的内容是,如何让不同模版的工作流衔接起来。具体来说,就是在订单流程的末尾,增加一个特殊的任务,它的作用就是“转填新报表”(发货单),并且把订单号传递到发货单上,结果就是:每份订单审批通过后,在保管员的待办事宜列表中会有一项任务,提示发货。
1) 打开《发货单》模版,进入设计状态
2) 定义工作流,只建立一个任务“发货”,其有效区域选择“全部”。
3) 修改两条表间公式“提取订单客户名称”、“提取订单明细”的应用方式为“打开后自动执行(每次修改)”。
4) 保存模版
1) 打开《订单》模版,进入设计状态,切换到工作流画板
2) 单击工作流设计工具栏上的按钮,该按钮变成凹陷状态,然后单击“审批”任务图形的右侧,画板上出现一个上下为平行线,左右为尖角的图形,并弹出“流程任务定义”对话框,如下图所示。
3) 在“基本信息”选项卡上将任务名称改为“提示发货”,新报表名称选择“发货单”。
4) 切换到“数据传递规则”选项卡,在“本报表字段”栏的最后一行下拉选择“订单主表.订单编号”,结果如下图所示。意即订单审批通过后,即自动提示填发货单,并把本订单上的“订单编号”自动传递到新的发货单上的“相关单据编号”处。
5) 切换到“执行权限”选项卡,执行人选择“属于此部门和角色”,指定“储运部”、“仓库保管员”,多人协调方式选择“抢先式”,即每个储运部的仓库保管员都回接到一条待办事宜,无论谁先办理了,其它人的待办事宜即自动清除,不会出现重复发货的情况。
6) 按[确定],回到工作流画板。
7) 在任务“审批”和“提示发货”之间建立一条流向,条件为:订单_主表.审批意见 = 同意。
8) 最后完成的工作流如下图所示。
9) 保存并关闭模版。
以某销售员的帐户登录填报一份订单,销售部李经理审批同意,然后以仓库保管员陈惠的帐户(chenh)登录,会看到一条待办事宜,如下图。
办理此项,打开一张发货单,会看到订单的信息自动显示在发货单上。
订单的明细信息为什么会自动显示在发货单上?
考虑一下从订单传递到发货单上什么信息(订单编号)?而发货单又是如何利用传递过来的信息的(表间公式)?