Appearance
记录的类型转换
概述
在使用自动化,脚本创建
更新
数据表记录时,需要设置创建和更新的字段,对于不同字段类型,可接受的数据格式都有所区别,下面会针对每一种字段类型单独介绍在创建和更新时可以接受的数据格式。
注意事项
使用脚本或者自动化创建、更新、删除记录不会触发监听器
使用场景
- 脚本中创建记录:系统会自动将非本类型的字段尝试转换为本字段类型后创建记录
- 脚本中更新记录:系统会自动将非本类型的字段尝试转换为本字段类型后更新记录
- 自动化中创建记录:系统会自动将非本类型的字段尝试转换为本字段类型后创建记录
- 自动化中更新记录:系统会自动将非本类型的字段尝试转换为本字段类型后更新记录
字段类型
单行文本
接收类型为:String,Integer,Double,Date,Boolean,Object
说明:对于非String类型的数据,系统会自动将其转换为字符串存储
示例:
"Test"
100
1.5
new Date();
true
{"id":"001"}
多行文本
接收类型为:String,Integer,Double,Date,Boolean,Object
说明:对于非String类型的数据,系统会自动将其转换为字符串存储
示例:
"Test"
100
1.5
new Date();
true
{"id":"001"}
富文本
接收类型为:String,Integer,Double,Date,Boolean,Object
说明:对于非String类型的数据,系统会自动将其转换为字符串存储
示例:
"Test"
100
1.5
new Date();
true
{"id":"001"}
复选和开关
接收类型为:Boolean,Integer,String
说明:对于String类型,如果为true
1
则转换为true,否则为false;如果为Integer类型,大于0则转换为true 否则转换为false
示例:
"true"
"1"
false
true
0
1
整数
接收类型为:Integer,String,Date
说明:如果为String类型,系统会自动尝试转换为整数,如果失败则为null
,如果为Date类型,则自动转换为时间戳
示例:
"1"
1
new Date();
小数
接收类型为:Double,Integer,String,Date
说明:如果为String类型,系统会自动尝试转换为小数,如果失败则为null
,如果为Date类型,则自动转换为时间戳
示例:
"1.5"
1
2.1
new Date();
评分
接收类型为:Integer,String
说明:如果为String类型,系统会自动尝试转换为整数,如果失败则为0
,取值范围为0-10;如果取值不在范围内,则系统会报参数错误。
示例:
"1"
1
日期
接收类型为:Integer,String,Date,Double
说明:对于非Date类型的数据,系统会按照如下规则进行转化。如果为Integer、Double类型,会按照日期的毫秒数转换为日期
如果为String类型,先判断是否可以转化为Integer,如果可以转化则按照Integer类型进行转化;
如果转化失败,则尝试按照UTC日期格式(yyyy-MM-dd'T'HH:mm:ss)进行转化
如果转化失败,则按照如下日期格式进行转化
格式为:yyyy-MM-dd HH:mm:ss
, yyyyMMdd HH:mm:ss
, yyyy/MM/dd HH:mm:ss
, yyyy-MM-dd HH:mm
, yyyyMMdd HH:mm
, yyyy/MM/dd HH:mm
,yyyy-MM-dd
, yyyyMMdd
, yyyy/MM/dd
示例:
new Date();
2022-12-01 00:00:00
20221201 00:00:00
2022/12/01 00:00:00
2022-12-01 00:00
20221201 00:00
2022/12/01 00:00
2022-12-01
20221201
2022/12/01
//毫秒数
1672228625732
时间
接收类型为:String
说明:对于非String类型的数据,系统会自动将其转换为字符串存储
示例:
00:00:00
附件(单个)
接收类型为:TableAttachment
示例:
text
${
{
"name": "1.txt",
"size": 100,
"id": "3c4caa9ec4ba46579eb75113ea247222.txt",
"thumbnail": "3c4caa9ec4ba46579eb75113ea247222.txt",
"md5": "d41d8cd98f00b204e9800998ecf8427e",
"path": "k9hkutyiiutib/skt92kcpz6uer/3c4caa9ec4ba46579eb75113ea247222.txt"
}
}
附件(多个)
接收类型为:Array<TableAttachment>
示例:
text
${
[
{
"name": "1.txt",
"size": 100,
"id": "3c4caa9ec4ba46579eb75113ea247222.txt",
"thumbnail": "3c4caa9ec4ba46579eb75113ea247222.txt",
"md5": "d41d8cd98f00b204e9800998ecf8427e",
"path": "k9hkutyiiutib/skt92kcpz6uer/3c4caa9ec4ba46579eb75113ea247222.txt"
}
]
}
列表选择(单选)
接收类型为:String
说明:传递选项标识符
示例:
有性别字段的选项如下:
名称 | 标识符 |
---|---|
男 | male |
女 | female |
male
列表选择(多选)
接收类型为:Array<String>
说明:传递选项标识符数组
示例:
text
${["male", "female"]}
级联选择(单选)
接收类型为:Array<String>
示例:
text
${["广东省", "深圳市"]}
级联选择(多选)
接收类型为:Array<Array<String>>
示例:
text
${
[
["广东省", "深圳市", "南山区"],
["广东省", "深圳市", "福田区"]
]
}
树形选择(单选)
接收类型为:String
说明:传递选项标识符
示例:
01
树形选择(多选)
接收类型为:Array<String>
说明:传递选项标识符数组
示例:
text
${["s1", "s2"]}
用户选择(单选)
接收类型为:String,TableAccountSimple
说明:如果为String类型,系统会认为是账号ID
示例:
用户选择(多选)
接收类型为:Array<String>,Array<TableAccountSimple>
说明:如果数组里面的数据类型是String类型,系统会认为是账号ID
示例:
部门选择(单选)
接收类型为:String,TableDepartmentSimple
说明:如果为String类型代表部门的标识符
示例:
部门选择(多选)
接收类型为:String,TableDepartmentSimple
说明:Array<String>,Array<TableDepartmentSimple>
示例:
颜色
接收类型为:String
说明:颜色编码
示例:
#8E1212
rgb(171, 42, 42)
手写签名(单选)
接收类型为:TableSignature
说明:TableSignature
见手写签名字段描述
示例:
text
${
{
"id": "6810a6f92c0846e2910672a2a6f69e78.jpg",
"accountId": "x38s0fa436v69",
"accountName": "李思明",
"uploadTime": 1672129509967
}
}
手写签名(多选)
接收类型为:Array<TableSignature>
说明:TableSignature
见手写签名字段描述
示例:
text
${
[
{
"id": "6810a6f92c0846e2910672a2a6f69e78.jpg",
"accountId": "x38s0fa436v69",
"accountName": "李思明",
"uploadTime": 1672129509967
}
]
}
地理位置坐标
接收类型为:TableCoordinate
说明:TableCoordinate
见地理位置坐标字段描述
示例:
text
${
{
"lng":114.057201,
"lat":22.538136,
"address":"广东省深圳市福田区福田站"
}
}
关联记录
接收类型为:String
说明:关联记录配置里指定的关联记录存储的字段(默认是ID)
示例:
target-record-id
子对象
接收类型为:String
说明:父节点的完整路径
示例:记录A的父记录B的ID为b,记录B的父记录C的ID为c,记录C没有父记录,那么A记录子对象字段存储的数据为c.b
,B记录子对象字段存储的数据为c
,C记录子对象字段存储的数据为空
关联列表汇总
接收类型为:Integer,Double
说明:存储的汇总数值
示例:
12.56
查找汇总
接收类型为:Integer,Double
说明:存储的汇总数值
示例:
12.56
编号
接收类型为:String
说明:编号是自动计算出来的,存储的数据格式是字符串(自动化或脚本可以修改)
示例:
1
子对象编号
接收类型为:String
说明:子对象编号是自动计算出来的,存储的数据格式是字符串(自动化或脚本可以修改)
示例:
1.1.1
创建时间
同日期
字段
最后修改时间
同日期
字段
创建人
接收类型为:String
说明:创建人存储的时账号ID
最后修改人
接收类型为:String
说明:创建人存储的时账号ID
列表类型的字段传值
在自动化的更新记录
步骤中对于查找列表
关联列表
子对象
这三种列表类型的字段,保存时可能会有新增
编辑
删除
三种动作发生,如果向这三种类型的字段传递Array<Object>类型的数据时会根据Object
中的id
字段和$deleted
字段进行判断,具体判断规则如下
- 如果
id
不等于null
,则会执行子表数据的更新动作 - 如果
$deleted
属性等于true,并且id
不等于null
,则会执行删除子表数据的动作 - 如果
id
等于null
,则会执行子表数据的插入动作
列表型字段使用示例
text
${
[
{ name: '张三', age: 100 },//插入子表
{ id: 1, name: '张三', age: 100 },//更新子表
{ id: 1, $deleted: true, name: '张三', age: 100 }//删除子表
]
}
在脚本中对于查找列表
关联列表
子对象
这三种列表类型的字段需要单独处理