achizitie import: numarul DVI nu mai suprascrie numarul facturii
In import_nota, randul de TVA al DVI-ului pastreaza doc_key-ul facturii-mama. copiaza_valoare il sarea doar ca tinta, nu si ca sursa, asa ca o trecere prin celula "Nr" a randului DVI scria numarul vamal peste randurile facturii (B/G/S) si, la Terminat, in ACT si RUL.nract. Garda e acum in ambele sensuri, pentru numar, serie, data, fel document si partener; propagarea de partener din Grid1.cPartC.Text1.Valid a primit aceeasi protectie. Garzile comparau numele de camp bar, dar ControlSource-ul unei coloane de grid e calificat la runtime (introdc.nract), deci nu se activau pe drumul din grila. Teste noi in utile/Teste/achizitie_import. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01U9uDgDfUQXbh2Neib36CN8
This commit is contained in:
@@ -8808,17 +8808,23 @@ DEFINE CLASS import_nota AS frm_termin_renunt OF "_frm_child.vcx"
|
||||
*!* cheia documentului, doc_key se regenereaza pe grup dupa propagare.
|
||||
Lparameters tcCamp
|
||||
Local lcSelect, lcCursor, luValoare, lcDocKeyOld, lcDocKeyNou, lnRecCurent, llCheie
|
||||
Local llCampValuta, llCampIdentitate, llSursaProtejata
|
||||
Local llCampValuta, llCampIdentitate, llSursaProtejata, lcCamp
|
||||
lcCursor = Thisform.grid1.RecordSource
|
||||
lcSelect = Select()
|
||||
Select (lcCursor)
|
||||
lnRecCurent = Recno()
|
||||
lcDocKeyOld = doc_key
|
||||
luValoare = &tcCamp
|
||||
llCheie = Inlist(Lower(tcCamp), 'serie_act', 'nract', 'id_fdoc', 'fdoc', 'id_partc', 'partc')
|
||||
llCampValuta = Inlist(Lower(tcCamp), 'in_valuta', 'id_valuta', 'nume_val', 'curs', 'suma_val')
|
||||
llCampIdentitate = Inlist(Lower(tcCamp), 'nract', 'serie_act', 'partc', 'id_fdoc', 'fdoc')
|
||||
llSursaProtejata = (llCampValuta And Thisform.rand_protejat())
|
||||
*!* la runtime VFP califica ControlSource-ul coloanei cu aliasul grilei (introdc.nract)
|
||||
lcCamp = Lower(Alltrim(tcCamp))
|
||||
If '.' $ lcCamp
|
||||
lcCamp = Substr(lcCamp, Rat('.', lcCamp) + 1)
|
||||
Endif
|
||||
llCheie = Inlist(lcCamp, 'serie_act', 'nract', 'id_fdoc', 'fdoc', 'id_partc', 'partc')
|
||||
llCampValuta = Inlist(lcCamp, 'in_valuta', 'id_valuta', 'nume_val', 'curs', 'suma_val')
|
||||
llCampIdentitate = Inlist(lcCamp, 'nract', 'serie_act', 'partc', 'id_partc', 'id_fdoc', 'fdoc', 'dataact')
|
||||
*!* randul DVI e protejat si ca SURSA - identitatea lui vamala nu se propaga pe factura-mama
|
||||
llSursaProtejata = (llCampValuta And Thisform.rand_protejat()) Or (llCampIdentitate And Nvl(rand_dvi,0) = 1)
|
||||
|
||||
If !llSursaProtejata
|
||||
Scan For doc_key == lcDocKeyOld And Recno() <> lnRecCurent
|
||||
@@ -8832,7 +8838,7 @@ DEFINE CLASS import_nota AS frm_termin_renunt OF "_frm_child.vcx"
|
||||
Endscan
|
||||
Endif
|
||||
|
||||
If llCheie
|
||||
If llCheie And !llSursaProtejata
|
||||
Go lnRecCurent
|
||||
lcDocKeyNou = Thisform.calc_doc_key()
|
||||
Scan For doc_key == lcDocKeyOld
|
||||
@@ -8843,7 +8849,7 @@ DEFINE CLASS import_nota AS frm_termin_renunt OF "_frm_child.vcx"
|
||||
Go lnRecCurent
|
||||
Select (lcSelect)
|
||||
Release lcSelect, lcCursor, luValoare, lcDocKeyOld, lcDocKeyNou, lnRecCurent, llCheie
|
||||
Release llCampValuta, llCampIdentitate, llSursaProtejata
|
||||
Release llCampValuta, llCampIdentitate, llSursaProtejata, lcCamp
|
||||
ENDPROC
|
||||
|
||||
PROCEDURE creeaza_rand_s
|
||||
@@ -11883,12 +11889,20 @@ DEFINE CLASS import_nota AS frm_termin_renunt OF "_frm_child.vcx"
|
||||
lcSelect = SELECT()
|
||||
|
||||
SELECT introdc
|
||||
*!* randul DVI are partener propriu (vama) - nu il da si nu il preia de la factura
|
||||
IF Nvl(rand_dvi,0) = 1
|
||||
SELECT (lcSelect)
|
||||
RETURN
|
||||
ENDIF
|
||||
lnRecCurent = RECNO()
|
||||
lcDocKey = doc_key
|
||||
lnIdPart = id_partc
|
||||
lcPart = partc
|
||||
lcCont = scc
|
||||
SCAN FOR !EMPTY(lcDocKey) AND doc_key == lcDocKey AND RECNO() <> lnRecCurent
|
||||
IF Nvl(rand_dvi,0) = 1
|
||||
LOOP
|
||||
ENDIF
|
||||
IF scc = lcCont AND EMPTY(id_partc)
|
||||
REPLACE id_partc WITH lnIdPart, partc WITH lcPart
|
||||
ENDIF
|
||||
|
||||
Reference in New Issue
Block a user