Expand | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
|
...
On the Quote detail page, there are two buttons to recalculate a quote. The difference is in how many lines are calculated.
Recalculate – Recalculates all line items.
Recalculate Changes – Recalculates only those line items which have changed compared to the previously calculated version. (Note that the button is in the line item’s panel with input parameters.)
A change of a line is, for example:
Change of item’s input field
Change of item’s label
Change of item’s result override
Change of header input field
A line item has the field dirty
which is set by the system to true for each line which should be recalculated.
So for "full" recalculation, all items are marked dirty.
For Recalculate Changes, only lines with some changes.
If you want, you can read the value of the item dirty
field in the header logic’s post-phase, and do only processing of the recalculated items.
...
The user clicks Recalculate or Recalculate Changes.
The system calls the quote header logic in pre-phase.
Usually the header logic creates input fields on the header, but it can also change the structure of the document.
The system sets the
dirty
flag for line items, either for all or only for the modified ones.For each "dirty" item the system will:
Call the quote item logic.
Take the logic’s element results, and store it on the line item.
The system executes the quote header logic in post-phase.
Usually the header logic calculates some summarized results and creates the result fields.
The user can see the recalculated results on the screen.