在服务器上执行脚本

在托管当前文件的服务器上执行一个从列表或按名称计算指定的脚本。

选项 

  • 指定
    • 来自列表”可让您选择要执行的脚本。
    • 按名称”可让您按算式指定脚本名称。脚本名称不区分大小写。
  • 参数”指定所指定脚本的脚本参数。
  • 等待完成”会暂停客户端上的脚本运行,直到在主机上由“在服务器上执行脚本”调用的子脚本完成时为止。必须选中“等待完成”才能将脚本结果或错误代码从主机传送到客户端。使用 Get (脚本结果)函数捕获结果或使用 Get (上一个错误)函数捕获错误代码。

兼容性 

产品 是否支持
FileMaker Pro
FileMaker Go
FileMaker WebDirect
FileMaker Server
FileMaker Cloud
FileMaker Data API
自定义 Web 发布

原始版本 

13.0

说明 

当前文件必须在 FileMaker Server 或 FileMaker Cloud 上托管。否则,“在服务器上执行脚本”将返回错误。请参阅关于在 FileMaker Server 和 FileMaker Cloud 上运行脚本

注释 

  • 如果使用“按名称”指定另一个 FileMaker Pro 文件中的脚本,计算必须解析为 <数据源名称>::<脚本名称>,例如“发货单::按季度计费”。数据源和脚本名称都区分大小写。

  • 由于此脚本步骤本身可以由服务器端脚本执行,因此请注意避免可能导致死锁或无限循环的场景——例如,脚本 A 调用脚本 B,而脚本B又调用脚本A——对服务器性能产生不利影响。

示例 1 

在服务器上运行脚本并将当前布局名称、客户 ID 和客户电子邮件地址作为脚本参数发送。服务器会导航到在参数中指定的布局和记录,保存当前记录的快照链接,将快照链接通过电子邮件发送到参数中指定的电子邮件地址,并且会返回结果。客户端从服务器获取脚本结果,并将结果显示在自定义对话框中。

主脚本:电子邮件快照链接(客户端)

复制
在服务器上执行脚本附带回调 [指定的:来自列表 ; "电子邮件快照链接(服务器)" ; 参数:List ( Get ( 布局名称 ) ; 客户::ID ; 客户::电子邮件 ) ; 等待完成:打开]
显示自定义对话框 [Get ( 脚本结果 )]

子脚本:电子邮件快照链接(服务器)

复制
转到布局 [GetValue ( Get ( 脚本参数 ) ; 1 )]
进入查找模式 [暂停:关闭]
设置字段 [客户::ID; GetValue ( Get ( 脚本参数 ) ; 2 )]
执行查找 [ ]
设置变量 [$路径; 值:Get ( 临时路径 ) & "Snapshot.fmpsl"]
将记录另存为快照链接 ["$路径"; 当前记录 ; 创建文件夹:关闭]
发送邮件 [通过 SMTP 服务器发送; 包括对话框:关闭; 收件人:GetValue ( Get ( 脚本参数 ) ; 3 ); "$路径"]
退出脚本 [文本结果:"快照链接已发送。"]