使用脚本自动执行任务
脚本可以执行像设置打印方向这样的简单任务,也可以执行像准备给每个客户端发送自定义邮件这样的复杂任务。
例如,您可以定义一套复杂的任务,为“客户端”数据库中上周进行购买的客户创建一封感谢邮件。脚本会根据每个客户撰写适合的电子邮件。该脚本会在发送消息前切换到预览模式并暂停,以便您可以查看其外观。单击“销售条目”布局上的按钮,启动整个任务。
您可以按以下方式生成脚本:从一个称为
脚本步骤的 FileMaker Pro 命令列表中进行选择,指定必要的选项,然后按执行任务的正确顺序安排步骤。
脚本通常在
客户端上运行,但是您可能希望在 FileMaker Server 上运行某些脚本来改进性能或者自动定期运行脚本。请参阅
关于在 FileMaker Server 上运行脚本。
计划脚本
花费在计划
脚本上的时间越多,脚本按您的需求完成的可能性就越大。在进行计划时,请回答下列问题:
•是否可以将任务分解为若干小任务?您可以为每个小任务定义
子脚本,然后定义执行子脚本的脚本。设计和测试若干小脚本要比设计和测试一个复杂的脚本更为容易。您还可以在其他领域重复使用这些子脚本。(使用
执行脚本脚本步骤执行其他脚本内部的子脚本。)
•在何种情况下应该执行什么
脚本步骤?需要始终执行每个脚本步骤吗?某些脚本是否应该执行若干次,直到满足某个条件?脚本是否调用其他脚本和子脚本?可以按照多种不同方法来控制脚本进度。有关创建具有条件步骤脚本的更多信息,请参阅
控制脚本步骤。
•想要让脚本在某个特定
布局上运行?因为脚本是在文件级别下定义的,并且可以从任何布局调用,所以您应确保脚本可以在预期的布局中执行。使用
转到布局脚本步骤更改布局。
•应该针对数据库中的所有记录、当前搜索结果、还是特定记录集执行脚本?(使用
搜索结果脚本步骤仅包括希望在搜索结果中处理的记录。)
•您需要的所有数据是否在一个
数据库文件中,如果不在一个文件中,脚本是否会在多个文件中执行?如果使用多个文件,脚本会打开哪些文件?应该在哪个文件中定义脚本?在大多数情况下,应该在处理数据的文件中定义脚本。具有多个文件的数据库解决方案可能需要在每个文件中有单独的脚本,这取决于尝试利用脚本执行的任务的复杂程度。
•要使用哪个窗口?脚本最初附加到一个特定窗口,该窗口可能在背景中。脚本保留在该窗口中,直到脚本化操作切换到另一个窗口为止。例如,使用
选择窗口脚本步骤指定另一个窗口。如果指定的窗口不可用,则脚本将切换到文件的前台窗口。当您暂停一个脚本时,关联的窗口会变成前台窗口(如果它可用)。请参阅
窗口脚本步骤。
注意 在布局模式下执行的脚本会在执行之前自动切换到浏览模式。
•用户是否应该能在脚本运行时停止脚本?脚本是否包含当脚本完成过早时导致数据不完整或不正确的过程?使用
允许用户异常中断脚本步骤来控制用户是否可停止脚本。
•如何测试脚本?使用
暂停/继续脚本脚本步骤在脚本中的预定义位置暂停。保存数据库的副本,然后在数据库中定义并测试脚本以保留原始数据。
注意 如果您使用的是 FileMaker Pro Advanced,则可以使用 Script Debugger 来测试脚本和解决相关问题。
•是否应该允许所有用户执行全部脚本?使用
权限集控制用户对脚本的访问。通过使用权限集,用户可以执行或修改单个脚本或所有脚本,也可以不执行或修改任何脚本。还可以为以后在文件中定义的新脚本的每个权限集设置默认权限。设置脚本以完全访问权限运行将允许该脚本在用户所分配的权限通常不允许的情况下代表用户执行任务。请参阅
创建和编辑权限集。
当您考虑过这些问题之后,便可以在数据库中管理脚本。请参阅
创建并编辑脚本。
相关主题