
# 指派用户
"用户任务"图元是BPM引擎的核心，通过配置"用户任务"图元能够实现复杂的任务分配，达到您的业务目标。如果您不太了解BPM、用户任务的基本概念请参考[BPM图元](https://support.huaweicloud.com/usermanual-astrozero/astrozero_05_0635.html)和[BPM如何与页面交互](https://support.huaweicloud.com/usermanual-astrozero/astrozero_05_0636.html)章节进行学习，以便了解其基本使用方法。
#### 用户和业务用户
在进行任务分配时，AstroZero平台提供了两种用户可以进行任务的分配，分别是用户和业务用户。
- 用户（User）：是租户账号或子账号开发者，用来管理应用和业务用户。购买AstroZero的租户账号默认拥有所有权限，是管理员用户，可添加子账号并为其配置需要的权限。
- 业务用户（即PortalUser）：是访问在AstroZero中开发的业务应用的用户账号，即业务应用的使用者。
您可以在BPM中通过用户任务图元，在用户任务配置页面的"接收人"模块，通过以下三种方式将任务分配给用户或业务用户。
- [当前泳道]
- [流程发起人的主管]
- [名称和表达式]
- [基于规则]
图1接收人类型   
![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001933046752.png "点击放大")
 #### 当前泳道
"用户任务"图元接收人类型设置为"当前泳道"，将泳道和工作队列绑定，则处于该泳道的用户任务图元，由该泳道对应工作队列中的成员去处理。工作队列中的成员可以是多个**用户** 、**业务用户** 、**公共组** 中成员、**角色或带有下属的角色**中成员。配置过程如下：
1. 参考[管理队列](https://support.huaweicloud.com/usermanual-astrozero/astrozero_06_0014.html)中操作，创建工作队列，将处理任务的用户或者业务用户加入工作队列中。
   
   例如，创建派单员工作队列"Dispatcher"。
   图2创建工作队列   
   ![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001933046756.png "点击放大")
   
   
2. 如[图3]所示，"用户任务"的接收人类型选择"当前泳道"，可以将任务分配给"当前泳道角色的任意成员"或"当前泳道中的上一个任务被分配的人员"。
   
   图3用户任务中设置当前泳道接收   
   ![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000002015272209.png "点击放大")
   
   
3. 如[图4]所示，单击左侧泳道区域，在"泳道配置"中设置派单员工作队列"Dispatcher"。
   
   处于该泳道的用户任务图元，则由工作队列"Dispatcher"中的成员去处理。
   图4设置泳道   
   ![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001960126089.png "点击放大")
   
   
 
 #### 流程发起人的主管
"用户任务"图元接收人类型设置为"流程发起人的主管"时，需要配置"部门经理层级"，即主管所属的部门。
 #### 名称和表达式
"用户任务"图元接收人类型设置为"名称和表达式"时，可以通过"表达式"、"用户"、"业务用户"和"组"四种方式分配该任务的参与者。这时，泳道中的工作队列配置不起作用。
图5名称和表达式   
![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001960285881.png "点击放大")
- 用户：在"取值"中，选择接收该任务的用户，不包括业务用户。
- 业务用户：在"取值"中，选择接收该任务的业务用户。
- 组：在"取值"中，选择公共组，则该任务由公共组的成员去处理。公共组的成员可以是**用户** 、**业务用户** 、**其他公共组** 的成员、**角色或带有下属的角色** 中成员。关于如何创建工作组，请参考[管理公共组](https://support.huaweicloud.com/usermanual-astrozero/astrozero_06_0014.html#section3)。
- 表达式：当将"参与者"配置为"表达式"时，实际是一个变量。在"取值"中可设置变量的值，变量值支持以下几种：
  - 用户的用户名或用户ID，其中用户名前需要加"user:"前缀。
  
  - 业务用户的用户名或业务用户ID，其中业务用户名前需要加"puser:"前缀。
  
  - 公共组名称或者公共组ID，其中公共组名称前需要加"group:"前缀。
  
  - 角色名称或者角色ID，其中角色名称前需要加"role:"前缀。
  
  
  例如，分配任务接受者为用户名为"PortalUser1"的业务用户、用户名为"User1"的用户、用户ID为"10XX000000*XXXXXXX* "的用户、公共组名称为"group1"和角色名称为"role1"的合集，则取值为""puser:PortalUser1,user:User1,10XX000000*XXXXXXX*,group:group1,role:role1""。多个取值之间用英文逗号","分隔，取值外加英文双引号。
  
 
 #### 基于规则
"用户任务"图元接收人类型设置为"基于规则"时，可以将全局上下文中的变量拖入到条件输入框中。当条件输入框中的变量或条件为true时，将会把任务分配给选择框中配置的用户。您可以通过以下方式，配置接收任务的用户：
- 当前用户：把任务分配给执行当前用户任务的用户。
- 上级经理：把任务分配给执行当前用户任务的用户的上级经理。
- 特定的用户：把任务分配给选择框中选择的用户。
- 队列：把任务分配给选择框中选择的工作队列中的所有用户。
- 用户属性：根据用户对象的某一字段，进行任务的分配。
- 变量：根据输入框中的用户ID或用户名，将任务分配给相应的用户。
图6基于规则   
![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001933046748.png "点击放大")
