> ## Documentation Index
> Fetch the complete documentation index at: https://help.dingtalk.io/llms.txt
> Use this file to discover all available pages before exploring further.

# 表单公式

> 本文介绍了如何使用宜搭表单公式来提高表单填写效率、降低错误，并实现业务逻辑计算和流程自动化。包括了公式的使用场景、具体操作步骤及注意事项等。

宜搭公式可以提高表单填写效率、降低表单填写错误及自定义数据处理等。此外，宜搭公式还可以完成部分业务逻辑计算和流程自动化处理。本文介绍如何使用宜搭表单公式。

## 使用场景

* 在填写表单或修改表单数据时，可以让组件的内容根据公式自动计算得出，不需要手动填写，提高填写效率，减少填写错误。
* 在用户提交表单数据时，可用公式配置一些校验规则，在填写内容不符合规则时，不允许提交，且给出相应的错误提示。
* 在表单数据提交后，可以用公式配置业务规则，增删改其他表单的数据。

## 使用公式

你可以参考以下操作，使用宜搭公式。

1. 进入宜搭的公式编辑对话框中。

例如下图中在组件中设置公式。

<Frame>
  ![](https://yida-support.oss-cn-shanghai.aliyuncs.com/static/png/1702633770459-58fc8081-40cb-4eda-a399-18fa561f5559.png)
</Frame>

2. 在函数编辑对话框中选择 函数列表 ，然后选择需要的函数。

例如：选择文本拼接函数**CONCATENATE**。

<Frame>
  ![](https://yida-support.oss-cn-shanghai.aliyuncs.com/static/png/1702634141049-728d5a17-fbb6-4d34-8445-0b38b3173581.png)
</Frame>

3. 在左侧选择需要用到的表单字段。

例如，本文选择拼接**单行文本 1**和**单行文本 2**。

<Frame>
  ![](https://yida-support.oss-cn-shanghai.aliyuncs.com/static/gif/1702865275937-444c3661-5eb8-4ce9-bde3-f3d708230831.gif)
</Frame>

4. 函数配置完成后，单击右下角 确定 ，完成配置。

## 公式使用说明

* 在当前/所有表单字段中选择字段

公式所要用到的字段，绝大多数情况下是从 **当前表单字段** 中选择

只有 业务关联规则的函数会用到 **所有表单字段**

提醒：从当前表单字段中选择的字段是蓝色的，从所有表单字段中选择的字段是绿色的

* 运算符号

公式中，支持基本的运算操作符 +、-、\*、/

| 加 | 减 | 乘  | 除 |
| - | - | -- | - |
| + | - | \* | / |

* 函数大写。

在使用函数的时候，请用纯大写字母。输入函数时会自动联想，正确的函数会显示为紫色。

* 从当前表单字段中选择的字段是 蓝色 的，从所有表单字段中选择的字段是 绿色 （只有业务关联规则会用到所有表单字段）。
* 在使用函数的时候，请用纯大写字母。
* 公式中的逗号、括号或其他符号均需英文状态下的。
* 隐藏字段需要开启「始终提交」后才会正常参与计算。

## 常见问题

**Q：为什么组件设置公式后无法手动编辑值？**

当你的组件用公式设置了默认值，例如：组件配置公式 user()，且组件状态为普通，但提交表单时无法编辑组件内容，可以排查这个组件是否被其他组件公式引用，若被其他组件设置公式引用则不支持手动编辑值。

**Q：保存失败：表单中的公式存在循环依赖**

若出现以下截图报错提示，说明表单中的公式配置选择了当前操作公式编辑的组件

举例说明：如图有数值1、数值2 组件，当我在数值2 的配置公式里面带上了数值2，这时系统即会报错存在循环依赖

<Frame>
  ![](https://yida-support.oss-cn-shanghai.aliyuncs.com/static/png/1646358826922-66eea8ff-b893-49b7-87fc-7ca1eb98f85a.png)
</Frame>

<Frame>
  ![](https://yida-support.oss-cn-shanghai.aliyuncs.com/static/png/1646358724541-47328009-962d-4321-b17f-660913b64df7.png)
</Frame>

**Q：数据正在处理，请稍后**

表单提交、保存时，系统自动检测未运行完的公式计算，若有正在执行的公式计算，会提示用户：数据正在处理，请稍后。

**仍然继续：继续操作可能导致数据不一致，请等待数据处理完成。**

<Frame>
  ![](https://yida-support.oss-cn-shanghai.aliyuncs.com/static/png/1655102547413-704f464f-ca08-42b8-81e8-27fc07f10f93.png)
</Frame>
