Tranzit: repartitie proportionala valoare finala cand coeficientul de distanta e 0

Precizia coeficientului de distanta revine la 2 zecimale (gnProcDistPrecizie=2)
pentru compatibilitate cu facturile/stornarile anterioare. Cand procdist se
rotunjeste la 0 (distante scurte) si se introduce o valoare finala manuala,
aceasta se repartizeaza proportional pe nave dupa baza fara coeficient de
distanta (tarif * cant * (corect + procdiv)), la facturare si la stornare.
Cantitatea de stornare se recalculeaza proportional, nu mai devine 0.

Bump versiune 2.0.5 -> 2.0.6.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-06-17 14:33:56 +03:00
parent 69c5290a8d
commit 1f43c29955
7 changed files with 15 additions and 3 deletions

Binary file not shown.

Binary file not shown.

View File

@@ -1 +1,3 @@
**OVARIABILE_GLOBALE.PRG
PUBLIC gnProcDistPrecizie
gnProcDistPrecizie = 2 && precizie zecimale rotunjire calcul si afisare procent distanta parcursa / lungime CDMN 64.4 km

View File

@@ -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, 3)) + [ * ] + Allt(Str(corect + procdiv, 5, 3)) + [ = ] + 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, m.gnProcDistPrecizie)) + [ * ] + Allt(Str(corect + procdiv, 5, 3)) + [ = ] + Alltrim(Transform(valval, GET_MASK(16, 2))) + [ ] + Allt(valuta)
llIntern = intern
lnCurs = Curs
If m.llIntern

View File

@@ -1,3 +1,13 @@
<!--
17/06/2026
ROAACNPRO - 2.0.6
:modificare:
Calcul tranzit. Precizia coeficientului de distanta a revenit la 2 zecimale, pentru ca facturile si stornarile sa fie calculate identic cu cele anterioare.
Cand coeficientul de distanta se rotunjeste la 0 (distante scurte, ex 0.2 km) si se introduce o valoare finala manuala, aceasta se repartizeaza acum proportional pe nave dupa baza fara coeficient de distanta (tarif * cant * (corect + procdiv)), atat la facturare cat si la stornare.
Cantitatea de stornare se recalculeaza proportional, nu mai devine 0.
-->
<!--
15/06/2026
ROAACNPRO - 2.0.5

Binary file not shown.

Binary file not shown.