我有一个转到表的简单脚本,执行查找并导出一小组记录。这是一个非常简单的脚本,但是当通过PSOS脚本步骤在本地计算机上运行此脚本时,将导出导出到Server docs文件夹时,我感到噩梦。
运行脚本时我没有收到任何错误消息,但是该文件没有导出到我的服务器文档中,这让我发疯,因为它是如此简单,我开始认为这是一个权限问题。
我尝试了100万种不同的文件路径,例如
"filewin:" & Get(DocumentsPath) & "test.csv"
"filewin:/" & Get(DocumentsPath) & "test.csv"
"filewin://" & Get(DocumentsPath) & "test.csv"
"file:" & Get(DocumentsPath) & "test.csv"
以此类推,大多数都不会返回错误,但是该文件在哪里找不到? 我99%确信与文件路径无关,因为我以前从未遇到过此问题。
答案 0 :(得分:1)
开始时不需要“ filewin”。如果您使用内置的Filemaker函数,请首先设置变量$ file_path = Get(DocumentsPath)&“ you_file_name.csv”。然后,“导出记录”脚本步骤具有以下选项:
指定输出文件-
输出文件路径列表= $ file_path
文件类型= CSV
这将把记录的csv导出到documents文件夹,除非FileMaker Server使用的用户帐户没有文件许可权。设置服务器时,如果更改了FileMaker Server使用的默认帐户-您将需要向您的文件夹和父文件夹添加权限。
您可以使用“退出脚本”脚本步骤检查错误。将文本结果设置为= Get(LastError)。然后使用“设置变量” = Get(ScriptResult)将此错误传递到称为PSOS脚本的脚本中。将“退出脚本”脚本步骤放置在导出记录脚本步骤之后,以找出为什么它不创建文件。
如果您使用插件来导出诸如BaseElements之类的记录,则需要将FileMaker提供给您的文件路径转换为BE可以使用的路径。本质上是替代($ file_path;“ / C:”;“”)
希望这会有所帮助。
答案 1 :(得分:0)
我通常指定完整路径。试试这个:
设置变量$ filepath;值:“ filewin:/ C:/ Program Files / FileMaker / FileMaker Server / Data / Documents / test.csv” 导出记录[带有对话框:关闭创建目录:关闭; $ filepath; Windows(ANSI)]