Вероятно, причиной медленного экспорта являются связанные поля и любые несохраненные вычисления, которые вы экспортируете. Вы можете обойти это, используя кэшированные поля, несвязанные, неисчисляемые поля, которые обновляются непосредственно перед экспортом с помощью различных шагов сценария Replace Field Contents
, выполняемых на сервере.
Разделите скрипт на три скрипта: Find Records to Export
, Update Caches
и Export Report
. Они бы выглядели примерно так:
Find Records to Export
Go to Layout [ "LayoutWithFieldsToReplace" ]
Enter Find Mode [ Pause: Off ]
Set Field [ TABLE::field ; // find criterion for this field ]
Set Field [ ...
Set Error Capture [ On ]
Perform Find []
Update Caches
Perform Script [ Find Records to Export ]
Replace Field Contents [ TABLE::cache_1 ; RELATED::field ]
Replace Field Contents [ TABLE::cache_2 ; TABLE::unstored_calc ]
Replace Field Contents [ ...
Export Report
Perform Script on Server [ Update Caches ]
Perform Script [ Find Records to Export ]
Export Records [ ...
Я не уверен, что FileMaker изменился на требование, но я думаю, поля, которые необходимо заменить, содержимое должно быть в макете во время замены. Поэтому убедитесь, что макет, к которому вы переходите, имеет их, в приведенном выше сценарии они будут TABLE::cache_1
и TABLE::cache_2
.