历史版本2 :定时调度实现按条件发送邮件给不同用户 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 概述编辑

1.1 版本

报表服务器版本
11.0

1.2 应用场景

用户希望在定时调度中,通过公式或参数的形式,动态的将一个任务发送到不同的邮箱中。

1.3 功能简介

本文将通过具体的示例,演示定时调度中公式和参数的使用。

示例:根据工作日的值日安排,每天将库存盘点邮件发送到相应值班员的邮箱中。

2. 设计模板编辑

管理员需要先准备一张模板,作为调度对象发送到不同邮箱中。

点击下载模板:库存盘点.cpt

2.1 数据准备

新建一张普通报表。新建数据集 ds1:SELECT * FROM S产品。如下图所示:

2.2 设计报表

模板样式如下图所示。

  • 设置A1~D3单元格不扩展,左父格为无。

  • 设置A4~D4单元格纵向扩展,B4~D4单于格的左父格为A4单元格。

  • B1、D1单元格插入公式:

单元格
公式说明
B1"周" + SWITCH(WEEKDAY(TODAY()),0,"日",1,"一",2,"二",3,"三",4,"四",5,"五",6,"六") + " " + TODAY()单元格内容为:「"星期数"+" "+"当前日期"」
D1

SWITCH(WEEKDAY(TODAY()),0,"Alice@qq.com",1,"eoco@qq.com",2,"wangwei@outlook.com",3,"hanwen@outlook.com",4,"zhangshan@qq.com",5,"Lisa@qq.com",6,"Anna@qq.com")

先获取当前日期并返回星期数,然后根据星期数返回不同的邮箱地址

注:该公式中邮箱地址仅为展示函数用法,用户在使用该公式时需自行填入正确的邮箱地址。

2.3 定义模板参数

菜单栏选择「模板>模板参数」,弹出模板参数设置对话框。

点击「+」按钮,新建一个模板参数,双击该参数将它重命名为「email」,设置默认值为公式「D1」。

点击「确定」,完成模板参数的定义。如下图所示:

3. 设置定时调度任务编辑

3.1 设置发件人

发邮件,需要有一个发件人,否则发送动作无法完成。

管理员登录数据决策系统,点击「管理系统>系统管理>邮箱」,添加发件人,点击「确定」,如下图所示:

注1:发件人邮箱类型不同,配置步骤可能不完全相同,具体请参见:邮箱

注2:配置完成后,请点击「发送测试邮件」,确保邮箱可使用。

3.2 添加任务

管理员登录数据决策系统,点击「管理系统>定时调度>任务管理」,点击「添加任务」,添加一个定时调度任务。如下图所示:

3.3 基本设置

「任务名称」设置为「库存盘点」。点击「下一步」,如下图所示:

3.4 调度对象

1)对象类型选择「报表模板」,选择模板为 2.2 节准备的「库存盘点.cpt」。

2)若已完成 2.3 节模板参数设置,点击「设置参数默认值」,系统会自动获取模板中的参数「email」和参数默认值。

2)文件名称设置为「${now()}的库存情况」。

3)附件存档勾选「pdf」。

注:本步骤中勾选了什么类型的「附件存档」,发送邮件时便可以选择什么类型的邮件附件。

点击「下一步」,如下图所示:

3.5 调度周期

设置调度周期,实现在工作日中,每天将调度对象发送到到值班员邮箱中。

1)执行频率选择「明细频率设置」,点击「添加」。

2)设置执行时间为「18时0分」,执行日为「每日」,执行月为「全选」,点击「确定」,成功添加明细频率。

3)勾选刚添加的明细频率。

4)执行条件选择「公式判断」,输入公式:ISWORKDAY(today()),实现只在工作日执行该调度任务。

点击「下一步」。如下图所示:

3.5 文件处理

注:收件人、抄送、密送可选择自定义邮箱,无需与数据决策系统的用户绑定。自定义邮箱支持手动填写和公式输入,支持的格式请参见:定时调度支持的公式

1)处理方式勾选「邮件通知」。

2)设置收件人邮箱,实现根据工作日的安排发送邮件到对应值班员的邮箱中。

  • 使用公式动态设置邮箱,设置收件人为:${SWITCH(WEEKDAY(TODAY()), 0, "Alice@qq.com", 1, "eoco@qq.com", 2, "wangwei@outlook.com",3,"hanwen@outlook.com",4,"zhangshan@qq.com",5,"Lisa@qq.com",6,"Anna@qq.com")}注:该公式中邮箱地址仅为展示函数用法,用户在使用该公式时需自行填入正确的邮箱地址。

  • 若已在 3.4 节中设置「email」参数,可以使用该参数动态设置邮箱,设置收件人为:${email}

3)主题为:${today()}的库存情况

4)邮件内容为:今天库存情况请查收

5)勾选「正文预览报表内容」、「正文加上结果链接」、「使用附件 pdf」

点击「保存」,如下图所示:

3.6 效果查看

由于该任务的执行频率是每天晚上 18 时执行一次,无法立刻看到任务效果。

为了立刻看到任务效果,可在「管理系统>定时调度>任务管理」界面找到该任务,选择「执行一次」。

当任务执行一次后,对应的值班员即可接收到邮件。在邮件中可以查看到对应的附件、链接和报表。如下图所示: