PartsBox不从计数器分配序列号。PartsBox中的序列号是一个单件批次:当您构建时,生产的每个设备都会成为其自身数量为一的批次,由唯一的ID Anything™代码标识。该代码就是序列号。这是一个深思熟虑的设计选择,值得解释原因。
从真正重要的问题开始:在给设备分配序列号后,您打算用它做什么?如果您在板上贴上一个数字并将其发货,再也不去想它,任何编号方案都可以——一旦它离开大楼,PartsBox 就不会知道关于那块板的任何信息,您也不会。但是,如果您想单独跟踪设备——其库存状态、测试结果、维修情况、进入其中的确切元器件——那么唯一现实的方法是为每个设备创建一个批次。批次是 PartsBox 中库存的基本单位,它们使您能够将数据附加到特定的物理事物上。
这就是为什么序列化需要批次控制。没有批次控制分配的序列号是一种半途而废的措施。即使PartsBox为您打印了一个整齐的连续编号,它也无法知道序列号1025022是上周发给客户的,还是退回维修的,或者是哪一卷电容器进入了其中。这个数字将只是装饰。批次才是承载意义的东西。
当您构建项目时,在构建信息中打开“单独跟踪每个生成的子组件?”。PartsBox 不会生成单个匿名的库存批次,而是为构建的每个单元生成一个大小为 1 的批次。从构建开始的那一刻起,每个批次都有自己的 ID Anything™ 代码。
对于多阶段构建,这些批次在您开始时就存在了。这就是许多医疗设备和航空航天制造商的工作方式:他们从第一阶段开始构建,该阶段根本不放置任何组件,纯粹用于文档记录。然后,他们的库存中已经包含了正在制造的每个设备的批次,每个批次的状态均为“生产中”。您可以打印标签、设置自定义字段、标记单元,并记录每个单元在组装过程中的情况。当构建完成时,状态会改变,库存变得可用。
序列号就是批次的 ID Anything™ 代码。获取该代码或其前几个字符,将其打印为二维码或条形码,然后贴在设备上。稍后扫描它即可调出该批次:它来自的构建、消耗的元器件和供应商批次、以及设备生命周期内附加的测试数据和维修历史记录。您甚至可以在组装开始之前对裸板进行序列化,因为批次及其代码在放置任何一个元器件之前就已经存在了。
因为每个设备都是一个批次,所以您可以向其附加文件。将测试报告、检查照片、返工协议、维修记录或监管文件存储为 PDF 或图像,它将在该设备的整个生命周期内保留。单元的文书工作与单元一起存在,您可以通过扫描相同的代码来访问它。
传统系统从中央计数器分发连续的整数序列号。人们期望如此,为了方便起见,PartsBox确实在每次构建中分配一个整数序列号。但作为设备的永久身份,连续编号存在实际问题,而不透明的全局唯一ID可以避免这些问题。
顺序号会泄露信息。序列号 4,217 告诉任何看到它的人您大约制造了多少个单元,而相隔一个月购买的两个单元揭示了您的生产率。ID Anything™ 代码不透露任何信息——不透露您的数量,也不透露您的速度。
顺序编号需要一个单一的机构来发布下一个值。当您在多个位置进行构建或离线构建时,这就是一个协调问题。ID Anything™ 代码在本地生成,不连接任何中央注册表,并且在任何地方仍然是唯一的。
顺序号是脆弱的。从备份恢复数据库,或让人重置计数器,您会得到重复项——两个不同的设备带有相同的序列号,无法区分它们。ID Anything™ 代码在构造上是唯一的,因此恢复或错误不会使它们冲突。
这些都不会阻止您在需要时使用人性化的序列号。客户通常需要特定的格式——产品前缀和递增数字,或编码日期。按照客户的要求生成它,并将其作为名称或自定义字段附加到批次中。批次的ID Anything™代码仍然是保证可追溯性的唯一锚点;您为客户打印的数字可以是他们要求的任何内容。
诚实的权衡是,ID Anything™代码并不漂亮,也不是大多数人听到“序列号”时想象的那样。作为交换,您获得了一个唯一、不透明、在任何地方生成而无需协调且不可能冲突的标识符——由一个真正知道您的设备由什么制成以及它发生了什么的批次支持。
批次控制和序列号在 Control 计划中。