Files
comun/utile/Teste/achizitie_import/mock_cauta_alfa_tva11.prg
Marius Mutu 832fea4913 achizitie import: TVA DVI cu valuta proprie, discount financiar, cote multiple
- TVA-ul de pe DVI poate avea valuta si curs proprii, diferite de ale facturii
  (rand "protejat": rand_dvi/valuta_proprie pe introdc, sparge_tva_protejat).
- Discount financiar pe factura: rand tip_rand='G' (401 = 767), TVA calculat pe
  baza diminuata, marfa si preturile articolelor pe valoarea integrala.
- Factura multi-cota: randurile S, G si T se sparg pe cotele articolelor, cu
  explicatia TVA din familia coloanei si alinierea T -> S.
- Teste noi in utile/Teste/achizitie_import (discount, DVI, cote, e2e).

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01U9uDgDfUQXbh2Neib36CN8
2026-08-01 09:32:35 +03:00

51 lines
2.4 KiB
Plaintext

* mock_cauta_alfa_tva11.prg - shadow PROCEDURE cauta_alfa (COMUN\programe\cauta_alfa.prg) DOAR
* pentru testul de reproducere TVA 11% pe explicatia TVA din grid (do_modifica_explicatie_tva,
* COMUN\clase\ointroduceri.vcx). Acelasi motiv ca mock_cauta_alfa_dialog.prg (cauta_alfa real
* populeaza cursorul din Oracle prin gencursor/CursorAdapter - nemock-uibil prin goExecutor) -
* vezi acel fisier pentru detalii complete despre flux. Aici simplificat la modul SINGLE-SELECT:
* do_modifica_explicatie_tva nu trimite tnTipReturn, deci cauta_alfa il impune 0 (obiect scatter
* pe randul curent, lAles=.F.) - submit-ul e echivalentul unui dublu-click pe randul dialogului
* (bind dblClick->do_termin activ doar in modul single-select, cauta_alfa_forms.vc2:652
* "If !Thisform.lales"), fara nevoie de marcaj (cAles).
*
* Control test (setat de testul principal INAINTE de fiecare apel):
* goDlgTva11 - formularul REAL cauta_alfa_form, pre-construit in main (capcana l:
* CREATEOBJECT dintr-o procedura da obiect stricat in acest runtime headless)
* gcTestTvaAlege - denumirea randului de ales (coloana "denumire" a cursorului dialogului)
Procedure cauta_alfa
Parameters tcselect,tcfiltru,tcschema,tcorder,tccoloana,tcTitlu,tcTitluColoane, ;
tcNume_Proc,tl_AllInList,tcFiltruOriginal,tcPrimaColoana, tnPornire, tnTipReturn, ;
tcIdColumn, tlDesktop, tcGroup, tcGridDynamicBackColor, tcGridToolTip, tlModParam, tcStringCriterii, ;
tcProceduraVerifica, tcProceduraCopiaza,tcLocate
LOCAL lcCursor, oReturnScattObj
lcCursor = goDlgTva11.crs_cursor
SELECT (lcCursor)
LOCATE FOR ALLTRIM(denumire) == ALLTRIM(gcTestTvaAlege)
IF !FOUND()
GO TOP
ENDIF
IF TYPE('gcUILog') = 'C'
DO HarnessLog WITH 'MOCK cauta_alfa(explicatie tva) pozitionat pe [' + ALLTRIM(denumire) + '] id_jtva_coloana=' + TRANSFORM(id_jtva_coloana) + ' cota_tva=' + TRANSFORM(cota_tva)
ENDIF
*-- echivalentul dublu-click pe randul dialogului (submit direct, mod single-select):
*-- butonul OK REAL (_frm_base.do_termin: gnButon=1, Release oForm_cautare)
goDlgTva11.do_termin()
DOEVENTS FORCE
*-- de aici incolo: cod IDENTIC cu cauta_alfa.prg real (tnTipReturn=0 implicit) - SCATTER
*-- pe randul curent al cursorului (NU se mai atinge oForm_cautare, Release-uit mai sus)
SELECT (lcCursor)
IF gnButon = 1
SCATTER NAME oReturnScattObj MEMO
ELSE
SCATTER NAME oReturnScattObj MEMO BLANK
ENDIF
RETURN oReturnScattObj
Endproc && cauta_alfa (shadow test tva11)