Skip to content

记录的类型转换

概述

在使用自动化,脚本创建 更新数据表记录时,需要设置创建和更新的字段,对于不同字段类型,可接受的数据格式都有所区别,下面会针对每一种字段类型单独介绍在创建和更新时可以接受的数据格式。

注意事项

使用脚本或者自动化创建、更新、删除记录不会触发监听器

使用场景

  • 脚本中创建记录:系统会自动将非本类型的字段尝试转换为本字段类型后创建记录
  • 脚本中更新记录:系统会自动将非本类型的字段尝试转换为本字段类型后更新记录
  • 自动化中创建记录:系统会自动将非本类型的字段尝试转换为本字段类型后创建记录
  • 自动化中更新记录:系统会自动将非本类型的字段尝试转换为本字段类型后更新记录

字段类型

单行文本

接收类型为: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 }//删除子表
    ]
}

在脚本中对于查找列表 关联列表 子对象这三种列表类型的字段需要单独处理

查找列表

关联列表

子对象

更新子对象字段