如何实现单品与套餐混合出售的库存管理
场景
单品与套餐混合销售,销售后直接从库存中减少
🔗安装方案
搭建步骤
表单设置
「商品信息」
【商品名称】:单行文字
【标准价】:数字

「商品套餐信息」
【商品套餐名称】:单行文字
【标准价】:数字

【商品套餐信息】:表格
【商品套餐信息·商品名称】:单行文字
【商品套餐信息·标准数量】:数字

「库存流水」
库存流水表是通过Q-robot自动添加数据功能将「出库单」「入库单」中数据进行汇总,不需要人为进行填写编辑。除了【当前库存】【最新库存】其他字段的内容都是系统自动添加的,这里只需对这两个字段进行另外的设置

【订单号】【入库单号】【商品套餐名称】【商品名称】:单行文字
【出库数量】【入库数量】:数字
以上字段的内容被添加而来后,再计算出最新库存的数量
【当前库存】:数据关联-聚合方式“最新数据”
关联「库存流水」应用中的字段【最新库存】,获取到每一笔流水中这个字段的数据,设置筛选条件:应用中的商品名称相同,获得当前商品的所有流水中这个字段的数据,再通过聚合方式-最新数据获取流水中该商品最新一条流水数据中字段【最新库存】的值

【最新库存】:数字-设置公式
一笔入库/出库数据添加过来后是多少库存
公式中参与计算的字段需要是数字字段,如果不是数字字段需要在公式中的字段前添加函数NUM(),使其转换为数字再参与公式计算,如图中的【当前库存】
NUM():返回文本中的数字

「采购订单」

【采购单号】:单行文字-设置公式

CONCAT():字符串连接函数,连接函数中的所有字段
TEXT():将日期字段的值转化为特定格式的文本或数字
CURDATE():返回当前日期 注: "YYYYMMDD"表示日期格式为年月日
RIGHT():从一个字段的右数第一个字符开始返回指定个数的字符
RECNO():累计器,依据当前表单被新打开的次数进行不断累加计算,起始值为1。可用于流水号的自动生成
【采购明细】:表格

【采购明细·商品名称】:数据关联
关联「商品信息」应用中的字段【商品名称】

【采购明细·采购数量】【采购明细·单价】:数字
【采购明细·小计金额】:数字-设置公式

【总金额】:数字
SUM():返回所有参与字段中数值的总和

「入库单」

【采购单号】:数据关联
关联「采购订单」应用中的字段【采购单号】

【入库单号】:单行文字-设置公式

【入库明细】:表格-关联已有表格
【入库明细·商品名称】:单行文字
【入库明细·采购数量】:数字
设置【入库明细】表格关联「采购订单」应用中的已有表格【采购明细】,筛选条件:两个应用中的采购单号相同,关联规则:两个表格中的商品名称与采购数量分别进行匹配

【入库明细·当前库存】:数据关联-聚合方式“最新数据”
关联「库存流水」应用中的字段【最新库存】,获取到每一笔流水中这个字段的数据,设置筛选条件:应用中的商品名称相同,获得当前商品的所有流水中这个字段的数据,再通过聚合方式-最新数据获取流水中该商品最新一条流水数据中字段【最新库存】的值

【入库明细·已入库数量】:数据关联-聚合方式“求和”
需要知道这笔采购单号中的商品已经分别入库了多少商品数量
关联「库存流水」应用中的【入库数量】,将流水中所有入库数量的数据获取过来,并通过筛选条件进一步缩小数据范围:两个应用中的订单号和商品名称相同,分别获得当前采购订单中每种商品每次入库的数量,最后再用聚合方式-求和将每次入库的数量进行求和(将库存流水中符合同一采购订单和同一商品条件的数据中入库数量进行求和)

【入库明细·本次入库数量】:数字
「销售单」

【销售单号】:单行文字-设置公式

【销售单品明细】:表格

【销售单品明细·商品名称】:数据关联
关联「商品信息」应用中的字段【商品名称】

【销售单品明细·销售数量】:数字
【销售单品明细·标准价】:数字-关联已有数据
设置关联已有数据,关联「商品信息」应用中的字段【标准价】,筛选条件:商品名称相同

【销售单品明细·小计金额】:数字-设置公式

【销售套餐明细】:表格

【销售套餐明细·套餐名称】:数据关联
关联「商品套餐信息」应用中的字段【商品套餐名称】

【销售套餐明细·销售数量】:数字
【销售套餐明细·标准价】:数字-关联已有数据
设置关联已有数据,关联「商品套餐信息」应用中的字段【标准价】,筛选条件:商品套餐名称相同

【销售套餐明细·小计金额】:数字-设置公式

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

【销售内容】:单项选择
设置逻辑表单

「中间表」
销售套餐后在「中间表」应用中计算具体套餐中单品的数量,然后再进行具体单品的库存数量计算
【订单号】【商品套餐名称】:单行文字
【销售数量】:数字

【套餐明细】:表格-关联已有表格
【套餐明细·商品名称】:单行文字
【套餐明细·标准数量】:数字
关联「商品套餐信息」应用中的表格【商品套餐明细】,筛选条件:商品套餐名称相同,关联规则:商品名称与标准数量分别进行匹配

【套餐明细·合计数量】:数字-设置公式

流程设置
「入库单」
在申请人节点-高级设置中设置提交校验-应用校验,选择「库存流水」「中间表」两个应用
并设置提交/通过时重新触发数据关联或公式,选择【入库明细·当前库存】【入库明细·已入库数量】字段

添加节点Q-Robot添加数据,目标应用:「库存流水」,添加规则如图

「销售订单」
添加节点Q-Robot添加数据,将销售的单品数据添加至目标应用:「库存流水」,添加规则如图

再添加节点Q-Robot添加数据,将销售的套餐数据添加至目标应用:「中间表」,添加规则如图,在中间表中计算套餐中具体单品的数量

「中间表」
在申请人节点-高级设置中设置提交/通过时重新触发数据关联或公式,选择【套餐明细】【套餐明细·合计数量】字段

添加节点Q-Robot添加数据,目标应用高:「库存流水」,添加规则如图

「库存流水」
在申请人节点-高级设置中设置提交/通过时重新触发数据关联或公式,选择【当前库存】【最新库存】字段

报表/门户设置
商品库存
在「库存流水」应用中创建报表,报表类型:汇总表
行维度:商品名称
指标:最新库存-汇总方式“最新数据”


库存流水
在「库存流水」应用中创建报表,报表类型:数据表

入库明细
在「入库单」应用中创建报表,报表类型:数据表

库存管理
创建门户,添加创建的报表

添加筛选组,设置筛选条件:商品名称
