Achizitie import unificata (ROAGEST): ointroduceri, teste UI, documentatie
- import_nota / import_adauga_factura: flux unificat note contabile + articole, sincronizare automata, total factura automat, TVA impartit pe conturile creditoare ale notelor (rundele 1-31) - runda 32: totalurile import_nota pe _label/_textbox din _baza.vcx (Arial 10), fara containerele clb_tx_simplu si fara bifa "Recalculeaza TVA" (recalcul mereu automat); "Sincronizeaza facturile secundare" mutata sub butoane - utile/Teste: harness UI VFP headless (vfp_ui_harness.ps1, ui_harness.prg, precompilare, mock-uri) in radacina; suitele e2e pentru achizitia din import grupate in utile/Teste/achizitie_import/ - docs: flux editare text vcx/scx, testare-ui-vfp si testare-vfp-mcp (mutate din ROAGEST, general valabile), inventar comun, orchestrare subagenti, conventie GO recno, depanare testare VFP Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_019DGibQKa5uK4P2TNSFFQNh
This commit is contained in:
45
utile/Teste/mock_cauta_nom_articole.prg
Normal file
45
utile/Teste/mock_cauta_nom_articole.prg
Normal file
@@ -0,0 +1,45 @@
|
||||
* mock_cauta_nom_articole.prg
|
||||
* Bypass al dialogului real de cautare articole (cauta_alfa/CAUT, modal, nu poate rula
|
||||
* headless) - dar returneaza XML in ACELASI format ca fluxul real (cauta_alfa.prg ~227/510:
|
||||
* Cursortoxml(cursor,'var',2,0+2+8,0,'1') pe un cursor cu coloanele cerute de cauta_nom_articole:
|
||||
* denumire,codmat,codbare,um,grupa,subgrupa,cont,acont,dnf,id_articol), ca sa exercite REAL
|
||||
* do_adauga_articol din COMUN\clase\ointroduceri.vcx cu date controlate.
|
||||
* Incarcat cu SET PROCEDURE ... ADDITIVE INAINTEA lui ocautare.prg (nume duplicat de procedura -
|
||||
* castiga cel incarcat PRIMUL, la fel ca mock_amessagebox - vezi docs/testare-ui-vfp.md capcana j).
|
||||
* gnButon trebuie sa existe deja (PUBLIC) in programul principal al testului - vezi
|
||||
* Programe/roagest.prg:496 (PRIVATE gnButon la nivelul de top al aplicatiei reale, de-aia
|
||||
* functioneaza gnButon "gol" in tot lantul de apeluri); mock-ul doar il seteaza (fara PRIVATE),
|
||||
* ca sa actualizeze variabila existenta, nu sa creeze una noua locala functiei.
|
||||
* gcMockArtCodmat (PUBLIC, optional): daca testul o declara/seteaza inainte de a apela
|
||||
* do_adauga_articol(), mock-ul returneaza articolul cu acel codmat (vezi lista de mai jos) in loc
|
||||
* de BULDOEXCAVATOR (implicit) - permite testelor cu mai multe articole (runda7) sa controleze ce
|
||||
* articol "gaseste" dialogul real la fiecare apel, fara sa schimbe comportamentul testelor vechi.
|
||||
FUNCTION cauta_nom_articole
|
||||
LPARAMETERS tcFiltruOriginal, tnPornire, tlLoud, tcListaId, tcListaDenumire
|
||||
gnButon = 1
|
||||
|
||||
LOCAL lcXML, lcCodmatCautat
|
||||
lcCodmatCautat = IIF(TYPE('gcMockArtCodmat') = 'C' AND !EMPTY(gcMockArtCodmat), gcMockArtCodmat, 'ART-BULD-212')
|
||||
|
||||
IF USED('crsMockCautaArt')
|
||||
USE IN ('crsMockCautaArt')
|
||||
ENDIF
|
||||
CREATE CURSOR crsMockCautaArt (denumire C(100), codmat C(30), codbare C(30), um C(10), ;
|
||||
grupa C(10), subgrupa C(10), cont C(10), acont C(20), dnf C(10), id_articol N(14))
|
||||
DO CASE
|
||||
CASE lcCodmatCautat == 'ART-GREE-303'
|
||||
INSERT INTO crsMockCautaArt (denumire, codmat, codbare, um, grupa, subgrupa, cont, acont, dnf, id_articol) ;
|
||||
VALUES ('AC GREE BORA', 'ART-GREE-303', '', 'BUC', '', '', '303', '', '', 9002)
|
||||
CASE lcCodmatCautat == 'ART-A8-371'
|
||||
INSERT INTO crsMockCautaArt (denumire, codmat, codbare, um, grupa, subgrupa, cont, acont, dnf, id_articol) ;
|
||||
VALUES ('A8', 'ART-A8-371', '8003510000203', 'BUC', '', '', '371', '', '', 9003)
|
||||
OTHERWISE
|
||||
INSERT INTO crsMockCautaArt (denumire, codmat, codbare, um, grupa, subgrupa, cont, acont, dnf, id_articol) ;
|
||||
VALUES ('BULDOEXCAVATOR', 'ART-BULD-212', '', 'BUC', '', '', '212', '', '', 9001)
|
||||
ENDCASE
|
||||
|
||||
lcXML = ''
|
||||
Cursortoxml('crsMockCautaArt', 'lcXML', 2, 0+2+8, 0, '1')
|
||||
USE IN ('crsMockCautaArt')
|
||||
RETURN lcXML
|
||||
ENDFUNC
|
||||
Reference in New Issue
Block a user