AWS @公式参考指南

流程执行

processId

语法

@processId(businessKey)

  • 流程实例Id
  • businessKey用来表示一个外部业务系统对象的全局不重复标识,通常由外部业务维护或一组关键业务标识组合。如订单系统的订单编号。该参数作为一个可选项,在由API创建流程时被初始化,默认不启用的

参数

  • businessKey (可选)从对应该业务主键的流程实例获取Id

例子

当前流程实例Id是@processId,CRM系统A订单的流程实例Id是
@processId(ORDER-2014070888)

结果

当前流程实例Id是a6314e95-5973-4876-90c8-89586ba539c5,CRM系统A订单的流程实例Id是
8911e732-b42a-4556-853f-ad32761bcbee

processVar

语法

@processVar(*varName,contextType,contextId)

  • 流程实例变量
  • businessKey用来表示一个外部业务系统对象的全局不重复标识,通常由外部业务维护或一组关键业务标识组合。如订单系统的订单编号。该参数作为一个可选项,在由API创建流程时被初始化,默认不启用的

参数

  • varName (必选)流程变量名,注意区分大小写

  • contextType (可选)常量:id、businessKey

               - 如果值为id时,从一个流程实例Id查询流程实例
               - 如果值为businessKey时,从一个业务主键查询流程实例
    
  • contextId (可选)当contextType给定时,必填)对应contextType的值

              - 如果contextType为id,该值必须给定一个的流程实例Id
              - 如果contextType为businessKey,该值必须给定一个业务主键
    

例子

当前流程变量p1的值是@processVar(p1)

流程实例Id为999的流程变量p1的值是@processVar(p1,id,999)

业务主键为ORDER-888的流程变量p1的值是@processVar(p1,businessKey,ORDER-888)

当前流程父流程实例的变量p1值是@processVar(p1,id,@processParentId)

processTitle

语法

@processTitle(contextType,contextId)

  • 流程实例标题

参数

例子

当前流程的标题是@processTitle

流程实例Id为999的标题是@processTitle(id,999)

业务主键为ORDER-888的标题是@processTitle(businessKey,ORDER-888)

当前流程父流程标题是@processTitle(id,@processParentId)

processBusinessKey

语法

@processBusinessKey(contextType,contextId)

  • 绑定流程实例的外部业务系统主键值
  • 如果未设置BusinessKey,在创建流程实例时会默认初始化一个36位长度的字符串

参数

例子

当前流程的业务主键是@processBusinessKey

流程实例Id为999的业务主键是@processBusinessKey(id,999)

业务主键为ORDER-888的业务主键是@processBusinessKey(businessKey,ORDER-888)

当前流程父流程业务主键是@processBusinessKey(id,@processParentId)

processParentId

语法

@processParentId(contextType,contextId)

  • 父流程实例Id

参数

例子

当前流程父流程Id是@processParentId

流程实例Id为999的父流程Id是@processParentId(id,999)

业务主键为ORDER-888的父流程Id是@processParentId(businessKey,ORDER-888)

当前流程父流程Id是@processParentId(id,@processId)

当前流程父流程的父流程Id是@processParentId(id,@processParentId(id,@processId))

processParentTaskId

语法

@processParentTaskId(contextType,contextId)

  • 父流程任务实例Id

参数

例子

当前流程由父流程在任务Id为@processParentTaskId的任务中启动

processCreateUser

语法

@processCreateUser(contextType,contextId)

  • 流程实例创建人

参数

例子

当前流程由@processCreateUser创建

processCreateTime

语法

@processCreateTime(contextType,contextId)

  • 流程实例创建时间

参数

例子

当前流程在@processCreateTime时被创建

processStartTime

语法

@processStartTime(contextType,contextId)

  • 流程实例启动时间

参数

例子

当前流程在@processStartTime时被启动

processEndTime

语法

@processEndTime(contextType,contextId)

  • 流程实例结束时间

参数

例子

当前流程在@processEndTime时被结束,状态是@processStatus

processStatus

语法

@processStatus(contextType,contextId)

  • 流程实例状态
  • 常见状态参考
    • Active:活动(运行中)
    • Suspend:挂起(暂停)
    • End:结束(正常)
    • Terminate:终止+结束

参数

例子

当前流程的状态是@processStatus

processComment

语法

@processComment(*activityId,*policy,contextType,contextId)

  • 用户审批留言
  • 获得指定节点的审批留言。activityId为指定的节点Id;policy是要提取的属性,支持:time、menuName、comment、file常量,多个属性用竖线隔开
  • policy常见状态参考,多个属性用竖线隔开
    • time:审批留言的时间
    • menuName:审批留言的菜单名称
    • comment:留言内容
    • file:审批留言的附件
  • 审批留言中存放的是节点名称,根据activityId参数查到该节点和审批记录中的节点名称比对,找到第一个名称匹配的则不在继续寻找

