查询单条数据节点
1. 简介
1.1 功能简介
查询单条数据,可以利用查询条件和数据排序来定位、查询出目标表单中的某条数据,且查询结果(包括查询出的数据条数)支持被后续执行节点多次调用。
1.2 应用场景
该节点主要用于查询出某条数据,供后续节点进行条件判断、新增、删除、修改等操作的场景。如:
- 在客户管理中,当新增联系人时,查询客户表中是否存在对应客户,若查询出的数据条数为 0 ,则说明客户不存在,需要新建一条客户信息;
- 在订单管理中,当订单提交时,查询库存数量,当库存数量大于订单所需数量时,新建一个出库单;否则,向负责人发起通知,提示库存不足。
1.3 预期效果
以客户管理场景为例,当新增联系人时,查询客户表中是否存在对应客户信息,若不存在,则新建一条客户记录。效果如下图所示:
2. 设置步骤
2.1 添加节点
根据业务需求,在已有节点后添加一个查询单条数据节点:
2.2 选择目标表单
目标表单是指,查询单条数据节点获取数据的表单,支持选择当前应用以及跨应用的表单:
2.3 添加查询条件
查询单条数据节点仅能从目标表单中查询出单条数据。因此,当目标表单中的数据较多时,可以根据需求添加查询条件,使其仅查询出符合特定条件的数据。
查询条件需要设置的内容及说明如下:
- 多个条件的关系:当存在多个查询条件时,可以选择满足「所有」或「任一」条件;
- 所有:查询条件之间的关系为「且」,仅查询出满足所有条件的数据;
- 任一:触发条件之间的关系为「或」,可查询出满足任一条件的数据;
- 目标表单字段:选择目标表单中的字段,或部分系统字段(提交人、提交时间、更新时间、流程状态);
- 过滤关系:根据目标表单的字段类型,设置不同的过滤关系,如等于/不等于、包含/不包含、为空/不为空等;
- 过滤值:可选择「节点字段值」、「自定义」或「空值」,选择自定义时,字段值需手动输入。
注:
1)不同类型的目标表单字段可设置的过滤关系与过滤值不同。如需使用子表单字段作为过滤值,则需要将过滤关系设置为「等于任意一个/不等于任意一个/同时包含/包含任意一个」,详情参见:过滤值说明;
2)支持引用字段值的前置节点包括:触发节点、查询单条/多条数据节点、新增数据(单条/多条)、计算节点和插件节点。其中,当触发方式为「定时触发 >> 自定义时间」时,不可引用触发节点的字段值;
3)目标表单中的部分字段不能设置查询条件,包括:分割线、查询、选择数据、手机、微信头像、文字识别、按钮、当前节点以及当前负责人。
2.4 设置排序规则
若添加了排序规则,查询单条数据节点在查询目标表单数据时,将按照排序规则,取排序后的第一条数据。排序规则设置如下:
- 排序字段:支持按照多个字段对数据进行排序,可选字段类型如下:
- 表单字段:单行文本、数字、日期时间、单选按钮组、下拉框、流水号、聚合计算
- 系统字段:提交时间、更新时间、微信 OpenID、微信昵称、扩展字段
- 排序顺序:支持设置为「升序」或「降序」
注:
1)每个字段只能被添加为排序规则一次,且最多支持添加 5 个排序规则;
2)若未添加排序规则,查询单条数据节点在查询目标表单数据时,将随机获取一条数据。
3. 注意事项
3.1 通用说明
当「查询单条数据节点」的查询结果被后续执行节点调用时,若查询结果为空,则会对后续节点的执行效果产生影响,详情参见:执行节点详解。
3.2 调用「数据条数」变量
在调用「查询单条数据节点」的查询结果时,该节点会提供一个可作为单值的数字类型字段的节点变量「数据条数」供调用,且变量值为查询出的数据条数。具体说明如下:
1)调用说明
「数据条数」为动态值,会始终获取最新查询出的数据总数。即,如果查询单条数据节点在一次执行中,查询出了 1 条数据,但随后这条数据被删除,节点能够查询出的数据条数为 0,则调用数据条数变量时,变量值为 0。
2)场景举例
以同步客户信息为例,在新增联系人时,查询客户表中是否存在对应客户。在 条件分支节点 中,通过调用「数据条数」变量来判断客户是否存在,并依据判断结果,进行相应的新增/更新客户信息操作:
- 若查询出的数据条数为 0,则说明客户不存在,需要新建一条客户信息;
- 若查询出的数据条数不为 0,则说明客户存在,需要更新对应客户信息;
则,「数据条数」变量的调用方式如下图所示: