This ProjectEntry graph extension (placed in App_RuntimeCode\ProjectEntry.cs) automates project‑management (PM) labor budgeting. Whenever a user changes the Original Budgeted Amount on any Revenue Budget line, the extension
recomputes the project’s total revised revenue (excluding the special inventory item PMLABOR),
converts that total into PM hours via a rate table (GetPMHours),
updates or inserts a Revenue Budget line for PMLABOR so its Qty = PM hours and CuryUnitRate = 90,
|
|
4 месяцев назад | |
|---|---|---|
| LaborRuleBase.cs | 5 месяцев назад | |
| LaborRules.cs | 4 месяцев назад | |
| ProjectEntryExt.cs | 4 месяцев назад | |
| ProjectEntryLaborAdjust.csproj | 4 месяцев назад | |
| README.md | 6 месяцев назад |
Keeps one PMLABOR revenue‑budget line in sync with the project’s PM‑hours every time a revenue budget amount changes.
| Item | Value |
|---|---|
| Target screen / graph | Project Entry (PM301000) → ProjectEntry |
| DAC touched | PMRevenueBudget |
| Key Inventory ID | PMLABOR |
| Labor rate | 90 (project currency) |
| Exits early when | • Project’s branch 301 • Billing rule PROGRESS |
Original Budgeted Amount on revenue lines.| Revenue ≤ | PM Hours | |-----------|---------| | 1 000 | 1.0 | | 2 500 | 1.5 | | 5 000 | 3.0 | | 7 500 | 3.5 | | 10 000 | 5.0 | | 25 000 | 6.0 | | 50 000 | 9.0 | | > 50 000 | 10.5 |
Qty = PM‑hours, Rate = 90, amount auto‑recalculated.RowPersisting, preventing the 90 → 0 flip when users save mid‑edit.PXTrace (toggle with DEBUG_ON).```text