Valbon,
I think your design would work and would be more clever but I might tend more to the "flat file" structure.
Our pricing is a Base Price stored as the Sales Price, plus a Base Quantity and then tiers of pricing that have adders or penalties for being a smaller quantity than the base price. For example the base price is $10.00 for a base quantity of 100. We then have a standard "penalty" schedule, although I want this custom, or process dependent in the future. So, I am storing a price value for 1 To 3 pieces, 4 to 9 pieces, 10 to 24 pieces, and so on as custom fields on the Item record. For an order QTY of 3, the 1 To 3 price would be valid an in this case the price would be $25.00 each. It is almost like a setup charge of $50.00 divided by the tier quantity to result in a per piece price. It is a bit strange but has been in use for so many years. This one "business rule" has caused more problems attempting to use a "shrink wrap" solution than anything else and is one of only two use cases that really prevent us from using QB out of the box. But, as with many things we'll be able to model it exactly how we want with Method.
So, IF the Item is a NonInventory Item, and IF the Order QTY is less than the Base Quantity, the lookup goes and finds the right price as stored in the Item table.
One of the benefits of storing the price levels "flat" on the Item record instead of relational (as would be more correct) is that it is easy for me to export the Items and adjust pricing en masse, then import them. Once the price levels become relational structures, I might have problems, (well now to think about it, it would be easy, wouldn't it, since the Item FullName is the key value?).
I am also considering just using Show Message or Show Screen in Popup to alert the user (just myself and one other person) that the Order Quantity is below the Base Quantity and display the pricing tiers for manual entry. By involving the user, we can either reinforce that all Item records need some kind of Base Quantity or make sure we are deliberately applying the higher price to our customer and agree with the penalty.
Thanks so much for considering how to model this, using the Where Clause is much more elegant, but I might keep it a bit simple, if not requiring more Actions to accomplish for now. I've also got the issue of how to print a Quotation with all of these pricing tiers and get it to fit on a form. I think I have a solution for that by using a "Price Adder" page to the cover page of the Quotation.
Oh, and I tested the Lose Focus event and it does work much better on the number value field. Or, I should say I could not get Text Change to work on the number value field and Lose Focus works just fine.
Thanks again for thinking about my use cases, I'm relieved to know I'm not heading down the wrong track, or at least not too far in the wrong direction. You've saved me a bunch of time already.
Cheers,
James