- 最新动态
- 功能总览
- 产品介绍
- 计费说明
- 快速入门
-
用户指南(低代码)
- AstroZero低代码使用流程
- 授权用户使用AstroZero并购买实例
- 添加AstroZero开发者用户
- 使用AstroZero创建应用
-
使用AstroZero开发应用后端
- 应用后端开发概述
- 对象
- 事件
- 脚本
-
服务编排
- AstroZero服务编排概述
- 创建空白AstroZero服务编排
- 定制已有AstroZero服务编排
-
为AstroZero服务编排设置图元
- 为AstroZero服务编排添加子服务编排图元
- 为AstroZero服务编排添加脚本图元
- 为AstroZero服务编排添加记录创建图元
- 为AstroZero服务编排添加记录删除图元
- 为AstroZero服务编排添加记录查询图元
- 为AstroZero服务编排添加记录更新图元
- 为AstroZero服务编排添加发送邮件图元
- 为AstroZero服务编排添加发送事件图元
- 为AstroZero服务编排添加赋值图元
- 为AstroZero服务编排添加循环图元
- 为AstroZero服务编排添加跳出循环图元
- 为AstroZero服务编排添加决策图元
- 为AstroZero服务编排添加等待图元
- 为AstroZero服务编排添加BO图元
- 为AstroZero服务编排添加连接器图元
- 为AstroZero服务编排添加生成文档图元
- 管理AstroZero服务编排
- 自定义AstroZero服务编排的URL
- 触发器
- 工作流
- 定时任务
-
使用AstroZero开发应用前端
- 应用前端开发概述
-
标准页面
- AstroZero标准页面概述
- 创建空白AstroZero标准页面
- 使用模板创建AstroZero标准页面
- 为AstroZero标准页面添加组件
-
设置AstroZero标准页面组件属性
- 设置AstroZero标准页面容器组件属性
- 设置AstroZero标准页面表单组件属性
- 设置AstroZero标准页面表格组件属性
- 设置AstroZero标准页面分栏组件属性
- 设置AstroZero标准页面栅格容器组件属性
- 设置AstroZero标准页面列表视图组件属性
- 设置AstroZero标准页面表格(新)组件属性
- 设置AstroZero标准页面图片组件属性
- 设置AstroZero标准页面二维码组件属性
- 设置AstroZero标准页面分页组件属性
- 设置AstroZero标准页面模态框组件
- 设置AstroZero标准页面输入框组件属性
- 设置AstroZero标准页面下拉框组件属性
- 设置AstroZero标准页面按钮组件属性
- 设置AstroZero标准页面上传组件属性
- 设置AstroZero标准页面面包屑组件属性
- 设置AstroZero标准页面视频播放组件属性
- 添加事件实现AstroZero组件间交互
- 添加库扩展AstroZero标准页面功能
- 查看AstroZero标准页面性能
- 调测AstroZero标准页面
- 将AstroZero标准页面保存为模板
- 管理AstroZero标准页面
-
高级页面
- AstroZero高级页面概述
- 创建AstroZero高级页面
- 为AstroZero高级页面添加组件
-
设置AstroZero高级页面预置组件属性
- 设置AstroZero高级页面轮播组件属性
- 设置AstroZero高级页面图片组件属性
- 设置AstroZero高级页面文本编辑组件属性
- 设置AstroZero高级页面自定义背景框组件属性
- 设置AstroZero高级页面基本柱图组件属性
- 设置AstroZero高级页面基本折线图组件属性
- 设置AstroZero高级页面基本饼图组件属性
- 设置AstroZero高级页面水位图组件属性
- 设置AstroZero高级页面散点图组件属性
- 设置AstroZero高级页面雷达图组件属性
- 设置AstroZero高级页面仪表盘组件属性
- 设置AstroZero高级页面翻牌器组件属性
- 设置AstroZero高级页面路由导航和路由视图组件属性
- 为AstroZero高级页面添加自定义组件
- 为AstroZero高级页面组件绑定数据
- 添加事件或宏实现AstroZero高级页面组件交互
- 调测AstroZero高级页面
- 查看AstroZero高级页面性能
- 管理AstroZero高级页面
- 报表
- 使用AstroZero进行应用集成开发
- 使用AstroZero对应用进行个性化设置
- 发布并部署AstroZero开发的应用
- 管理AstroZero中已安装的应用
- AstroZero低代码平台管理中心
-
经典版开发指导
- 经典版入门必读
- 应用
- 对象
- 标准页面
- 高级页面
- 服务编排
- 脚本开发
- BPM服务编排
- API接口
- 集成开发
- 消息事件
- 触发器
- 报表和仪表板
- CICD持续集成与交付
- 服务组件(BO)
- 调测能力
- 工程能力
- 原生服务
- 其他功能
- 管理中心
- 白名单特性
- 用户指南(零代码)
- 最佳实践
- API参考
-
常见问题
- 高频常见问题
- 产品咨询类
-
应用后端开发
- 如何区分不同账户间的数据库对象?
- 在AstroZero对象中删除字段后重新创建时,引用的地方报错
- 如何刷新AstroZero对象的页面布局?
- 如何彻底删除AstroZero应用目录树中的数据?
- AstroZero自定义对象预置的owner字段,用于记录什么用户?
- AstroZero脚本支持使用哪些语言和库?
- 在AstroZero脚本中执行sql语句时,可以不用@useObject修饰数据对象吗?
- 在AstroZero脚本中,如何返回zip压缩文件内容?
- 如何通过AstroZero脚本,导出xls文件让用户下载?
- AstroZero脚本中是否支持multipart/form-data请求?
- AstroZero服务编排中涉及数据操作的脚本图元,在其他图元操作失败的情况下,是否可以回滚?
- 事件触发的AstroZero服务编排,发送事件后,服务编排没有运行?
- 在AstroZero服务编排或工作流中,引用的资源无法编辑
- 如何实现一个资源被多个AstroZero应用的服务编排调用?
- 在AstroZero服务编排中,支持跨应用引用资源吗?
- 在AstroZero服务编排、工作流或脚本中,邮件发送功能不可用?
- AstroZero开发者如何使用自己的邮箱发送邮件?
-
应用前端开发
- 在AstroZero标准页面中,如何调用服务编排或脚本?
- 在AstroZero标准页面组件较多时,如何快速选中组件?
- 表格字段太多,导致AstroZero标准页面无法完整显示,该如何处理?
- 在AstroZero标准页面中,如何实现有子表的表格?
- 在AstroZero标准页面中,如何实现下拉框选项值的筛选功能?
- 在AstroZero标准页面中,如何实现移动端上拉异步加载数据功能?
- 如何查看AstroZero标准页面的URL格式?
- 在AstroZero标准页面弹窗的onOk事件中,不想关闭弹窗该怎么处理?
- 在AstroZero中编排高级页面时,如何实现不加载组件库资源?
- 在AstroZero中自定义高级页面组件(widget)时,修改了JS文件,修改部分不生效?
- 在AstroZero组件库中,部分组件在组件详情页看不到更新和编辑入口
- 在AstroZero高级页面中,如何进行统一的HTTP状态拦截?
- 配置高级页面组件桥接器实例属性时,如何设置下拉框中的选项值?
- 在AstroZero高级页面中,如何实现所有组件都加载完成后,再执行某段逻辑?
- 在AstroZero中,如何实现多人协作开发?
- 在AstroZero运行环境中,如何实现游客访问标准页面?
- 应用发布与部署
- Astro轻应用平台管理中心
- 视频帮助
- 文档下载
- 通用参考
链接复制成功!
为AstroZero工作流添加活动类图元
活动类图元是工作流的核心图元,可理解为节点或者步骤。一个活动图元可以是流程中一个基本处理单元(如用户需要做的任务、调用事件任务),也可以是一个组合单元(如嵌套的工作流子流程)。
用户任务
用户任务用来表示业务流程中由用户参与完成的工作。当引擎处理到该节点时,给指定的用户(参与者)或者一组用户(如某泳道的工作队列)创建待处理的任务项,等待用户的处理。
- 用户任务配置:在用户任务配置界面,配置任务接收人和活动界面。
图1 用户任务配置页面
- 任务标题:显示在任务界面的标题。
- 任务描述:显示在任务界面的任务描述。
- 优先级:在下拉框中,选择任务的优先级,如正常、高和低等。
- 渲染类型:用户处理的界面,可以是标准页面、标准表单或高级页面。当配置为标准表单时,需要配置用户可执行的动作(例如同意或拒绝)。如何创建标准表单,请参见创建标准表单。
- 类型:待处理任务的用户类型。
- 当前泳道:设置为“当前泳道”,将泳道和工作队列绑定,则处于该泳道的用户任务图元,由该泳道对应工作队列中的成员去处理。工作队列中的成员可以是多个用户、业务用户、公共组中成员、角色或带有下属的角色中成员。
- 流程发起人的主管:设置为“流程发起人的主管”时,需要配置“部门经理层级”,即主管所属的部门。
- 名称和表达式:设置为“名称和表达式”时,可以通过“表达式”、“用户”和“组”三种方式分配该任务的参与者。这时,泳道中的工作队列配置不起作用。
- 基于规则:当配置为该类型时,需要配置具体的“规则”。
- 参与者:当类型为“名称和表达式”时,该参数才会显示。参与者类型可以是用户、业务用户、组或者表达式。
- 用户:在“取值”中,选择接收该任务的用户,不包括业务用户。
- 业务用户:在“取值”中,选择接收该任务的业务用户。
- 组:在“取值”中选择公共组,则该任务由公共组的成员去处理。公共组的成员可以是用户、业务用户、其他公共组的成员、角色或带有下属的角色中成员。如何创建公共组,请参见管理应用中的公共组。
- 表达式:将参与者类型配置为“表达式”时,实际是一个变量。在“取值”中,可设置变量的值,变量值支持以下几种:
- 用户的用户名或用户ID,其中用户名前需要加“user:”前缀。
- 业务用户的用户名或业务用户ID,其中业务用户名前需要加“puser:”前缀。
- 公共组名称或者公共组ID,其中公共组名称前需要加“group:”前缀。
- 角色名称或者角色ID,其中角色名称前需要加“role:”前缀。
例如,分配任务接受者为用户名为“PortalUser1”的业务用户、用户名为“User1”的用户、用户ID为“10XX000000XXXXXXX”的用户、公共组名称为“group1”和角色名称为“role1”的合集,则取值为“"puser:PortalUser1,user:User1,10XX000000XXXXXXX,group:group1,role:role1"”。多个取值之间用英文逗号“,”分隔,取值外加英文双引号。
- 规则:接收人满足的规则。类型为“基于规则”时,该参数才会显示。
- 审批类型:选择审批的类型。
- 如果选择了“或签:任一个分配人均可审批”,则只需要接收人中的某一用户完成了审批,即可推动任务流程,走向下一个任务。
- 如果选择了“会签:每个分配人都需要审批”,则需要接收人中的用户群体满足您设置的审批条件才可推动任务流程,走向下一个任务。
- 如果审批人中包含群组,则群组中任意一人审批即认为该群组已经审批。当审批类型为“会签:每个分配人都需要审批”时,该参数才会显示。
- 勾选,表示如果审批人中包含群组,则群组中任意一人第一个审批即认为该群组已经审批,不需要其他用户再进行审批,该群组只算一个有效审批人数。
- 不勾选,表示如果审批人中包含群组,则群组中每个人都需要审批,都计算在有效审批人数内。
- 投票结果门槛:该参数取值表示百分比,如果达到设置的百分比,审批结果中最高的得票结果将覆盖 “$BP.TaskOutcome”系统变量,即将执行最高得票的审批结果。
- 默认结果:审批百分比(已审批的人数/总的有效审批人数)未达到“投票结果门槛”百分比时,默认的审批结果。当审批类型为“会签:每个分配人都需要审批”时,该参数才会显示。
- 结果触发方式:当审批类型为“会签:每个分配人都需要审批”时,该参数才会显示。
- 当最小百分比满足时,立即触发投票结果。
- 等待所有投票完成,触发投票结果。
- 审批动作:设定一些候选的动作,作为默认审批结果。
- 当存在以下动作时立即终止任务:当存在设定的某个或者某些动作时,立即终止任务。
- 自动审批:AstroZero支持用户任务自动审批功能,例如设置“主管审核”任务自动审批。在用户任务配置界面,指定该任务具体接收人,可使用表达式的形式将任务指派给某一用户,在自动审批中进行设置。
图2 自动审批设置
- 流程触发人自动通过:如果勾选该选项,任务接收人是流程触发人时,该用户任务会被自动审批。
- 已审批过该流程的审批人自动通过:如果勾选该选项,任务接收人在当前工作流实例中已审批过其他用户任务,则该用户任务会被自动审批。
当任务接收人设置为“当前泳道”对应的工作队列或用户组时,将无法使用自动审批功能。只有任务接收人设置为某一用户时,才可以进行自动审批。
- 自动审批时默认选择的动作:勾选自动审批时,可以设置自动审批默认选择的动作。
- 动作配置:为该用户任务配置前置或者后置动作。
图3 动作配置
- 前置动作:流程执行该用户任务前执行的动作。
- 触发条件:触发该动作的条件表达式。
- 动作类型:满足触发条件时,执行的具体动作。
- 通知经理:发邮件通知经理。
- 通知分配人:发邮件通知任务分配人。
- 调用服务编排:调用已启用的服务编排。
- 调用脚本:调用已激活的脚本。
- 发送事件:发送某一事件。
- 转移:将该用户任务转移给其他用户或工作队列中的用户处理。
- 设置状态:设置该用户任务的状态。
- 完成任务:完成某一任务,超期会自动完成任务。
- 后置动作:流程执行该用户任务后,执行的动作,请参考“前置动作”进行配置。
- 前置动作:流程执行该用户任务前执行的动作。
- 数据映射:对该用户任务的输入输出参数,进行数据映射。
图4 数据映射
- SLA:为用户任务设置定时器,时间逾期可增加紧急程度并执行相应动作。
图5 启用SLA定期器
- 开始时间:定时器的开始时间。
- 任务创建后:设置任务创建的时间作为定时器开始的时间。
- 由变量指定:通过指定时间变量,来确定开始时间。
- 由表达式指定:通过表达式指定开始时间,例如支持特定时间的相对时间,设置为“STRING2TIME('yyyy-MM-dd hh:mm:ss.S', {!variable1})”。动态指定时间的相对时间,设置为“TIMEADD({!$Flow.CurrentDateTime}, 100)”。
- 目标期限:任务在目标期限内且即将过期时,满足触发条件后触发一个指定的动作。
- 截止限期:任务过期,满足触发条件后触发一个指定的动作。
- 紧急程度:定时器的紧急程度。
- 动作:时间逾期后执行的相应动作。单击“添加”,可以新增动作。
- 触发条件:触发该动作的条件表达式。
- 动作类型:满足触发条件时,执行的具体动作。
- 通知经理:发邮件通知经理。
- 通知分配人:发邮件通知任务分配人。
- 调用服务编排:调用已启用的服务编排。
- 调用脚本:调用已激活的脚本。
- 发送事件:发送某一事件。
- 转移:将该用户任务转移给其他用户或工作队列中的用户处理。
- 设置状态:设置该用户任务的状态。
- 赋值:给用户的任务赋值。
- 完成任务:完成某一任务,超期会自动完成任务。
- 开始时间:定时器的开始时间。
记录创建
“记录创建”图元用于新增平台对象的实例记录,类似于数据库中的INSERT INTO命令。系统提供了以下两种模式,新增对象实例记录:
- 对象模式:需要先单击
,在“对象变量”中定义一个对象变量或者对象变量数组,将该对象变量或对象变量数组拖拽到“变量”输入框中,使用该对象变量或对象变量数组的值,创建实例记录。
图6 对象模式创建 - 条件模式:需要先指定对象并为对象的字段赋值,来创建记录。如下图所示,为“Account”对象新增实例记录,在变量“id”中保存新建的记录ID。
图7 条件模式创建
记录查询
“记录查询”图元用于根据条件查询平台对象的实例记录,类似于数据库中的SELECT命令。系统提供了以下两种模式,查询对象实例记录:
- 对象模式:需要先单击
,在“对象变量”中定义一个对象变量或者对象变量数组,将该对象变量或对象变量数组拖拽到“变量”输入框中,并设置条件以及选择排序方式,即可实现根据条件和排序方式,将查询结果保存在对象变量中。如下图所示,根据条件查询对象数据,并将查询结果保存在对象变量数组“account”中。
图8 对象模式查询 - 条件模式:需要指定对象并在条件中设置指定对象部分字段的值,根据条件查询符合条件的对象记录,并赋值到设置的变量上。
图9 条件模式查询
- 对象:查询的具体对象名,直接在下拉框中选择。
- 剔重:如果查询记录有重复值,是否需要删掉重复记录只保留一条记录。
- 条件:选中对象后,该条件区域“字段”列会出现该对象的字段。单击“新增行”,可设置查询数据的条件。
在“字段”中选择要进行判断的对象字段,在“比较符”中选择相应的比较符,“值”则可从全局上下文拖拽变量或者直接输入“{!变量名}”。
- 排序字段/顺序:使查询结果根据某个字段进行升序或者降序排序。
- 记录行的偏移量:分页,跳过前“n”条记录,从第“n+1”条记录开始。
- 记录行的最大数目:分页,每页最多显示的记录数。
- 记录的总行数存入变量:限定查询出来的总记录数,存入变量中。
- (输出)源/目标:输出的结果。其中,“源”为需要查询的字段,查询结果需要保存到设置的变量中,“目标”为设置的变量。
- 无记录时配置空值:当根据条件查询无记录时,则变量为空值。
记录更新
“记录更新”图元用于更新平台对象的实例记录,类似于数据库中的UPDATE命令。系统提供了以下两种模式,更新对象实例记录:
- 对象模式:需要先单击
,在“对象变量”中定义一个对象变量或对象变量数组,并将该对象变量或对象变量数组拖拽到“变量”输入框中,即可根据对象变量中的记录ID将对象变量更新到数据库中,更新的值来源于对象变量中的值。如下图所示,根据对象变量数组“account”中的记录ID,将对象变量中的值更新到数据库中。
图10 对象模式 - 条件模式:需要指定对象并在条件中设置指定对象部分字段的值,在赋值中设置需要更新的目标字段及更新值,最后根据条件查找符合条件的对象记录并将赋值中的值更新到数据库中。
图11 条件模式
记录删除
“记录删除”图元能够删除平台对象的实例记录,类似于数据库中的DELETE命令。系统提供了以下两种模式,删除对象实例记录:
- 对象模式:需要先单击
,在“对象变量”中定义一个对象变量或者对象变量数组,并将该对象变量或对象变量数组拖拽到“变量”输入框中,使用该对象变量或对象变量数组的记录ID删除对应的对象记录。
图12 对象模式 - 条件模式:需要指定对象并在条件中设置指定对象部分字段的值,根据条件删除符合条件的对象记录。
图13 条件模式
调用脚本

