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

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