参数

  • activityId (必选)为指定的节点Id

  • policy (必选)policy是要提取的属性,支持:time、menuName、comment、file常量,多个属性用竖线隔开

  • contextType (可选)参见@processVar参数说明

  • contextId (可选)参见@processVar参数说明

例子

当前用户的审批留言是@processComment

isProcessEnd

语法

@isProcessEnd(contextType,contextId)

  • 流程实例是否已结束,结束返回TRUE

参数

例子

当前流程结束了吗?@isProcessEnd

isSubProcess

语法

@isSubProcess(contextType,contextId)

  • 流程实例是否是子流程,是返回TRUE

参数

例子

当前流程是子流程实例吗?@isSubProcess

processCostTime

语法

@processCostTime(contextType,contextId)

  • 流程实例执行总耗时(毫秒),该值在流程结束时自动统计

参数

例子

当前流程总共耗费了@processCostTime毫秒,折合@calc(@processCostTime/1000/60)分钟

processExpireTime

语法

@processExpireTime(contextType,contextId)

  • 流程实例执行超时时间(毫秒),该值在流程结束时自动统计
  • 默认建模的流程并未设置流程合理完成时限和警告时限,在这种情况下,超时时间不被统计

参数

例子

当前流程总共超时了@processExpireTime毫秒,折合@calc(@processExpireTime/1000/60)分钟

processExt1

语法

@processExt1(contextType,contextId)

  • 流程实例扩展字段1的值
  • 该值可由SDK API设置或在流程扩展属性配置

参数

例子

processExt2

语法

@processExt2(contextType,contextId)

  • 流程实例扩展字段2的值
  • 该值可由SDK API设置或在流程扩展属性配置

参数

例子

processExt3

语法

@processExt3(contextType,contextId)

  • 流程实例扩展字段3的值
  • 该值可由SDK API设置或在流程扩展属性配置

参数

例子

processExt4

语法

@processExt4(contextType,contextId)

  • 流程实例扩展字段4的值
  • 该值可由SDK API设置或在流程扩展属性配置

参数

例子

processExt5

语法

@processExt5(contextType,contextId)

  • 流程实例扩展字段5的值
  • 该值可由SDK API设置或在流程扩展属性配置

参数

例子

processExt6

语法

@processExt6(contextType,contextId)

  • 流程实例扩展字段6的值
  • 该值可由SDK API设置或在流程扩展属性配置

参数

例子

processExt7

语法

@processExt7(contextType,contextId)

  • 流程实例扩展字段7的值
  • 该值可由SDK API设置或在流程扩展属性配置

参数

例子

processExt8

语法

@processExt8(contextType,contextId)

  • 流程实例扩展字段8的值
  • 该值可由SDK API设置或在流程扩展属性配置

参数

例子

taskId

语法

@taskId

  • 任务实例Id

参数

例子

当前任务实例Id是@taskId

taskPreTaskId

语法

@taskPreTaskId(taskInstId)

  • 前一个任务实例Id
  • 如果已经是第1个任务,返回-1

参数

  • taskInstId (可选) 从指定的任务实例中获取

例子

当前任务是由@taskPreTaskId创建的

taskPreHumanTaskId

语法

@taskPreHumanTaskId(taskInstId)

  • 前一个人工任务实例Id
  • 该操作向前寻找父任务(按实际运行的轨迹),直至寻找到最近的一个人工任务。如果没有返回-1

参数

  • taskInstId (可选) 从指定的任务实例中获取

例子

当前任务最近一个人工任务是@taskPreHumanTaskId

taskTitle

语法

@taskTitle(taskInstId)

  • 当前任务标题

参数

  • taskInstId (可选) 从指定的任务实例中获取

例子

当前任务标题是@taskTitle

前一个任务标题是@taskTitle(@taskPreTaskId)

前一个人工任务标题是@taskTitle(@taskPreHumanTaskId)

taskOwner

语法

@taskOwner(taskInstId)

  • 任务创建人账户

参数

  • taskInstId (可选) 从指定的任务实例中获取

例子

当前任务发起人是@taskOwner

前一个人工任务发起人是@taskOwner(@taskPreHumanTaskId)

taskTarget

语法

@taskTarget(taskInstId)

  • 任务执行人账户

参数

  • taskInstId (可选) 从指定的任务实例中获取

例子

当前任务办理人是@taskTarget

前一个人工任务办理人是@taskTarget(@taskPreHumanTaskId)

taskPriority

语法

@taskPriority(taskInstId)

  • 任务优先级
  • 值参考:
      - 0:低
      - 1:无
      - 2:中
      - 3:高
    

参数

  • taskInstId (可选) 从指定的任务实例中获取

例子

当前任务优先级是@taskPriority

taskStatus

语法

@taskStatus(taskInstId)

  • 任务状态
  • 值参考:
      - Active:活动(运行中)
      - Suspend:挂起(暂停)
      - Error:系统异常(非人工任务)
      - Complete:完成
      - Compensate:补偿
      - Delete:删除
      - Cancel:取消
      - Terminate:终止结束
    

