多维表格:自制件拆行脚本升级与BuildContextError踩坑记录

古哥计划
古哥计划 Lv.4 核心创作者KVP

Lv.4 核心创作者

一行变多行脚本升级:自制件自动分解 + 踩坑记录

成品编码配置表里一条门体记录,要拆成门体、中空、单片外、单片内、上边框、下边框、左边框、右边框8行——以前靠人工一行行录入,现在脚本一键搞定

但这次升级过程踩了个大坑,值得记录下来。


一、升级点:从"按数量拆行"到"按规则拆行"

老版本脚本逻辑很简单:读"自制件数量"字段,值是几就拆几行,每行写个项次号。

够用吗?不够。

问题是:拆出来的行没有"一级子分类",不知道这行到底是门体、中空还是单片外。人工再一条条补分类?那还自动化个啥。

升级后的逻辑改成按一级分类规则拆行,同时写入一级子分类字段:

门体类

1.1 成品名称配置动态读取所有以"门体"开头的一级子分类(门体、门体上边框、门体下边框、门体左边框、门体右边框),加上固定的"中空",再根据存货名称里的玻璃配置按首字映射(外玻→单片外、内玻→单片内)。

一条 外玻钢化+内玻钢化 的门体记录,自动拆出8行,每行带正确的一级子分类。

中空类

中空(固定) + 玻璃组件首字。外玻钢化+中玻普通+内玻普通 拆成4行:中空、单片外、单片中、单片内。

单片类

纯玻璃组件首字映射。亚克力跳过(外购不用),无外玻前缀的"玻璃钢化"直接返回"单片"。

配件类

固定1行,一级子分类=配件。

核心改动:拆行不再依赖"自制件数量"字段,改为根据一级分类+玻璃配置自动计算行数和子分类。门体开头的子分类从1.1表动态读取,不写死在代码里——以后新增子分类选项,脚本不用改。


二、BUG点:BuildContextError 折腾了三轮

脚本写完,粘贴到多维表运行,报错:

BuildContextError

第一反应:代码有语法问题

第一轮排查:怀疑正则表达式。AirScript 1.0 对正则支持不完整,把 /(?:...) 非捕获组去掉,改用 indexOf + charAt 纯字符串解析。还是报错。

第二轮排查:怀疑全角字符。把代码里所有中文改成 \uXXXX 转义,全角加号 + 改用 charCodeAt(0) === 65291 判断,代码里零中文字符、零全角字符、零正则。还是报错。

第三轮排查:怀疑复制粘贴引入不可见字符。把脚本写到文件里,用 hexdump 检查编码,用 Python 逐字符扫描零宽字符、BOM、非断行空格。全部正常。还是报错。

三轮排查完,代码已经改了三个版本,每个版本都排查了不同维度的问题。结果发现不是代码的问题

真正的原因

BuildContextError 是 WPS 服务端的上下文构建失败,跟脚本代码无关。

解决方案就一句话:

关闭 WPS 软件,重新打开。

同样的代码,关闭重开后一次跑通。

踩坑教训

这个坑的代价是浪费了三轮排查时间。正确的排查顺序应该是:

  1. 先关闭 WPS → 重新打开 → 再运行脚本

  1. 如果仍然报错,再检查代码

而不是反过来——先怀疑代码,改了三轮,最后才发现是环境问题


三、总结点

脚本封装

这次脚本已封装为技能 XB-自制件自动分解,与之前的 XB-判断自制件 形成上下游配合:

  • XB-判断自制件:计算自制件数量,写入API字段

  • XB-自制件自动分解:按规则拆行 + 写入一级子分类

AirScript 避坑清单(更新)

这次踩坑后,AirScript 避坑清单新增一条:

症状

解决方案

BuildContextError

脚本运行报上下文构建错误

关闭WPS重开,不是代码问题

加上之前已有的三个坑(不支持ES6+、API同步非Promise、无GetFields方法),一共四个。

玻璃配置提取逻辑

用纯字符串解析替代正则,逻辑其实很简单:

  1. 从存货名称里找到"外玻"的位置

  1. 往后扫描到空格为止,截取这段文本

  1. 按 + 或 + 分割成组件数组

  1. 每个组件取首字,拼成"单片X"

没花里胡哨的正则,indexOf + charAt + substring 三个方法搞定。AirScript 1.0 环境下,越简单越稳。

最后说一句

其实这次最大的教训不是技术上的,是排查思路上的。遇到报错第一反应是查代码,这个惯性思维太强了。以后遇到 AirScript 报错,先关 WPS 重开试试,30秒的事,能省三轮排查的时间。


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

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

#多维表格 #工厂管理 #AI应用

广东省
浏览 116
收藏
3
分享
3 +1
+1
全部评论