对于表单中的每个记录
目录
迭代表单行(对于每个记录)
与其他支持基于数字值迭代的语言不一样,比如说迭代 10 次,deluge 仅支持完全基于表单数据的数据驱动迭代器。您可以循环迭代表单中的所有行或基于给定条件循环迭代选定行。
语法
语法:
{
}
其中,
Row-variable - 此变量将保存对应于每个迭代的单行数据。
Formname - 其数据必须一个接一个迭代的表单名称。
Criteria - 在大多数情况下,您将希望有条件地提取数据。您可在这里指定提取表单数据的条件。它是一个可选参数。
sort by <field> 允许您基于指定的 <field> 排序迭代的记录。它是一个可选参数。
range from <x> to <y> 让您可以将迭代的记录限定在开始索引 (x) 和结束索引 (y) 之间。如果未指定范围,则将按升序迭代表单中满足给定条件的所有记录。若要按降序迭代记录,请将 range from <x> to <y> 替换为 desc。
<statements to be executed for each iteration> - 在每次迭代时执行的动作。
示例
Task Management 应用程序举例说明了使用 for each deluge 任务以在表单中迭代记录。该应用程序包含 3 个表单。
- Staff details - 存储职员的姓邮箱地址和模块。
- Tasks - 存储任务名称和关于任务的说明。
- Assign Task - 将一个或多个任务分配给职员。在此表单中,下拉列表字段 staff 是 Staff details 表单中的 Staff Name 字段的查找,Task Assigned 字段是 Tasks 表单中的 Task 字段的查找。
在 Task Management 应用程序中,向属于特定模块的每位职员发送邮件的任务就是“Scripting”。若要执行此动作,我们必需将 deluge 脚本添加到 Staff Details 表单的工作流 -->添加时 --> 成功时部分。下面提到的示例脚本将循环迭代 Staff Details 表单中属于 Scripting 模块的每个员工记录,并向他们的邮箱地址发送含有指定消息的邮件。
{
SendMail
[
From : zoho.adminuserid
To : r.Email_Id
Subject : "Meeting"
Message : "You are requested to attend the meeting on 22/01/2008, 3 p.m at the pacific hall"
]
}
代码说明
上面提到的代码循环迭代 Staff Details 表单中的每个记录,其模块名称为“Scripting”。其中,
-
r 是将用于保存每个迭代所对应数据(职员姓名)的变量名称。
[
From : zoho.adminuserid
To : r.Email_Id
Subject : "Meeting"
Message : "You are requested to attend the meeting on 22/01/2008, 3 p.m at the pacific hall"
]
上面提到的 sendmail 函数用于向只有邮箱地址发送电子邮件。在这里,r.Email_Id 将从用于保存记录的每个迭代的变量 r 中提取邮箱地址。
安装应用程序
若要安装应用程序,
- 从这个链接下载 Task_Management.ds 文件。
- 将应用安装至您的帐户。点击此处了解如何安装和使用脚本文件(.ds 文件)