综述
- Deluge 是什么?
- 我为什么应该在我的 Zoho Creator 应用程序中添加 Deluge 脚本?
- 您是否需要有编程基础才能在 Deluge 中编写代码?
- 当调用 deluge 动作时,可以执行的语句数是否有限制?
- 脚本中的关键词是否区分大小写?
- 我如何保存/备份应用程序?
表单
- 如何在脚本模式中定义表单?
- 如何在脚本模式中重命名表单?
- 我是否可以在脚本模式中删除含有数据的表单?
- 在一个应用程序中是否可以有两个使用相同名称的表单?
表单字段
- 如何在脚本模式中定义表单字段?
- 在定义表单字段时是否有任何命名规范需要遵循?
- Zoho Creator 中支持哪些不同类型的表单字段?
- 如何在脚本模式中重命名表单字段?
- 我是否可以删除包含数据的表单字段?如果可以,如何执行?
- 为什么有些字段没有生成默认值和工具提示?
- 是否存在配置隐藏字段以便仅允许所有者查看/编辑该字段的方法?
- 是否可以基于条件隐藏/显示字段?
- 有时候,我的要求是字段组合必须是唯一的。例如,名称和 DOB 组合必须唯一。有没有可能在 GUI 或脚本中设置?
- 当我修改公式字段时,有一段时间无法查看数据。为什么会这样?
- 一个公式字段是否可以按相同形式在另一个公式中使用?
- 我正尝试为订单录入创建数据库。我是否可以让每个订单都加上其提交时间?
- 我是否可以从另一个表单导入选择列表?
- 我是否可以设置查找字段以仅显示所选值?
- 如何创建动态填充的下拉菜单(单选列表)?
- 如何让一个字段有条件地设为必填?我有两个字段(地址和城市),除非另一个字段“金额”大于 100,否则它们不会被视为必填。所以如果“金额”大于 100,我如何保证“地址”和“城市”中有值?
- 我如何从另一个日期字段计算日期?
表单动作
- “验证时”和“成功时”脚本之间有什么不同?
- “用户输入时”和“更新时”脚本之间有什么不同?
- 我是否可以编写脚本以发送多封电子邮件?例如 - 向名字是 John 的所有联系人发送电子邮件。是否有“for-each”命令或其他类似的命令?
- 如何在“sendmail”的消息中插入换行符?
- 我是否可以在表单打开/加载时显示今天的日期?
- 我是否可以获取我的电子邮件 ID 和用户名以用于脚本编写?
- 如何将 SUM 函数添加我的脚本中?
- 是否可以将任务安排为按照与“添加时/验证时/提交时”脚本不同的时间表运行?
- 在声明元素(例如,表单元素 > 用户输入时)中使用的变量时,变量的作用域是应用于元素还是表单?例如,在同一个表单内的多个元素中使用相同变量名称是否有任何问题?
视图
- 如何在脚本模式中定义视图?
- 如何在脚本模式中重命名视图?
- 当我删除视图时,数据会发生什么情况?
- 在一个应用程序中是否可以有两个使用相同名称的视图?
示例
- 如何从 Zoho CRM 提取发货单及其各自产品并使用最新发货单记录填写 Zoho Creator 表单?
- 如何检索自定义模块记录的 ID?
综述
1.Deluge 是什么?
Deluge 或我们所谓的 Data Enriched Language for the Universal Grid Environment(针对通用网格环境的数据丰富语言)是与 Zoho Creator 集成的在线脚本语言。它让用户能够向应用程序添加逻辑,让它更强大和稳健。
2.我为什么应该在我的 Zoho Creator 应用程序中添加 Deluge 脚本?
利用 Zoho Creator,您不需要编写代码即可构建简单的数据收集和查看应用程序,例如联系人列表应用程序。但是,若要构建具有复杂逻辑的成熟应用程序,例如图书馆管理程序、招聘应用程序、库存管理等等,我们提供了称为 Deluge 的内置脚本语言。
3.您是否需要有编程基础才能在 Deluge 中编写代码?
肯定不需要。Zoho Creator 主要解决了需要 Web 应用程序但不知道如何自己构建应用程序的许多人的需求。您只需要清楚了解您想要构建的应用程序以及想要让它如何呈现。
4.当调用 deluge 动作时,可以执行的语句数是否有限制?
是,当调用 deluge 动作时,可以执行的语句数存在限制,每天可以发送的邮件数也存在限制。您帐户的使用限制可以通过选择帐户设置 -> 使用限制选项来查看。
5.脚本中的关键词是否区分大小写?
否,该语言的关键词不区分大小写,但表单名称和字段名称区分大小写。
6.我如何将我的应用程序保存/备份为脚本文件(.ds 文件)?
您可以将您的应用程序保存/备份为 .ds 文件。
为此,
- 在访问模式下选择右上角显示的更多操作 -> 另存为脚本选项。
- 整个应用程序都将在所需的位置另存为 .ds 文件。
- 您可在以后通过导入此 deluge 脚本,为此应用程序制作副本。请参阅通过导入 Deluge 脚本来创建应用程序。
表单
1.如何在脚本模式中定义表单?
表单是包含数据的结构。它可以通过两种方式来引用:
- 显示名称
这是在 GUI 模式中以及用户在实时模式访问应用程序时表单将引用的名称。显示名称应在双引号中给出。
- 标签名称
它是表单的实际名称。表单的标签名称在应用程序内是唯一的。在编写脚本时将仅引用标签名称。表单的标签名称应为字母数字且可包含下划线。
其中,
add_employee - 标签名称
"Add Employee" - 显示名称
2.如何在脚本模式中重命名表单?
重命名表单是一项安全的操作,无论如何都不会影响数据。
重命名显示名称
重命名表单的显示名称非常简单。如下所示,只需在表单定义中更改显示名称并保存脚本即可。
重命名标签名称
可使用以下语法重命名标签名称。
只需将 add_employee 替换为 add_new_employee,它等效于删除表单 add_employee 并创建新表单 add_new_employee。
3.我是否可以在脚本模式中删除含有数据的表单?
如果不存在任何数据,则只需通过从文本区删除表单定义并保存页面即可删除表单。如果存在数据,Zoho Creator 将显示错误消息,提示因为存在数据,无法删除表单。在这种情况下,若要删除表单,您必须明确地使用 delete 关键词,如下所示,
或只需在表单定义前面添加 delete 关键词,如下所示。
注:
当您删除表单时,表单对应的所有数据也会删除,且不能恢复。
4.在一个应用程序中是否可以有两个使用相同名称的表单?
表单有显示名称和标签名称。您可让多个表单在应用程序中使用相同的显示名称,但标签名称在应用程序内应是唯一的。
表单字段
1.如何在脚本模式中定义表单字段?
表单中的字段定义特定类型信息的个别属性。表单字段按两种方式引用。
显示名称
这是在 GUI 模式中以及用户在实时模式访问应用程序时字段将引用的名称。显示名称应在双引号中给出。
标签名称
它是字段的实际名称。字段的标签名称在表单内是唯一的。在编写脚本时将仅引用标签名称。标签名称应为字母数字且可包含下划线。
示例代码:
其中,
Name、Age、Qualification- 标签名称
"Enter Age:"、"Educational Qualification" - 显示名称
注:
如果未指定类型,它被假定为文本类型字段。例如,名称
2.在定义表单字段时是否有任何命名规范需要遵循?
字段名称应为字母数字且可包含下划线。
3.Zoho Creator 中支持哪些不同类型的表单字段?
请参阅表单字段 - 类型以了解 Zoho creator 支持的所有字段类型、其说明和数据类型。
4.如何在脚本模式中重命名表单字段?
重命名字段是一项安全的操作,无论如何都不会影响数据。
重命名显示名称
重命名字段的显示名称非常简单。只需在字段定义中更改显示名称并保存脚本即可。
重命名标签名称
可使用以下语法重命名标签名称。
5.我是否可以删除包含数据的表单字段?如果可以,如何执行?
当您删除字段时,字段对应的所有数据也会删除,且不能恢复。如果不存在任何数据,则只需通过从文本区删除字段定义并保存页面即可删除字段。如果存在数据,Zoho Creator 将显示错误消息,提示无法删除包含数据的字段。在这种情况下,若要删除字段,您必须明确地使用 delete 关键词。
或只需在字段定义前面添加 delete 关键词并保存脚本。
6.为什么有些字段没有生成默认值和工具提示?
脚本模式不会生成字段的所有属性。只有用户修改的属性才会生成,拥有默认值的属性将不会生成。例如,对于提交的文本,如果用户没有修改,则不会生成 maxchar 属性。
7.是否存在配置隐藏字段以便仅允许所有者查看/编辑该字段的方法?
是,您可以通过选中对其他人隐藏此字段框来创建隐藏字段,如下面的屏幕截图所示。选择此选项将让这个字段仅可由应用程序的制作者/所有者访问。若要基于条件隐藏/显示字段,请参阅主题客户端函数 - 隐藏和显示以了解更多信息。
8.是否可以基于条件隐藏/显示字段?
可以在脚本模式中使用 Hide 和 Show deluge 关键词来实现。请参阅主题客户端函数 - 隐藏和显示以了解更多信息。
9.有时候,我的要求是字段组合必须是唯一的。例如,名称和 DOB 组合必须唯一。有没有可能在 GUI 或脚本中设置?
可通过在脚本模式中为表单编写“提交时”脚本来实现此功能。在数据存留之前执行“提交时”脚本。在下面的代码中,编写了“提交时”脚本以查明是否有具有相同的名称和初始日期的行,如果有任何行匹配该条件,则取消提交动作。
10.当我修改公式字段时,有一段时间无法查看数据。为什么会这样?
每当修改公式时,将为所有行重新计算公式字段值。在重新计算完成之前,您将不能查看视图。
11.一个公式字段是否可以按相同形式在另一个公式中使用?
否,目前不支持在一个公式中使用另一个公式字段。
12.我正尝试为订单录入创建数据库。我是否可以让每个订单都加上其提交时间?
Zoho Creator 自动存储提交的每个记录的添加时间和修改时间。请参阅常见问题解答 - 视图以了解更多信息。也可以使用 Deluge 日期变量 zoho.currenttime 来记录当前时间。下面说明了如何使用 Deluge 脚本来实现:
在 UI 模式中,创建一个公式类型的字段,只需键入 zoho.currenttime 作为字段的值,以便启用时间戳。
13.我是否可以将选择列表字段从表单 A 导入到表单 B?
您不能将选择列表字段从一个表单导入到另一个表单。所有其他字段类型可以作为选择列表在另一个表单中导入。例如,您可以将表单 A 中的文本字段作为选择列表导入到表单 B。
14.我是否可以设置查找字段以仅显示所选值?
是,您可以设置选择列表以仅显示所选的值。请参阅导入选择列表数据中的条件以了解更多信息。
15.如何创建动态填充的下拉菜单(单选列表)?
是,您可以动态填充单选列表。请参阅主题动态添加到选择列表以了解更多信息。
16.如何让一个字段有条件地设为必填?我有两个字段(地址和城市),除非另一个字段“金额”大于 100,否则它们不会被视为必填。所以如果“金额”大于 100,我如何保证“地址”和“城市”中有值?
是,您可以通过在提交时函数中添加以下代码来实现。在以下代码中,如果“金额”大于 100 且如果地址/城市没有值,则不会提交任何条目。
17.我如何从另一个日期字段计算日期?
您可以通过使用‘+’(加)和‘-’(减)运算符或通过使用 Deluge 内置日期函数来处理日期。请参阅内置日期和时间函数以了解更多信息和示例。
表单动作
1.“验证时”和“成功时”脚本之间有什么不同?
验证脚本对表单数据执行验证操作,在提交表单时执行。仅当验证未被取消时,数据才会留存。请参阅表单动作 -> 验证以了解更多信息和示例。
“成功时”脚本在表单数据保存在数据库之后执行动作。请参阅表单动作 -> 成功时以了解更多信息和示例。
2.“用户输入时”和“更新时”脚本之间有什么不同?
“用户输入时”和“更新时”是对特定字段执行的字段动作。仅当特定字段值更改或更新时才会调用这些脚本。请参阅字段表单动作以了解更多信息和示例。
3.我是否可以编写脚本以发送多封电子邮件?例如 - 向名字是 John 的所有联系人发送电子邮件。是否有“for-each”命令或其他类似的命令?
是,您可以有条件地提取一批记录并对它们进行迭代。思考下面的简单用例。公司的首席执行官想要对特定日期(比如说,2006 年 6 月 10 日)之后入职的所有新员工致辞。我们必须向所有这些新员工发邮件。让我们看看如何实现。
‘员工’表单有以下字段:名称、资格、电子邮件 ID、团队名、入职日期
1) 通过应用筛选器来提取数据。
emprecords = Employee [JoinDate > '10-Jul-2006'];
2) 现在迭代记录并发送邮件。在这里,‘x’是在每个迭代中表示单个记录的实例变量。
4.如何在“sendmail”的消息中插入换行符?
您可以直接将 <br> 标记插入消息中,zoho creator 将自动引入换行符。例如,当您使用的 sendmail 具有如下面的代码中所示的消息文本时,
消息将按下面这样显示:
欢迎加入
Zoho Creator
开发平台
5.我是否可以在表单打开/加载时显示今天的日期?
您可以创建日期字段并使用载入时动作内的 zoho.currentdate 函数将它设置为当前日期。以下 deluge 代码会在加载表单时将日期字段设置为当前日期。
6.我是否可以获取我的电子邮件 ID 和用户名以用于脚本编写?
是。您可在编写脚本时使用两个 Zoho Creator 常量,
- zoho.loginuser
- zoho.loginuserid
它指的是当前登录用户的用户名和电子邮件 ID。它在编写脚本时非常有用。请参阅 Deluge 变量以了解更多信息。
7.我是否可以计算出我的视图中的多个数值字段的总和?
如需计算多个数值字段的总和,您可以创建一个“公式”类型的新字段,如下面的示例代码中所示。在这里,Maths、English 和 Science 是必须用于计算总和的字段。和值将显示在 TotalMarks 字段中。
8.是否可以将任务安排为按照与“添加时/验证时/提交时”脚本不同的时间表运行?
Zoho Creator 目前暂不支持安排。
9.在声明元素(例如,表单元素 > 用户输入时)中使用的变量时,变量的作用域是应用于元素还是表单?例如,在同一个表单内的多个元素中使用相同变量名称是否有任何问题?
变量作用于定义/使用它们的局部“事件部分”。所以如果您在加载时部分定义了一个变量(名为 TotalAmount),则您也可以在表单的价格字段的用户输入时部分定义它... 分配给一个部分的值将不可用于其他部分。
此外,在函数内定义的变量仅是函数的那个实例的局部变量。
视图
1.如何在脚本模式中定义视图?
列表视图
在列表视图中,表单数据将显示为表格。下面给出的示例代码创建一个列表视图,其中“View Employee”是列表名称,“add_employee”是表单名称。这将以列表形式显示“add_employee”表单中的所有记录。
如果视图名称不包含除下划线之外的任何其他特殊字符,则不需要使用双引号。应用程序内的视图名称不需要是唯一的。
日历视图
在日历视图中,数据将以日历形式呈现。仅当有日期列时才支持此视图。
摘要视图
摘要视图提供比表格/列表视图更多的信息。但在摘要视图中不能像表格视图一样看到任何图片。这将以摘要形式显示“add_employee”表单中的所有记录。
若要指定条件以仅在视图中显示所选的记录,请参阅主题视图中的条件/筛选器。
2.如何在脚本模式中重命名视图?
若要将“View Employees“重命名为“View All Employees”,只需在脚本中替换视图名称并保存整个脚本。
3.当我删除视图时,数据会发生什么情况?
如果删除视图,数据不受影响。
4.在一个应用程序中是否可以有两个使用相同名称的视图?
一个视图只能有一个显示名称,应用程序中的多个视图可以有相同的显示名称。