Sumário

来料不合格那批货怎么过

本文说明来料检验判不合格后,芒旭软件系统中送检、报废、领料与处置的联动关系,并指出部分合格料仍可被领走这一未收口环节。

  • 送检统一走仓库页一个入口,允许最大不合格数默认0
  • 报废联动:标库存、删待生产库记录、开处理单、发通知
  • 领料仅排除已报废与质检不合格,部分合格料仍可领走
  • 处置四种选项均改为改状态并留痕,不再空置
  • 成品完工入仓状态由质检合格改为完工待检

28.1 老周判了不合格,货还是做完了

恒达上个月进的一批铝件,一百三十件。老周检完判下来:九件尺寸偏了。他把两个数填进系统,点了提交。

三个月后,用这批铝件做成的成品发出去了。中间没人放行、没人签字、也没人被告知。

小徐不服。他说系统里明明有"允许最大不合格数"、有整批报废、有不合格品处理单、领料时还要查库存状态,四道都在。我陪他把这四道挨个走了一遍。

结论先摆出来:这四道都在,而且不再是各接各的——送检并成了一个口、报废会回扣总量、处置选完真动库存、手机上检的单也能触发联动。但把它们串成一道非过不可的硬闸,还差领料那一格——部分合格的料能不能领,眼下仍是厂里没定的事。 这一章就说清哪一道接上了、哪一道从哪个缝里还漏。

28.2 送检只剩一个入口,默认值只剩一个方向

一车料登记进来了料仓,状态是"待质检"。老周要检它,得先有一张检验单。以前能建这张单的地方有两处,现在并成了一处。

这唯一一处在仓库页。 那行料后面挂着一个"提交质检"。点开是个小弹窗,只问一句:允许最大不合格数是多少。格子里默认填着 0。弹窗下面有一行提示,写得很老实——若检测不合格数超过这个数,该来料将全部报废,并反馈给销售负责人。 按确定,检验单建出来,这行料在账上变成"质检中"(这一步如今后端也会自动置,不再只靠仓库页那一下前端写)。

以前的第二处在质检页,那个"从待检物料创建"的批量入口——它不问允许最大不合格数、那一格空着,等于给同一批料默认了一个相反方向;而且这个入口从没在页面上真正挂出来过(死代码)。本轮把它删了,来料送检统一走仓库页那一个口。

于是以前那种"同一批料从不同门进、两个默认值正好相反"的情形,随第二入口一起没了。现在只有一个默认口径:0,宁可多报废。要放过某批,就得有人主动把这一格改大——改到比来料数量还大,等于这一批不报废。这一格既是闸门,也是闸门的开关;它默认关得最紧,要松开得有人伸手去拧。 若新建检验单时这一格留了空,后端不再默默放行,而是回一句告警:本单未设阈值、不会自动报废,请确认是否有意留空。

以前还有一格更安静——检验单上那栏"关联检验标准",标准立在那儿,可建单改单两份可写清单里两次都没有它,检验单挂不上去。这一处补上了:检验标准与来料关联两格,如今都在可写清单里,建单改单挂得上去。

28.3 判完之后,系统真的动了库存

这一段得记它的好。走报废那条支路时,系统在同一个请求里连做五件事:

  1. 来料仓里那行库存标成"已报废";
  2. 待生产库里这个物料的库存记录直接删掉,一件合格品都不许过去;
  3. 自动开一张不合格品处理单,处置方式写"报废",缺陷描述是一句人话:来料检验某单,不合格数若干,超过允许最大不合格数若干,全部报废;
  4. 检验单本身改判"不合格";
  5. 给这个产品的负责人发一条消息,标题就叫"来料报废通知",点开跳到来料仓。

这是这本书数下来最完整的一次自动联动。第二十七章说改图纸没人被通知,这里是真有人被通知。 找人也是两级:先查产品资料库里挂的负责人,查不到就退一步,拿产品名去报价明细里找当初建那张报价单的人。

两级都落空怎么办?也想了——"未找到销售负责人,请手动通知"这句话会拼进这次提交的结果里,屏幕上看得见。但得看清它的形状:不是没人知道,是只有当场按提交的那一个人知道。 老周没留意那行小字,这事就停在这儿了。消息列表里不会有它,明天也没人会再提醒一遍。

还有两笔账要记清。

报废是整行报废,不拆行。 一百三十件里九件不合格,那一百二十一件好料也一起躺在"已报废"里。这是取舍,认。

报废会回扣物料总量。 以前那行库存只换个状态、物料档案上的"当前库存"一格没动,报废之后账面上这批料还虚挂着。现在报废那一步在把来源行标"已报废"之后,会按分仓记录重算一次总量,账上不再虚挂,与入库、领料同一个口径。而"账上回扣了"不等于"领料拦得住",下一节要说那一头还漏。

