Jump to content

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

Recommended Posts

I have designed a script that will create a payment for a student. Unfortunately the member of staff who generates payments keeps trying to run this script whilst in find mode. I know that at the start of the script I could have the perform find script step but I want to give them a message to remind them to perform the find.

Is there any way to do this???

Thanks

Link to comment
Share on other sites

McGoo:

I'm guessing from your post that the procedure altogether is:

1. Find the student

2. Create the payment

Why not, at the beginning of the script, have:

Enter Find Mode [Pause]

Perform Find

After that, you've found the record you're after, and you run the rest of your script, perhaps with a further pause after the find is done, with buttons on the layout saying something like "Confirm" or "Begin Again" so the user can ensure that they are generating a payment for the right student...

Also, if your member of staff is starting the script from Find Mode, does that mean they are pulling it down from the menubar? If you leave all your scripts in the menubar, you're allowing the users to wreak all kinds of havoc.

-Stanley

Link to comment
Share on other sites

Stanley

Part of the problem is that whilst in the middle of finding the student they are finding the script. I can set the start of the script to perform the find but I want the member of staff in question to be aware of the mistakes they are making and potentially make it such a pain when they have made a mistake that they start thinking about the process.

Thanks for the ideas though

Link to comment
Share on other sites

Hi McGoo,

You haven't provided your scripts or process. Stanley's ideas are good ones. Having said that, you can add If [status(CurrentMode) = 1] to the beginning of your Payment script which will stop it from activating if in Find Mode.

But what if they try to activate your Payment script before running the find at all? Do you protections for that possibility so it doesn't apply to the existing record? I suggest a Confirmation message "Apply Payment to this record?" or set a global with a 1 in your Find Script and test that the 1 exists before allowing the Payment script to run.

Something similar to:

Find Script:

Set Field [global, ""]

Enter Find [Pause]

Perform Find

Set Field [global, 1]

Payment Script:

If [ Status(CurrentMode) = 1 ]

Show Message [ Buttons: "OK", Data: "You are in Find Mode. Finish your Find." ]

Halt Script

End If

If [ global <> 1 ]

Show Message [ Buttons: "OK", "", ""; Data: "You must find first" ]

Halt Script

End If

Set Field [ global, ""]

... then run the rest of your Payment script here. You should also include Error Capture and User Abort as needed in both scripts (and test that records are found) in your Find script.

In truth, a properly defined process won't require a User to "think about the Process" at all but will instead cover for all possible mistakes they will make and take the appropriate actions for them.

Link to comment
Share on other sites

McGoo:

MoonShadow's advice is very good - full of the safety features that I skipped over for brevity's sake. Furthermore, if you fully idiot-proof your solution - the direction MoonShadow is leading you in - then the member of staff won't be allowed to make mistakes such as those you're currently seeing.

-Stanley

Link to comment
Share on other sites

This topic is 7350 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.