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
113 lines
3.8 KiB
Plaintext
113 lines
3.8 KiB
Plaintext
* probe_s8_surse.prg - alege sursele pentru test_s8_cablare_incarcare (comanda tip 3 din
|
|
* MARIUSM_AUTO): una obisnuita si una cu linie de discount (cantitate negativa).
|
|
* Cheama direct pack_facturare.cursor_comanda, exact cum o face incarca_cursor_articole.
|
|
* Rulare: vfp9.exe -A -T probe_s8_surse.prg
|
|
|
|
SET SAFETY OFF
|
|
SET TALK OFF
|
|
SET DELETED ON
|
|
SET EXACT ON
|
|
SET CENTURY ON
|
|
SET DATE DMY
|
|
SET DECIMALS TO 4
|
|
SET NULLDISPLAY TO ''
|
|
CLOSE DATABASES
|
|
|
|
PUBLIC gcLog
|
|
gcLog = "D:\ROA\ROAFACTURARE\COMUN\utile\Teste\facturare_unificat\out\probe_s8_surse.log"
|
|
IF !DIRECTORY("D:\ROA\ROAFACTURARE\COMUN\utile\Teste\facturare_unificat\out")
|
|
MD "D:\ROA\ROAFACTURARE\COMUN\utile\Teste\facturare_unificat\out"
|
|
ENDIF
|
|
STRTOFILE("START " + TTOC(DATETIME()) + CHR(13) + CHR(10), gcLog)
|
|
|
|
ON ERROR DO PsLog WITH 'ON ERROR ' + TRANSFORM(ERROR()) + ' [' + PROGRAM() + ':' + TRANSFORM(LINENO()) + '] ' + MESSAGE()
|
|
ON SHUTDOWN QUIT
|
|
|
|
TRY
|
|
SET PATH TO "D:\ROA\ROAFACTURARE\COMUN\utile\Teste\achizitie_import\stub_verificare"
|
|
DO "D:\ROA\ROAFACTURARE\COMUN\utile\Teste\test_init_env_auto_roafacturare.prg" WITH 'CENTRAL', 'MARIUSM_AUTO', 'ROMFASTSOFT'
|
|
IF TYPE('gnHandle') <> 'N' OR gnHandle <= 0
|
|
DO PsLog WITH 'EROARE: conectare Oracle esuata'
|
|
QUIT
|
|
ENDIF
|
|
SQLSETPROP(gnHandle, "QueryTimeOut", 45)
|
|
IF !actualizeaza_optiuni_program()
|
|
DO PsLog WITH 'EROARE: actualizeaza_optiuni_program()'
|
|
QUIT
|
|
ENDIF
|
|
gnScadereStoc = 0
|
|
gnIdSucursala = 167
|
|
goExecutor.oExecuta([begin pack_contafin.set_id_sucursala(?gnIdSucursala); end;])
|
|
gnIdUtil = 8
|
|
goExecutor.oExecuta([begin pack_sesiune.set_Id_Util(?gnIdUtil); end;])
|
|
DO PsLog WITH 'ENV OK gnHandle=' + TRANSFORM(gnHandle) + ' gcS=' + gcS
|
|
|
|
LOCAL lnQ
|
|
lnQ = goExecutor.oExecute([select c.id_comanda, c.nr_comanda, c.id_part, p.nume ] + ;
|
|
[from comenzi c, nom_parteneri p where c.id_part = p.id_part ] + ;
|
|
[order by c.id_comanda desc], 'crsCom')
|
|
IF lnQ < 0 OR !USED('crsCom')
|
|
DO PsLog WITH 'EROARE lista comenzi: ' + TRANSFORM(goExecutor.oPrelucrareEroare())
|
|
QUIT
|
|
ENDIF
|
|
DO PsLog WITH 'comenzi total=' + TRANSFORM(RECCOUNT('crsCom'))
|
|
|
|
PRIVATE poDate
|
|
poDate = CREATEOBJECT('empty')
|
|
ADDPROPERTY(poDate, 'zi_curs', DATE())
|
|
ADDPROPERTY(poDate, 'tip', 3)
|
|
ADDPROPERTY(poDate, 'listaid', '')
|
|
|
|
LOCAL lnI, lnNeg, lnGest, lnCnt, lcLinie, lnCandidati
|
|
lnCandidati = 0
|
|
SELECT crsCom
|
|
GO TOP
|
|
SCAN WHILE lnCandidati < 60
|
|
lnCandidati = lnCandidati + 1
|
|
poDate.listaid = ALLTRIM(TRANSFORM(crsCom.id_comanda))
|
|
lcLinie = 'id_comanda=' + PADR(poDate.listaid, 8) + ' nr=' + PADR(ALLTRIM(TRANSFORM(crsCom.nr_comanda)), 10) + ;
|
|
' client=' + PADR(ALLTRIM(NVL(crsCom.nume, '')), 30)
|
|
IF USED('crsart')
|
|
USE IN crsart
|
|
ENDIF
|
|
lnQ = goExecutor.oExecute([{call ] + gcS + [.pack_facturare.cursor_comanda(?poDate.zi_curs,?poDate.tip,?poDate.listaid,?gnIdUtil)}], 'crsart')
|
|
IF lnQ < 0
|
|
DO PsLog WITH lcLinie + ' -> EROARE ' + TRANSFORM(goExecutor.oPrelucrareEroare())
|
|
ELSE
|
|
lnCnt = RECCOUNT('crsart')
|
|
lnNeg = 0
|
|
lnGest = 0
|
|
IF lnCnt > 0
|
|
SELECT crsart
|
|
COUNT FOR cantitate < 0 TO lnNeg
|
|
COUNT FOR NVL(gestionabil, 0) = 1 TO lnGest
|
|
ENDIF
|
|
DO PsLog WITH lcLinie + ' -> linii=' + TRANSFORM(lnCnt) + ' negative=' + TRANSFORM(lnNeg) + ' gestionabile=' + TRANSFORM(lnGest)
|
|
ENDIF
|
|
SELECT crsCom
|
|
ENDSCAN
|
|
|
|
*-- structura cursorului, o singura data, pe ultima comanda cu linii
|
|
IF USED('crsart') AND RECCOUNT('crsart') > 0
|
|
LOCAL ARRAY laF[1]
|
|
LOCAL lnF, lcS
|
|
lnF = AFIELDS(laF, 'crsart')
|
|
lcS = ''
|
|
FOR lnI = 1 TO lnF
|
|
lcS = lcS + laF[lnI, 1] + ' '
|
|
ENDFOR
|
|
DO PsLog WITH 'CAMPURI crsarticole: ' + lcS
|
|
ENDIF
|
|
|
|
DO PsLog WITH 'END ' + TTOC(DATETIME())
|
|
CATCH TO loExc
|
|
DO PsLog WITH 'CATCH ' + TRANSFORM(loExc.ErrorNo) + ' ' + loExc.Message + ' [' + loExc.Procedure + ':' + TRANSFORM(loExc.LineNo) + ']'
|
|
ENDTRY
|
|
|
|
QUIT
|
|
|
|
PROCEDURE PsLog
|
|
LPARAMETERS tcMsg
|
|
STRTOFILE(tcMsg + CHR(13) + CHR(10), gcLog, 1)
|
|
ENDPROC
|