Calculation type
Caps the total allowed amount for the account at a fixed dollar amount, reducing the account-level allowed amount if the sum of all charge-level allowed amounts (plus the current account-level amount) exceeds that cap.
totalAllowed = Details[0].Amount + sum over non-ignored charges i=1..NumCharges-1 of Details[i].Amount; if totalAllowed > calc.MaxAllowed: Details[0].Adjust(Details[0].Amount - (totalAllowed - calc.MaxAllowed), calc).
| Key | Meaning |
|---|---|
| MaxAllowed | decimal, default 0.0M; the fixed dollar ceiling the account's total allowed amount (Details[0] plus all non-ignored charge details) must not exceed. |
Gotchas
MaxAllowed defaults to 0.0M -- a misconfigured/unset instance will forcibly zero out the entire account's allowed amount rather than doing nothing, since totalAllowed > 0 will almost always be true. No per-charge variant exists (CalculationLevel is hardcoded Account, unlike LesserOfAdjustment's AdjustCharges option). Uses Adjust (delta-recording), not SetBase.
class · /home/cary/src/mdc/MdClarity/MDClarity/MDClarityCore/Backend/CustomerDataModel.cs:886
dispatch · /home/cary/src/mdc/MdClarity/MDClarity/MDClarityCore/Backend/CalculationEngine.cs:738
CONFIRMED