A8V5低代码实现简单库存台账数量管理

图片

正如图片所示,要低代码来搭建一个具备基本库存台账数量管理功能,是可以的。下面看看要怎样配置才能达到这样的效果?

主数据管理

【底表】仓库主数据

仓库的档案建立,需要有一个统一的规定。
在单据的填写时候,通过选择来指定仓库。

图片

【底表】物料主数据

物料的档案建立,也是有一个统一的规定。
在单据的填写时候,通过选择来指定物料。
图片

【底表】业务伙伴主数据

业务伙伴是客户+供应商
在单据的填写时候,通过选择来确认客户+供应商

图片

【底表】存货交易台账

存货交易台账是用来记录每一笔存货的进出记录
抬头:

  • 物料:确认物料。
  • 仓库:确认仓库。
  • 库存:计算这个物料,在这个仓库的库存数量。

行明细:
记录这个物料在这个仓库的出入库明细。

  • 发货 = 出库 = 一笔交易
  • 收货 = 入库 = 一笔交易
  • 转储 = 出库 + 入库 = 两笔交易

图片

【流程】采购收货单

采购收货单会在存货交易台账产生一笔入库记账,此时:
入库总数量:30
出库总数量:0
库存 = 30 - 0 = 30

图片

采购收货单-业务关系01-关联-选择供应商

非常简单的配置,不做解析

采购收货单-业务关系02-关联-选择物料

非常简单的配置,不做解析

采购收货单-业务关系03-关联-选择仓库

非常简单的配置,不做解析
图片

【关键】采购收货单-业务关系04-触发-写入存货交易台账

这就是配置采购收货单写入存货交易台账,形成存货交易台账明细的业务关系配置:
关键配置(一)

  • 业务关系:触发
  • 来源:采购收货单
  • 目标:存货交易台账
  • 触发事件:新建或更新
  • 目标表关键字段:物料编码,仓库编码
  • 否则:跳过
    这个配置的目的是,采购收货可能是要创建一张新的台账记录,譬如A001物料,W002仓库。如果A001+W002的存货交易台账,则要创建一张新的记录。如果已经有这个记录,就跳过。

图片

关键配置(二)

  • 映射:如果要新建,物料编码、物料名称、仓库编码、仓库名称,都从采购收货单,写入存货交易台账。
  • 权限设置:配置新建、更新的权限。别忘记选择就行。

图片

关键配置(三)

  • 新建一个触发:更新记录
  • 选项:新增明细行
  • 关联条件:物料编码,仓库编码
  • 映射规则:单据类型、单据编号、仓库编码、物料编码、入库数量
    这个配置是,把采购收货单的行明细,写入到指定物料+仓库的存货交易台账记录中去。譬如,A001物料,W002仓库的采购收货,就写入到A001+W002的存货交易台账明细。

图片

关键配置解析
(1)采购收货单,收货新物料A001到仓库W002时,需要为新物料A001新建一个该仓库W002的唯一存货交易台账记录,即抬头(主表)部分。
(2)采购收货单,明细的交易数据,需要写入到对应物料A001+仓库W002的唯一存货交易台账明细,即明细(子表)部分。
(3)该物料A001在该仓库W002的入库和出库汇总的差,就是该物料A001在该仓库W002的库存了。

图片

【流程】销售交货单

销售交货单同样要写入物料A001+仓库W002的唯一存货交易台账明细,形成出库记录。

图片

如果出库的数量,大于库存数量,就会产生负库存,这里要加一个校验规则来做控制。

图片

检验规则无法判断多行同样物料+仓库的明细。有存货控制需求,由ERP或WMS来控制。

销售交货单-业务关系01-关联-选择客户

非常简单的配置,不做解析

销售交货单-业务关系02-关联-选择物料

非常简单的配置,不做解析

销售交货单-业务关系03-关联-选择仓库

非常简单的配置,不做解析
图片

【关键】销售交货单-业务关系04-关联-发货明细写入存货交易台账明细

这里的配置,跟采购发货单的【触发:更新记录】配置几乎一样。
关键配置

  • 业务关系:触发-更新记录
  • 选项:新增明细行
  • 关联条件:物料编码,仓库编码
  • 映射规则:单据类型、单据编号、仓库编码、物料编码、出库数量
    因为物料A001+仓库W002的唯一存货交易台账,在销售发货(出库)时,必须要先有。所以不用配置触发事件:新建或更新来新增一个物料A001+仓库W002的唯一存货交易台账。只需要做触发事件:更新记录来写入发货数据到物料A001+仓库W002的唯一存货交易台账即可。

图片

【关键】销售交货单-校验规则/业务关系05-负库存控制

all( {仓库数量} >= {出库数量} )
要在销售交货单配置一个规则来控制,并要配套下面的业务关系来使用。

图片

  • 业务关系:关联
  • 调用关系:存货交易台账【库存数量】 -> 销售交货单【仓库数量】
  • 关联条件:物料编码,仓库编码
  • 关联时机:打开表单时[设置]✅待发刷新
  • 关系映射:【库存数量】 -> 【仓库数量】

图片

库存转储单

库存转储单可以看作是 采购收货单【入库】 + 采购收货单【出库】 的配置都需要,这里就不再详细说明,具体看上面的的配置。
具体业务流程设计可以参考下图:
图片

【特别篇】基于个别计价法的存货管理

如下图例子,如果我们做存货数量管理,同时要做存货成本管理,需要基于个别计价法来做。

  • 交易1:采购入库15个商品,商品的采购单价是4999元,就形成存货成本。每次入库都给一个唯一的个别计价编码用来识别唯一存货成本。
  • 交易2:第一次销售交货5个,剩余10个
  • 交易3:第二次销售交货2个,剩余8个
  • 交易4:第三次销售交货1个,剩余7个
  • 交易5:转储剩下的7个,从W002仓库,转去W001仓库,成本也是按照4999元转出。但是每次做入库,都需要分配一个全新的个别计价编码,尽管成本单价还是4999元没有变。

图片

个别计价编码也可以是批次号、序列号、项目号,看具体的使用场景。

关键配置1-采购收货单

图片

  • 业务关系:采购收货单 -【触发】-> 存货交易底表
  • 触发时间:新建记录
  • 映射:把采购收货单每一行作为一个新的存货交易底表档案做写入。
  • 三个关键字段:物料编码、仓库、个别计价编码。
  • 个别计价编码 = 物料编码 + 系统日期 + 系统时间 = A003-2024-11-13-09:57:10 编号精确到秒,这样重复编号可能性会很低,有需要还可以加入项目号、批次号、序列号等增加唯一性。
    切记:每一次每一行的入库都要生成成唯一的个别计价编码,这套逻辑才能成立。
    这里不考虑同一单据有多行相同物料的情况,这种情况会出现逻辑漏洞。

图片

关键配置2-销售交货单

选择唯一个别计价编码和仓库的物料

图片

物料只能在【存货交易底表】中选择有库存的唯一个别计价编码物料。
这是确保不会出现负库存
⚠️注意:多行同唯一个别计价编码物料无法控制负库存情况

图片

图片

负库存控制规则all( {仓库数量} >= {出库数量} )

图片

业务关系-触发-更新记录

  • 业务关系:销售交货单 -【触发】-> 存货交易底表
  • 触发事件:更新记录
  • 选项:新增明细行
  • 关联条件:物料编码、仓库编码、个别计价编码。 作为更新的唯一标识
  • 映射:写入到存货交易底表的行明细

图片

图片

转储单

转储就是把上面入库+出库的配置,融合在一个单中。具体配置就不再说明,见前面的采购收货单和销售交货单配置即可。
图片