diff --git a/CLAUDE.md b/CLAUDE.md index e4a10ac..0710501 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -120,6 +120,12 @@ throughout the codebase: the `crsFactura` structure, the VAT formulas, and which files to touch for a given task. Key rule: `PACK_FACTURARE.pck` is the source of truth; the `frm_factura` preview must mirror its formulas, and reports/list only read package-computed values. +- **`docs/fluxuri_calcul_facturare.md`** — the end-to-end billing chain (Import → Calcul → + Salvare → Listare) documented per service type (tranzit, cheiaj, chirii, penalități, apă, + diverse): where source data is imported from (RORIS/`ips_*`), the exact value/coefficient + formulas and roundings, where results are persisted, and what reports/recapitulations read + back. Read this to find which file:line computes a given value. Includes a "Capcane cunoscute" + section (e.g. the distance-coefficient rounding that zeroes sub-32m distances). - **`Programe/proceduri_acnpro_rapoarte.prg`** — report-generation procedures feeding the `Rapoarte/*.frx` layouts (factura, recapitulatie_cheiaj/tranzit/penalitati, registru tranzit). - **`Programe/importroris*.prg`** + `importroris.pjx` — a *separate* small executable diff --git a/Clase/oacnpro.VCT b/Clase/oacnpro.VCT index f672a33..878bf49 100644 Binary files a/Clase/oacnpro.VCT and b/Clase/oacnpro.VCT differ diff --git a/Clase/oacnpro.vcx b/Clase/oacnpro.vcx index 2dea02c..6d47877 100644 Binary files a/Clase/oacnpro.vcx and b/Clase/oacnpro.vcx differ diff --git a/Programe/proceduri_acnpro.prg b/Programe/proceduri_acnpro.prg index 137a849..cb8a202 100644 --- a/Programe/proceduri_acnpro.prg +++ b/Programe/proceduri_acnpro.prg @@ -5743,7 +5743,7 @@ Procedure mod_calcul_tranzit Select vye_id, intern, indicativ, tarif, valuta, cant, um, procdist, corect, procdiv, valval, Curs, valftva From (m.tcTabel) Where vye_id = m.tcVyeId Order By indicativ Into Cursor cModCalculTemp Select cModCalculTemp Scan - lcModCalcul = lcModCalcul + Alltrim(Transform(tarif, GET_MASK(10, 4))) + [ ] + Allt(valuta) + [ * ] + Allt(Str(cant, 8, 2)) + [ ] + Allt(um) + [ * ] + Allt(Str(procdist, 6, 2)) + [ * ] + Allt(Str(corect + procdiv, 5, 2)) + [ = ] + Alltrim(Transform(valval, GET_MASK(16, 2))) + [ ] + Allt(valuta) + lcModCalcul = lcModCalcul + Alltrim(Transform(tarif, GET_MASK(10, 4))) + [ ] + Allt(valuta) + [ * ] + Allt(Str(cant, 8, 2)) + [ ] + Allt(um) + [ * ] + Allt(Str(procdist, 6, 3)) + [ * ] + Allt(Str(corect + procdiv, 5, 3)) + [ = ] + Alltrim(Transform(valval, GET_MASK(16, 2))) + [ ] + Allt(valuta) llIntern = intern lnCurs = Curs If m.llIntern diff --git a/changelog_roaacnpro.txt b/changelog_roaacnpro.txt index c4e6d64..61a3d7f 100644 --- a/changelog_roaacnpro.txt +++ b/changelog_roaacnpro.txt @@ -1,3 +1,11 @@ + +