Tasks节点用于定义报表执行前后需要自动运行的任务,如可以在生成报表前下载/上传文件、文件压缩/解压缩、从各类文件中导入数据到数据库,或执行循环操作、并行操作等任务。
  启动Seal Report Designer,打开之前创建的销售统计报表,在左侧面板的Task节点上点右键,支持创建多种类型的任务,如下图所示:

在这里插入图片描述
  以创建Default Task为例,其属性如下图所示:
在这里插入图片描述  Template Name属性记录当前任务模板类型,不可修改。
  Template description属性记录当前任务模版介绍,不可修改。
  Source属性设置当前任务使用的数据源,从Sources节点的子节点中选择。
  Connection属性设置当前任务使用的连接,从所选数据源的Connections中选择,默认为数据源当前使用的连接。
  Execution step属性设置任务执行时机,取值如下图所示,可以在数据模型加载之前执行,也可以在模型数据加载后但渲染前执行,也能在报表运行之后执行。
在这里插入图片描述
  Reference task属性设置当前任务能引用并继承另一个任务的属性配置,包括Script(脚本)、SQL(SQL语句)和Parameters(参数)等值。
  SQL statement属性设置当前任务要执行的SQL语句。
  Is enable属性设置是否启用当前任务。
  SQL separator属性设置分隔符,用于将SQL statement属性值拆分为多个SQL语句逐个执行,该属性能将复杂的、包含多个步骤的 SQL 逻辑组织在一起,并确保它们能被当前任务正确、有序地执行。
  Script属性定义用C# Razor语法编写的自定义脚本,任务执行时会运行这段脚本,以完成特定的业务逻辑。
  Body script属性定义核心的C# Razor脚本主体,当任务执行时,这个脚本会被运行以完成特定的业务逻辑。该属性与Script属性相似,两者都是用于编写C# Razor脚本,并在任务执行时运行。在官方文档中,Body script被直接描述为“为任务执行的 Body Razor脚本“,在大多数配置场景中,通常只会使用其中一个属性。
  Ignore errors属性配置是否忽略任务执行过程中的错误并继续生产报表。
  Retries in case of error属性配置任务执行失败时系统应该自动重试的最大次数。
  Retry delay in seconds属性配置每次重试尝试之间等待的时间,单位为秒。
  Execute for each Connection属性配置当前任务是只执行一次,还是为数据源中定义的每一个数据库连接都执行一次。
  Seal Report Designer工具自带的样例中包括任务设置样例,如下图所示(Samples\01-Tasks\101-Task Refresh Enumerated Lists),该任务用于在模型数据加载前刷新指定的枚举列表),任务使用的C# Razor语法,没有使用SQL语句。
在这里插入图片描述
  Default Task是基础的任务模板,其它类型的任务模板都是在其基础上进行的扩展,后续会逐一分析每种任务模板的用途。

参考文献:
[1]https://github.com/ariacom/Seal-Report
[2]https://sealreport.org/
[3]https://sealreport.org/demo
[4]https://sealreport.org/forum/
[5]https://github.com/ariacom/Seal-Report/releases
[6]https://www.cnblogs.com/Leo_wl/p/7716582.html
[7]https://sealreport.org/Help/html/cae63bb7-9eae-d637-f07b-aa7a0d134377.htm

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