主管与CSV数据查找自动化

彼得•希尔顿|写的5分钟读
主管查,从列表中选择的候选人

教程展示如何使用自动化主管的员工和他们的主管列表查找,这样你就可以自动分配员工请求工作流任务

一般审批工作流审批任务分配给请求者的经理。本教程展示了如何自动化这个任务通过使用CSV数据自动查员工的上司在工作流。

审批工作流模式

许多人力资源(HR)工作流,比如假期请求和招聘需求,基于员工的请求批准模式。这个工作流模式由一个触发形式,雇员将完成时启动工作流,紧随其后的是一个“批准请求”任务,完成员工的直线经理。

审批工作流

理想情况下,工作流将自动批准请求的任务分配给员工的经理。然而,工作流自动化平台通常并不管理数据,包括employee-manager关系。这些数据通常来自于一个人力资源系统。

选择主管(审批员工请求示例)

自动分配批准请求的任务,你需要一个选择导师的子流程,查找请求者的导师,为任务分配使用。

电子表格的例子

最简单的方式提供employee-supervisor关系的列表是使用电子表格,并将数据保存在一个CSV文件。

管理人员表

这个员工电子表格显示了每个员工的主管。然而,流程治理标识用户帐户的电子邮件地址,所以你需要员工和主管的邮件列。下一步是提供这些数据的工作流。

将CSV数据附加到一个工作流流程治理

使CSV数据的工作流,你需要让它的固定值字段。要做到这一点:

  1. 添加一个文件类型的员工CSV字段工作流的“核心信息”。
  2. 添加一个事件到工作流设置核心信息。
  3. 配置设置核心信息的事件与一个固定的值——CSV文件。

CSV数据——核心数据加载事件

下一步是添加一个脚本将读取和解析CSV的任务。

主管查子流程

选择导师的子流程基本上由一个JavaScript行动,完成所有的工作。

主管查子流程

触发表单提供了员工选择、CSV数据加载的事件提供了员工和他们的主管的列表,并选择导师的JavaScript行动选择从列表中选中员工的主管。

脚本配置需要三个工作流变量:

  1. “选定的员工”——现有的变量,用于触发形式
  2. “员工CSV”——现有的变量,从核心信息事业
  3. “选择主管”——一个新用户变量,脚本的结果

这些变量是用于下面的脚本。

const _ =需要(“_”)const csv =需要(csv)常量文件=要求(“文件”)const用户=要求(“用户”);const employeeColumn = '员工电子邮件' const supervisorColumn =‘主管邮件’const选项={列:真的,relax_column_count:真的,bom:真正}const csvContents = files.getContent employeesCSV.id csv.parse (csvContents.buffer.toString (“utf - 8”)选项,(错误,employeeList) = >{如果(错误){控制台。日志(“错误解析CSV: ${错误}”)如果(employeeList返回}。长度= = 0){控制台。日志(“错误:CSV包含零行”)返回其他}{console.log (“$ {employeeList。长度}行读取从CSV)}如果(! employeeList [0] [employeeColumn]){控制台。日志(错误:失踪的$ {employeeColumn}“列”)返回}= _ const条目。找到(employeeList [employeeColumn selectedEmployee.emailAddress])如果(条目){控制台。日志(“员工错误:不准入内”$ {selectedEmployee.emailAddress} ")返回}控制台。日志('发现条目:$ {JSON.stringify(条目)}”)如果(!条目[supervisorColumn]){控制台。日志(错误:失踪的$ {supervisorColumn}“列员工”)返回}selectedSupervisor = users.findByEmail(条目[supervisorColumn])如果(! selectedSupervisor){控制台。日志(的错误:没有发现流程治理用户帐户的${条目[supervisorColumn]}‘)返回}控制台。日志(“成功:$ {selectedEmployee。firstName} $ {selectedEmployee。lastName}→$ {selectedSupervisor。firstName} $ {selectedSupervisor.lastName}”)})

现在可以测试脚本,通过选择一个测试值选择员工的领域,上传与之前相同的CSV文件作为员工CSV的测试值,并选择“开始新的测试”。测试运行器的变量更新的表应该显示一个用户ID“selectedSupervisor”变量的更新值的列。

现在你可以发布这个选择导师的过程,并调用它的子流程操作员工请求过程。在子流程的输入配置,设置选中员工的字段/创造者。然后输出配置提供了一个选择导师的角色可以分配批准请求的任务。

下一个步骤

本教程展示了一个相对简单的方法使用一个JavaScript操作执行employee-supervisor查找。在实践中,您可能不希望使用一个固定的CSV文件,工作流程,因为你将不得不更新这个CSV文件每次员工加入或离开公司。

或者,你可以替代的核心信息事件的JavaScript操作获取员工CSV数据从外部HTTP URL,通过WebDAV或。其余的将保持不变。您还可以使用的API服务员工JSON或XML格式的数据,这意味着小的变化选择导师的JavaScript解析数据的行动。

Signavio流程治理JavaScript的行动给你的灵活性与复杂的数据和外部系统集成,进一步自动化业务流程。自动创建自己的工作流程,将任务分配给你的老板,注册一个天的免费试用今天。

发表于:2018年6月6日-最后修改:2021年6月14日
主题:工作流