# 表单设置：字段联动—公式联动

来源快照：`result_data_new_260518.json`

- 来源 ID：`1967626077037170945`
- 模块：低代码平台e-builder
- 目录：专题学习 - 功能点专题 - 表单建模
- space ID：`1157961794811633670`
- 原文链接：未提供
- 产品基线：未提供

## 正文

**1.****场景说明**

在许多行业的业务场景中，有些数据之间存在着某种关联的运算关系，比如在专利管理中，专利的有效截止日期，与专利类型相挂钩，发明专利的有效期是20年，外观设计专利的有效期是15年，新型实用专利的有效期是10年。在我们的低代码平台专利管理解决方案中，登记专利时，系统会根据专利类型和专利申请日期，自动计算有效截止日期。像这样表单填报时根据某种运算规则自动计算字段值功能可以通过表单设计器的函数公式或者字段联动实现。

  


展示效果如下图所示：

![](https://weapp.eteams.cn/papi/file/preview?fileId=1157706858588348441&type=redirect&customParam=%7B%22isExtDist%22%3Atrue%2C%22distributeId%22%3A%22%22%2C%22externalId%22%3A%22%22%2C%22appId%22%3A%22%22%7D)

  


**2.****功能简介**

在表单填报时数据自动计算的功能可通过函数公式或字段联动实现，二者的核心都是函数公式设计器的使用，区别在于功能入口、触发时机、生效范围和具体公式的不同。如图1所示：

 ![](https://weapp.eteams.cn/papi/file/preview?fileId=1157706862810497030&type=redirect&customParam=%7B%22isExtDist%22%3Atrue%2C%22distributeId%22%3A%22%22%2C%22externalId%22%3A%22%22%2C%22appId%22%3A%22%22%7D)

图1 函数公式和字段联动-公式联动的区别

  


函数公式设计器提供了大量的变量和函数，并且提示每个函数的使用方式。本专题中主要使用了**日期函数DATEADD** 和**逻辑函数IF** ，分别用于日期增加和条件判断。更多函数公式可点击查看。

  


**3.****操作说明**

**1、函数公式实现：**

（1）进入专利登记表的表单设计器，选择有效截止日期日期组件，鼠标悬浮在该组件【组件设置-布局属性-函数公式】的添加图标上，可选择**当前表单已有的函数公式（包括在其他布局创建的）** ，或新建函数公式，如图2所示：

![](https://weapp.eteams.cn/papi/file/preview?fileId=1157706862710718482&type=redirect&customParam=%7B%22isExtDist%22%3Atrue%2C%22distributeId%22%3A%22%22%2C%22externalId%22%3A%22%22%2C%22appId%22%3A%22%22%7D)

图2 函数公式入口

本专题中选择新建公式，打开函数公式设计器，如图3所示：

![](https://weapp.eteams.cn/papi/file/preview?fileId=1157706862849761298&type=redirect&customParam=%7B%22isExtDist%22%3Atrue%2C%22distributeId%22%3A%22%22%2C%22externalId%22%3A%22%22%2C%22appId%22%3A%22%22%7D)

图3 函数公式设计器

（2）根据字段自动计算规则梳理运算逻辑，设计函数公式：

在本场景中，专利有效截止日期的值为根据专利类型的不同，将专利申请日期加上不同的年限。核心操作为日期的增加运算，所以先选择一个日期函数DATEADD，根据提示其使用方法：

DATEADD(日期,数值 , [单位])

对日期加减按照单位加减。单位默认为日，可选单位：年Y、月M、日D、时H、分I、秒S。

即**DATEADD（专利申请日期，年限，'Y')** ，可通过按钮点击添加函数和变量，如图4所示：

![](https://weapp.eteams.cn/papi/file/preview?fileId=1157706866977693708&type=redirect&customParam=%7B%22isExtDist%22%3Atrue%2C%22distributeId%22%3A%22%22%2C%22externalId%22%3A%22%22%2C%22appId%22%3A%22%22%7D)

图4 添加函数和变量

  


由于不同类型的专利拥有不同的有效期，在添加数值这里需要嵌套一个IF函数实现条件判断，IF函数的使用方法为：

IF(条件, 表达式1, 表达式2)

如果条件为真，则执行表达式1，为假则执行表达式2。条件中不可嵌套使用IF函数。

即**IF（专利类型＝＝发明专利，２０，IF（专利类型＝＝外观设计专利，１５，１０））** ，判断条件是否成立要使用**逻辑运算符＝＝** ，而不是赋值运算赋＝，如图5所示：

![](https://weapp.eteams.cn/papi/file/preview?fileId=1157706867005685795&type=redirect&customParam=%7B%22isExtDist%22%3Atrue%2C%22distributeId%22%3A%22%22%2C%22externalId%22%3A%22%22%2C%22appId%22%3A%22%22%7D)

图5 DATEADD函数的数值参数嵌套IF函数

  


  


**２、字段联动实现**

（1）在后台管理表单配置模块，打开【专利登记表单－表单设置－字段联动】页面，点击【新建联动】创建字段联动，如图7所示：

![](https://weapp.eteams.cn/papi/file/preview?fileId=1157706866977693742&type=redirect&customParam=%7B%22isExtDist%22%3Atrue%2C%22distributeId%22%3A%22%22%2C%22externalId%22%3A%22%22%2C%22appId%22%3A%22%22%7D)

图7  字段联动-公式联动功能入口

  


联动方式选择公式联动，如图8所示：

![](https://weapp.eteams.cn/papi/file/preview?fileId=1157706871389364288&type=redirect&customParam=%7B%22isExtDist%22%3Atrue%2C%22distributeId%22%3A%22%22%2C%22externalId%22%3A%22%22%2C%22appId%22%3A%22%22%7D)

图8 选择联动方式为公式联动

  


（2）填写联动名称，添加触发动作为：载入时、创建数据时、值改变时：专利类型、值改变时：申请日期，如图9所示：

![](https://weapp.eteams.cn/papi/file/preview?fileId=1157706871417208998&type=redirect&customParam=%7B%22isExtDist%22%3Atrue%2C%22distributeId%22%3A%22%22%2C%22externalId%22%3A%22%22%2C%22appId%22%3A%22%22%7D)

图9 添加触发动作

  


设置生效范围，若生效维度为当前表单则对当前表单的所有布局都生效，若生效维度为表单布局，则只对指定表单布局生效，如图10所示：

![](https://weapp.eteams.cn/papi/file/preview?fileId=1157706871417209122&type=redirect&customParam=%7B%22isExtDist%22%3Atrue%2C%22distributeId%22%3A%22%22%2C%22externalId%22%3A%22%22%2C%22appId%22%3A%22%22%7D)

图10 设置生效范围

  


（3）点击下一步，新增公式，打开函数公式中设计器，区别于表单设计器中可直接设计运算公式，这里的运算公式还需要指定赋值字段，即**有效截止日期=运算公式** ，如图11所示：

![](https://weapp.eteams.cn/papi/file/preview?fileId=1157706875600445512&type=redirect&customParam=%7B%22isExtDist%22%3Atrue%2C%22distributeId%22%3A%22%22%2C%22externalId%22%3A%22%22%2C%22appId%22%3A%22%22%7D)

图11 设置字段联动的函数公式
