Squash al branch-ului de lucru plan13-s2. Clase: ofacturare (nucleul formularului unificat), ofacturare_comun, ferestre_cere_date, ocomenzi, caut_ora (lista de preturi in combo-urile de cautare), omodificari. Programe: ofacturare impartit - ofacturare_antet, ofacturare_rutare_scriere si ogrid_latimi sunt fisiere noi; oproceduri_facturare primeste discountul pe linie si cota standard de TVA cand articolul nu are cota pe politica. Documentatie: capcana SQLExec no_data_found, conventia de encoding, depanarea testelor VFP si regulile de lucru - conflictele cu modificarile venite din alte proiecte sunt rezolvate pastrand ambele parti. Loguri de rulare a testelor scoase din versionare; testele raman. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01PkyjGyrV2S7932om4kfSiK
50 lines
2.3 KiB
Plaintext
50 lines
2.3 KiB
Plaintext
* mock_cursor_preturi.prg - suport headless pentru test_s4_3b_combosql_filtrat.prg.
|
|
* oExecutorMockPret (subclasa de test a lui oexecutor) intercepteaza DOAR apelurile pe cursoarele
|
|
* brute ale cautarii in linie (crsCodmatRaw / crsDenumireRaw, adica {call ... cursor_preturi ...}):
|
|
* jurnalizeaza SQL-ul in gcMockSql si construieste un cursor sintetic dupa structura lui
|
|
* cursor_preturi (24 coloane). Orice alt apel (cCboGestiune -> VNOM_GESTIUNI, oAntetFacturare etc.)
|
|
* merge la executorul real, prin This.oReal. Se incarca cu SET PROCEDURE ... ADDITIVE dupa harness.
|
|
* Publicele asteptate de la test: gcMockSql, gnMockSucces, gnMockEroare.
|
|
|
|
DEFINE CLASS oExecutorMockPret AS oexecutor
|
|
oReal = NULL
|
|
|
|
PROCEDURE oExecute
|
|
LPARAMETERS tcSql, tcCursor, tlProgress, tcTitluProgress, tnHandle, tlShowError, tlQuitOnError, tlReconnect
|
|
LOCAL lcCur
|
|
lcCur = UPPER(ALLTRIM(TRANSFORM(tcCursor)))
|
|
IF lcCur == 'CRSCODMATRAW' OR lcCur == 'CRSDENUMIRERAW'
|
|
gcMockSql = gcMockSql + TRANSFORM(tcSql) + CHR(13) + CHR(10)
|
|
DO CreeazaRaw WITH lcCur
|
|
This.nEroare = gnMockEroare
|
|
This.nSucces = gnMockSucces
|
|
RETURN gnMockSucces
|
|
ENDIF
|
|
RETURN This.oReal.oExecute(tcSql, tcCursor)
|
|
ENDPROC
|
|
|
|
FUNCTION oPrelucrareEroare
|
|
RETURN "MOCK eroare Oracle " + TRANSFORM(This.nEroare)
|
|
ENDFUNC
|
|
ENDDEFINE
|
|
|
|
* cursorul brut sintetic: aceeasi ordine de coloane ca {call pack_facturare.cursor_preturi(...)}
|
|
* (24 coloane); campurile cerute de reordonarea locala (codmat/denumire/um/pret/proc_tvav/...).
|
|
PROCEDURE CreeazaRaw
|
|
LPARAMETERS tcCur
|
|
IF USED(tcCur)
|
|
USE IN (tcCur)
|
|
ENDIF
|
|
CREATE CURSOR (tcCur) (id_c N(20), id_articol N(20), lot C(20) NULL, serie C(20) NULL, ;
|
|
id_pol N(20), id_valuta N(10), nume_lista_preturi C(100), discount_unitar N(20,4), ;
|
|
discount_unitar_val N(20,4), codmat C(100), codbare C(50), denumire C(100), um C(10), ;
|
|
gestionabil N(1), cantitate N(20,4), proc_tvav N(20,4), preturi_cu_tva N(1), ;
|
|
curs N(20,4), multiplicator N(10), pret N(20,4), pret_val N(20,4), tip_valuta N(1), ;
|
|
nume_val C(20), modificabil N(1))
|
|
INSERT INTO (tcCur) VALUES (1, 11, NULL, NULL, 31, 1, "LISTA A", 0, 0, ;
|
|
"CM1", "CB1", "Articol A", "BUC", 1, 100, 1.19, 0, 4.9, 1, 100, 100, 1, "RON", 1)
|
|
INSERT INTO (tcCur) VALUES (2, 12, NULL, NULL, 32, 1, "LISTA B", 0, 0, ;
|
|
"CM2", "CB2", "Articol B", "BUC", 0, 200, 1.19, 0, 4.9, 1, 200, 200, 1, "RON", 1)
|
|
GO TOP IN (tcCur)
|
|
ENDPROC
|