# 数据获取与保存 流程填报中,填报表单的数据获取与保存,主要涉及参数TaskID(任务实例ID)的使用。 ## 数据保存 数据保存是指流程填报中基于填报表单填写的数据如何进行保存。这里我们仅以最常用的数据保存到关系型数据库的方式来说明。 以“销售费用预算上报审批流程”为例,填报表单中除了合计值是无需填报和保存仅通过相关费用进行求和显示外,其它的年份、季度、部门、报送人、上报时间、交通费、通讯费、差旅费、办公费、招待费都需要保存到数据表中。 ![](/uploads/projects/7.11_online/uploads/sjjc/images/m_99d06e89bd52e9715619247220d649ee_r.png) 因此,保存填报数据的数据表结构需设计为如下形式,同时可以设置Task_ID作为主键字段: ![](/uploads/projects/7.11_online/uploads/sjjc/images/m_54f903025d4ff5ac1966609bad6c857b_r.png) 在填报表单的填报数据更新属性设置中,也就需要设置相应的单元格数据更新字段,其中,最重要的是通过引用填报表单的参数Task_ID来获取任务实例ID并保存到数据表的对应字段中,同时更新属性中也需要设置Task_ID为数据更新的主键: ![](/uploads/projects/7.11_online/uploads/sjjc/images/m_7b6e44b2b6aa5d8bde6e7f19c675cf7a_r.png) 特别说明: 1、数据保存时,数据表的主键字段设置会随着实际业务数据存储的需求而不同。例如上面例子中,仅使用Task_ID一个字段作为主键即可。但有些情况则需要同时使用Task_ID和其它字段作为复合主键的方式。因此,请根据流程填报中填报表单实际需保存数据的需要来确定主键字段的方式。 2、实际应用中还会出现填报的数据并不是只保存在一个单表中,而是需要保存至多个数据表的情况。此时就需要再根据实际业务数据的情况,来相应设计这些数据表的结构,通常是每个表中都需要包含Task_ID字段。 ## 数据获取 数据获取是指流程填报中填报表单如何获取在任务中已经填报提交的数据。这里我们仍然是以最常见的数据是保存到关系型数据库的方式来说明。 仍然以“销售费用预算上报审批流程”为例,不同的销售人员都会通过该流程在系统中启动填报任务进行数据上报。那么填报表单如何在不同的任务中获取对应任务的数据展现出来呢? 这里,也是需要利用到流程填报的参数Task_ID。填报表通过参数Task_ID获取任务实例ID,然后在数据集中即可利用该参数从数据表中进行对应任务实例的数据获取。 例如在用例“销售费用预算上报审批流程”中,只需设置一个数据集从保存填报数据的数据表取数,如下图: ![](/uploads/projects/7.11_online/uploads/sjjc/images/m_33d1b68d6347cdce54fc9c51de7219cd_r.png) 该数据集为复杂SQL类型,其SQL语句如下图所示,可见其中使用了参数Task_ID: ![](/uploads/projects/7.11_online/uploads/sjjc/images/m_7b26bda8eba766e71d036bf750a2f5fc_r.png)