乐于分享
好东西不私藏

挑战用WPS灵犀开发APS排程系统(二):销售订单搭建,从单号规则到主子表

挑战用WPS灵犀开发APS排程系统(二):销售订单搭建,从单号规则到主子表

🔥 挑战用WPS灵犀开发APS排程系统,全程古老师不写一行代码

上一篇,我们把产品资料库和代码规则字典搭起来了,150个存货、编码规则、查找引用公式,一次到位。

📌

今天这一篇,把销售订单这一块立起来。

为什么要先弄销售订单?APS排程的源在装配,装配对着客户交期客户交期从哪来?就从销售订单来。没有销售订单,排程引擎不知道"排什么、排多少、什么时候要",一切无从谈起。

所以销售订单,就是整套APS的需求入口

这一篇看着是"建张表",实际里面全是坑:单号前缀怎么定主表和子表怎么拆、主表怎么自动生成、明细字段建哪些。我一个个说。


一、单号规则:前缀怎么定最省事

开建之前,先定一套单号规则单号是每张单据的身份证,前缀起不好,后面所有表都乱。

我先让AI给了一版建议,它给的几乎全是英文缩写:SO销售订单、PO采购订单、MO生产订单……

我直接否了一半。在中文工厂里,能看懂才是第一位的。我的原则很简单:

  • 中文优先
    :能用的都用拼音首字。XS销售、CG采购、FH发货、DB调拨
  • 撞车就让位
    :入库有两张(采购入库、生产入库),都是"入库",拼音首字撞车,就保留英文的GR、MR;退货也撞车,就拆成销售TH、采购TL
  • 委外三单同根
    :委外加工、委外发料、委外入库,这三张单是同一串业务,前缀统一用WW打头——WW、WWF、WWR,一个前缀就能把整条委外流串起来

最后定下来 22 条,录进一张「单号规则」表:

分类

前缀

单据

委外

WW-

委外加工订单

WWF-

委外发料单

WWR-

委外入库单

销售

XS-

销售订单

FH-

销售出库(发货)单

TH-

销售退货单

采购

CG-

采购订单

GR-

采购入库单

TL-

采购退料/退货单

生产

XQ-

需求计划单

SC-

生产订单

MR-

生产入库单

LL-

生产领料单

FG-

返工单

BF-

报废/不良处理单

品质

IQC-

来料检验单

IPQC-

过程检验单

OQC-

出货检验单

仓库

DB-

仓库调拨单

QT-

其他出入库单

PD-

盘点单

TZ-

库存调整单

📌

单号格式统一成:前缀 + 日期 + 流水,比如 XS-260814-001。日期进单号,后面按交期排程、按日期检索都方便。

单号规则这东西,越想省事越要一次定对。后面每张表都引用这套前缀,改一个字都牵连全局

二、主子表:为什么必须分开?

定完单号,开始建销售订单。

这里有个关键决策销售订单是建一张表,还是拆主表+子表?

我直接定了——拆,必须拆

为什么?电饭煲工厂的订单,几乎全是一单多行。客户下一单,下面挂着外壳、内胆、发热盘、配件……好几行物料。

  • 主表:管订单头
    ,一个销售单一行。客户下单了哪些单、每个单合计数是多少,在这看。
  • 子表:管每一行的物料
    、数量、单价、交期、状态。一个订单挂多行,细节在这看。

📌

硬塞进一张表会怎样?客户名称、日期、交期在每个物料行重复一遍,改个客户要改好几行,统计金额还得先按单号去重。等于自己造了张不规范的表,还更乱。

主表看"单",子表看"行",两层信息根本不一样,不拆开没法用。


三、主表不用手建:用内置"统计表"一键生成

主表和子表拆开了,子表(销售订单明细)一条条录物料。那主表怎么办?难道每个订单手工汇总一遍数量、金额?

不用。多维表有个内置功能类似 Excel 的数据透视表,叫「统计表」。

操作很简单:

创建 → +新建 → 统计表 → 选数据源「销售订单明细」

然后按「销售单号」分组,把客户数量、已排数量这些字段拖进去做求和汇总,一张按单统计的主表就自动生成了。

