跳到主要内容

如何根据供应商生成多个采购订单

1.场景

根据供应商将采购需求生成多个采购订单,在采购之前新的采购需求都可以更新到采购订单中,采购后生成新的采购订单

🔗安装方案

2.系统逻辑

2.1.方案总览

image.png

image.png

2.2.实现思路

2.2.1.如何根据供应商生成多个采购订单

整体思路:采购需求和采购订单中都是表格,表格和表格之间不能直接筛选部分内容添加,因此需要将采购需求的表格内容进行拆分,创建一个辅助应用,将采购需求中的每一行表格拆分成单条数据到辅助应用中,在辅助应用中通过两个Q-Robot更新数据节点生成采购订单,并将符合条件的数据汇总在同一订单表格中

具体配置思路点击下方链接查看:

如何实现表格到表格的逐条数据传递

2.2.2.如何对采购订单明细进行更新

采购需求表格数据拆分后,在辅助应用中根据供应商生成采购订单并汇总数据,如果新的采购需求中是采购订单中已有的商品,则需要更新该商品的采购数量与采购金额,如果新的采购需求中是采购订单中未有的商品,则需要在采购订单中添加该商品,即第二个Q-Robot更新数据节点需要分两种情况

在辅助应用中创建分支,根据关联当前商品在采购订单中的需采购数量是否为空值分为两条分支流程,如果是空值,说明采购订单中没有当前商品,第二个Q-Robot更新数据节点需要往采购订单表格中添加新行,如果不是空值,说明采购订单中已经有当前商品,第二个Q-Robot更新数据节点需要往采购订单表格中更新已有行

image.png

3.搭建步骤

3.1.表单设置

3.1.1.商品信息

【商品名称】:单行文字

3.1.2.供应商信息

供应商定期会提供商品的报价

image.png

【供应商名称】:单行文字

【联系方式】:电话

【采购员】:成员

【商品明细】:表格

【商品明细·商品名称】:数据关联

关联「商品信息」应用中的字段【商品名称】

image.png

【商品明细·单价】:数字

创建自定义按钮

在拓展设置中创建自定义按钮,触发动作:添加数据,目标应用:「商品信息」(赋值规则不需要设置)

image.png

在【商品明细·商品名称】字段中添加按钮

image.png

3.1.3.采购需求

image.png

【申请人】:成员-当前用户

image.png

【申请日期】:日期-设置公式

CURDATE:返回当前日期

image.png

【需求明细】:表格

【需求明细·商品名称】:单行文字

【需求明细·需求数量】:数字

【需求明细·供应商名称】:数据关联

关联「供应商信息」应用中的字段【供应商名称】,筛选条件:商品名称相同

image.png

【需求明细·引用】:引用

引用「商品信息」应用中的数据,数据来源:「商品信息」

显示字段:商品名称

字段填充:引用数据中的商品名称填充到当前表格中的字段【商品名称】

勾选“作为表格数据来源”,点击表格左上角按钮批量引用数据填充到表格中

image.png

3.1.4.采购订单

image.png

【采购人员】:成员-关联已有数据

每个供应商有对应的采购人员

关联「供应商信息」应用中的字段【采购员】,筛选条件:供应商名称相同image.png

【采购日期】:日期-设置公式

image.png

以下供应商信息与表格采购明细中的信息从辅助应用「中间表」中添加/更新

【供应商名称】:单行文字

【联系方式】:电话

【采购明细】:表格

【采购明细·商品名称】:单行文字

【采购明细·采购数量】【采购明细·单价】【采购明细·小计金额】:数字

【总金额】:数字-设置公式

SUM:返回所有参与字段中数值的总和

image.png

【是否已生成采购订单】:单行文字

3.1.5.中间表

image.png

【供应商名称】【商品名称】:单行文字

【需求数量】:数字

以上字段从「采购需求」应用中添加

【当前需求数量】:数字-关联已有数据

关联「采购订单」应用中的字段【采购明细·采购数量】,获取订单中已有的需采购数量

筛选条件:供应商名称和商品名称都相同,且当前流程状态==“采购”(订单数据还在“采购”的流程,即还没有采购)

image.png

【最新需求数量】:数量-设置公式

image.png

【单价】:数字-关联已有数据

关联「供应商信息」应用中的字段【商品明细·单价】,筛选条件:供应商名称和商品名称相同

image.png

【采购金额】:数字-设置公式

image.png

3.2.流程设置

3.2.1.采购需求

添加Q-Robot添加数据节点,将表格数据拆分为单条数据,目标应用:「中间表」,添加规则:如图

image.png

3.2.2.中间表

申请人节点-高级设置,开启“提交/通过时重新触发数据关联或公式”,选择重新触发的字段:如图(注意触发顺序:需要先触发的顺序在前,如先关联【当前需求数量】后计算【最新需求数量】) 设置意义:添加数据后不会直接触发设置了关联/公式的字段,需要设置提交重计算来触发关联/公式

image.png

添加Q-Robot更新数据节点,目标应用:「采购订单」,筛选条件:供应商名称相同,且当前流程状态==“采购”,更新规则与添加数据:如图

设置意义:当前Q-Robot更新节点作用是判断是否已经生成采购订单并生成订单,如果筛选到符合条件的数据,也就是这个商品的供应商有待采购的订单,即已生成了采购订单,如果没有筛选到待采购的订单,即需要生成采购订单(更新数据和添加数据只会执行其一)

image.png

已经生成了采购订单后,接下来就是将商品汇总在订单表格中

创建分支,分支条件分别为【当前需求数量】字段的关联值是否==空值

image.png

  • 如果【当前需求数量】==空值,说明采购订单中没有当前数据中的商品,这条分支下的Q-Robot更新数据节点需要往订单的表格中添加新行

目标应用:「采购订单」,筛选条件:供应商名称相同,且当前流程状态==“采购”

image.png

表格更新类型:添加新行,添加规则:如图

image.png

  • 如果【当前需求数量】!=空值,说明采购订单中已经有当前数据中的商品,这条分支下的Q-Robot更新数据节点需要往订单的表格中将已有行更新为最新的需采购数量和采购金额

目标应用:「采购订单」,筛选条件:供应商名称和商品名称都相同,且当前流程状态==“采购”

image.png

表格更新类型:更新已有行,更新规则:如图

image.png

3.2.3.采购订单

申请人节点-高级设置,开启“提交/通过时重新触发数据关联或公式”,选择字段:采购人员

image.png

添加审批节点,生成采购订单后,采购人员收到待办数据,节点负责人:【采购人员】

image.png