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,

Kitt Parker f73264f102 update 10 сар өмнө
LaborRuleBase.cs f73264f102 update 10 сар өмнө
LaborRules.cs f73264f102 update 10 сар өмнө
ProjectEntryExt.cs f73264f102 update 10 сар өмнө
ProjectEntryLaborAdjust.csproj bbe88f7229 Used classes to segregate codes out of main logic 10 сар өмнө
README.md 8ee7152351 Added readme 11 сар өмнө

README.md

Acumatica ProjectEntry PM Labor Auto‑Budget Extension

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

✨ Features

  1. Monitors Original Budgeted Amount on revenue lines.
  2. Totals the project’s revised revenue (excluding PMLABOR).
  3. Converts that total to PM‑hours with a bucket table:

| 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 |

  1. Updates / inserts one PMLABOR line → Qty = PM‑hours, Rate = 90, amount auto‑recalculated.
  2. Pins the rate in RowPersisting, preventing the 90 → 0 flip when users save mid‑edit.
  3. Debug logging via PXTrace (toggle with DEBUG_ON).

🛠 Install

```text

  1. Copy ProjectEntryExt.cs → \App_RuntimeCode
  2. Customization » Projects (SM204505) • Add File → select ProjectEntryExt.cs • Publish