它好在哪?

  • 实时联动
    :子表明细一变,主表汇总自动跟着更新,不用重跑
  • 分组随便切
    :现在按销售单号分组,明天想按订单类型、按产品类型看,改一下分组就出来
  • 汇总方式多
    :求和、计数、平均值、去重,透视表那套都有

📌

所以这张主表,不是手录的,是从子表透视出来的。这就是为什么我前面说"主表看单、子表看行"——子表是数据源,主表是它的统计视图

主表和子表,一张存细节,一张出汇总,用内置统计表把两者连起来,实时又省事

四、销售订单明细:字段一次定对

主表出来了,最费心思的是子表的字段(销售订单明细)。

我一开始给的是"标准四字段 + 客户数量 + 下单日期 + 交货日期",看着够用了。但一展开,漏了一堆:

  • 挂靠
    :销售单号、行号。这是明细的身份证,必须挂。
  • 交期要拆
    :客户要求交期、计划交期、承诺交期,三个分开。客户要求的是锚点,计划交期是APS排出来的,混成一个,排程一变就把客户原始要求覆盖了。
  • 排程决策
    :优先级、已排数量、未排缺口、齐套状态。APS排谁、排多少、差多少,全看这几个。
  • 状态
    :行状态(待排程/已排程/部分发货/已完成/已取消)。

还有几个公式字段自动算:

=客户数量*单价          → 金额
=客户数量-已排数量      → 未排缺口

明细字段搭完,顺手把所有数字字段统一设成整数(格式0)。数量、单价、金额,谁也不能带小数,看着清爽。

这里有个小坑:数字字段用API能直接改格式,但公式字段(金额、未排缺口)的数字格式API改不了,得在界面上手动点一下"整数"。不影响用,就是记住这个边界。


五、虚拟数据:订单类型也有讲究

表搭好了,灌数据。150行,分3次,每次50行,下单日期覆盖8月1日到14日。

这里我想考考系统的订单类型维度。新建一个「订单类型」单选项,三个值:常规订单、样板订单、试产订单。

数据分布也有讲究,不能乱填:

  • 样板订单
    :数量少,单数<5,每单只要1/3/5/10个
  • 试产订单
    :固定小批量,单数是10的倍数且<50,每单固定30/50/100个
  • 常规订单
    :正常批量,剩下都是

而且存货代码不能太少——150行得覆盖80个不同代码,圆煲、方煲、迷你、商用四种类型都要有,容量从1.2L到6L八档。不然主表透视出来,产品维度就那几种,看不出东西。

最后分布:样板3单、试产20单、常规42单,合计65个销售单、150行明细,80个不同代码。下单日期8/1到8/14,一天不落。

为什么这么分?因为后面排程时,样板单、试产单不能占常规产能订单类型是排程的一个重要权重。数据不这么造,后面引擎没法测。


最后说一句

📌

这是APS系列的第二篇。今天把销售订单这一层立起来了:单号规则、主子表、用统计表一键生成主表、明细字段、订单类型、虚拟数据。

销售订单是整套APS的需求入口。入口的字段、单号、结构定了,后面的排程引擎才有据可依。


术语解释

主表 / 子表:一张订单拆成两层——主表记订单头(每个单一行、汇总数),子表记订单行(每行物料、数量)。一个主表对应多个子表行。

统计表:多维表内置的透视功能,类似Excel数据透视表。选一个数据源,按某个字段分组,把其他字段求和/计数,自动生成汇总表,且实时联动源数据。

单选项:多维表的一种字段类型,一列只能选一个预设值,适合做分类标签。

XLOOKUP:查找函数,给一个值,在一列里找到相同的,返回另一列对应的值。

未排缺口:客户数量减掉已排数量,还差多少没排,驱动欠料计算的核心数字。

APS:高级计划排程系统,管"什么时候在哪台机器上做什么产品"的智能排程工具。


古老师(古哥计划)|中小制造数字化专家|**金山 KVP(金山办公最有价值专家)**|金山多维表格应用场景专家|金山 WPS 社区优秀创作者

深耕中小制造业数字化落地,擅长用 WPS 多维表格 + AI 低代码方案,帮工厂快速搭建进销存、生产计划、质量追溯等轻量化系统。不用复杂 IT,低成本落地,已服务数百家制造企业,实战经验丰富。

#多维表格 #工厂管理 #AI应用 #APS排程 #灵犀