Registratura: adaugare/editare fara erori la partener NULL, lista doar ultimul document, fonturi Arial 10 (M1-M5)
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
This commit is contained in:
189
Teste/test_init_env_registratura.prg
Normal file
189
Teste/test_init_env_registratura.prg
Normal file
@@ -0,0 +1,189 @@
|
||||
* 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.
|
||||
Reference in New Issue
Block a user