工作流中只允许调用当前应用工程下的资源(例如脚本、服务编排),即调用脚本中可供选择的脚本和该工作流都处于同一应用下。
例如,工作流A中需要调用脚本B,请确保A和B处于同一应用中。如果需要调用的资源不在同一应用中,请在工作流A所在的应用中新建脚本B,或选择“使用已有脚本”导入脚本B。再在工作流A中,使用“调用脚本”图元调用该脚本。

调用服务编排
当流程到达“调用服务编排”任务时,系统自动执行服务编排,执行完成后继续执行后续路线。
使用该图元时,需要选择当前应用下具体调用的服务编排,配置输入输出参数。

规则
该图元根据决策表的配置生成一定的规则,后续根据规则的输出连接网关路由到不同的其他图元节点,当流程到达“规则”任务时,系统根据该规则路由到不同的路线。

- 规则实现
- 实现类型:规则基于决策表生成,请选择决策表类型。
- 引用:决策表的输入参数名称。此处只能使用当前项目依赖BO中,公开的及全局的已启用的决策表。
- 输入参数
- 目标:决策表的输入参数名称,直接在下拉框中选择即可。
- 源:工作流中的变量,为目标赋值。可以直接填写,也可以拖入全局上下文变量,将工作流中的变量赋值给决策表中的输入参数。
- 输出参数
- 目标:决策表的输出参数名称,直接在下拉框中选择即可。
- 源:工作流中的变量,将决策表中的输出参数赋值给工作流中的变量。
例如,在问题单流程中,问题单的工作流设计流程如下,业务的流转通过规则图元(即“步骤选择”)驱动,不同的规则输出不同的步骤取值,根据步骤取值路由到不同的步骤中。

