#6 editare factura emisa: harnessul S8 de creare documente intra in versionare

Cele trei fisiere erau pe disc, netrackuite, iar ce se stia despre ele traia
intr-un handoff intre sesiuni. Handoff-ul a fost desfiintat: ce era durabil a
intrat in antetul harnessului - plaja de serii care chiar prinde (FACTURA cere
gnIdUtil=8 cu gnIdSucursala=167, AVIZ merge si cu -3), faptul ca alocarea
consuma numere ireversibil chiar cand documentul nu se scrie, ordinea gresita
de incarcare a lui mock_amessagebox care e suspectul principal pentru agatari,
si riscul de curs EUR ramas neconfirmat pe cursor_contract.

Harnessul nu a scris inca niciun document cu succes - antetul spune asta
explicit, ca sa nu fie luat drept unealta functionala.

test_init_env_auto_roafacturare.prg e generic si folosit deja de alte suite:
seteaza gcNumeProgram=[ROAFACTURARE], fara de care garzile proprii fluxului de
facturare nu se declanseaza.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SN8snvkk94KuhWwoXUUey3
This commit is contained in:
2026-08-11 22:19:05 +03:00
parent 40a112a42d
commit 93a2718e6d
3 changed files with 1024 additions and 0 deletions

View File

@@ -0,0 +1,63 @@
* diag01_env_serii.prg
* Diagnostic READ-ONLY: verifica mediul ROAFACTURARE real (test_init_env_auto_roafacturare.prg)
* si interogheaza configuratia de serii pentru FACTURA (nIdTipDoc=5) si AVIZ (nIdTipDoc=6) prin
* poGeneratorNumere.creeaza_cursor_serii - functie de SELECT (pack_serii_numere.verifica_cursor_serii),
* fara nicio alocare de numar. Zero INSERT/UPDATE/COMMIT.
SET SAFETY OFF
SET TALK OFF
PUBLIC gcDiagLog
gcDiagLog = 'D:\ROA\ROAFACTURARE\COMUN\utile\Teste\s8_creare_variante\diag01_log.txt'
STRTOFILE('start ' + TTOC(DATETIME()) + CHR(13) + CHR(10), gcDiagLog)
ON ERROR DO diag_err WITH ERROR(), MESSAGE(), PROGRAM(), LINENO()
DO ('D:\ROA\ROAFACTURARE\COMUN\utile\Teste\test_init_env_auto_roafacturare.prg') WITH 'CENTRAL', 'MARIUSM_AUTO', 'ROMFASTSOFT'
IF gnHandle <= 0
DO Lg WITH 'EROARE: conectare esuata'
QUIT
ENDIF
DO Lg WITH 'conectat OK, gcNumeProgram=' + gcNumeProgram + ' gnAn/gnLuna=' + TRANSFORM(gnAn) + '/' + TRANSFORM(gnLuna)
PRIVATE poGeneratorNumere
poGeneratorNumere = CREATEOBJECT('oGeneratorNumere')
DO Lg WITH 'poGeneratorNumere creat OK'
LOCAL lnRezFact, lnRezAviz
lnRezFact = poGeneratorNumere.creeaza_cursor_serii(5)
DO Lg WITH 'creeaza_cursor_serii(5 FACTURA) => ' + TRANSFORM(lnRezFact)
IF USED('crsseriitemp5')
SELECT crsseriitemp5
SCAN
DO Lg WITH ' serie FACTURA candidata: id_serie=' + TRANSFORM(id_serie) + ' serie=[' + TRANSFORM(serie) + ']'
ENDSCAN
ELSE
DO Lg WITH ' (crsseriitemp5 nu exista - fara serie configurata)'
ENDIF
lnRezAviz = poGeneratorNumere.creeaza_cursor_serii(6)
DO Lg WITH 'creeaza_cursor_serii(6 AVIZ) => ' + TRANSFORM(lnRezAviz)
IF USED('crsseriitemp6')
SELECT crsseriitemp6
SCAN
DO Lg WITH ' serie AVIZ candidata: id_serie=' + TRANSFORM(id_serie) + ' serie=[' + TRANSFORM(serie) + ']'
ENDSCAN
ELSE
DO Lg WITH ' (crsseriitemp6 nu exista - fara serie configurata)'
ENDIF
DO Lg WITH 'gnIdSucursala=' + TRANSFORM(gnIdSucursala) + ' gnIdUtil=' + TRANSFORM(gnIdUtil)
DO Lg WITH 'done ' + TTOC(DATETIME())
QUIT
PROCEDURE Lg
LPARAMETERS tc
STRTOFILE(tc + CHR(13) + CHR(10), gcDiagLog, 1)
ENDPROC
PROCEDURE diag_err
LPARAMETERS tnErr, tcMsg, tcProg, tnLine
STRTOFILE('ON ERROR ' + TRANSFORM(tnErr) + ' [' + tcProg + ':' + TRANSFORM(tnLine) + '] ' + tcMsg + CHR(13) + CHR(10), gcDiagLog, 1)
ENDPROC