McGoo Posted March 5, 2004 Posted March 5, 2004 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
stanley Posted March 5, 2004 Posted March 5, 2004 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
McGoo Posted March 5, 2004 Author Posted March 5, 2004 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
MoonShadow Posted March 5, 2004 Posted March 5, 2004 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.
stanley Posted March 5, 2004 Posted March 5, 2004 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
MoonShadow Posted March 5, 2004 Posted March 5, 2004 Hi Stanley, I added that comment as an after thought before I saw your post. Well said. Users need to be protected from themselves and the process should be simple enough that they can't mess it up or have to think at all.
McGoo Posted March 5, 2004 Author Posted March 5, 2004 Many thanks to everyone for their help, I have taken these steps and it is now virtually idiot proof
Recommended Posts
This topic is 7571 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 accountSign in
Already have an account? Sign in here.
Sign In Now