Jump to content
Claris Engage 2025 - March 25-26 Austin Texas ×

This topic is 6452 days old. Please don't post here. Open a new topic instead.

Recommended Posts

Posted

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?

Posted

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

Posted

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?

Posted

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.

Posted

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.

Posted

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

Posted

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

Posted

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

This topic is 6452 days old. Please don't post here. Open a new topic instead.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

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