WPS AirScript脚本合集(二十):单选项字段选项内容跨表引用文本字段

一、多维表格数据表及字段结构

1.1 数据录入表A

1、数据表名:数据录入表

2、视图名称:表格视图

3、字段设置:

  • 字段名称:编号 - 字段类型:编号 - 编号类型:自增数字-编号格式:000001

  • 字段名称:业务员-字段类型:单选项-选项:选项1、选项2-允许填写时添加选项-默认值:无

1.2 基础档案表B

1、数据表名:基础档案表

2、视图名称:表格视图

3、字段设置:

  • 字段名称:文本 - 字段类型:编号 - 编号类型:自增数字-编号格式:000001

  • 字段名称:业务员 - 字段类型:文本- 不限制字数 - 不禁止录入重复值 - 默认值:无

二、AirScript脚本说明

因字数限制,内容做部分删减,完整文章见公众号文章链接:https://mp.weixin.qq.com/s/E1YytsETDgCrSXBaKppnQg

代码逻辑解释

  • 1、配置加载与初始化

脚本首先读取 `CONFIG` 对象中的配置,如数据表名称和字段名称,只需修改配置区域即可适配自己的表格。随后,脚本会获取这两个数据表的唯一标识ID,这是后续所有API调用的基础。

  • 2、从基础表读取数据

脚本使用 `Application.Record.GetRecords`方法,以分页的方式(通过 `PageSize``Offset`参数)读取“基础档案表”中的所有记录。这能有效避免单次请求数据量过大导致的问题。读取到的“业务员”字段值会被存入 `Set`集合中,利用其特性自动去重,最终得到一份唯一的业务员名单。

`Application.Record.GetRecords`用法指路链接:

1️⃣ https://airsheet.wps.cn/docs/api/dbsheet/Record.html

2️⃣WPS多维表格:“开发”功能使用说明文档 https://365.kdocs.cn/l/ctzsgDlAGF0l

  • 3、获取当前单选项配置

脚本通过 `Application.Sheets().FieldDescriptors()`获取“数据录入表”中“业务员”单选项字段的描述符,进而读取其现有的选项列表(`Select.Items`)。每个选项通常包含 `value`(显示文本) 和 `colorHex` (颜色值) 等属性。

`Application.Sheets().FieldDescriptors()`用法指路链接:

https://open.wps.cn/documents/app-integration-dev/guide/dbsheet/Api/SelectField_Items

  • 4、比较差异并生成新选项列表

将通过步骤2得到的业务员集合与步骤3得到的现有选项集合进行对比,找出存在于基础表但不存在于当前单选项中的值,这些就是需要新增的选项。

  • 5、更新单选项字段

这是最关键的一步。脚本为每个需要新增的选项生成一个随机的浅色系颜色,然后构建符合要求的选项对象(包含 `value``colorHex`),并将其添加到从字段描述符中获取的 `Items`数组末尾。最后,通过 `prop.Items = Items``fieldKeys.Apply()`这两行代码,将新的选项列表应用回字段,完成更新。

脚本编辑器运行结果

有新增选项的长这样(blingbling~

不用新增选项的长这样(blingbling~

三、自动化流程

四、自动化流程运行输出示例

重点说明

该自动化流程+AirScript脚本只有新增逻辑,无删除逻辑,也就是说:

1️⃣当基础档案表中业务员文本内容被删除时,数据录入表的单选项内容不会同步删除;

举例:基础档案表中业务员有“小林”“大林”“林林”共3个,数据录入表的单选项内容同样也有这3个选项,当基础档案表中业务员删除“大林”时,数据录入表的单选项内容依然存在“大林”选项;

2️⃣当基础档案表中业务员文本内容被修改时,数据录入表的单选项内容不会同步修改,而是新增1个选项;

举例:基础档案表中业务员有“小林”“大林”“林林”共3个,数据录入表的单选项内容同样也有这3个选项,当基础档案表中业务员“林林”修改为“林子”,即“小林”“大林”“林子”共3个文本,此时数据录入表的单选项为“小林”“大林”“林林”“林子”共4个。

广东省
浏览 322
2
2
分享
2 +1
6
2 +1
全部评论 6
 
办公助手
这个我之前搞过,确实不能删除单选项,一旦删除,之前填写的内容就变成空了
· 江苏省
回复
bokuto
涉及删除数据还是得谨慎点删除数据之前可能需要检查下单选项在表中有没有用到,有记录使用的话就不能删~
· 广东省
回复
 
云上
学习
· 福建省
回复
bokuto
· 广东省
回复
 
大圣
大圣

创作者俱乐部成员

好详细
· 湖北省
回复
bokuto
· 广东省
回复