M1 modifica_reg_dg: garda id_part NULL/empty (mesaj + Return .F.), NVL pe id_part/nr_pag, functia intoarce succes. M2 validare partener in toate cele 3 puncte de salvare, INAINTE de blocarea campurilor (Command2.Click salveaza inainte sa blocheze; bara laterala si Page3.Deactivate nu mai salveaza/prompteaza cu partener NULL). M3 do_adauga: documentul nou intra direct in editare (llock=.F., focus cmdDenumire); eliminat mesajul fals "Toate modificarile au efect imediat!". M4 viz_registratura + do_cauta: filtru initial "doar ultimul document" (subquery max(id_reg)); fara criterii de cautare se pastreaza filtrul, nu se incarca toata baza. M5 fonturi: eliminate 154 suprascrieri "Arial Narrow" si rebazate 96 controale baseclass pe COMUN _baza.vcx (textbox/label/checkbox/commandbutton/optiongroup); Init de grid propaga fontul la coloane si headere (fara asta raman Arial 9 - verificat empiric). Teste: harness headless (init env dedicat, form, adaugare+editare cu verificare in baza) + test UI vizual cu screenshots pe fluxul real (19 PASS / 0 FAIL). Diff-uri de audit in docs/diff_runda1_*.patch. M6 (build EXE) BLOCAT headless: roaRegistratura.pjx refera 48 fisiere hardcodate pe "c:\program files\...\vfp 9" (masina 32-bit din 2021) + COMUN\utile\hpdf\ReportOutput\ctl32_progressbar.vcx redenumit _old; necesita repathing o data in VFP9 IDE. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_018H9za5A9Tk6wcLFof6seds
190 lines
6.2 KiB
Plaintext
190 lines
6.2 KiB
Plaintext
* test_init_env_registratura.prg
|
|
* Init mediu NEINTERACTIV pentru teste headless ROAREGISTRATURA
|
|
* (echivalentul COMUN\utile\Teste\test_init_env_auto.prg, dar pentru acest proiect).
|
|
* SET PATH / CLASSLIB / PROCEDURE preluate din Programe\roaregistratura.prg (a se mentine sincron).
|
|
*
|
|
* Utilizare (dintr-un script apelant):
|
|
* DO Teste\test_init_env_registratura WITH 'CENTRAL', 'MARIUSM_AUTO', 'parola'
|
|
* IF gnHandle <= 0 ... eroare conectare
|
|
* ATENTIE: NU se ruleaza pe baza de productie (JCSSERVER / CONTAFIN_ORACLE).
|
|
|
|
LPARAMETERS tcHost, tcSchema, tcPassword, tnAn, tnLuna
|
|
|
|
tcHost = IIF(EMPTY(tcHost), 'CENTRAL', tcHost)
|
|
tcSchema = IIF(EMPTY(tcSchema), 'MARIUSM_AUTO', tcSchema)
|
|
tcPassword = IIF(EMPTY(tcPassword), 'ROMFASTSOFT', tcPassword)
|
|
|
|
SET DELETED ON
|
|
SET ANSI ON
|
|
SET EXACT ON
|
|
SET SAFETY OFF
|
|
CLOSE DATABASES
|
|
SET CENTURY ON
|
|
SET DATE DMY
|
|
SET NULLDISPLAY TO ''
|
|
SET SQLBUFFERING ON
|
|
|
|
PUBLIC CT_SUCCES, CT_INSUCCES, crlf, gnAn, gnLuna, gnIdUtil, gnIdFirma, gcS, gcFirma, ;
|
|
gcNumeProgram, gcAppName, buton, gnButon, pnButon, gcAcces, glParametri, glQuit
|
|
CT_SUCCES = 1
|
|
CT_INSUCCES = -1
|
|
crlf = CHR(13) + CHR(10)
|
|
gnAn = IIF(EMPTY(tnAn), YEAR(DATE()), tnAn)
|
|
gnLuna = IIF(EMPTY(tnLuna), MONTH(DATE()), tnLuna)
|
|
gnIdUtil = -3
|
|
gnIdFirma = 110
|
|
gcS = UPPER(ALLTRIM(tcSchema))
|
|
gcFirma = m.gcS
|
|
gcNumeProgram = [ROAREGISTRATURA]
|
|
gcAppName = [ROAREGISTRATURA]
|
|
glParametri = .T.
|
|
glQuit = .F.
|
|
buton = 1
|
|
gnButon = 1
|
|
pnButon = 1
|
|
gcAcces = [1;2;3;4;5;6;7;8;]
|
|
|
|
* globale cerute de oserii_numere/oinit_optiuni (sincron cu test_init_env_auto.prg)
|
|
PUBLIC gnIdSucursala, gnIdMama, glEMama, gcCondSucursala, glLunaInchisa, gcUserName
|
|
gnIdSucursala = NULL
|
|
gnIdMama = 0
|
|
glEMama = .F.
|
|
gcCondSucursala = []
|
|
glLunaInchisa = .F.
|
|
gcUserName = [MARIUS M]
|
|
* vezi comentariul din test_init_env_auto.prg: PUBLIC, nu Declare
|
|
PUBLIC nror(65000)
|
|
|
|
PUBLIC gcAppPath, DIRGEN, gcBasePath, gcTempPath, gcGeneralIniFile, gcSettingsFile
|
|
gcAppPath = [D:\ROA\ROAREGISTRATURA\]
|
|
SET DEFAULT TO (gcAppPath)
|
|
LOCAL lcPath
|
|
lcPath = gcAppPath + 'Date;' + ;
|
|
gcAppPath + 'Include;' + ;
|
|
gcAppPath + 'FERESTRE;' + ;
|
|
gcAppPath + 'GRAFICE;' + ;
|
|
gcAppPath + 'CLASE;' + ;
|
|
gcAppPath + 'MENIURI;' + ;
|
|
gcAppPath + 'PROGRAME;' + ;
|
|
gcAppPath + 'RAPOARTE;' + ;
|
|
gcAppPath + 'COMUN\CLASE;' + ;
|
|
gcAppPath + 'COMUN\FERESTRE;' + ;
|
|
gcAppPath + 'COMUN\PROGRAME;' + ;
|
|
gcAppPath + 'COMUN\GRAFICE;' + ;
|
|
gcAppPath + 'COMUN\RAPOARTE;' + ;
|
|
gcAppPath + 'COMUN\UTILE\CTL32;' + ;
|
|
gcAppPath + 'COMUN\UTILE\HPDF;' + ;
|
|
gcAppPath + 'COMUN\UTILE\WEB;' + ;
|
|
gcAppPath + 'COMUN\UTILE\TESTE;' + ;
|
|
ADDBS(SUBSTR(gcAppPath,1,RAT([\],gcAppPath,2)))+[COMUNROA\]
|
|
SET PATH TO &lcPath ADDITIVE
|
|
|
|
*CLASE - sincron cu Programe\roaregistratura.prg
|
|
SET CLASSLIB TO clase\roaregistratura ADDITIVE
|
|
SET CLASSLIB TO CAUT ADDITIVE
|
|
SET CLASSLIB TO ooptiuni ADDITIVE
|
|
SET CLASSLIB TO registry ADDITIVE
|
|
SET CLASSLIB TO decabaza ADDITIVE
|
|
SET CLASSLIB TO cauta_alfa_forms ADDITIVE
|
|
SET CLASSLIB TO ferestre_oracle ADDITIVE
|
|
SET CLASSLIB TO caut_ora ADDITIVE
|
|
SET CLASSLIB TO ferestre_registratura ADDITIVE
|
|
SET CLASSLIB TO onomenclatoare ADDITIVE
|
|
SET CLASSLIB TO Messagebox ADDITIVE
|
|
SET CLASSLIB TO otoolbar ADDITIVE
|
|
SET CLASSLIB TO ferestre_cere_date ADDITIVE
|
|
SET CLASSLIB TO orapoarte_comun ADDITIVE
|
|
SET CLASSLIB TO onom_articole ADDITIVE
|
|
SET CLASSLIB TO serii_numere.vcx ADDITIVE
|
|
SET CLASSLIB TO ferestre_atasamente.vcx ADDITIVE
|
|
SET CLASSLIB TO wwdialogs.vcx ADDITIVE
|
|
SET CLASSLIB TO appwiz.vcx ADDITIVE
|
|
SET CLASSLIB TO accessibility.vcx ADDITIVE
|
|
SET CLASSLIB TO ofundal_registratura.vcx ADDITIVE
|
|
|
|
*PROCEDURI - sincron cu Programe\roaregistratura.prg
|
|
SET PROCEDURE TO quitapp ADDITIVE
|
|
SET PROCEDURE TO init_program ADDITIVE
|
|
SET PROCEDURE TO oproceduri_comune ADDITIVE
|
|
SET PROCEDURE TO gencursor.prg ADDITIVE
|
|
SET PROCEDURE TO update_nomenclator.prg ADDITIVE
|
|
SET PROCEDURE TO onomenclatoare ADDITIVE
|
|
SET PROCEDURE TO oproceduri_ams ADDITIVE
|
|
SET PROCEDURE TO ocautare ADDITIVE
|
|
SET PROCEDURE TO oinit_optiuni ADDITIVE
|
|
SET PROCEDURE TO osecurity ADDITIVE
|
|
SET PROCEDURE TO oproceduri_roaregistratura ADDITIVE
|
|
SET PROCEDURE TO acces_meniu ADDITIVE
|
|
SET PROCEDURE TO oheader ADDITIVE
|
|
SET PROCEDURE TO oparteneri_contracte ADDITIVE
|
|
SET PROCEDURE TO oproceduri_maintenance.prg ADDITIVE
|
|
SET PROCEDURE TO cauta_alfa ADDITIVE
|
|
SET PROCEDURE TO ini.prg ADDITIVE
|
|
SET PROCEDURE TO oserii_numere ADDITIVE
|
|
SET PROCEDURE TO oproceduri_atasamente ADDITIVE
|
|
SET PROCEDURE TO oexport.prg ADDITIVE
|
|
SET PROCEDURE TO iniacces.prg ADDITIVE
|
|
SET PROCEDURE TO filebringer.prg ADDITIVE
|
|
SET PROCEDURE TO log_mesaje.prg ADDITIVE
|
|
SET PROCEDURE TO wwutils.prg ADDITIVE && ShortPath() folosit de Log_Mesaje.Init
|
|
|
|
DECLARE INTEGER GetPrivateProfileString IN WIN32API ;
|
|
STRING, STRING, STRING, STRING @, INTEGER, STRING
|
|
DECLARE INTEGER WritePrivateProfileString IN Win32Api ;
|
|
STRING, STRING, STRING, STRING
|
|
DECLARE INTEGER PathFileExists IN shlwapi STRING pszPath
|
|
|
|
PUBLIC poLog, goLog, goApp
|
|
poLog = NEWOBJECT("Log_Mesaje","Log_Mesaje.prg")
|
|
goLog = poLog
|
|
goApp = CREATEOBJECT("wzApplication")
|
|
|
|
DIRGEN = [D:\ROA\]
|
|
gcBasePath = DIRGEN
|
|
gcGeneralIniFile = DIRGEN + "settings.ini"
|
|
gcSettingsFile = m.gcGeneralIniFile
|
|
gcTempPath = ADDBS(SYS(2023)) + gcS + [\]
|
|
IF !DIRECTORY(gcTempPath)
|
|
MD (gcTempPath)
|
|
ENDIF
|
|
|
|
PUBLIC gnHandle, goExecutor, goConn, goFirma, goCalendar
|
|
gnHandle = 0
|
|
goExecutor = CREATEOBJECT("oExecutor")
|
|
goConn = CREATEOBJECT("oConn")
|
|
goConn.Connect(m.tcHost, m.tcSchema, m.tcPassword)
|
|
IF m.gnHandle <= 0
|
|
RETURN .F.
|
|
ENDIF
|
|
|
|
LOCAL llSucces, lcSql
|
|
goFirma = NULL
|
|
llSucces = goExecutor.oExecuta("select * from syn_v_nom_firme where schema = ?gcS", "cFirma")
|
|
IF m.llSucces
|
|
SELECT cFirma
|
|
gnIdFirma = id_firma
|
|
gcFirma = ALLTRIM(firma)
|
|
SCATTER NAME goFirma
|
|
ELSE
|
|
goFirma = CREATEOBJECT('custom')
|
|
goFirma.AddProperty('cod_fiscal', '')
|
|
goFirma.AddProperty('schema', m.gcS)
|
|
goFirma.AddProperty('firma', m.gcS)
|
|
ENDIF
|
|
USE IN (SELECT('cFirma'))
|
|
|
|
CREATE CURSOR dual (dummy c(10))
|
|
INSERT INTO dual (dummy) VALUES ("")
|
|
|
|
* sesiune Oracle (pachetele pot lipsi din unele scheme - nu oprim initul)
|
|
lcSql = [begin pack_sesiune.set_Id_Util(?gnIdUtil); end;]
|
|
llSucces = goExecutor.oExecuta(lcSql)
|
|
lcSql = [begin pack_sesiune.setluna(?gnLuna); pack_sesiune.setan(?gnAn); end;]
|
|
llSucces = goExecutor.oExecuta(lcSql)
|
|
|
|
* variabilele globale ale aplicatiei folosite de fluxul registratura
|
|
PUBLIC poReg, goRegistratura, podg_dg, podg_referinte, podg_obs, podg_link, goFundal
|
|
STORE '' TO poReg, goRegistratura
|
|
|
|
RETURN .T.
|