- 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
1.8 KiB
Testare automata VFP prin IDE + MCP (windows-mcp)
Valabil pentru toate proiectele VFP din suita ROA; exemplele de mai jos sunt pe ROAGEST — inlocuieste caile, numele programului principal si titlul ferestrei pentru alt proiect.
Pentru verificare vizuala dupa modificari pe .vc2/.sc2, nu se porneste roagest.exe
(ar cere rebuild complet — vezi COMUN\docs\flux-editare-vfp-text.md), ci se lanseaza vfp9.exe
interpretat peste Programe\roagest.prg:
Start-Process -FilePath "C:\Program Files (x86)\Microsoft Visual FoxPro 9\vfp9.exe" `
-ArgumentList '-c"D:\ROA\ROAGEST\config.fpw"','D:\ROA\ROAGEST\Programe\roagest.prg' `
-WorkingDirectory "D:\ROA\ROAGEST"
- Gate-ul de pornire (
gcNumeProgram = 'ROAGEST'inroagest.prg) verificaJUSTSTEM(SYS(16,0))— numele programului de la nivelul 0 al stivei, nu numele procesului.exe. Rulat interpretat,SYS(16,0)=roagest.prg, deci gate-ul trece. - Fereastra rezultata are titlul
ROA - Gestiuni(setat dinNUMEPROGRAM).
Capcana: focus furat de terminal
Daca sesiunea Claude Code afiseaza output in timp ce comanda de lansare ruleaza,
fereastra terminalului/IDE-ului ramane in prim-plan si VFP porneste in fundal —
Screenshot/Snapshot din windows-mcp pot raporta "No windows found" desi procesul
si fereastra exista (verificabil cu Get-Process vfp9 | Select MainWindowTitle).
Fix: inainte de screenshot, adu explicit fereastra in prim-plan dupa titlu:
mcp__windows-mcp__App mode=switch name="ROA - Gestiuni"
apoi Screenshot. Nu te baza pe enumerarea implicita de ferestre a windows-mcp cand
ai lansat procesul chiar in runda curenta de comenzi.
Curatare dupa test
Proces de omorat la final: mcp__windows-mcp__Process mode=kill pid=<pid> (gasit prin
mode=list name=vfp9 sau Get-Process vfp9).