更要紧的一处在上面第 2 步,以前是个真坑。它删待生产库那条记录时,是按"这个物料、这个仓库"找到的第一条;而那仓库里的记录是累加的,同一个物料分两批来料、账上是一条。这批报废,会把上批的合格数一起带走。现在改成按来源行定位(拿这条库存的来料编号去找、没建过就按这个来源建一条),报废删除也只删本来源行,不再顺手带走上一批的合格数。

28.4 领料那一头,只挡住了两种状态

报废的料到底碰不碰得到?系统里有三处找可用库存的地方,排除条件写得一模一样:只排掉"已报废"和"质检不合格"两种状态,其余都能领。

数一下就明白漏了什么。那行库存的状态一共六种:待质检、质检中、质检合格、部分合格、质检不合格、已报废。三处校验只挡最后两种。

于是:

  • "部分合格"的料照样能领走。 而"部分合格"这四个字的意思就是——这批里已经确认有不合格品了。
  • "待质检"的料也能领走。 老周还没看过的东西,车间可以先装车。
  • 从仓库页送检之后,那行料变成"质检中"。"质检中"也不在排除名单里。

这就是标题那句"一路做到成品仓"最宽的一扇门。它不需要谁做错什么,只要有人按老规矩办事:料到了先送检,等不及就先领一点。领料这一步从来没问过一句"这批检完没有"。

第二扇门在算状态那一步。没走报废时,来料仓那行的状态是按检验单汇总出来的数重算的:合格数凑够总量是"合格",有一点是"部分合格",一个都没有是"不合格"。这个算法本身没毛病。问题是还有一处也能改这个数:在仓库页编辑这行料的数量,会拿新数量再去比一次——数量一改小,改到合格数能够着,这行"部分合格"立刻显示成"质检合格"。 不用谁重新检验,也不用填为什么改。

28.5 处置那四种写法,系统只接了一种

不合格品处理单上有一栏"处置方式"。管理端给了四个选项:返工、报废、让步接收、退货。第十二章说这里是三种,是四种,我少写了一个。

细看选完之后发生什么。

  • 选报废:现在会把关联来料行置"已报废"、重算在手量、并写一条处置留痕(以前选完什么都不发生)。但仍不自动生成一张退给供应商的单子。
  • 选让步接收:现在会把关联来料行置"检验合格"并留痕,不再是“选完什么也不发生”。但“同意让步的人是谁”这一格仍没有独立记录(留痕里是 NC 号与时间,不是一个审批人)。
  • 选退货:程序里以前连这个词都没出现过、全系统零命中,就是一个下拉框里的文字。现在选它会改来料行状态并留痕"退供应商";但生成一张真正的退货单仍没有。
  • 选返工:这一条以前就是真接上的,因为它有下一步——返工任务按处置方式是返工来筛,报返工工时还会自动关单。

四个选项如今都不再是空字:报废、让步、退货选完都会改关联来料行的库存状态并写一条处置留痕,返工照旧有下一步。 只是这些动作停在"改状态 + 留痕"这一层,没往下生成退货单、没记"谁批的让步"。

同一格还有一个毛病:值有两套写法。系统自动写的是英文缩写,手机端给的是中文。处理结果与备注以前同列互盖,如今处理结果拆成了自己的一列、不再被备注盖掉。

代价的头一处修了。驾驶舱那个质量看板按处置方式估算劣质成本,报废算全额、返工算一半、让步算一成,而那张对照表里的键以前是中文,自动开的报废单、管理端交的返工单存的是英文缩写,一个都命不中、全落进默认那档。现在这张表改按枚举码算、并补上了报废档(报废不再被记成三成的损失);一次合格率也按来料/过程/成品/出货四档分开算分母,不再三类混一分母。剩下的那处(手机端提交那些单在任务列表里看不看得见)仍要两端都读同一套码才算闭。

28.6 手机上那张检验单——以前什么也不推动,如今会推动几段

质检这件事两个端都能干。以前它们写的检验类型不是同一套字:管理端建单填英文缩写,程序里那两段联动(来料推库存、过程与成品推工单)与两端列表筛选也都按缩写判;而手机端建单填的是中文全称。于是从手机上提交的检验单,一处联动都不触发、两端还互相看不见对方建的那些单。

这一套中英两字的差,如今收成了一套:检验类型以枚举码为真源、存量归一、非法值直接拒、两端改读同一份字典。手机上建的单,现在也能触发那两段联动——会报废、会往待生产库进数、会开不合格品处理单、会推工单。列表筛选也统一到码,两端能看见对方建的那些单了。

