表单中进销存如何实现分批出入库
1. 使用场景
本篇文档介绍在做企业进销存的时候,结合关联表单多选子表单填充子表单的功能实现采购分批入库,销售分批出库的场景。
2. 实现功能
2.1. 页面字段配置
2.1.1. 产品信息(普通表单)
记录产品信息,供【库存表】、【采购订单】、【销售订单】联动使用。
2.1.1.1. 主要字段
- 产品编号(流水号)
- 产品名称(单行文本)
- 物品分类(下拉单选)
![](https://yida-support.oss-cn-shanghai.aliyuncs.com/static/png/1700553818216-af901a43-6591-4450-a512-a42be4bb9a93.png)
2.1.2. 库存表(普通表单)
记录产品的库存信息。
2.1.2.1. 主要字段
- 产品编号(单行文本)
- 产品名称(单行文本)
- 产品分类(单行文本)
- 库存数(数值)
![](https://yida-support.oss-cn-shanghai.aliyuncs.com/static/png/1700553852592-b1f7d5ee-1905-4d2f-be6c-5516e4b50eef.png)
2.1.3. 采购订单(流程表单)
当需要进行采购入库时,可先创建采购订单,供【采购入库】联动使用。
2.1.3.1. 主要字段
- 采购单号(流水号)
- 采购日期(日期组件,快捷配置 - 今天)
- 采购人(成员,快捷配置 - 当前登录人)
- 未入库总数(数值,公式编辑 - SUM(采购明细.总价))
![](https://yida-support.oss-cn-shanghai.aliyuncs.com/static/png/1700555321006-7ffa8630-8a5c-482f-ac42-f373d190438d.png)
- 采购明细(子表单)
- 产品编号(单行文本)
- 产品名称(关联表单,关联【产品信息】)
- 采购数量(数值)
- 分类(单行文本)
- 未入库数量(数值,公式编辑)
![](https://yida-support.oss-cn-shanghai.aliyuncs.com/static/png/1700552652616-413264d9-bac9-4453-a869-c20c707d0a52.png)
![](https://yida-support.oss-cn-shanghai.aliyuncs.com/static/png/1700555204647-d9b0b9a9-b9e5-40e9-b767-7a83aacc6053.png)
2.1.4. 采购入库(流程表单)
采购入库,可选择已经创建好的【采购订单】,并且可以选择【采购订单】下的采购明细,流程结束后将采购明细数据更新至【库存表】中。
- 入库单号(流水号)
- 采购订单(关联表单,关联【采购订单】)
![](https://yida-support.oss-cn-shanghai.aliyuncs.com/static/png/1700555525307-e8d5cc76-ce14-4bef-8872-a8c9622661b5.png)
![](https://yida-support.oss-cn-shanghai.aliyuncs.com/static/png/1700555579004-226274c2-7031-49c0-aebb-120004dfb066.png)
![](https://yida-support.oss-cn-shanghai.aliyuncs.com/static/png/1700555738659-9ea71d61-f09b-441b-bd91-76b0c9db100d.png)
- 入库人(成员组件,快捷配置 - 当前登录人)
- 入库日期(日期组件,快捷配置 - 今天)
- 入库明细(子表单)
- 产品名称(关联表单,关联【采购订单】中的「采购明细」)
- 本次入库数量(数值)
![](https://yida-support.oss-cn-shanghai.aliyuncs.com/static/png/1700557687207-b11f4432-9634-4899-ac66-d4f078b25b61.png)
![](https://yida-support.oss-cn-shanghai.aliyuncs.com/static/png/1699415361722-9274e1a9-2ead-4f78-b61d-000fab9a8fa6.png)
// 子组件自定义校验函数
export function validateRuleForOutbound(value) {
const { values } = this.item;
const inventoryCount = values.未出库数量唯一标识 || 0; // 获取未入库数量
return value <= inventoryCount;
}
function validateRule(value) {
return this.validateRuleForOutbound(value);
}
- 产品编号(单行文本)
- 采购数量(数值)
- 未入库数量(数值)
- 采购订单号(单行文本)
![](https://yida-support.oss-cn-shanghai.aliyuncs.com/static/png/1700555410928-3f477b27-6476-45a1-a791-d15e7368115f.png)
2.1.5. 销售订单(流程表单)
当需要进行销售出库时,可先创建销售订单,供【销售出库】联动使用。
- 销售订单号(流水号)
- 操作人(成员,快捷配置 - 当前登录人)
- 销售日期(日期,快捷配置 - 今天)
- 订单明细(子表单)
- 产品名称(关联表单,关联【产品信息】)
![](https://yida-support.oss-cn-shanghai.aliyuncs.com/static/png/1700556276252-608d570c-54cc-4f5c-aeef-c4a6970129c4.png)
![](https://yida-support.oss-cn-shanghai.aliyuncs.com/static/png/1700556289563-77f2d068-90bb-42d1-9a37-d9942ad64cdb.png)
- 销售数量(数值)
- 产品编号(单行文本)
- 产品分类(单行文本)
- 未出库总数(数值,公式编辑)
![](https://yida-support.oss-cn-shanghai.aliyuncs.com/static/png/1700556124553-402f3a88-dde9-4fdc-9e37-1b52db452c71.png)
2.1.6. 销售出库(流程表单)
销售出库,可选择已经创建好的【销售订单】,并且可以选择【销售订单】下的订单明细,流程结束后将销售明细数据更新至【库存表】中。
- 出库单号(流水号)
- 出库人(成员,快捷配置 - 当前登录人)
![](https://yida-support.oss-cn-shanghai.aliyuncs.com/static/png/1700556551699-a6f1defa-9736-4707-9786-08350623b7b2.png)
- 出库日期(日期,快捷配置 - 今天 )
![](https://yida-support.oss-cn-shanghai.aliyuncs.com/static/png/1700556539526-c85ce851-a639-42cd-a88e-934cd315bf0b.png)
- 销售订单(关联表单,关联【销售订单】)
![](https://yida-support.oss-cn-shanghai.aliyuncs.com/static/png/1700615889404-d7ff7ab1-e740-4274-826e-a6d16c81293d.png)
![](https://yida-support.oss-cn-shanghai.aliyuncs.com/static/png/1700615912286-d20a97ac-e6fd-42cf-8642-144153eee643.png)
![](https://yida-support.oss-cn-shanghai.aliyuncs.com/static/png/1700556617514-0e9c49fa-cec5-4a95-bce6-4990ebabf611.png)
- 订单明细(子表单)
- 产品名称(关联表单,关联【销售订单】中「订单明细」)
![](https://yida-support.oss-cn-shanghai.aliyuncs.com/static/png/1700557224402-92ec8157-3020-4622-9731-5a24308c3999.png)
![](https://yida-support.oss-cn-shanghai.aliyuncs.com/static/png/1700617590347-9bb21aa1-97c0-4b2a-923f-e7d27e9a2956.png)
![](https://yida-support.oss-cn-shanghai.aliyuncs.com/static/png/1700617640247-b07ecf43-0769-4156-9e64-a64e4984961e.png)
- 本次出库数量(数值,添加校验规则)
![](https://yida-support.oss-cn-shanghai.aliyuncs.com/static/png/1700558090144-75e36e33-c96d-4c01-bf52-5245d75fc1d2.png)
![](https://yida-support.oss-cn-shanghai.aliyuncs.com/static/png/1700558118702-f538d3dd-6a59-4a80-b4be-c54de4d0c247.png)
//封装自定义校验
export function validateRuleForOutbound(value) {
const { values } = this.item;
const inventoryCount = values.库存数唯一标识 || 0; // 获取库存数
return value <= inventoryCount;
}
function validateRule(value) {
return this.validateRuleForOutbound(value);
}
- 产品编号(单行文本)
- 订单数量(数值)
- 库存数(数值,数据联动【库存表】)
- 未出库数量(数值)
- 产品分类(单行文本)
- 本次出库总数量(数值,公式编辑)
![](https://yida-support.oss-cn-shanghai.aliyuncs.com/static/png/1700557416725-cf6e6c78-2059-4ff8-b0c9-0ad0af698a28.png)
- 销售订单号(单行文本)
![](https://yida-support.oss-cn-shanghai.aliyuncs.com/static/png/1700556758654-c7404fa4-400b-4143-98e8-e880f64433f7.png)
2.2. 页面主要功能配置
2.2.1. 采购入库
2.2.1.1. 流程发起扣减采购订单数量
配置【采购入库】创建成功的集成自动化,自动扣减【采购订单】中未入库总数,这样可避免运行中的同一订单的物品重复入库
![](https://yida-support.oss-cn-shanghai.aliyuncs.com/static/png/1698998185819-996ce2e5-9437-4feb-8b11-a38299b8d5b6.png)
![](https://yida-support.oss-cn-shanghai.aliyuncs.com/static/png/1700558268390-c7776cf8-dfd0-4516-9c97-55428d9bbe42.png)
「未入库总数」公式如下图:
![](https://yida-support.oss-cn-shanghai.aliyuncs.com/static/png/1700560761859-0ad290cc-8110-4830-98e3-67b73f0fc98f.png)
![](https://yida-support.oss-cn-shanghai.aliyuncs.com/static/png/1699422036564-4bbdd182-8ba1-41df-9144-b9545071a63c.png)
「未入库数量」公式配置如图:
![](https://yida-support.oss-cn-shanghai.aliyuncs.com/static/png/1699422042517-45eadf1f-406e-44ff-a491-e12a7876fe40.png)
2.2.1.2. 流程删除/撤销/拒绝/终止,归还订单数量
配置【采购入库】删除/撤销/拒绝/终止的集成自动化,流程异常结束自动归还【采购订单】中未入库总数。
![](https://yida-support.oss-cn-shanghai.aliyuncs.com/static/png/1699422079049-9cf594d6-7d9b-4260-be22-f95e71a5be8a.png)
更新【采购订单】未入库总数。
![](https://yida-support.oss-cn-shanghai.aliyuncs.com/static/png/1700558420014-6737b4ef-6167-4b2d-a9e6-ccbbb2479fba.png)
「未入库总数」公式配置如图:
![](https://yida-support.oss-cn-shanghai.aliyuncs.com/static/png/1699422106327-ed5313b7-d53a-48ac-a459-75b56c2f8e06.png)
![](https://yida-support.oss-cn-shanghai.aliyuncs.com/static/png/1699422134618-4d4d30b3-0219-4488-b9b3-3ba96b369a0a.png)
「未入库数量」公式配置如图:
![](https://yida-support.oss-cn-shanghai.aliyuncs.com/static/png/1699422143850-55741e3e-1d69-4868-814e-2627e8d306e9.png)
2.2.1.3. 流程审批通过,累加库存
配置【采购入库】审批同意的集成自动化,自动累加【库存表】中库存
![](https://yida-support.oss-cn-shanghai.aliyuncs.com/static/png/1700558493922-dc67e0d5-cb31-481f-a997-ad552ebefe06.png)
「库存数」公式配置如图:
![](https://yida-support.oss-cn-shanghai.aliyuncs.com/static/png/1699424250256-41bee36b-ca62-4f6e-ad8a-b2c788f4f11d.png)
2.2.2. 销售出库
2.2.2.1. 流程发起, 扣减销售订单数量
配置【销售出库】创建成功的集成自动化,自动扣减【销售订单】中未出库总数,这样可避免运行中的同一订单的物品重复出库。
![](https://yida-support.oss-cn-shanghai.aliyuncs.com/static/png/1700558694808-613cd29d-983f-4d84-b381-660d69f8d36b.png)
「未出库总数」公式配置如图:
![](https://yida-support.oss-cn-shanghai.aliyuncs.com/static/png/1699422530647-b37fbae3-d2b3-4f5d-a817-d6af508bf1ba.png)
更新【销售订单】明细中数据;
![](https://yida-support.oss-cn-shanghai.aliyuncs.com/static/png/1699422558863-d60c87dd-537b-454e-926a-6173d18bc953.png)
![](https://yida-support.oss-cn-shanghai.aliyuncs.com/static/png/1699422580114-403501d9-a97e-40f2-a101-33504fcb2220.png)
「未出库数量」公式配置如图:
![](https://yida-support.oss-cn-shanghai.aliyuncs.com/static/png/1699422585615-1231d68f-344a-4861-aec0-2def06109c13.png)
2.2.2.2. 流程删除/撤销/拒绝/终止,归还订单数量
配置【销售出库】删除/撤销/拒绝/终止的集成自动化,流程异常结束自动归还【销售订单】中未出库总数。
![](https://yida-support.oss-cn-shanghai.aliyuncs.com/static/png/1698999828674-0a950587-6bd7-4560-b77b-38ce76ee8256.png)
![](https://yida-support.oss-cn-shanghai.aliyuncs.com/static/png/1699422613946-b0c9f964-3b20-4bd0-8b66-0d57f5165d02.png)
「未出库总数」公式配置如图:
![](https://yida-support.oss-cn-shanghai.aliyuncs.com/static/png/1699422622548-97268ce1-c0b8-425e-9a4f-f66a540543bd.png)
更新销售订单明细数据(归还未出库数量)
![](https://yida-support.oss-cn-shanghai.aliyuncs.com/static/png/1699422651035-c05e2394-ab60-4a08-aaa9-742c2fcd6906.png)
「未出库数量」公式配置如图:
![](https://yida-support.oss-cn-shanghai.aliyuncs.com/static/png/1699422655525-d8568097-8e40-468c-8609-85aeab7c2a4f.png)
2.2.2.3. 审批通过,扣减库存数量
配置【销售出库】审批同意的集成自动化,自动扣减【库存表】库存。
![](https://yida-support.oss-cn-shanghai.aliyuncs.com/static/png/1699424168027-4ddb78fc-8ad9-4ce0-af1a-eecc58aca0e9.png)
![](https://yida-support.oss-cn-shanghai.aliyuncs.com/static/png/1699424176357-a93b14ac-5cca-4402-87a5-115a1de892bb.png)
3. 实现效果
3.1. 采购入库
【采购订单】从【产品信息】选择物品数据,录入采购明细
![](https://yida-support.oss-cn-shanghai.aliyuncs.com/static/png/1700560583014-ab8cf14e-8920-4a15-8d92-87cac4ef057b.png)
【采购入库】提交入库明细,根据「采购订单」分批选择未入库数量>0的物品,并校验本次入库数量
![](https://yida-support.oss-cn-shanghai.aliyuncs.com/static/png/1700560022443-66cd27d6-4fad-439b-953d-0830e02bcb3d.png)
也可点击「选择表单」,批量多选物品明细,自动填充入库明细
![](https://yida-support.oss-cn-shanghai.aliyuncs.com/static/png/1700560061056-ec01e97d-d53f-400b-ba7d-dfbad15db52c.png)
![](https://yida-support.oss-cn-shanghai.aliyuncs.com/static/png/1700560084449-905dff34-a1e3-4c2e-8c82-6e3f0c73c48d.png)
审批结束后,自动更新【采购订单】明细中物品的未入库数量,并累加【库存表】数量
![](https://yida-support.oss-cn-shanghai.aliyuncs.com/static/png/1700560542243-4852795a-bb3e-4b4e-8b76-a632f0f05d40.png)
![](https://yida-support.oss-cn-shanghai.aliyuncs.com/static/png/1700560507975-406b8435-f1f4-475d-b388-fbaa5ffd494a.png)
累加【库存表】
![](https://yida-support.oss-cn-shanghai.aliyuncs.com/static/png/1699425042409-6b1b0ad7-0b2a-4a9b-8b29-1a908fc52f6c.png)
再次提交【采购入库】只能选择未入库数量>0的物品
![](https://yida-support.oss-cn-shanghai.aliyuncs.com/static/png/1700560632080-d54246de-a15f-4308-ba8c-a75e26e0e40f.png)
3.2. 销售出库
【销售订单】从【产品信息】选择物品,录入订单明细。
![](https://yida-support.oss-cn-shanghai.aliyuncs.com/static/png/1700614936577-b6d920c8-a7f7-4fe6-98c2-2e2871184318.png)
【销售出库】提交出库明细,根据「销售订单」分批选择未出库数量 > 0的物品,并校验本次出库数量,不得超出库存数。
![](https://yida-support.oss-cn-shanghai.aliyuncs.com/static/png/1700615026784-9a79ea18-f7a7-4480-95ff-55569cc0cf40.png)
【销售出库】审批同意,自动扣减库存数。
![](https://yida-support.oss-cn-shanghai.aliyuncs.com/static/png/1700615346449-a013b0ca-555b-42e3-beac-9b6f9d885e8f.png)
![](https://yida-support.oss-cn-shanghai.aliyuncs.com/static/png/1700615380874-cfc77e5c-a052-4b81-b38d-7ee0bc0f3289.png)