调用活动
在工作流中,可以嵌套其他工作流。当流程到达“调用活动”任务时,系统自动执行该活动(其实是调用的另一个工作流),执行完成后继续执行后续路线。
使用该图元时,需要选择具体调用的工作流,配置输入输出参数。还可以为该任务启用SLA定期器,详情请参见SLA。

邮件
当流程到达“邮件”任务时,系统自动发送邮件,执行完成后继续执行后续路线。
使用邮件图元,需要提前配置租户的默认邮件服务器,具体操作请参考服务编排、BPM、脚本中发送邮件功能不可用。

- 邮件配置:支持“直接编辑”手动设置邮件信息或“基于模板”选择邮件模板。
- 主题:当“邮件配置”设置为“基于模板”时,需要选择邮件模板。
- 内容:当“邮件配置”设置为“直接编辑”时,需要配置邮件内容。
- 模板:当“邮件配置”设置为“基于模板”时,需要选择邮件模板。
- 地址:设置接收人的邮箱地址。
- 文本:直接输入邮箱地址,多个地址请用分号分隔,或者从全局上下文拖拽变量代表一个接收人的邮箱地址。
- 集合:可以从全局上下文拖拽集合变量,集合变量即数组型变量,表示多个接收人的邮箱地址。在定义变量时,勾选“是否为数组”,则该变量被定义为集合变量。
图21 集合变量
- 抄送:抄送人的邮箱地址。
- 密送:密送人的邮箱地址。
- 是否同步发送:是否开启同步发送功能。
数据映射
当流程到达“数据映射”任务时,进行赋值操作,执行完成后继续执行后续路线。

子流程
子流程任务是一个特殊的自动化容器任务,其内在包含了对子流程(Sub Process)的创建、启动和调度管理。
当流程到达子流程任务时,按照配置策略自动启动子流程实例,父流程的该分支中断,在这里等待子流程实例全部结束后继续执行后续路线。
子流程模型可以再包含调用子流程,成为每层嵌套的多级流程。

调用活动和子流程图元都是工作流的内嵌子流程,区别在于:
- 调用活动把子流程当做一个黑盒(不需要关注子流程是怎么实现的),通过参数传递进行调用。
- 内嵌子流程则直接在当前流程中规划出一个子流程,子流程可共享父流程的变量。可用于流程步骤的划分、封装和复用。
内嵌子流程中使用“终止”事件,只终止当前内嵌子流程。