改一个字段要不要重新印票,判断标准不是改了哪几个字,是三处:码的生成规则动没动、票号规则动没动、检票那一侧读的是哪一段。三处都没动,旧票照用;动了一处,就得给旧版留一条解析路径。这三条线写在同一页纸上,十分钟就能把改版成本定下来。
一、纯展示字段改版。宣传图、票种名称、注意事项文字、版面位置,这些不进核验链路,存量票不用重印。规则上唯一要补的动作是把模板版本号写进打印日志:每张实体票出票时记下当时用的模板版本,改版之后才有办法回答"这张票是哪一版打出来的"。版本号按流水递增,一次改版一个号,改版记录里同时写明动了哪些字段、没动哪些。没有这一栏,新旧版面混在游客手里时,窗口只能靠肉眼比图样,比出来的结论还进不了报表。
二、动到码是另一件事。码的内容拼装顺序、有效期字段位置、前缀段,任一项改动都会让旧版生成的码在新规则下核销失败。可用做法是让模板版本和解析规则一一对应:解析侧先取码里的版本位或票号前段,再选对应那一套规则,两套同时在线。只保留最新一套规则,是改版事故最主要的来源,症状是零散的老票过了三天才被发现核不掉。

三、票号规则变更要并行。改位数、改前缀、改批次含义,退改、检票、报表三处都吃这个格式,长度校验和前缀白名单要同时容下两套。两套号段的分界日写进配置,检票侧按分界日决定用哪套校验,不靠人记。切换节奏是新号段走新格式、旧号段留兼容,并行到存量票自然过期为止。实体空白票的号段要单独盘一次:已印刷未激活的那一批不能混进新号段,盘完把数量、起止票号、经手人写进盘点记录。
四、仍要重印的三类。有效期直接印在票面上且这次改了这一段的票种;已激活的预售票,票面文字与实际规则不符要履行告知的;带批次含义的团体票,批次解释一改,旅行社手里那批就对不上。这三类要么重印,要么走作废加补票。作废由票种负责人签字,记在作废登记栏,票号逐条列,不写"某批若干张"这种没法追的句子。

五、上线顺序和回退。先在一个窗口试印一小批,五十到一百张就够,同一批票拿到一条通道上核销,看成功率、看回传有没有漏条,确认无误再放开其它窗口。试印那批的票号段单独留档,核销失败的逐条记失败原因,只报一个成功率看不出问题在哪一段。回退预案是切回旧模板版本,不是删掉新版——新版一旦删了,已经印出去的那批票就没有对应规则可解析,退回去反而更贵。
先做哪一件:改版评审的第一页先回答"动没动码、动没动票号"这两个问题,答案决定后面所有动作。两个问题都答不上来,就先补打印日志里的版本号栏,跑一周有数了再谈改版。
