Files
comun/utile/Teste/facturare_unificat/probe_campuri_crsarticole.prg
Marius Mutu 8e022d332e #13: formular de facturare unificat - etapa curenta
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
2026-09-09 21:38:25 +03:00

59 lines
2.2 KiB
Plaintext

* probe_campuri_crsarticole.prg
* READ-ONLY: listeaza structura si prima linie a cursor_preturi(tnTip=22), ca sa gasesc campurile
* de pret pentru un test ulterior (fara nicio scriere in Oracle).
SET SAFETY OFF
SET TALK OFF
LOCAL lcLog
lcLog = "D:\ROA\ROAFACTURARE\COMUN\utile\Teste\facturare_unificat\out\probe_campuri_crsarticole.log"
STRTOFILE("START " + TTOC(DATETIME()) + CHR(13)+CHR(10), lcLog)
ON ERROR DO ProbeErr WITH ERROR(), MESSAGE(), PROGRAM(), LINENO()
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
STRTOFILE("EROARE: conectare Oracle esuata" + CHR(13)+CHR(10), lcLog, 1)
QUIT
ENDIF
LOCAL lcSql, lnOk
PRIVATE pdZiCurs, pnTip, pnIdValuta, pnIdGestiuneInit, pnLuna, pnAn, pnIdUtil, pnIdSucursala
pdZiCurs = {^2026-08-10}
pnTip = 22
pnIdValuta = NULL
pnIdGestiuneInit = NULL
pnLuna = 8
pnAn = 2026
pnIdUtil = -3
pnIdSucursala = 167
lcSql = [{call ] + gcS + [.pack_facturare.cursor_preturi(?pdZiCurs,?pnTip,?pnIdValuta,?pnIdGestiuneInit,?pnLuna,?pnAn,?pnIdUtil,?pnIdSucursala)}]
lnOk = goExecutor.oExecute(lcSql, 'crsprobe')
IF lnOk < 0
STRTOFILE("EROARE: " + goExecutor.oPrelucrareEroare() + CHR(13)+CHR(10), lcLog, 1)
ELSE
LOCAL laF[1], lnCate, i
lnCate = AFIELDS(laF, 'crsprobe')
STRTOFILE("Reccount=" + TRANSFORM(RECCOUNT('crsprobe')) + " campuri=" + TRANSFORM(lnCate) + CHR(13)+CHR(10), lcLog, 1)
FOR i = 1 TO lnCate
STRTOFILE(" " + laF[i,1] + " " + laF[i,2] + "(" + TRANSFORM(laF[i,3]) + "," + TRANSFORM(laF[i,4]) + ")" + CHR(13)+CHR(10), lcLog, 1)
ENDFOR
IF RECCOUNT('crsprobe') > 0
SELECT crsprobe
GO TOP
LOCAL lcLinie
lcLinie = ''
FOR i = 1 TO lnCate
lcLinie = lcLinie + laF[i,1] + "=[" + TRANSFORM(EVALUATE(laF[i,1])) + "] "
ENDFOR
STRTOFILE(lcLinie + CHR(13)+CHR(10), lcLog, 1)
ENDIF
USE IN crsprobe
ENDIF
STRTOFILE("END " + TTOC(DATETIME()) + CHR(13)+CHR(10), lcLog, 1)
QUIT
PROCEDURE ProbeErr
LPARAMETERS tnErr, tcMsg, tcProg, tnLine
STRTOFILE("ON ERROR " + TRANSFORM(tnErr) + " [" + tcProg + ":" + TRANSFORM(tnLine) + "] " + tcMsg + CHR(13)+CHR(10), "D:\ROA\ROAFACTURARE\COMUN\utile\Teste\facturare_unificat\out\probe_campuri_crsarticole.log", 1)
ENDPROC