You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
-**Localized action issues** — issue messages stored in a lookup with `valueLocalizations`; the engine resolves the active culture at runtime
135
+
-**Input mask** — `input.valueMask: "REG-000.000.000"` enforces the structured input format
136
+
-**No-Code action call** — `? CheckRegistrationNumber('RegistrationNumber', ^:RegistrationNumber)` invokes the custom action without any expression scripting at the call site
137
+
-**Case test** — `Test.ct.json` covers both valid and invalid registration numbers
Copy file name to clipboardExpand all lines: Examples/ExtendedPayroll/README.md
+11Lines changed: 11 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -160,3 +160,14 @@ Delete.pecmd
160
160
## See Also
161
161
162
162
-[Extended Functions](https://github.com/Payroll-Engine/PayrollEngine/wiki/Extended-Functions) — wiki tutorial this example accompanies
163
+
164
+
---
165
+
166
+
## Features Demonstrated
167
+
168
+
-**Composite function pattern** — business logic encapsulated in a plain C# class injected via constructor into the engine's function
169
+
-**`partial` class extension** — `WageTypeValueFunction` extended with a named property (`MyRegulation`) that exposes the composite class
170
+
-**Lazy initialization** — `??=` creates the composite instance on first access; no manual lifecycle management
171
+
-**No-Code call site** — `valueExpression: "MyRegulation.GetSalary()"` reads the composite method directly without boilerplate
172
+
-**Regulation-level reuse** — the composite class is available in every wage type expression of the regulation; derived regulations can subclass or wrap it
Copy file name to clipboardExpand all lines: Examples/ForecastPayroll/README.md
+12Lines changed: 12 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -160,3 +160,15 @@ Test.pecmd
160
160
# Teardown
161
161
Delete.pecmd
162
162
```
163
+
164
+
---
165
+
166
+
## Features Demonstrated
167
+
168
+
-**Forecast data isolation** — case values tagged with a scenario name are invisible to production payruns; the `forecast` field on the payrun job activates the matching scenario
169
+
-**Parallel what-if scenarios** — multiple forecast scenarios share one regulation and payroll; no duplication required
170
+
-**`^^` operator in forecast context** — reads scenario-scoped case data; falls back to production value when no forecast override exists
171
+
-**No-Code condition guard** — `? ^^PlannedBonus > 0` stops the wage type action chain when no bonus is planned
172
+
-**Dedicated net output wage type** — WT 300 exposes the bottom-line figure directly without a collector aggregation step
173
+
-**No-Code regulation** — entire regulation implemented with action expressions; no C# scripting required
0 commit comments