覆盖 FileMaker 19 中的上次编辑字段自动计算

override last-edit field auto-calculation in FileMaker 19

我有一个 table,它使用普通的 FileMaker 字段定义和一个受保护的字段自动计算最后一次更改行的人(姓名)和时间(日期)的字段。

但是,我有一个用例,我将数据从也有这些条目的来源复制到此 table,我也想复制它们。但是当我的脚本复制数据时,它会触发自动计算,最后,我的“更改时间”设置为当前时间,“更改人”设置为当前用户。我想保留我的外部资源在这些字段中的所有内容。

如何在 FileMaker 中暂时禁用这些字段的自动计算,以便在我的脚本运行期间,它们充当普通字段并仅获取我输入的数据?

如下更改自动输入的修改字段

  • 切换到自动输入计算值
  • 关闭 'Do not replace existing value of field (if any)'

然后将自动输入计算设置为如下所示

Let ( trigger = GetField ( "" ) ; If ( $$SilentSync > 0 ; Self ; Get ( CurrentDate ) ) )

您需要将 Get ( CurrentDate ) 更改为适合该字段的任何内容,并且您需要对每个 table.

中的所有修改字段执行此操作

在此之后,这些字段将在日常编辑等过程中正常工作。

在同步过程中设置数据时,您可以在同步过程开始时使用以下内容

Set Variable [$$SilentSync: 1]

然后在同步过程结束时清除 $$SilentSync

Set Variable [$$SilentSync: ""]