On 4/24/2019 4:45 AM, Alan Bourke wrote:
On Tue, 23 Apr 2019, at 5:04 PM, Fletcher Johnson wrote:
The second is much more critical. If the price of an item changes, when an invoice is printed, it needs to show the price in effect when it was printed. If I sell something today, the current price is usually appropriate. But if I re-print an invoice from last month, I need to know the price (and quite likely, other values) in effect at that time. In other words, time is just one more critical data point used to identify the correct data.
The downside to the first is that, unless you re-write your code, the solution requires either triggers or stored procs - both of which require a DBA (in most work environments.)
The downside to the second is that not only will it require a dba (structure changes),
In the case of re-printing an invoice, store the price at the time of initial creation in your invoice line details table and use that when reprinting. Or store a PDF of the emailed\printed invoice, and re-use that.
Yeah, you definitely need to store the price used at the time of creation, imo. That's how I do it in FabMate/FabNet. I'd never rely on the lookup code for pricing in jobs.
--- This email has been checked for viruses by Avast antivirus software. https://www.avast.com/antivirus