分享个脚本,自定义A表字段信息在B表创建记录
A表数据同步到B表数据,可自定义筛选条件,自定义取什么字段信息到另一张表!
初学做脚本,我看别人写是不是有更优更简便的写法,感觉这样写代码比较臃肿。
let time = Context.argv.time[0]//自动化入参 //'2025/01/14'
var offset = null //先定义offset默认为空
var record = [] //存储获取的数据
while (record.length === 0 || offset) { //限制一次最多获取100条,做分页处理
record = Application.Record.GetRecords({
SheetId: 31,
Offset: offset,
PageSize: 1000,
Fields: ['商品名称','货主名称', '交仓总数', '交仓出库'],
Filter: {
mode: "AND",
criteria: [
{
field: "创建日期",
op: "Equals",
values: [time]
},
{
field: "数据状态",
op: "Equals",
values: ['待归档']
}
]
}
})
offset = record.offset
}
console.log(record)
//record要转换成新建记录所需要的格式
for (var i = 0; i < record.records.length; ++i) {
var filtes = record.records[i].fields
var records = {
交仓出库: filtes.交仓出库,
交仓总数: filtes.交仓总数,
商品名称: filtes.商品名称[0] ,//商品名称是引用的字段导致返回是个数组,这里只取第一个
货主名称: filtes.货主名称[0]
}
var recordId = record.records[i].id //取记录ID
Application.Record.CreateRecords({ //新增记录
SheetId: 7,
Records: [{
fields: records
}]
})
Application.Record.UpdateRecords({//更新状态
SheetId: 31,
Records: [{
id: recordId,
fields: {
数据状态: "归档"
}
}
]
})
}