Придумал!
randrews был прав, нужен сингл инстэнц кодеюнит
в нем одна переменная, которая показывает, нужен нам апдейт хэдера или нет.
И, самое главное, эта переменная должна быть TRUE только в том случае когда меняется сумма заказа
Т.е., например, изменили цену, на валидэйте должен быть вызов функции кодеюнита, которая устанавливает переменную в TRUE.
На OnTimer хэдера должен быть примерно следующий код:
Код:
IF gcd_FormUpdateFunctions.GetNeedUpdate THEN BEGIN
CALCFIELDS("Order Amount");
CurrForm.UPDATE(TRUE);
gcd_FormUpdateFunctions.SetNeedUpdate(FALSE);
END;
Главное - учесть все моменты изменения общей суммы заказа.
Да, ну и в многопользовательском режиме уже не обойтись без доп. таблицы