sync SVN r18026
This commit is contained in:
@@ -789,8 +789,9 @@ ENDFUNC && ConstruiestePropunereSincronizare
|
||||
*!* Modificare/Adaugare pe tvd nu se aplica, doar cele pe trul, care nu au nevoie de metode de formular)
|
||||
*!* reconstruieste propunerea (ConstruiestePropunereSincronizare) si aplica tot ce nu e N-A/Semnalare,
|
||||
*!* DOAR in cursoarele din memorie (tvd/trul) - niciun INSERT/UPDATE Oracle; RUL_SURSA scrie in tvd
|
||||
*!* (cantitate/pret, pastrand pret_cu_tva existent pe rand), ARTICOLE_SURSA scrie doar cant/pretvtva pe
|
||||
*!* randul RUL deja existent (niciodata rand RUL nou - lipsesc contul/gestiunea sigure din articol)
|
||||
*!* (cantitate/pret, pastrand pret_cu_tva existent pe rand), ARTICOLE_SURSA scrie cant/pretvtva si
|
||||
*!* recalculeaza pretv/tvav pe randul RUL deja existent (niciodata rand RUL nou - lipsesc contul/
|
||||
*!* gestiunea sigure din articol)
|
||||
*!* retur numeric: cate linii au fost efectiv aplicate (ca apelantul sa poata reface bara de totaluri)
|
||||
FUNCTION AplicaSincronizareArticole
|
||||
LPARAMETERS tcDirectie, toForm
|
||||
@@ -919,12 +920,15 @@ ENDFUNC && AplicaAdaugareTvd
|
||||
|
||||
*!* parametri: id_articol, cantitate/pret noi (pret_nou cu TVA)
|
||||
*!* scrie in trul (singurul rand activ gasit pe articol - garantat unic, altfel propunerea a marcat N-A)
|
||||
*!* doar cant/cante (dupa care din ele era deja folosit pe rand) si pretvtva; nu atinge id_tip_rulaj,
|
||||
*!* conturi (scd/scc) sau alte campuri derivate (valoare/tva/etc.) - raman de recalculat de apelant daca e nevoie
|
||||
*!* cant/cante (dupa care din ele era deja folosit pe rand), apoi recalculeaza pretv/tvav/pretvtva cu
|
||||
*!* formula din calculeaza_valori_rul (ramura pretvtva); nu atinge valorile (valoarev/valtvav/
|
||||
*!* valoarevcTVA), id_tip_rulaj, conturi (scd/scc) sau valoare/tva (pretul de achizitie) - raman de
|
||||
*!* recalculat de apelant daca e nevoie
|
||||
FUNCTION AplicaModificareTrul
|
||||
LPARAMETERS tnIdArticol, tnCantitateNoua, tnPretNouCuTva
|
||||
|
||||
LOCAL lnAreaOrigine, llAplicat, lcCampCant
|
||||
LOCAL lnPretvtva, lnProcTvav, lnTvav, lnPretv
|
||||
lnAreaOrigine = Select()
|
||||
llAplicat = .F.
|
||||
|
||||
@@ -933,7 +937,14 @@ FUNCTION AplicaModificareTrul
|
||||
LOCATE FOR id_articol = m.tnIdArticol AND Nvl(sters,0) <> 1
|
||||
IF Found()
|
||||
lcCampCant = IIF(Nvl(cant,0) <> 0, 'cant', 'cante')
|
||||
REPLACE (m.lcCampCant) WITH m.tnCantitateNoua, pretvtva WITH m.tnPretNouCuTva IN trul
|
||||
REPLACE (m.lcCampCant) WITH m.tnCantitateNoua IN trul
|
||||
|
||||
lnPretvtva = ROUND(m.tnPretNouCuTva, m.gnPPretv)
|
||||
lnProcTvav = IIF(Empty(proc_tvav), 1, proc_tvav) - 1 && 1.19 -> 0.19
|
||||
lnTvav = ROUND(m.lnPretvtva * m.lnProcTvav / (1 + m.lnProcTvav), m.gnPPretv)
|
||||
lnPretv = m.lnPretvtva - m.lnTvav
|
||||
|
||||
REPLACE pretv WITH m.lnPretv, pretvtva WITH m.lnPretvtva, tvav WITH m.lnTvav IN trul
|
||||
llAplicat = .T.
|
||||
ENDIF
|
||||
ENDIF
|
||||
|
||||
Reference in New Issue
Block a user