When are formulas recalculated ?
Problem
I got a grid which is using col.xyz.formula to calculate a number of columns. When I update the underlying data, the formulas are not updated.
Why ?
Reason
The formulas are only calculated when the values in the dependent columns are changed.
If, for instance, the formula depends on a list value, and the associated list value is changed due to an underlying database change, the column value will be correct only after visiting the grid and refreshing the value.
Assume a configuration
gd.columns = product, price, quant, total
...
col.product = Product
col.product.type = list
col.product.query = select product, sku, price from products
col.product.query.ds = erp
...
col.price = Price
col.price.type = number
col.price.formula = {product.price}
...
col.total = Total
col.total.type = number
col.total.formula = {product.price} * {quant}
...
The price in the grid will not be updated when the price in the products is modified.
Workaround
This can be resolved by implementing database triggers which detect the change in the products database, and ripple it trough to the grid table.
Check your database admin for more information on how to create database triggers.