Achizitie din import: schimbarea cursului resincronizeaza articolele si diferenta
cCurs.Text1.Valid armeaza sincronizarea amanata (repretare articole + recalc diferente) si propaga cursul principalei in antet (oact.curs, doar pe randuri in valuta). Teste: pas nou de schimbare curs pe DVI secundar in test_valuta_dvi_usd (22/22 PASS), regresie test_debifare_invaluta (68/68) si test_scenariu_dvi_complet PASS. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01KXsyJZBek1e9RvyLAQkoCx
This commit is contained in:
@@ -12455,11 +12455,22 @@ DEFINE CLASS import_nota AS frm_termin_renunt OF "_frm_child.vcx"
|
||||
*!* nu-l mai scria in camp) si se copiaza pe randul de TVA pereche; apoi ofer
|
||||
*!* recalcularea sumei in lei din suma in valuta, ca la modificarea sumei in valuta
|
||||
*!* 24.07.2026 claude - recalcularea din curs se aplica pe toate randurile documentului si reface totalurile suma_doc/suma_doc_val
|
||||
Local lnSumaDinVal, lnRaspuns, lcDocKeyC, lnRecC, lnCntS, lnSLei, lnSVal
|
||||
Local lnSumaDinVal, lnRaspuns, lcDocKeyC, lnRecC, lnCntS, lnSLei, lnSVal, lnMinNrDocC
|
||||
If This.Value # 0
|
||||
Select introdc
|
||||
Replace curs With This.Value
|
||||
Thisform.copiaza_valoare([curs])
|
||||
lnRecC = Recno('introdc')
|
||||
lnMinNrDocC = 99999998
|
||||
Calculate Min(Iif(Inlist(tip_rand,'B','S'), nr_doc, 99999998)) To lnMinNrDocC
|
||||
Try
|
||||
Go lnRecC In introdc
|
||||
Catch
|
||||
Go Top In introdc
|
||||
Endtry
|
||||
If nr_doc = lnMinNrDocC And in_valuta = 1
|
||||
Thisform.oact.curs = This.Value
|
||||
Endif
|
||||
If in_valuta = 1 And !Empty(Nvl(introdc.doc_key,''))
|
||||
lcDocKeyC = introdc.doc_key
|
||||
lnRecC = Recno('introdc')
|
||||
@@ -12510,6 +12521,8 @@ DEFINE CLASS import_nota AS frm_termin_renunt OF "_frm_child.vcx"
|
||||
Thisform.do_executa
|
||||
Endif
|
||||
Endif
|
||||
Thisform.lSyncPending = .T.
|
||||
Thisform.tmrSync.Interval = 1
|
||||
Endif
|
||||
ENDPROC
|
||||
|
||||
|
||||
Reference in New Issue
Block a user