Jump to content
View in the app

A better way to browse. Learn more.

FMForums.com

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Moving between files in FM7

Featured Replies

I have started the process of converting an application from FM5 to FM7. The problem I am getting is that when I move from one file to another using a script, FM7 first displays the last used layout on the file I am going to and then displays the layout I have requested in the script. The effect is a 'flash' before the desired layout is shown. Is there an obviuous way to avoid this ?

In FM7, the behavior of Go to Related Record[] and Perform Script[] has changed so that an external file no longer pops to the foreground automatically.

The conversion process automatically adds Select Window[] script steps to some of your scripts to replicate the previous behavior, but it's not perfect. You should check your problem script, and add or remove this Select Window step to reduce the flashing.

More details about this can be found in the FM7 Foundations and Migration Methodologies tech brief on filemaker.com.

  • Author

Looks to me as though the Select Window script is relevant to the new FM7 multi-table files rather than what I have got, which is 41 old-style files which I am moving between. I have tried removing the Select Window script step from the script and it doesnt seem to make things better or worse. Any other thoughts ?

In the case of solutions with multiple files, the Select Window[] step is essential when navigating between them.

Perhaps you can post your scripts so we can see if it's something obvious, or maybe reproduce the problem.

  • Author

Thanks for persisting, Ender !

So I have a Transaction file and a Client file. I have a screen of outstanding calls open in the Transaction file. Then I go to the Client file and from there want to go to a Diary screen back in the Transaction file. I have a script to take me from the Client file to the Diary screen on the Transaction file. The script calls another script in the Transaction file.

First script:

Copy [ DH client::client code ] [ Select ] Perform Script [ "Go to Diary (initial)" from file: "DH transaction" ] Select Window [ Name: "DH transaction" ]

Second script:

Adjust Window [ Maximize ] Show/Hide Status Area [ Show ] Show/Hide Text Ruler [ Hide ] Go to Layout [ "Diary" (DH transaction) ] Perform Script [ "Delete unused entries" ] Set Error Capture [ On ] Set Field [ DH transaction::diary date; Get(CurrentDate) ] Set Field [ DH transaction::diary year; Year(Get(CurrentDate)) ] Set Field [ DH transaction::diary week; WeekOfYear(Get(CurrentDate)) ] Set Field [ DH transaction::diary month; Month( Get(CurrentDate)) ] Set Field [ DH transaction::diary year week; GetAsNumber(DH transaction::diary year) & GetAsNumber(DH transaction::diary week) ] Set Field [ DH transaction::diary year month; GetAsNumber(DH transaction::diary year) & GetAsNumber(DH transaction::diary month) ] If [ DH transaction::diary = "Day" ] Perform Script [ "Go to Diary (day)" ] Else If [ DH transaction::diary ="Week" ] Perform Script [ "Go to Diary (week)" ] Else If [ DH transaction::diary = "Month" ] Perform Script [ "Go to Diary (month)" ] Else If [ DH transaction::diary = "Year" ] Perform Script [ "Go to Diary (year)" ] Else If [ DH transaction::diary = "Current" ] Perform Script [ "Go to Diary (current)" ] Else Perform Script [ "Go to Diary (all)" ] End If End If End If End If End If

But I get the same problem if I simply put Go to layout Diary.

And the problem is that I see the Calls layout and then after a delay it shows the Diary. When what I want is only to see the Diary !

Hope that is clear !

All the best

It's hard to read your script with the way it's formatted, but the flashing you see might be from the Adjust Window [ Maximize ] step in the subscript.

If you make the Go to Layout [ "Diary" (DH transaction) ] step first in the subscript, it won't show the last layout used.

You might also need to remove the Select Window[] step in the first script, and add a Select Window [ Current Window ] step to the subscript, placed after the Go to Layout [] step.

  • Author

Well, I'm afraid that didn't work. I have made it a lot simpler now. I have a script in Client which calls a new script in Transaction. The new script just has

Go to Layout [ "Diary" (DH transaction) ]

Select Window [ Current ]

And I get the same result. Do I have something fundamentally wrong here ?

I still can't tell what you have wrong. This works for me.

Create an account or sign in to comment

Important Information

By using this site, you agree to our Terms of Use.

Account

Navigation

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.