logologo
开始
手册
开发
插件
API
English
简体中文
开始
手册
开发
插件
API
English
简体中文
logologo
工作流
概述
快速开始

触发器

概述
数据表事件
定时任务
操作前事件
操作后事件
自定义操作事件
审批
Webhook

节点

概述

人工智能

大语言模型

流程控制

条件
循环
变量
并行分支
调用工作流
流程输出
延时
结束

计算

计算
日期计算
JSON 计算
JSON 变量映射

数据操作

新增数据
更新数据
查询数据
删除数据
SQL 操作

人工处理

人工处理
审批
抄送

扩展类型

HTTP 请求
JavaScript 脚本
通知
邮件发送
响应
响应消息
变量
执行记录
版本管理
高级选项

扩展开发

概述
扩展触发器类型
扩展节点类型
API 参考
Previous Page结束
Next Page日期计算

#计算

计算节点可以对一个表达式进行求值,计算结果会保存在对应节点的结果中,以供后续其他节点使用。是一种用于计算、处理和转换数据的工具,一定程度上,可以代替编程语言中对一个值计算函数调用并赋值给变量的功能。

#创建节点

在工作流配置界面中,点击流程中的加号(“+”)按钮,添加“计算”节点:

计算节点_添加

#节点配置

计算节点_节点配置

#计算引擎

计算引擎规定了表达式支持的语法,目前支持的计算引擎有 Math.js 和 Formula.js,引擎各自都内置了大量的常用函数和数据操作的方法,具体的用法可以参考其官方文档。

提示

需要注意的是,不同引擎在数组下标访问上有所区别,Math.js 的索引是从 1 开始,而 Formula.js 是从 0 开始。

另外如果是需要简单的字符串拼接,可以直接使用“字符串模板”,该引擎会将表达式中的变量替换为对应的值,然后返回拼接后的字符串。

#表达式

表达式即一个计算公式的字符串表达,可以由变量、常量、计算符和支持的函数等组成。可以使用流程上下文的变量,例如计算节点的前置节点的结果,或者是循环的局部变量等。

表达式输入不符合语法时会在节点配置中提示错误,如果在具体执行时变量不存在或者类型不匹配,又或者使用了不存在的函数,计算节点会以出错的状态提前终止。

#示例

#计算订单总价

通常一个订单内可能有多个商品,每个商品的价格和数量都不同,订单的总价需要计算所有商品的价格和数量的乘积之和。可以在加载订单明细列表(对多关系数据集)之后使用计算节点来计算订单的总价:

计算节点_示例_节点配置

其中 Formula.js 的 SUMPRODUCT 函数可以计算两个相同长度数组每行的乘积之和,加总就可以得到订单的总价。