I thought that this issue had been resolved, but when I came to implement the necessary changes to my project I ran into yet another brick wall.
Eventually I found the source of the problem and was able to duplicate it in the attached NEW2.bsv.
To refresh memories, I have and OrderHeader and OrderlIne. Each OrderLine contains a quantity for each of a number of sizes. These fields allow inline editing.
I show the total for each line using a rule in OrderLine
OrderLine.TotalQuantity=OrderLine.Size1+OrderLine.Size2
and I show a total for all lines using a rule in OrderHeader
OrderHeader.QTotal=SUM OrderLine.TotalQuantity WHERE (OrderLine IN OrderHeader.OrderLine)
When a single quantity is changed nothing happens until the user passes the focus to another attribute - at which point the line total is updated but not the grand total. When the user changes the focus to another cell then and only then is the Grand Total Updated.
This behavior only occurs when the line total, OrderLine.TotalQuantity, is shown on the form. If the line total is not shown on the form it works fine and the grand total is immediately updated.
Looking at the Testlog is most instructive.
In the first extract timed at 17:21:13 the user had changed one quantity and changed the focus to another attribute. You can see that the process has invoked the update of the grand total and reached the right figure - but has not displayed it on the form
The second extract timed at 17:24:51 the user has changed the focus to yet another attribute which has invoked the update of the grand total and displayed it on the form.
The exact wording deeply significant. If the process finds no change in the value of the attribute it USUALLY says something on the lines that "it was not updated because the value was the same."
I am driven to the conclusion that the process is working on two different copies of the OrderHeader in different CONTEXTS - but how can this be?
More importantly - what is the solution?
My thanks in advance for any help on this



