【Bug反馈】多维表格自动化流程「修改记录时」触发,AirScript脚本读取到的是旧数据
问题描述
在多维表格中,配置自动化流程:
触发条件: 新增或修改记录时
生效范围: 指定字段(如「字段A」「字段B」)
执行动作: 执行 AirScript 脚本
脚本逻辑很简单——读取当前记录的「字段A」和「字段B」值,写入到「字段C」中用于验证。
实际表现: 修改字段值后触发自动化流程,脚本读取到的仍然是修改之前的旧数据,而非最新已保存的数据。
复现步骤
新建一张测试表,包含字段:字段A(数字)、字段B(数字)、字段C(文本)
新建自动化流程:新增或修改记录时 → 执行 AirScript 脚本
脚本内容如下(仅读取当前字段值并写入字段C):
function main() {
const SHEET_NAME = "测试表";
const FIELD_A = "字段A";
const FIELD_B = "字段B";
const FIELD_C = "字段C";
let recordId = Context.argv.recordid || Context.argv.b?.[0];
if (!recordId) return;
const sheet = Application.Sheets(SHEET_NAME);
const valA = sheet.RecordRange(recordId, "@" + FIELD_A).Value;
const valB = sheet.RecordRange(recordId, "@" + FIELD_B).Value;
sheet.RecordRange(recordId, "@" + FIELD_C).Value =
"A=" + valA + " B=" + valB;
}
main();在表中录入一条数据:字段A=2,字段B=3
此时字段C显示:A=2 B=3 ✅
修改字段A为 5
自动化流程触发后,字段C显示:A=2 B=3 ❌(应为 A=5 B=3)
预期结果
自动化流程触发后,脚本应读取到修改后的最新数据。即修改字段A为5后,字段C应显示 A=5 B=3。
实际结果
脚本读取到的仍是修改前的数据,说明自动化流程传给脚本的记录数据是触发时刻的快照,而非数据库中已持久化的最新数据。
补充说明
通过 按钮触发 执行同一脚本,能正确读取到最新数据
在脚本开头增加 1~3 秒延迟等待后重试,问题依然存在
排除网络延迟和数据库写入时序因素
希望官方能排查一下自动化流程中 AirScript 脚本读取数据的时序机制,确认是否为已知 Bug 或设计限制。谢谢!
Lv.3 优质创作者