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
This commit is contained in:
50
utile/Teste/achizitie_import/mock_cauta_alfa_tva11.prg
Normal file
50
utile/Teste/achizitie_import/mock_cauta_alfa_tva11.prg
Normal file
@@ -0,0 +1,50 @@
|
||||
* 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)
|
||||
Reference in New Issue
Block a user