福鼎市慧星软件技术服务有限公司 · 二〇二六年九月近况财税服务客户管理系统上线,含一年运行维护
打电话 加微信 免费诊断

实战笔记第 8 篇自动化交付质量

「毛重皮重反了」:机器没写错,错在列的顺序

客户报障说毛重皮重反了。我们先拿台账、计量系统和纸质票三方对账:数全对,错在列的顺序。三方一致时去改代码,才会真把数据改错。

一家物流公司专门给木材加工厂供料,我们为这家公司做了计量单自动化:业务员在飞书群里发一张过磅小票的照片,机器人识别出物流单号,去计量系统查回毛重、皮重、净重,写进飞书多维表格的台账。上线三周左右,客户发来一句:「毛重皮重反了。」

这句话很好懂,也很容易让人立刻去改代码——把毛重和皮重的对应关系对调一下,十秒钟的事。我们没有这么做。

先比对,不改代码

毛重和皮重这两个数有三个来源:纸质计量单、计量系统里的原始记录、我们写进去的台账。报障指向表里的数,那就先把三处放在一起看:

  • 台账 61 条,逐行回查计量系统的实时数据。
  • 从群消息里取回 3 张真实的计量单照片,对着纸票看。

61 条里 56 条是机器人写的,与计量系统零偏差;另外 5 条是人工录的。抽的 3 张纸票也和系统、台账对得上:毛重都是大数(装着货过磅),皮重都是小数(空车过磅),净重等于毛减皮。机器人写的数,没有反。

那客户为什么觉得反了?答案在表格本身:这张台账里,「皮重(吨)」这一列排在「毛重(吨)」前面,而纸质计量单永远先印毛重、后印皮重。一个天天看纸票的人,眼睛落到表上第一个重量格,默认那是毛重——看见的却是个小数,自然觉得反了。

61 条里唯一一条真错的行,毛重是个小数、皮重反而是个大数,净重倒是对的,所以没影响到钱。它正是那 5 条人工录的之一,错法是「照着票上从上到下的顺序,往表里从左到右两列填」。列序先害了人,再让人怀疑机器。

真正的现场在新表

再往下查才发现,报障真正的现场在客户新建的那张表。客户早前把旧表(也就是上面那张台账)的数据按位置整块粘了过去,而新旧两张表的列序恰好有两对相反:旧表是「所属个人」在前、物流单号在后,皮重在前、毛重在后;新表这两对都反着来。结果有 18 行同时错位:物流单号那一列装着人名,人名那一列装着物流单号,毛重和皮重互换。

新表的列序本来就是毛重在前——出事的是从旧表往新表按位置整块搬的那一下。客户当天自己重粘了一遍,重粘后的数据我们拿计量系统逐条核对,19 行全部一致。我们也没有拿旧表去盖新表——新表里有客户后来手工补的内容,盖过去就冲掉了。

为什么三方一致时不能动代码

三方比对的意义在于分清两件事:数据错了,还是读法错了。三方一致,说明数据是对的,问题出在人怎么看这张表。这时候去改代码里毛重和皮重的对应关系,等于把对的改成错的——而且从那天起每一条新单都错,还会和台账里已有的正确数据、人工录的行混在一起,再也理不清。

机器写表认的是列名,人看表、填表认的是位置。列的顺序和票面不一致,被带偏的只会是人,不会是机器。新表那 18 行也是同一个道理:粘错的是人不是机器,把程序里的对应关系换过来,只会让之后每一条自动写入的单跟着错。

我们现在的规矩

  • 客户报障,先把台账、源头系统、原始凭证三方放在一起比对,不凭印象,也不先动代码。
  • 三方一致,问题就不在数据而在「怎么读」:请客户把表里的列调成和票面一致的顺序,毛重在前;代码里的对应关系一个字不动。
  • 换了新表,机器人录的单交给每天的自动同步搬过去,劝客户别再按位置整块粘贴,手工粘进去的行还会和自动同步撞出重复。自动同步认的是列名,不是列的位置。
  • 自动同步只补新单,表里已有的单一律跳过、绝不覆盖。表里原有的内容以客户为准:金额混着两套算法,客户拍板两套都别动、只补数据,我们就不替客户统一口径。
  • 唯一会动已有行的是错位体检:单号列装着人名、毛重比皮重还小,先拿源头系统的原始数据纠正;净重都和源头对不上的行,宁可原样不动、留给人看,也不乱改。
  • 接口偶尔抖一下,同步会自动整体重跑,不至于一次失败就整天没同步;敢放心重跑,靠的正是「只补新单、绝不覆盖」。
客户说反了,先别急着翻代码——先看清是数据反了,还是列反了。

对应档案

档案 04过磅计量单自动化木料供货商 · 制造业 · 操作型

计量单 OCR 识别后自动写入飞书台账,每日定时双写。

制造业 · 操作型档案 1 条 →

看着眼熟的话,先让我们看一眼。

那张表、那个群或那套后台,我们先免费看一遍:问题出在哪、能不能改、大概要多久,都直说。

约一次免费诊断 →电话 138-6033-4766(微信同号)

全部 20 篇笔记 →按主题筛,或者从对应的档案看起。