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:
2026-07-25 00:43:23 +03:00
parent 39c825c1f8
commit a6d883df69
4 changed files with 121 additions and 3 deletions

View File

@@ -543,7 +543,16 @@ poAct.AddProperty('id_valuta', 1)
goObj.grid1.cCurs.text1.Value = 4.00
goObj.grid1.cCurs.text1.Valid()
*-- runda8: cCurs.Valid armeaza acum sincronizarea amanata (lSyncPending+tmrSync) in loc
*-- sa faca doar do_executa - imediat dupa Valid, INAINTE de DOEVENTS: doar armata
=Assert3('PAS4 armare: lSyncPending=.T. dupa Valid curs (pre-DOEVENTS)', IIF(goObj.lSyncPending,1,0), 1)
=Assert3('PAS4 armare: tmrSync.Interval>0 dupa Valid curs (pre-DOEVENTS)', IIF(goObj.tmrSync.Interval>0,1,0), 1)
DOEVENTS FORCE
=Assert3('PAS4 sync consumat: lSyncPending=.F. dupa DOEVENTS', IIF(goObj.lSyncPending,1,0), 0)
=Assert3('PAS4 sync consumat: tmrSync.Interval=0 dupa DOEVENTS', goObj.tmrSync.Interval, 0)
ELSE
DO UILog WITH 'PAS4: ABANDONAT - nu exista rand S pe doc 102'
ENDIF