Daily Archives: November 21, 2016

Tip #292 – Disabling the Windows “x”

Tip #292
Disabling the Windows “x”


Clicking on the Windows “x” as a way of exiting flowerSoft should never be used.

In many occasions during the order entry process, flowerSoft must lock certain records prior to writing to them.  This is done to avoid someone else from accessing the same record and overwriting what you intended to save on that record.
For example, when flowerSoft needs to get the invoice number to be used on an order, it accesses  a control file record which holds the next invoice number to be used.
After the next invoice number is retrieved, flowerSoft adds 1 to the invoice number field so that the next station looking for an invoice number will have the latest available one and then closes the record and thus releasing the record lock.
That whole process takes a fraction of a second.
The control file record is locked so that no one else can access it until it is released by the current user.  This is done to try to prevent two stations from accessing the record at the same time and getting the same invoice number for 2 different orders.
I say “try” to prevent because even when using this record locking mechanism, occasionally invoice number will get duplicated.  It is something that should never happen but it does.  I have never been able to duplicate this problem and I’ve spent over 25 years trying to.  If it does happen to you, flowerSoft provides a way to locate these duplicate invoice numbers and assign a new number to one of them.  But I digress.

Although the invoice number generating procedure is one fairly easy to understand, it is one that I am almost certain never results in other stations being locked out of the control file record for more than a second.  However, there are many other instances where flowerSoft must write to a record and it must lock it before it does so and if a message must be displayed while the record is locked and the user does not respond to the message on the screen on a timely manner, other stations may get locked waiting for the record to be released.  That is when many users will resort to clicking on the Windows “x” to exit flowerSoft from their station or from the station that is locking the record.

The correct thing to do on those occasions is to find the station that has the record locked (usually because a warning message has be left unattended on the screen) and releasing the record locked by just simply answering the question asked or just hitting the Enter key.

The problem is that no matter how many times I tell users not to do this, they keep doing it because it is an easy way to get locked station released.  Unfortunately, most users don’t realize that when this action is taken flowerSoft has no say in what happens next.
The operating system takes over and closes the flowerSoft window.

This prevents flowerSoft from exiting the program gracefully, as it does when you hit the Esc key instead.
First of all, clicking on the Windows “x” prevents flowerSoft from saving the record to disk.  So if it was a new record, you won’t be able to find it if you go looking for it.
You may be able to rescue it if you got past the recipient’s field but otherwise it will be lost for ever.

Also, some records may not get updated because of the way you exited flowerSoft.  This may result in out of balance accounts and several other problems.

So in order to avoid these problems, I have added an option to the log in process that asks you if you want to disable the Windows “x”.


I am still giving you the option not to disable the Windows “x” but I think you should give this option a try as it might prevent some unforeseen problems.

If you do opt to use this option, be aware that you will not be able to click on the “x” to close flowerSoft.  The only way to exit from a new order is to hit the Esc key or in some cases the Ctrl-C combination keystroke.

Should a station become totally locked where the Esc and Ctrl-C key strokes cannot be executed, the other way to exit is via the Windows task manager.

Tip #291 – “Mailing List” Customers

Tip #291
“Mailing List” Customer

This is a feature that flowerSoft has had for over 20 years and yet, I have very rarely written anything about it.  Maybe because it is not used very often by most flowerSoft customers or so I thought.

However, recently I had a complaint from one customer about how long it took her to enter names obtained from a bridal show into flowerSoft.  She thought that having to go through all the fields that flowerSoft requires you to go through was a bit too much when all she wanted to do was enter the future bride’s name and addresses.

That made me realize that probably very few of you know how to enter a “mailing list” customer into flowerSoft and I am to blame for this.  There is very little documentation about this feature, so I hope this post will put an end to that.

Many years ago, flower shops used to subscribe to mailing lists that provided them with the names of potential new customers in their area.  I don’t know if that takes place anymore but it probably still does.
They used these list to send the potential customers to introduce themselves and their services and to entice them to become regular customers with special discounts and offers.

Even then, the also needed a way to enter these names into flowerSoft quickly, without the need to respond to all the questions flowerSoft required of new accounts.
Hence the birth of the “mailing list” account.

The “mailing list” account will let you keep the name and address of a potential customer in flowerSoft but will not allow you to sell to them (at least through flowerSoft) unless you first change their account from “mailing list” to something else.  So there is no risk of you selling something to a customer you have not extended credit to.

So, how do you enter a “mailing list” customer?
Just like you enter any other account into flowerSoft except that you cannot go past the phone number fields without indicating to flowerSoft that this is a “mailing list” account.

Then, how do you tell flowerSoft that what you are entering is a “mailing list” account?

There was only one way to do this in the past and that was by entering 10 9’s as the phone number.  flowerSoft would then assume you were entering a “mailing list” customer and act accordingly.

I have now introduced a new option that allows you to hit F4 before existing the phone number fields that will allow you to save the record even if you only have a name.

Here is how…


After you enter the customer’s name, you will begin to see the F4 prompt at the bottom right-hand corner of the screen.


Pressing the F4 key will cause flowerSoft to ask if you are entering a “mailing list” client.


If you answer ‘yes’, flowerSoft will assign an account number of 9999999999.000 to the record and mark it as a mailing list customer type and cash only account.
All mailing list clients will have an account number of 9999999999.000, no matter how many you enter.  This allows you to have an unlimited number of mailing list client.
It also allows you to keep a couple of reference phone numbers for the customer.
The down side is that you can only retrieve those accounts by name.

Remember that you cannot go past the Cell/Fax No. field because at that point flowerSoft will assign an account number to the customer based on the phone number(s) entered.
Once that happens, you cannot have a mailing list account type.


If you try to sell to a mailing list customer, flowerSoft will respond with…


So, if you do want to sell to that customer you are going to have to change the account type from mailing list to something else.
If you answer ‘yes’ to the question above, flowerSoft will put you into the add new client information screen, with the data found in the mailing list customer record already populated into the appropriate fields.


If you do not finish entering the “mailing list” customer as a regular customer, flowerSoft will not delete the “mailing list” customer record.
If you do complete the add new customer operation, flowerSoft will delete the mailing list customer record.