提问人:NewBoard 提问时间:11/9/2023 最后编辑:NewBoard 更新时间:11/9/2023 访问量:34
有没有办法防止在脚本更改布局时触发 OnLayoutExit 脚本触发器?
Is there a way to prevent OnLayoutExit script trigger from triggering when a script changes the layout?
问:
我们在 FileMaker 数据库中有一个布局,其中包含一个 OnLayoutExit 脚本触发器,用于检查用户是否将必填字段留空。但是,作为布局标准使用的一部分,将调用另一个脚本来填充多个表中的字段。为此,脚本将执行多个函数调用。这会从原始布局触发 OnLayoutExit 脚本触发器。在调用此脚本时,用户不太可能填写必填字段。当这个脚本完成时,它会返回到原始布局,所以空字段对我们来说不是问题。但是,我们的 OnLayoutExit 脚本会警告用户空字段。Go To Layout()
我很好奇是否有办法区分用户切换布局和脚本切换布局。
答:
1赞
michael.hor257k
11/9/2023
#1
一个简单的解决方案可能是不让脚本离开布局。不要切换到其他布局,而是使用目标布局打开一个新窗口,执行需要执行的操作,然后关闭新窗口。
按照要求回答您的问题:离开布局就是离开布局,无论它是如何完成的。区分这两种情况的唯一方法是让触发的脚本查看字段/变量/脚本参数的内容,并相应地调整其操作。
另一种选择是在离开布局之前进入“查找”模式(假设触发器仅在“浏览”模式下启用)。但是,当您稍后查看脚本时,这可能会相当令人困惑。
评论
0赞
NewBoard
11/9/2023
啊,你实际上启发了我尝试使用全局变量。除非我尝试一下新窗口解决方案。感谢您的帮助!
1赞
michael.hor257k
11/9/2023
如果您不想使用新窗口(恕我直言,这是更可取的解决方案),那么下一个最佳选择是使用参数 .然后,您可以判断用户何时触发脚本,因为该参数将为空。这样就省去了设置(和重置)全局变量的麻烦。Get(ScriptName)
0赞
NewBoard
11/9/2023
再次感谢您的知识!这似乎真的是一个完美的解决方案,但我无法让它发挥作用。最终选择了全局变量。如果以后这最终会变得更加复杂/烦人,我将尝试新的窗口解决方案。Get(ScriptName)
评论