DELETE - 删除
1. 简介
DELETE 公式用于删除目标表数据
1.1 DELETE 支持两种类型的删除
直接删除某条表单数据
删除某条表单数据中子表单组件下某条子表单下的数据(表单数据还保留)
1.2 DELETE 格式
DELETE(目标表, 主条件, 子条件)
目标表: 要删除数据的目标表单
主条件: 定位目标表下哪些数据需要删除。主条件是由逻辑函数构成。
- 由于业务关联公式暂不支持在条件中与字符串做判断,可使用 IF()公式判断后再使用业务关联公式,先做判断再去进行执行 IF(EQ(当前表单.商品名, "铅笔"),DELETE(),""),需要是这样的一个格式来做
- 其中的EQ(当前表单.商品名, "铅笔"), 无法使用目标表单的商品名字段判断, 要删除的数据是:商品名为「铅笔」的这批数据。
- 如果有多个条件,可以用AND函数组合。比如AND(EQ(当前表单.商品名, "铅笔"), GT(当前表单.存货量 , 10)) 表示要删除的数据是:商品名为「铅笔」,并且「存货量」大于 10 的那批数据。
子条件:
- 要操作的表单数据通过主条件已经确定,并且要删除该条数据下某个子表单下的数据。用子条件定位子表单下的哪些数据要更新。子条件是由逻辑函数构造。
- 如果不需要更新子表单下的值,则填"",不能不填。
- 如果子条件有配置,则主条件定位的数据不会被整条删除,而只是删除表单数据下符合条件的子表单的数据。如果子条件无配置,为"",则直接将主条件匹配的数据删除。
1.3 一些概念
主条件:一个表单下有多条数据,需要我们设置条件,来定位要操作的是哪条数据。
子条件:当我们需要删除某条表单数据中某个子表单中的某条数据时,就需要这个子条件。子条件用于定位操作的子表单下的数据。
录入表:配置高级公式,触发高级公式的表单。
2. DELETE 场景
根据录入表的普通组件删除目标表整条数据
根据录入表的子表单组件删除目标表的整条数据
根据录入表的普通组件删除目标表下的符合条件的子表单下的数据
2.1 根据录入表的普通组件删除目标表整条数据
2.1.1 使用的表单
存货表: 存货商品(单行文本)
出货表:出货商品(单行文本)
2.1.2 需求
- 存货表中保存着一批商品的信息。通过出货表将货物出掉。
- 出货表中的出货商品来自于存货表中存货商品。
- 每次出货表中出掉一件商品时,存货表中对应的商品就删除掉。
2.13 公式配置详情&公式解析
需求描述:
- 存货表中保存着一批商品的信息。通过出货表将货物出掉。
- 出货表中的出货商品来自于存货表中存货商品。
- 每次出货表中出掉一件商品时,存货表中对应的商品就删除掉。
公式配置:在出货表的业务关联规则中,配置公式如下图:
公式解析:
- 目标表:存货表
- 主条件:EQ(存货表.存货商品,出货商品)。说明出货表提交的数据中,出货商品是 A ,那么就从存货表中把存货商品为 A 的数据全部删除了
- 子条件:由于删除的是「存货表」的整条数据,不是只删除子表单下的数据,因此子条件不需要,填写""
2.2 根据录入表的子表单组件删除目标表的整条数据
2.2.1 使用的表单
出货表: 出货子表单(子表单组件)。出货子表单下有:出货商品(下拉单选)。
存货表: 存货商品(单行文本)
2.2.2 需求
出货表下有出货明细的,一次可以出货多个商品。对于出货的多个商品,把存货对应的商品数据删除掉
2.2.3 公式配置详情&公式解析
需求描述:出货表下有出货明细的,一次可以出货多个商品。对于出货的多个商品,把存货对应的商品数据删除掉
公式配置:在出货表的业务关联规则中,配置公式如下图:
公式解析:
- 目标表:存货表
- 主条件:EQ(存货表.存货商品,出货子表单.出货商品)。
- 子条件:由于删除的是表单数据,不是子表单下数据,因此子条件填写为""
3. 注意事项
- 主条件和子条件是由逻辑函数构造的。除了 AND 和 OR 之外,其他逻辑函数第一个参数必须是目标表中的组件,两个参数的位置不能调换
- 高级公式组件支持范围如下
- 能作为判断条件的组件:「单行文本」、「多行文本」、「单选」、「下拉单选」、「日期」、「成员」
- 能进行赋值的组件: 「单行文本」、「多行文本」、「数值」、「单选」、「下拉单选」、「复选」、「下拉复选」、「级联选择」、「日期」、「日期区间」、「图片上传」、「附件」、「成员」、「地址」、「关联表单」
- 删除数据条数限制
- 删除目标表主表支持100条
- 删除子表单明细支持500条明细(轻享版、专业版)
本文档对您是否有帮助?