Skip 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.

Freezing Window (completley)

Featured Replies

In order to set up email marketing lists, I display a list of all the contacts in our database. To add them to an email list I run a script to create a join record. The script Freezes the Window takes the id from the presenter and a global value (the campaign being worked on) as two values, it then goes to the join layout, searches for a record with the two variables, if it finds one it returns to the original window, if not it creates the join record and returns to the original value.

Using the global value I have set up a relationship to indicate if the join record exists (i.e if a customer is on the particular email list)

This all works great. The problem is keeping the original layout still. On the original layout, which displays 20 records on the screen and can be scrolled, you can click a button next to any of the records to trigger the script, when the script finishes the record which the script has been run on, always ends up at the bottom of the screen, regardless of where it was on the screen when the script was run.

Is there a way to completely freeze the window, so that to the user the script is completely transparent?

How about at the start of the script storing the record # into a variable and at the end of the script going to record# (by calculation) yourvariable.

HTH

Phil

  • Author

Thanks for the suggestion, I have tried that and I always end up on the correct record, but with it at the bottom of the page.

I need to keep the record in exact place it was when the button (running the script) was pressed. I want it to look to the user like pressing the button, switches on the indicator (with a very slight lag). Its confusing for users to have the screen appear to move about when they select a recipient.

any other ideas?

This seems to be a by-product of your script. If your script did only the things you have mentioned, this shouldn't happen. I am guessing you are ending with some attempt to get back to the original record. But there's no reason why the current record on the original layout should change.

  • Author

Hi,

It's not that the record changes, it's that it's position on the page changes.

The script does the following:

Freeze Window

Set Error Capture on

Set Variable 1

Set variable 2

Go to join layout

Enter Find Mode

Set Field with Variable 1

Set Field with Variable 2

Perform Find

if [Get (Last Error) < 1]

Enter Browse Mode

Show Custom Dialogue ["already booked"]

Go to original layout

Else

Create Join record

Goto original Layout

I have also tried setting a $ with Get (RecordNumber) and then using it to Go to record by calculation at the end of the script.

In both cases I end up on the correct record, but it always moves to the bottom of the screen.

I cannot reproduce your problem. Can you post a demo file (preferably a simple one) that shows this behavior?

OK then

here's another possibility. I don't know that it works but it might.

At the start of the script instead of having a freeze window have a 'new window' step. Specify the new window to be - (minus)1000pixels each way. At the end of the script close the new window.

This will mean that the window where all the action takes place is off the screen and therefore not visible to the user. Your old window will still be visible as before. After you close the new window the old window will become active again - hopefully with no changes.

It will be interesting to see if that works. It certainly does for me when I have a lot of 'flashy' things going on on my screen due to the windows refresh issues.

Regards

Phil

Phil

  • Author

Comment; I have uploaded a file that shows the problem. It's very simple and doesn't have the indicator thats in the full file. Clicking the button next to the record creates the join record and moves the record you are working on to the bottom of the screen (try it with a record half way though the list).

Inky Phil: Thanks for the suggestion I will give it a go.

DemFile.zip

  • Author

Inky Phil,

Thanks for the suggestion it works really well

Daniel

  • Author

John,

I think you might very well be right, I haven't used relationships to test conditions before, but I'm certainly going to start!

Daniel

Create an account or sign in to comment

Important Information

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

Account

Navigation

Search

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.