手机上以前还有两处假象:新建检验表单里那三条写死的演示数据("标准产品A/在制品B/成品C"各带两项),选个类型就把它的检验项目连产品名一起盖到表单上;顶上那两个"合格/不合格"计数按中文匹配后端缩写、常年是零。这些也修了:演示数据删掉、检验项目改真读检验标准接口、计数改按状态码比较不再恒零。要说清一句:若某个类型没配检验标准,检验项目就是空的——这是"宁缺不假",不是"标准自动带出全部项目"。

但"手机检完"不等于"一路放行到底"。那两段联动只到改库存状态、开不合格单这一层,往后的处置仍按 28.5 那几条走。

这一节和 28.4 那三处排除名单合起来,标题那句就有答案了:判了不合格的料能一路做到成品仓,路上的走法少了几种——手机上检的那种现在会触发联动了、从质检页送检那种入口已删;仍开着的是判成部分合格被领走、以及下面这最后一种。

检验单这张保护也补硬了。以前判完(合格/部分合格/不合格三种判定态)还能硬删,删了会连带让关联来料失去质检追溯;而待检清单那条"还没建过检验单"的判据,没排除被软删的单,于是一批判错的料既回不到待检清单、也没第二张单来检它。现在两处都收紧:已判定的检验单不许硬删、只能作废留痕(免关联来料断了追溯);判据补上了排除被删单,删掉一张误建的单,这批料重回待检清单、等第二张单来检。

28.7 成品仓里那一行,以前天生写着"质检合格",现在写着"完工待检"

最后说仓库那头的一个动作。

工单完工,成品自动进成品仓。以前进去的那一刻,那行库存的状态是直接写死"质检合格",两处程序都这么写,它不问这张工单做没做最终检验——最终检验是有条件才自动建的,条件不满足就压根没有那张单。这一处收口了:完工入仓现在写"完工待检",要等最终检验真判合格,才由质量那边置成合格,不再不问检没检就标合格。

于是以前那条一路到成品仓的链,现在断了几节、还剩一节开着。来料送检只剩一个默认最紧的口,要放过一批得有人主动把阈值改大或留空(留空还会被告警);成品入仓也不再写"质检合格",改成"完工待检"。仍开着的那一节,是 28.4:判成部分合格的料不在排除名单里,能被领走做成成品。没有任何一步在说谎,只是最后那一格——部分合格能不能领——还等人来定。

追溯这件事第十二章交了底:证据一条一条都在,接成一棵树得有人自己跨五张表。那张追溯记录卡仍全靠人手工建、系统一条也不会自动生成;但它的建、改、删三个动作,以前挂的是"检验标准"那一个码(谁能管检验标准、谁就能改追溯记录),现在改挂追溯卡自己的权限码,两件事的钥匙分开了。

28.8 这一章不做的事

  • 没给"允许最大不合格数"换默认值。 两个入口已并成一个、默认 0 这格没动,只是留空会多一句告警。要真定死"未设阈值不许过",那是厂里的规矩,不是这格默认值能替做的。
  • 处置方式只接到"改状态 + 留痕"这一层。 报废、让步、退货选完现在会动关联来料行的库存状态,但不再往下——不生成退给供应商的单、不记谁批的让步。
  • 不改整行报废这个粗口径。 一坏俱坏是刻意的。要改成拆行报废,先得给库存记录加批次,那是第十二章说过没做的事。
  • 检验类型值域已并一处。 中英两套字收成枚举码、两端改读同一份字典、存量归一,手机建的单如今也触发联动。这不再是"只写清楚"的一条。
  • 不写合格率、报废率任何数字。 上面这些分支在不同入口下含义完全不同,此刻给一个百分比,就是给两个门各自的运气定价。

28.9 今晚能定的两件事

  1. 定"部分合格的料到底能不能领"。 我的意见是不能,除非有人在单子上签一次让步。把"部分合格"加进排除名单是一句话的事,但那等于告诉车间"以后有瑕疵的料一律停发",得先跟老葛说清缺料时谁负责。反过来说,这一格不改,28.4 那三处校验和 28.2 那个阈值都只是摆设。
  2. 定让步接收要不要记"谁批的"。 现在处置动作只到改状态 + 留痕(NC 号 + 时间),没有"批准人"这一格。若厂里认让步是一道审批,就得给它加个签字人;若不认,就明写让步不需批、由质检自行判定。别停在现在这种:有让步这个选项,却没人对让步负责。

下一章算月底的账:货发了、票开了、款没收齐,这三件事在系统里为什么对不到一块。