参数

  • taskInstId (可选) 从指定的任务实例中获取

例子

当前任务状态是@taskStatus

taskHumanType

语法

@taskHumanType(taskInstId)

  • 人工任务的类型
  • 值参考:
      - 1:常规待办任务
      - 2:只读传阅任务【不影响流程推进】
      - 3:待办任务,从哪来回哪去
      - 4:只读等待任务,如等待作者修改
      - 9:系统通知任务【不影响流程推进】
      - 11:加签任务
    

参数

  • taskInstId (可选) 从指定的任务实例中获取

例子

当前任务类型是@taskHumanType

taskDueTime

语法

@taskDueTime(taskInstId)

  • 任务实例的执行期限
  • 该值可由SDK API设置

参数

  • taskInstId (可选) 从指定的任务实例中获取

例子

当前任务的逾期时间是@taskDueTime

taskBeginTime

语法

@taskBeginTime(taskInstId)

  • 任务实例的开始执行时间

参数

  • taskInstId (可选) 从指定的任务实例中获取

例子

当前任务开始执行时间是@taskBeginTime

taskReadTime

语法

@taskReadTime(taskInstId)

  • 任务实例的第一次阅读时间

参数

  • taskInstId (可选) 从指定的任务实例中获取

例子

当前任务由执行人第一次阅读的时间是@taskReadTime

taskEndTime

语法

@taskEndTime(taskInstId)

  • 任务实例结束时间

参数

  • taskInstId (可选) 从指定的任务实例中获取

例子

当前任务执行完毕的时间是@taskEndTime

taskCostTime

语法

@taskCostTime(taskInstId)

  • 任务实例执行耗时(毫秒),该值在任务结束时自动统计
  • 如果是人工任务,应用该账户的工作时间设置,忽略非工作时间

参数

  • taskInstId (可选) 从指定的任务实例中获取

例子

当前任务执行总耗时是@taskCostTime毫秒,折合@calc(@taskCostTime/1000/60)分钟

taskExpireTime

语法

@taskExpireTime(taskInstId)

  • 任务实例执行超时(毫秒),该值在任务结束时自动统计
  • 应用该账户的工作时间设置,忽略非工作时间
  • 默认建模的人工节点并未设置流程合理完成时限和警告时限,在这种情况下,超时时间不被统计

参数

  • taskInstId (可选) 从指定的任务实例中获取

例子

当前任务执行总超时了@taskCostTime毫秒,折合@calc(@taskCostTime/1000/60)分钟

taskExt1

语法

@taskExt1(taskInstId)

  • 任务实例扩展字段1
  • 该值可由SDK API设置

参数

  • taskInstId (可选) 从指定的任务实例中获取

例子

taskExt2

语法

@taskExt2(taskInstId)

  • 任务实例扩展字段2
  • 该值可由SDK API设置

参数

  • taskInstId (可选) 从指定的任务实例中获取

例子

taskExt3

语法

@taskExt3(taskInstId)

  • 任务实例扩展字段3
  • 该值可由SDK API设置

参数

  • taskInstId (可选) 从指定的任务实例中获取

例子

taskExt4

语法

@taskExt4(taskInstId)

  • 任务实例扩展字段4
  • 该值可由SDK API设置

参数

  • taskInstId (可选) 从指定的任务实例中获取

例子

taskExt5

语法

@taskExt5(taskInstId)

  • 任务实例扩展字段5
  • 该值可由SDK API设置

参数

  • taskInstId (可选) 从指定的任务实例中获取

例子

taskExt6

语法

@taskExt6(taskInstId)

  • 任务实例扩展字段6
  • 该值可由SDK API设置

参数

  • taskInstId (可选) 从指定的任务实例中获取

例子

taskExt7

语法

@taskExt7(taskInstId)

  • 任务实例扩展字段7
  • 该值可由SDK API设置

参数

  • taskInstId (可选) 从指定的任务实例中获取

例子

taskExt8

语法

@taskExt8(taskInstId)

  • 任务实例扩展字段8
  • 该值可由SDK API设置

参数

  • taskInstId (可选) 从指定的任务实例中获取

例子

isTaskEnd

语法

@isTaskEnd(taskInstId)

  • 任务实例是否结束,如果已结束返回TRUE

参数

  • taskInstId (可选) 从指定的任务实例中获取

例子

TaskSameHuman

语法

@TaskSameHuman(*nextUserTaskDefId,isPerformer,taskInstId)

  • 判断指定节点的办理人,如果相同返回TRUE

参数

  • nextUserTaskDefId (必须) 节点定义ID
  • isPerformer (可选) 是否只匹配执行人忽略可选人,默认false
  • taskInstId (可选) 从指定的任务实例中获取,默认当前实例

例子



Seven
 010-62962343-690
 liujx@actionsoft.com.cn
感谢您对该文档的关注!如果您对当前页面内容有疑问或好的建议,请与我联系。如果您需要解答相关技术问题请登录AWS客户成功社区