[]
        
(Showing Draft Content)

关联数据表

通过关联数据表,在流程执行期间,活字格流程引擎可以自动在页面上将业务数据与流程任务关联起来,使得在查看任务时能够轻松地查看、编辑和操作相关的业务数据。

image

1. 用途

关联数据表是指将流程与一个或多个外部数据表进行连接,以便在流程中访问、查询和更新相关数据。这些外部数据表可以包含各种业务数据,如客户信息、订单记录、库存数据等。关联数据表在以下情况下特别有用:

  • 流程集成: 当您需要将流程与现有的业务数据进行集成时,可以使用关联数据表来访问和更新这些数据。

  • 数据查询: 如果流程需要在执行过程中查询外部数据,例如,检查库存、查找客户信息等,关联数据表是关键的。

  • 数据记录: 您可以使用关联数据表来记录流程执行的状态、结果和相关信息,以便后续审计或报告。

2. 原理

在流程节点关联业务数据表后,如果某个页面上有全部任务视图或运行任务视图的当前行,同时页面上存在关联数据表的字段绑定,那么,与流程关联的业务数据当前行将会自动填充。因此,当查看任务时,您会发现关联页面中的业务数据的绑定会自动生效,而无需手动控制。这个自动填充功能极大地提高了任务查看的便捷性和效率。为了更直观地理解这一原理的过程,请看下面的实际例子:

准备

  • 创建一个请假表,包含请假理由和请假天数字段。

  • 使用“从表快速生成页面”功能,快速生成“请假表_详情页面”。

  • 创建请假流程,仅将流程全局设置中的关联数据表设置为“请假表”,关联页面设置为“请假表_详情页面”。

运行

  • 运行应用,发起流程,流程进入填单节点,弹出任务详情页面。此时,任务详情页面中存在运行任务视图的当前行,即一个填单任务实例,但是由于流程和请假表的数据还没有发生实际关联,因此,请假表_详情页面中的绑定字段的文本框都是空的。

  • 填写数据,单击“暂存”按钮,系统将会把请假表数据提交到数据库,并且把请假表当前行关联到流程。然后,弹出页面自动关闭。

  • 打开“我的待办”页面,查看刚才的填单任务,弹出任务详情页面。此时,任务详情页面中存在运行任务视图的当前行,系统将会自动查找该任务关联的请假表数据当前行,由于的确存在关联,系统自动为当前页面加载关联的请假表数据当前行。因此,“请假表_详情页面”中的绑定字段的文本框中显示了之前填写的数据。

  • 查看“我的已办”页面时,与上一步骤同理,区别仅在于系统将基于全部任务视图的当前行自动加载关联数据。

3. 步骤

关联数据表的关键步骤如下:

步骤 1:连接数据源

首先需要提供数据表,数据表可来自内建数据源或与外部数据源。

  • 内建数据源:活字格默认提供了内建数据源,使用 Sqlite 数据库。在设计器中,您可以直接创建数据表,并随后将其用于关联到流程。

  • 外部数据源:您还可以连接到外部数据库,如 Oracle、MS SqlServer、MySql 等。这意味着您可以从不同的数据库引擎中获取数据表。

步骤 2:配置数据表关联

在流程设计器中,您可以配置数据表关联,指定流程与哪些数据表相关联。关联数据表可以同时配置多个,且无需关联子表。

  • 流程属性设置:配置流程中所有任务节点的关联数据表。

  • 节点属性设置:配置单个任务节点的关联数据表,当页面上有关联数据表的当前行时,任务的关联数据表会自动记录为新的当前行。默认继承自全局设置,可强制指定为空。

  • 通过服务端命令设置:在特定事件发生时,通过服务端命令修改任务的关联数据。这种设置方式允许您在流程执行过程中动态地修改关联数据,以满足复杂的流程需求。

步骤 3:数据查询与更新

一旦数据表关联已定义,您可以在流程中执行查询操作,例如,检索客户信息、验证库存可用性等。同样,您也可以执行更新操作,例如,将订单状态更新到数据表中。

4. 数据表与流程关联的字段

通过数据表与流程关联的字段,流程引擎可以在流程执行期间自动将流程实例ID写入业务数据行,使得在查看业务数据行时能够轻松地查看相关的流程状态或负责人。

type=note

说明:

这个配置是不是必须的,请根据您的需求决定是否启用。

image

准备

1. 创建一个流程。

2. 在流程属性设置中选择一个数据表,会出现一个警告消息框。

3. 在消息框中,单击“创建关联字段”按钮,将添加一个新的流程实例ID字段设置。

4. 在数据表中,第三步还将自动添加一个新字段流程实例ID,该字段与流程实例视图关联。

运行

1. 在运行时,如果您在流程中保存了业务数据,流程实例ID将自动保存回业务数据表。

2. 例如,在表单页面上单击提交按钮时(需为提交按钮选择"自动保存业务数据"选项),或单击暂存按钮时。

说明

1. 流程实例视图的ID类型是GUID,因此关联字段默认只能选择文本类型。如果将关联字段更改为非文本类型(如数字),会导致运行时错误。

2. 即使流程内没有关联任何数据表,也可以手动设置关联字段。可以在特点节点的属性设置内建立关联,它们的值与全局设置共享。

3. 清除流程数据时,不会删除关联的业务表数据。

4. 即使在数据表权限或流程节点的数据权限中限制写入流程实例ID,当业务数据与流程关联时,流程实例ID字段仍然可以正常写入。

5. 对于内建表,允许流程实例ID与流程实例视图关联。但是,由于内建表和流程视图存储在两个独立的SQLite文件中,因此无法在运行时跨表查询。

5.示例:关联数据表在订单处理流程中的应用

假设您有一个订单处理流程,以下是如何使用关联数据表的示例:

  • 连接数据源: 连接到组织的数据库,其中有包含订单信息的数据表。

  • 定义数据表关联: 在流程设计器中,定义与订单数据表的关联。

  • 数据查询与更新: 在流程中,您可以查询流程关联订单的详细信息,验证库存,更新订单状态,并将执行记录保存回订单数据表。

通过这种方式,您的订单处理流程可以与订单数据表无缝集成,实现高效的订单管理和跟踪。

结论

关联数据表功能为流程引擎增加了更多的实用性和灵活性,帮助用户更好地处理业务数据。