diff --git a/Clase/ferestre_registratura.vc2 b/Clase/ferestre_registratura.vc2 index 6e561a8..d38ff69 100644 --- a/Clase/ferestre_registratura.vc2 +++ b/Clase/ferestre_registratura.vc2 @@ -151,7 +151,7 @@ DEFINE CLASS ct_part_nr_data AS container Width = 614 * - ADD OBJECT 'cmdDenumire' AS commandbutton WITH ; + ADD OBJECT 'cmdDenumire' AS _commandbutton WITH ; Caption = "", ; Enabled = .F., ; Height = 22, ; @@ -161,9 +161,9 @@ DEFINE CLASS ct_part_nr_data AS container TabIndex = 2, ; Top = 5, ; Width = 29 - *< END OBJECT: BaseClass="commandbutton" /> + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="commandbutton" /> - ADD OBJECT 'Command2' AS commandbutton WITH ; + ADD OBJECT 'Command2' AS _commandbutton WITH ; Anchor = 3, ; Caption = "Modifica", ; FontBold = .T., ; @@ -175,9 +175,9 @@ DEFINE CLASS ct_part_nr_data AS container TabIndex = 1, ; Top = 3, ; Width = 131 - *< END OBJECT: BaseClass="commandbutton" /> + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="commandbutton" /> - ADD OBJECT 'Label3' AS label WITH ; + ADD OBJECT 'Label3' AS _label WITH ; AutoSize = .T., ; BackStyle = 0, ; Caption = "Partener", ; @@ -188,9 +188,9 @@ DEFINE CLASS ct_part_nr_data AS container TabIndex = 6, ; Top = 8, ; Width = 52 - *< END OBJECT: BaseClass="label" /> + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="label" /> - ADD OBJECT 'Label4' AS label WITH ; + ADD OBJECT 'Label4' AS _label WITH ; AutoSize = .T., ; BackStyle = 0, ; Caption = "Nr. doc.", ; @@ -201,9 +201,9 @@ DEFINE CLASS ct_part_nr_data AS container TabIndex = 7, ; Top = 31, ; Width = 45 - *< END OBJECT: BaseClass="label" /> + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="label" /> - ADD OBJECT 'Label9' AS label WITH ; + ADD OBJECT 'Label9' AS _label WITH ; AutoSize = .T., ; BackStyle = 0, ; Caption = "Data doc.", ; @@ -214,9 +214,9 @@ DEFINE CLASS ct_part_nr_data AS container TabIndex = 8, ; Top = 31, ; Width = 55 - *< END OBJECT: BaseClass="label" /> + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="label" /> - ADD OBJECT 'txtClient' AS textbox WITH ; + ADD OBJECT 'txtClient' AS _textbox WITH ; ControlSource = "goRegistratura.denumire", ; Height = 21, ; Left = 241, ; @@ -226,9 +226,9 @@ DEFINE CLASS ct_part_nr_data AS container TabStop = .F., ; Top = 6, ; Width = 289 - *< END OBJECT: BaseClass="textbox" /> + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="textbox" /> - ADD OBJECT 'txtData_ctr' AS textbox WITH ; + ADD OBJECT 'txtData_ctr' AS _textbox WITH ; ControlSource = "goRegistratura.data", ; Height = 21, ; Left = 442, ; @@ -237,9 +237,9 @@ DEFINE CLASS ct_part_nr_data AS container TabIndex = 4, ; Top = 29, ; Width = 119 - *< END OBJECT: BaseClass="textbox" /> + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="textbox" /> - ADD OBJECT 'txtNumar' AS textbox WITH ; + ADD OBJECT 'txtNumar' AS _textbox WITH ; ControlSource = "goRegistratura.numar", ; Format = "k", ; Height = 21, ; @@ -249,7 +249,7 @@ DEFINE CLASS ct_part_nr_data AS container TabIndex = 3, ; Top = 29, ; Width = 113 - *< END OBJECT: BaseClass="textbox" /> + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="textbox" /> PROCEDURE blocheaza_campuri this.cmdDenumire.Enabled = .F. @@ -301,8 +301,6 @@ DEFINE CLASS ct_part_nr_data AS container PROCEDURE Command2.Click If This.Parent.lLock - AMESSAGEBOX('Toate modificarile au efect imediat! Nu puteti da renuntare!',0+48,'Atentie') - This.Picture = 'unlock.bmp' This.Parent.lLock = .F. This.Caption = 'Salveaza' @@ -324,17 +322,19 @@ DEFINE CLASS ct_part_nr_data AS container ****** Else - This.Picture = 'lock.bmp' - This.Parent.lLock = .T. - This.Caption = 'Modifica' - This.Parent.blocheaza_campuri() - - If Isnull(goRegistratura.id_part) + *!* 23.07.2026 MM - validare partener si salvare INAINTE de blocarea campurilor (P2/P3) + If Isnull(goRegistratura.id_part) Or Empty(goRegistratura.id_part) AMESSAGEBOX('Alegeti partenerul!',48,'Atentie') This.Parent.cmdDenumire.SetFocus() Return Endif - Do modifica_reg_dg With goRegistratura In oproceduri_roaregistratura.prg + If !modifica_reg_dg(goRegistratura) + Return + Endif + This.Picture = 'lock.bmp' + This.Parent.lLock = .T. + This.Caption = 'Modifica' + This.Parent.blocheaza_campuri() If Type('podg_dg.but_termin1') <> 'U' podg_dg.blocheaza_campuri() @@ -524,7 +524,6 @@ DEFINE CLASS ct_registratura AS _ctfrmbase OF "..\comun\clase\_ct_base.vcx" AutoSize = .T., ; camp_nume = data, ; Caption = "Data doc.", ; - FontName = "Arial Narrow", ; Left = 93, ; Name = "Ck_data", ; TabIndex = 4, ; @@ -539,7 +538,6 @@ DEFINE CLASS ct_registratura AS _ctfrmbase OF "..\comun\clase\_ct_base.vcx" camp_nume = numar, ; Caption = "Nr.doc.", ; Comment = "*:OnResize=LT", ; - FontName = "Arial Narrow", ; Left = 93, ; Name = "Ck_numar", ; TabIndex = 3, ; @@ -553,7 +551,6 @@ DEFINE CLASS ct_registratura AS _ctfrmbase OF "..\comun\clase\_ct_base.vcx" camp_nume = denumire, ; Caption = "Partener", ; Comment = "*:OnResize=LT", ; - FontName = "Arial Narrow", ; Left = 8, ; Name = "Ck_nume", ; TabIndex = 1, ; @@ -565,7 +562,6 @@ DEFINE CLASS ct_registratura AS _ctfrmbase OF "..\comun\clase\_ct_base.vcx" Alignment = 0, ; Anchor = 3, ; Caption = "Sterse", ; - FontName = "Arial Narrow", ; ForeColor = 255,0,0, ; Left = 171, ; Name = "ck_sters", ; @@ -580,7 +576,6 @@ DEFINE CLASS ct_registratura AS _ctfrmbase OF "..\comun\clase\_ct_base.vcx" camp_nume = fel_document, ; Caption = "Tip document", ; Comment = "*:OnResize=LT", ; - FontName = "Arial Narrow", ; Left = 8, ; Name = "Ck_tipdoc", ; TabIndex = 2, ; @@ -634,7 +629,6 @@ DEFINE CLASS ct_registratura AS _ctfrmbase OF "..\comun\clase\_ct_base.vcx" Anchor = 15, ; ColumnCount = 22, ; DeleteMark = .F., ; - FontName = "Arial Narrow", ; GridLineColor = 192,192,192, ; HeaderHeight = 38, ; Height = 258, ; @@ -651,465 +645,403 @@ DEFINE CLASS ct_registratura AS _ctfrmbase OF "..\comun\clase\_ct_base.vcx" ZOrderSet = 3, ; Column1.ColumnOrder = 7, ; Column1.ControlSource = "denumire", ; - Column1.FontName = "Arial Narrow", ; Column1.Name = "cNume", ; Column1.ReadOnly = .T., ; Column1.Width = 193, ; Column2.ColumnOrder = 5, ; Column2.ControlSource = "numar", ; - Column2.FontName = "Arial Narrow", ; Column2.Name = "cNr_ctr", ; Column2.ReadOnly = .T., ; Column2.Width = 48, ; Column3.ColumnOrder = 6, ; Column3.ControlSource = "data", ; - Column3.FontName = "Arial Narrow", ; Column3.Format = "d", ; Column3.Name = "cData_ctr", ; Column3.ReadOnly = .T., ; Column3.Width = 51, ; Column4.ColumnOrder = 10, ; Column4.ControlSource = "descriere", ; - Column4.FontName = "Arial Narrow", ; Column4.Name = "cDescriere", ; Column4.ReadOnly = .T., ; Column5.ColumnOrder = 3, ; Column5.ControlSource = "numar_intern", ; - Column5.FontName = "Arial Narrow", ; Column5.Name = "cNumar_intern", ; Column5.ReadOnly = .T., ; Column5.Width = 45, ; Column6.ColumnOrder = 4, ; Column6.ControlSource = "data_intern", ; - Column6.FontName = "Arial Narrow", ; Column6.Name = "cData_intern", ; Column6.ReadOnly = .T., ; Column6.Width = 51, ; Column7.ColumnOrder = 2, ; Column7.ControlSource = "iif(ie=1,'Intrare',iif(ie=2,'Iesire',''))", ; - Column7.FontName = "Arial Narrow", ; Column7.Name = "cIE", ; Column7.ReadOnly = .T., ; Column7.Width = 59, ; Column8.ColumnOrder = 12, ; Column8.ControlSource = "fel_document", ; - Column8.FontName = "Arial Narrow", ; Column8.Name = "cFel_document", ; Column8.ReadOnly = .T., ; Column8.Width = 67, ; Column9.Alignment = 2, ; Column9.ColumnOrder = 18, ; Column9.ControlSource = "avizat", ; - Column9.FontName = "Arial Narrow", ; Column9.Name = "cAvizat", ; Column9.ReadOnly = .T., ; Column9.Sparse = .F., ; Column9.Width = 41, ; Column10.ColumnOrder = 8, ; Column10.ControlSource = "pers_contact", ; - Column10.FontName = "Arial Narrow", ; Column10.Name = "cPers_contact", ; Column10.ReadOnly = .T., ; Column10.Width = 80, ; Column11.ColumnOrder = 11, ; Column11.ControlSource = "mediu_transmisie", ; - Column11.FontName = "Arial Narrow", ; Column11.Name = "cMediu_transmisie", ; Column11.ReadOnly = .T., ; Column12.ColumnOrder = 14, ; Column12.ControlSource = "util", ; - Column12.FontName = "Arial Narrow", ; Column12.Name = "Column12", ; Column12.ReadOnly = .T., ; Column13.ColumnOrder = 15, ; Column13.ControlSource = "dataora", ; - Column13.FontName = "Arial Narrow", ; Column13.Name = "Column13", ; Column13.ReadOnly = .T., ; Column14.ColumnOrder = 16, ; Column14.ControlSource = "utils", ; - Column14.FontName = "Arial Narrow", ; Column14.Name = "Column14", ; Column14.ReadOnly = .T., ; Column15.ColumnOrder = 17, ; Column15.ControlSource = "dataoras", ; - Column15.FontName = "Arial Narrow", ; Column15.Name = "Column15", ; Column15.ReadOnly = .T., ; Column16.ColumnOrder = 19, ; Column16.ControlSource = "util_avizat", ; - Column16.FontName = "Arial Narrow", ; Column16.Name = "Column16", ; Column16.ReadOnly = .T., ; Column17.ColumnOrder = 20, ; Column17.ControlSource = "dataora_avizat", ; - Column17.FontName = "Arial Narrow", ; Column17.Name = "Column17", ; Column17.ReadOnly = .T., ; Column18.ColumnOrder = 21, ; Column18.ControlSource = "are_obs", ; - Column18.FontName = "Arial Narrow", ; Column18.Name = "cAre_obs", ; Column18.ReadOnly = .T., ; Column18.Sparse = .F., ; Column19.ColumnOrder = 9, ; Column19.ControlSource = "nresp", ; - Column19.FontName = "Arial Narrow", ; Column19.Name = "cNresp", ; Column19.ReadOnly = .T., ; Column19.Width = 83, ; Column20.ColumnOrder = 13, ; Column20.ControlSource = "nr_pag", ; - Column20.FontName = "Arial Narrow", ; Column20.Name = "cNr_pag", ; Column20.ReadOnly = .T., ; Column20.Width = 39, ; Column21.ColumnOrder = 22, ; Column21.ControlSource = "proiect", ; - Column21.FontName = "Arial Narrow", ; Column21.Name = "Column22", ; Column21.ReadOnly = .T., ; Column22.ColumnOrder = 1, ; Column22.ControlSource = "are_link", ; Column22.CurrentControl = "Command1", ; Column22.DynamicCurrentControl = "iif(are_link=1,'command1','command2')", ; - Column22.FontName = "Arial Narrow", ; Column22.Name = "Column23", ; Column22.ReadOnly = .T., ; Column22.Sparse = .F., ; Column22.Width = 47 *< END OBJECT: ClassLib="..\comun\clase\_grd_base.vcx" BaseClass="grid" /> - ADD OBJECT 'grid_registratura.cAre_obs.Check1' AS checkbox WITH ; + ADD OBJECT 'grid_registratura.cAre_obs.Check1' AS _checkbox WITH ; Alignment = 0, ; Caption = "", ; - FontName = "Arial Narrow", ; Height = 17, ; Left = 37, ; Name = "Check1", ; Top = 48, ; Width = 60 - *< END OBJECT: BaseClass="checkbox" /> + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="checkbox" /> ADD OBJECT 'grid_registratura.cAre_obs.Header1' AS header WITH ; Alignment = 2, ; Caption = "Observatii", ; - FontName = "Arial Narrow", ; Name = "Header1", ; Picture = ..\grafice\wzedit.bmp *< END OBJECT: BaseClass="header" /> - ADD OBJECT 'grid_registratura.cAvizat.Check1' AS checkbox WITH ; + ADD OBJECT 'grid_registratura.cAvizat.Check1' AS _checkbox WITH ; Alignment = 0, ; Caption = "", ; Centered = .T., ; - FontName = "Arial Narrow", ; Height = 17, ; Left = 54, ; Name = "Check1", ; Top = 60, ; Width = 60 - *< END OBJECT: BaseClass="checkbox" /> + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="checkbox" /> ADD OBJECT 'grid_registratura.cAvizat.Header1' AS header WITH ; Alignment = 2, ; Caption = "Avizat", ; - FontName = "Arial Narrow", ; Name = "Header1" *< END OBJECT: BaseClass="header" /> ADD OBJECT 'grid_registratura.cData_ctr.Header1' AS header WITH ; Alignment = 2, ; Caption = "Data doc.", ; - FontName = "Arial Narrow", ; Name = "Header1" *< END OBJECT: BaseClass="header" /> - ADD OBJECT 'grid_registratura.cData_ctr.Text1' AS textbox WITH ; + ADD OBJECT 'grid_registratura.cData_ctr.Text1' AS _textbox WITH ; BackColor = 255,255,255, ; BorderStyle = 0, ; - FontName = "Arial Narrow", ; ForeColor = 0,0,0, ; Margin = 0, ; Name = "Text1", ; ReadOnly = .T. - *< END OBJECT: BaseClass="textbox" /> + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="textbox" /> ADD OBJECT 'grid_registratura.cData_intern.Header1' AS header WITH ; Alignment = 2, ; Caption = "Data inreg.", ; - FontName = "Arial Narrow", ; Name = "Header1" *< END OBJECT: BaseClass="header" /> - ADD OBJECT 'grid_registratura.cData_intern.Text1' AS textbox WITH ; + ADD OBJECT 'grid_registratura.cData_intern.Text1' AS _textbox WITH ; BackColor = 255,255,255, ; BorderStyle = 0, ; - FontName = "Arial Narrow", ; ForeColor = 0,0,0, ; Margin = 0, ; Name = "Text1" - *< END OBJECT: BaseClass="textbox" /> + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="textbox" /> ADD OBJECT 'grid_registratura.cDescriere.Header1' AS header WITH ; Alignment = 2, ; Caption = "Descriere", ; - FontName = "Arial Narrow", ; Name = "Header1" *< END OBJECT: BaseClass="header" /> - ADD OBJECT 'grid_registratura.cDescriere.Text1' AS textbox WITH ; + ADD OBJECT 'grid_registratura.cDescriere.Text1' AS _textbox WITH ; BackColor = 255,255,255, ; BorderStyle = 0, ; - FontName = "Arial Narrow", ; ForeColor = 0,0,0, ; Margin = 0, ; Name = "Text1" - *< END OBJECT: BaseClass="textbox" /> + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="textbox" /> ADD OBJECT 'grid_registratura.cFel_document.Header1' AS header WITH ; Alignment = 2, ; Caption = "Fel document", ; - FontName = "Arial Narrow", ; Name = "Header1" *< END OBJECT: BaseClass="header" /> - ADD OBJECT 'grid_registratura.cFel_document.Text1' AS textbox WITH ; + ADD OBJECT 'grid_registratura.cFel_document.Text1' AS _textbox WITH ; BackColor = 255,255,255, ; BorderStyle = 0, ; - FontName = "Arial Narrow", ; ForeColor = 0,0,0, ; Margin = 0, ; Name = "Text1" - *< END OBJECT: BaseClass="textbox" /> + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="textbox" /> ADD OBJECT 'grid_registratura.cIE.Header1' AS header WITH ; Alignment = 2, ; Caption = "Intrare/Iesire", ; - FontName = "Arial Narrow", ; Name = "Header1" *< END OBJECT: BaseClass="header" /> - ADD OBJECT 'grid_registratura.cIE.Text1' AS textbox WITH ; + ADD OBJECT 'grid_registratura.cIE.Text1' AS _textbox WITH ; BackColor = 255,255,255, ; BorderStyle = 0, ; - FontName = "Arial Narrow", ; ForeColor = 0,0,0, ; Margin = 0, ; Name = "Text1" - *< END OBJECT: BaseClass="textbox" /> + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="textbox" /> ADD OBJECT 'grid_registratura.cMediu_transmisie.Header1' AS header WITH ; Alignment = 2, ; Caption = "Mediu tr./rec.", ; - FontName = "Arial Narrow", ; Name = "Header1" *< END OBJECT: BaseClass="header" /> - ADD OBJECT 'grid_registratura.cMediu_transmisie.Text1' AS textbox WITH ; + ADD OBJECT 'grid_registratura.cMediu_transmisie.Text1' AS _textbox WITH ; BackColor = 255,255,255, ; BorderStyle = 0, ; - FontName = "Arial Narrow", ; ForeColor = 0,0,0, ; Margin = 0, ; Name = "Text1" - *< END OBJECT: BaseClass="textbox" /> + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="textbox" /> ADD OBJECT 'grid_registratura.cNr_ctr.Header1' AS header WITH ; Alignment = 2, ; Caption = "Nr. doc.", ; - FontName = "Arial Narrow", ; Name = "Header1" *< END OBJECT: BaseClass="header" /> - ADD OBJECT 'grid_registratura.cNr_ctr.Text1' AS textbox WITH ; + ADD OBJECT 'grid_registratura.cNr_ctr.Text1' AS _textbox WITH ; BackColor = 255,255,255, ; BorderStyle = 0, ; - FontName = "Arial Narrow", ; ForeColor = 0,0,0, ; Margin = 0, ; Name = "Text1", ; ReadOnly = .T. - *< END OBJECT: BaseClass="textbox" /> + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="textbox" /> ADD OBJECT 'grid_registratura.cNr_pag.Header1' AS header WITH ; Alignment = 2, ; Caption = "Nr. pag.", ; - FontName = "Arial Narrow", ; Name = "Header1" *< END OBJECT: BaseClass="header" /> - ADD OBJECT 'grid_registratura.cNr_pag.Text1' AS textbox WITH ; + ADD OBJECT 'grid_registratura.cNr_pag.Text1' AS _textbox WITH ; BackColor = 255,255,255, ; BorderStyle = 0, ; - FontName = "Arial Narrow", ; ForeColor = 0,0,0, ; Margin = 0, ; Name = "Text1" - *< END OBJECT: BaseClass="textbox" /> + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="textbox" /> ADD OBJECT 'grid_registratura.cNresp.Header1' AS header WITH ; Alignment = 2, ; Caption = "Responsabil", ; - FontName = "Arial Narrow", ; Name = "Header1" *< END OBJECT: BaseClass="header" /> - ADD OBJECT 'grid_registratura.cNresp.Text1' AS textbox WITH ; + ADD OBJECT 'grid_registratura.cNresp.Text1' AS _textbox WITH ; BackColor = 255,255,255, ; BorderStyle = 0, ; - FontName = "Arial Narrow", ; ForeColor = 0,0,0, ; Margin = 0, ; Name = "Text1" - *< END OBJECT: BaseClass="textbox" /> + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="textbox" /> ADD OBJECT 'grid_registratura.cNumar_intern.Header1' AS header WITH ; Alignment = 2, ; Caption = "Nr. inreg.", ; - FontName = "Arial Narrow", ; Name = "Header1" *< END OBJECT: BaseClass="header" /> - ADD OBJECT 'grid_registratura.cNumar_intern.Text1' AS textbox WITH ; + ADD OBJECT 'grid_registratura.cNumar_intern.Text1' AS _textbox WITH ; BackColor = 255,255,255, ; BorderStyle = 0, ; - FontName = "Arial Narrow", ; ForeColor = 0,0,0, ; Margin = 0, ; Name = "Text1" - *< END OBJECT: BaseClass="textbox" /> + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="textbox" /> ADD OBJECT 'grid_registratura.cNume.Header1' AS header WITH ; Alignment = 2, ; Caption = "Partener", ; - FontName = "Arial Narrow", ; Name = "Header1" *< END OBJECT: BaseClass="header" /> - ADD OBJECT 'grid_registratura.cNume.Text1' AS textbox WITH ; + ADD OBJECT 'grid_registratura.cNume.Text1' AS _textbox WITH ; BackColor = 255,255,255, ; BorderStyle = 0, ; - FontName = "Arial Narrow", ; ForeColor = 0,0,0, ; Margin = 0, ; Name = "Text1", ; ReadOnly = .T. - *< END OBJECT: BaseClass="textbox" /> + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="textbox" /> ADD OBJECT 'grid_registratura.Column12.Header1' AS header WITH ; Alignment = 2, ; Caption = "Utilizator", ; - FontName = "Arial Narrow", ; Name = "Header1" *< END OBJECT: BaseClass="header" /> - ADD OBJECT 'grid_registratura.Column12.Text1' AS textbox WITH ; + ADD OBJECT 'grid_registratura.Column12.Text1' AS _textbox WITH ; BackColor = 255,255,255, ; BorderStyle = 0, ; - FontName = "Arial Narrow", ; ForeColor = 0,0,0, ; Margin = 0, ; Name = "Text1" - *< END OBJECT: BaseClass="textbox" /> + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="textbox" /> ADD OBJECT 'grid_registratura.Column13.Header1' AS header WITH ; Alignment = 2, ; Caption = "Dataora", ; - FontName = "Arial Narrow", ; Name = "Header1" *< END OBJECT: BaseClass="header" /> - ADD OBJECT 'grid_registratura.Column13.Text1' AS textbox WITH ; + ADD OBJECT 'grid_registratura.Column13.Text1' AS _textbox WITH ; BackColor = 255,255,255, ; BorderStyle = 0, ; - FontName = "Arial Narrow", ; ForeColor = 0,0,0, ; Margin = 0, ; Name = "Text1" - *< END OBJECT: BaseClass="textbox" /> + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="textbox" /> ADD OBJECT 'grid_registratura.Column14.Header1' AS header WITH ; Alignment = 2, ; Caption = "Utilizator stergere", ; - FontName = "Arial Narrow", ; Name = "Header1" *< END OBJECT: BaseClass="header" /> - ADD OBJECT 'grid_registratura.Column14.Text1' AS textbox WITH ; + ADD OBJECT 'grid_registratura.Column14.Text1' AS _textbox WITH ; BackColor = 255,255,255, ; BorderStyle = 0, ; - FontName = "Arial Narrow", ; ForeColor = 0,0,0, ; Margin = 0, ; Name = "Text1" - *< END OBJECT: BaseClass="textbox" /> + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="textbox" /> ADD OBJECT 'grid_registratura.Column15.Header1' AS header WITH ; Alignment = 2, ; Caption = "Dataora stergerii", ; - FontName = "Arial Narrow", ; Name = "Header1" *< END OBJECT: BaseClass="header" /> - ADD OBJECT 'grid_registratura.Column15.Text1' AS textbox WITH ; + ADD OBJECT 'grid_registratura.Column15.Text1' AS _textbox WITH ; BackColor = 255,255,255, ; BorderStyle = 0, ; - FontName = "Arial Narrow", ; ForeColor = 0,0,0, ; Margin = 0, ; Name = "Text1" - *< END OBJECT: BaseClass="textbox" /> + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="textbox" /> ADD OBJECT 'grid_registratura.Column16.Header1' AS header WITH ; Alignment = 2, ; Caption = "Utilzator avizare", ; - FontName = "Arial Narrow", ; Name = "Header1" *< END OBJECT: BaseClass="header" /> - ADD OBJECT 'grid_registratura.Column16.Text1' AS textbox WITH ; + ADD OBJECT 'grid_registratura.Column16.Text1' AS _textbox WITH ; BackColor = 255,255,255, ; BorderStyle = 0, ; - FontName = "Arial Narrow", ; ForeColor = 0,0,0, ; Margin = 0, ; Name = "Text1" - *< END OBJECT: BaseClass="textbox" /> + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="textbox" /> ADD OBJECT 'grid_registratura.Column17.Header1' AS header WITH ; Alignment = 2, ; Caption = "Dataora avizarii ", ; - FontName = "Arial Narrow", ; Name = "Header1" *< END OBJECT: BaseClass="header" /> - ADD OBJECT 'grid_registratura.Column17.Text1' AS textbox WITH ; + ADD OBJECT 'grid_registratura.Column17.Text1' AS _textbox WITH ; BackColor = 255,255,255, ; BorderStyle = 0, ; - FontName = "Arial Narrow", ; ForeColor = 0,0,0, ; Margin = 0, ; Name = "Text1" - *< END OBJECT: BaseClass="textbox" /> + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="textbox" /> ADD OBJECT 'grid_registratura.Column22.Header1' AS header WITH ; Alignment = 2, ; Caption = "Proiect", ; - FontName = "Arial Narrow", ; Name = "Header1" *< END OBJECT: BaseClass="header" /> - ADD OBJECT 'grid_registratura.Column22.Text1' AS textbox WITH ; + ADD OBJECT 'grid_registratura.Column22.Text1' AS _textbox WITH ; BackColor = 255,255,255, ; BorderStyle = 0, ; - FontName = "Arial Narrow", ; ForeColor = 0,0,0, ; Margin = 0, ; Name = "Text1" - *< END OBJECT: BaseClass="textbox" /> + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="textbox" /> - ADD OBJECT 'grid_registratura.Column23.Command1' AS commandbutton WITH ; + ADD OBJECT 'grid_registratura.Column23.Command1' AS _commandbutton WITH ; Caption = "", ; Height = 27, ; Left = 15, ; @@ -1118,9 +1050,9 @@ DEFINE CLASS ct_registratura AS _ctfrmbase OF "..\comun\clase\_ct_base.vcx" SpecialEffect = 1, ; Top = 77, ; Width = 84 - *< END OBJECT: BaseClass="commandbutton" /> + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="commandbutton" /> - ADD OBJECT 'grid_registratura.Column23.Command2' AS commandbutton WITH ; + ADD OBJECT 'grid_registratura.Column23.Command2' AS _commandbutton WITH ; Caption = "", ; Height = 27, ; Left = 27, ; @@ -1128,40 +1060,37 @@ DEFINE CLASS ct_registratura AS _ctfrmbase OF "..\comun\clase\_ct_base.vcx" SpecialEffect = 1, ; Top = 125, ; Width = 84 - *< END OBJECT: BaseClass="commandbutton" /> + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="commandbutton" /> ADD OBJECT 'grid_registratura.Column23.Header1' AS header WITH ; Caption = "Link", ; - FontName = "Arial Narrow", ; Name = "Header1", ; Picture = ..\comun\grafice\attach_mic.bmp *< END OBJECT: BaseClass="header" /> - ADD OBJECT 'grid_registratura.Column23.Text1' AS textbox WITH ; + ADD OBJECT 'grid_registratura.Column23.Text1' AS _textbox WITH ; BackColor = 255,255,255, ; BorderStyle = 0, ; ForeColor = 0,0,0, ; Margin = 0, ; Name = "Text1" - *< END OBJECT: BaseClass="textbox" /> + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="textbox" /> ADD OBJECT 'grid_registratura.cPers_contact.Header1' AS header WITH ; Alignment = 2, ; Caption = "Persoana contact a partenerului", ; - FontName = "Arial Narrow", ; Name = "Header1", ; WordWrap = .T. *< END OBJECT: BaseClass="header" /> - ADD OBJECT 'grid_registratura.cPers_contact.Text1' AS textbox WITH ; + ADD OBJECT 'grid_registratura.cPers_contact.Text1' AS _textbox WITH ; Alignment = 3, ; BackColor = 255,255,255, ; BorderStyle = 0, ; - FontName = "Arial Narrow", ; ForeColor = 0,0,0, ; Margin = 0, ; Name = "Text1" - *< END OBJECT: BaseClass="textbox" /> + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="textbox" /> PROCEDURE actualizeaza_grid1 LPARAMETERS pcFiltru @@ -1223,6 +1152,16 @@ DEFINE CLASS ct_registratura AS _ctfrmbase OF "..\comun\clase\_ct_base.vcx" This.grid_registratura.SetFocus() This.Parent.Parent.ActivePage = 3 + *!* 23.07.2026 MM - documentul nou intra direct in editare (P3) + With This.Parent.Parent.Page3.ct_part_nr_data1 + .lLock = .F. + .deblocheaza_campuri() + .Refresh() + .cmdDenumire.SetFocus() + Endwith + If Type('podg_dg.but_termin1') <> 'U' + podg_dg.deblocheaza_campuri() + Endif Endif Release loGeneratorNumere @@ -1261,7 +1200,12 @@ DEFINE CLASS ct_registratura AS _ctfrmbase OF "..\comun\clase\_ct_base.vcx" IF this.ck_sters.Value = 1 lcFiltru = [ 2=2] + lcFiltru ELSE - lcFiltru = [ STERS=0] + lcFiltru + *!* 23.07.2026 MM - fara criterii: doar ultimul document, nu toata baza (P4) + If Empty(lcFiltru) + lcFiltru = [ sters=0 and id_reg=(select max(id_reg) from vregistratura where sters=0)] + Else + lcFiltru = [ STERS=0] + lcFiltru + Endif ENDIF @@ -1384,6 +1328,11 @@ DEFINE CLASS ct_registratura AS _ctfrmbase OF "..\comun\clase\_ct_base.vcx" * This.SetAll("DynamicForeColor", "IIF(sters=1, RGB(255,0,0), RGB(0,0,0))", "Column") this.Parent.grid_registratura.SetAll("DynamicForeColor", "IIF(sters=1, RGB(255,0,0), RGB(0,0,0))", "Column") + *!* 23.07.2026 MM - propaga fontul gridului la coloane si headere (P5) + This.SetAll('FontName', This.FontName, 'Column') + This.SetAll('FontSize', This.FontSize, 'Column') + This.SetAll('FontName', This.FontName, 'Header') + This.SetAll('FontSize', This.FontSize, 'Header') ENDPROC @@ -1558,7 +1507,7 @@ DEFINE CLASS frm_dg_date_generale AS frm_dg OF "..\comun\clase\ferestre_atasamen BUT_TERMIN1.ZOrderSet = 6 * - ADD OBJECT 'ck_avizat' AS checkbox WITH ; + ADD OBJECT 'ck_avizat' AS _checkbox WITH ; Alignment = 0, ; AutoSize = .T., ; BackStyle = 0, ; @@ -1572,12 +1521,11 @@ DEFINE CLASS frm_dg_date_generale AS frm_dg OF "..\comun\clase\ferestre_atasamen Top = 223, ; Width = 48, ; ZOrderSet = 23 - *< END OBJECT: BaseClass="checkbox" /> + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="checkbox" /> - ADD OBJECT 'cmdFel_document' AS commandbutton WITH ; + ADD OBJECT 'cmdFel_document' AS _commandbutton WITH ; Caption = "", ; Enabled = .F., ; - FontName = "Arial Narrow", ; Height = 24, ; Left = 277, ; Name = "cmdFel_document", ; @@ -1586,12 +1534,11 @@ DEFINE CLASS frm_dg_date_generale AS frm_dg OF "..\comun\clase\ferestre_atasamen Top = 124, ; Width = 28, ; ZOrderSet = 11 - *< END OBJECT: BaseClass="commandbutton" /> + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="commandbutton" /> - ADD OBJECT 'cmdMedii_transmisie' AS commandbutton WITH ; + ADD OBJECT 'cmdMedii_transmisie' AS _commandbutton WITH ; Caption = "", ; Enabled = .F., ; - FontName = "Arial Narrow", ; Height = 24, ; Left = 277, ; Name = "cmdMedii_transmisie", ; @@ -1600,12 +1547,11 @@ DEFINE CLASS frm_dg_date_generale AS frm_dg OF "..\comun\clase\ferestre_atasamen Top = 199, ; Width = 28, ; ZOrderSet = 11 - *< END OBJECT: BaseClass="commandbutton" /> + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="commandbutton" /> - ADD OBJECT 'cmdNresp' AS commandbutton WITH ; + ADD OBJECT 'cmdNresp' AS _commandbutton WITH ; Caption = "", ; Enabled = .F., ; - FontName = "Arial Narrow", ; Height = 24, ; Left = 277, ; Name = "cmdNresp", ; @@ -1614,12 +1560,11 @@ DEFINE CLASS frm_dg_date_generale AS frm_dg OF "..\comun\clase\ferestre_atasamen Top = 174, ; Width = 28, ; ZOrderSet = 11 - *< END OBJECT: BaseClass="commandbutton" /> + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="commandbutton" /> - ADD OBJECT 'cmdPers_contact' AS commandbutton WITH ; + ADD OBJECT 'cmdPers_contact' AS _commandbutton WITH ; Caption = "", ; Enabled = .F., ; - FontName = "Arial Narrow", ; Height = 24, ; Left = 277, ; Name = "cmdPers_contact", ; @@ -1628,9 +1573,9 @@ DEFINE CLASS frm_dg_date_generale AS frm_dg OF "..\comun\clase\ferestre_atasamen Top = 149, ; Width = 28, ; ZOrderSet = 11 - *< END OBJECT: BaseClass="commandbutton" /> + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="commandbutton" /> - ADD OBJECT 'Label1' AS label WITH ; + ADD OBJECT 'Label1' AS _label WITH ; AutoSize = .T., ; BackStyle = 0, ; Caption = "Persoana contact", ; @@ -1641,9 +1586,9 @@ DEFINE CLASS frm_dg_date_generale AS frm_dg OF "..\comun\clase\ferestre_atasamen Top = 153, ; Width = 98, ; ZOrderSet = 15 - *< END OBJECT: BaseClass="label" /> + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="label" /> - ADD OBJECT 'Label17' AS label WITH ; + ADD OBJECT 'Label17' AS _label WITH ; AutoSize = .T., ; BackStyle = 0, ; Caption = "Tip document", ; @@ -1654,9 +1599,9 @@ DEFINE CLASS frm_dg_date_generale AS frm_dg OF "..\comun\clase\ferestre_atasamen Top = 128, ; Width = 77, ; ZOrderSet = 15 - *< END OBJECT: BaseClass="label" /> + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="label" /> - ADD OBJECT 'Label2' AS label WITH ; + ADD OBJECT 'Label2' AS _label WITH ; AutoSize = .T., ; BackStyle = 0, ; Caption = "Mediu transmisie", ; @@ -1667,9 +1612,9 @@ DEFINE CLASS frm_dg_date_generale AS frm_dg OF "..\comun\clase\ferestre_atasamen Top = 203, ; Width = 97, ; ZOrderSet = 15 - *< END OBJECT: BaseClass="label" /> + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="label" /> - ADD OBJECT 'Label3' AS label WITH ; + ADD OBJECT 'Label3' AS _label WITH ; AutoSize = .T., ; BackStyle = 0, ; Caption = "Responsabil", ; @@ -1680,9 +1625,9 @@ DEFINE CLASS frm_dg_date_generale AS frm_dg OF "..\comun\clase\ferestre_atasamen Top = 178, ; Width = 73, ; ZOrderSet = 15 - *< END OBJECT: BaseClass="label" /> + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="label" /> - ADD OBJECT 'Label4' AS label WITH ; + ADD OBJECT 'Label4' AS _label WITH ; AutoSize = .T., ; BackStyle = 0, ; Caption = "Descriere", ; @@ -1693,9 +1638,9 @@ DEFINE CLASS frm_dg_date_generale AS frm_dg OF "..\comun\clase\ferestre_atasamen Top = 61, ; Width = 56, ; ZOrderSet = 40 - *< END OBJECT: BaseClass="label" /> + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="label" /> - ADD OBJECT 'Label5' AS label WITH ; + ADD OBJECT 'Label5' AS _label WITH ; AutoSize = .T., ; BackStyle = 0, ; Caption = "Nr. pagini", ; @@ -1706,9 +1651,9 @@ DEFINE CLASS frm_dg_date_generale AS frm_dg OF "..\comun\clase\ferestre_atasamen Top = 128, ; Width = 55, ; ZOrderSet = 42 - *< END OBJECT: BaseClass="label" /> + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="label" /> - ADD OBJECT 'Label6' AS label WITH ; + ADD OBJECT 'Label6' AS _label WITH ; AutoSize = .T., ; BackStyle = 0, ; Caption = "Nr./data inreg. (intrare-iesire)", ; @@ -1719,9 +1664,9 @@ DEFINE CLASS frm_dg_date_generale AS frm_dg OF "..\comun\clase\ferestre_atasamen Top = 38, ; Width = 160, ; ZOrderSet = 42 - *< END OBJECT: BaseClass="label" /> + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="label" /> - ADD OBJECT 'Label9' AS label WITH ; + ADD OBJECT 'Label9' AS _label WITH ; AutoSize = .T., ; BackStyle = 0, ; Caption = "/", ; @@ -1732,9 +1677,9 @@ DEFINE CLASS frm_dg_date_generale AS frm_dg OF "..\comun\clase\ferestre_atasamen Top = 38, ; Width = 5, ; ZOrderSet = 44 - *< END OBJECT: BaseClass="label" /> + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="label" /> - ADD OBJECT 'optIE' AS optiongroup WITH ; + ADD OBJECT 'optIE' AS _optiongrup WITH ; BackStyle = 0, ; ButtonCount = 2, ; ControlSource = "goRegistratura.ie", ; @@ -1762,7 +1707,7 @@ DEFINE CLASS frm_dg_date_generale AS frm_dg OF "..\comun\clase\ferestre_atasamen Option2.Name = "Option2", ; Option2.Top = 4, ; Option2.Width = 49 - *< END OBJECT: BaseClass="optiongroup" /> + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="optiongroup" /> ADD OBJECT 'Shape7' AS shape WITH ; BackStyle = 0, ; @@ -1775,7 +1720,7 @@ DEFINE CLASS frm_dg_date_generale AS frm_dg OF "..\comun\clase\ferestre_atasamen ZOrderSet = 0 *< END OBJECT: BaseClass="shape" /> - ADD OBJECT 'txtData_intern' AS textbox WITH ; + ADD OBJECT 'txtData_intern' AS _textbox WITH ; ControlSource = "goRegistratura.data_intern", ; Height = 21, ; Left = 324, ; @@ -1785,9 +1730,9 @@ DEFINE CLASS frm_dg_date_generale AS frm_dg OF "..\comun\clase\ferestre_atasamen Top = 36, ; Width = 119, ; ZOrderSet = 45 - *< END OBJECT: BaseClass="textbox" /> + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="textbox" /> - ADD OBJECT 'txtDescriere' AS textbox WITH ; + ADD OBJECT 'txtDescriere' AS _textbox WITH ; ControlSource = "goRegistratura.descriere", ; Height = 21, ; Left = 122, ; @@ -1797,9 +1742,9 @@ DEFINE CLASS frm_dg_date_generale AS frm_dg OF "..\comun\clase\ferestre_atasamen Top = 59, ; Width = 321, ; ZOrderSet = 41 - *< END OBJECT: BaseClass="textbox" /> + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="textbox" /> - ADD OBJECT 'txtFel_document' AS textbox WITH ; + ADD OBJECT 'txtFel_document' AS _textbox WITH ; ControlSource = "goRegistratura.fel_document", ; Height = 21, ; Left = 131, ; @@ -1810,9 +1755,9 @@ DEFINE CLASS frm_dg_date_generale AS frm_dg OF "..\comun\clase\ferestre_atasamen Top = 126, ; Width = 144, ; ZOrderSet = 16 - *< END OBJECT: BaseClass="textbox" /> + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="textbox" /> - ADD OBJECT 'txtMediu_transmisie' AS textbox WITH ; + ADD OBJECT 'txtMediu_transmisie' AS _textbox WITH ; ControlSource = "goRegistratura.mediu_transmisie", ; Height = 21, ; Left = 131, ; @@ -1823,9 +1768,9 @@ DEFINE CLASS frm_dg_date_generale AS frm_dg OF "..\comun\clase\ferestre_atasamen Top = 201, ; Width = 144, ; ZOrderSet = 16 - *< END OBJECT: BaseClass="textbox" /> + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="textbox" /> - ADD OBJECT 'txtNr_pag' AS textbox WITH ; + ADD OBJECT 'txtNr_pag' AS _textbox WITH ; ControlSource = "goRegistratura.nr_pag", ; Format = "k", ; Height = 21, ; @@ -1837,9 +1782,9 @@ DEFINE CLASS frm_dg_date_generale AS frm_dg OF "..\comun\clase\ferestre_atasamen Top = 126, ; Width = 48, ; ZOrderSet = 43 - *< END OBJECT: BaseClass="textbox" /> + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="textbox" /> - ADD OBJECT 'txtNresp' AS textbox WITH ; + ADD OBJECT 'txtNresp' AS _textbox WITH ; ControlSource = "goRegistratura.nresp", ; Height = 21, ; Left = 131, ; @@ -1850,9 +1795,9 @@ DEFINE CLASS frm_dg_date_generale AS frm_dg OF "..\comun\clase\ferestre_atasamen Top = 176, ; Width = 144, ; ZOrderSet = 16 - *< END OBJECT: BaseClass="textbox" /> + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="textbox" /> - ADD OBJECT 'txtNumar_intern' AS textbox WITH ; + ADD OBJECT 'txtNumar_intern' AS _textbox WITH ; ControlSource = "goRegistratura.numar_intern", ; Format = "k", ; Height = 21, ; @@ -1864,9 +1809,9 @@ DEFINE CLASS frm_dg_date_generale AS frm_dg OF "..\comun\clase\ferestre_atasamen Top = 36, ; Width = 113, ; ZOrderSet = 43 - *< END OBJECT: BaseClass="textbox" /> + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="textbox" /> - ADD OBJECT 'txtPers_contact' AS textbox WITH ; + ADD OBJECT 'txtPers_contact' AS _textbox WITH ; ControlSource = "goRegistratura.pers_contact", ; Height = 21, ; Left = 131, ; @@ -1877,7 +1822,7 @@ DEFINE CLASS frm_dg_date_generale AS frm_dg OF "..\comun\clase\ferestre_atasamen Top = 151, ; Width = 144, ; ZOrderSet = 16 - *< END OBJECT: BaseClass="textbox" /> + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="textbox" /> PROCEDURE blocheaza_campuri this.txtDescriere.ReadOnly = .T. @@ -2141,13 +2086,13 @@ DEFINE CLASS frm_dg_referinte AS frm_dg OF "..\comun\clase\ferestre_atasamente.v Name = "Header1" *< END OBJECT: BaseClass="header" /> - ADD OBJECT 'grid_referinte.Column1.Text1' AS textbox WITH ; + ADD OBJECT 'grid_referinte.Column1.Text1' AS _textbox WITH ; BackColor = 255,255,255, ; BorderStyle = 0, ; ForeColor = 0,0,0, ; Margin = 0, ; Name = "Text1" - *< END OBJECT: BaseClass="textbox" /> + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="textbox" /> ADD OBJECT 'grid_referinte.Column2.Header1' AS header WITH ; Alignment = 2, ; @@ -2155,12 +2100,21 @@ DEFINE CLASS frm_dg_referinte AS frm_dg OF "..\comun\clase\ferestre_atasamente.v Name = "Header1" *< END OBJECT: BaseClass="header" /> - ADD OBJECT 'grid_referinte.Column2.Text1' AS textbox WITH ; + ADD OBJECT 'grid_referinte.Column2.Text1' AS _textbox WITH ; BackColor = 255,255,255, ; BorderStyle = 0, ; ForeColor = 0,0,0, ; Margin = 0, ; Name = "Text1" - *< END OBJECT: BaseClass="textbox" /> + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="textbox" /> + + PROCEDURE grid_referinte.Init + DODEFAULT() + *!* 23.07.2026 MM - propaga fontul gridului la coloane si headere (P5) + This.SetAll('FontName', This.FontName, 'Column') + This.SetAll('FontSize', This.FontSize, 'Column') + This.SetAll('FontName', This.FontName, 'Header') + This.SetAll('FontSize', This.FontSize, 'Header') + ENDPROC ENDDEFINE diff --git a/Clase/ofundal_registratura.vc2 b/Clase/ofundal_registratura.vc2 index a58ab1a..0fdd7a9 100644 --- a/Clase/ofundal_registratura.vc2 +++ b/Clase/ofundal_registratura.vc2 @@ -285,6 +285,12 @@ DEFINE CLASS pg_meniu_princ AS pg_meniu OF "..\comun\clase\ofundal.vcx" PROCEDURE Page3.Deactivate Local lnRaspuns + *!* 23.07.2026 MM - partener NULL: nu se salveaza, se renunta explicit (P1/P2) + If !This.ct_part_nr_data1.llock And (Isnull(goRegistratura.id_part) Or Empty(goRegistratura.id_part)) + This.ct_part_nr_data1.llock = .T. + AMESSAGEBOX('Alegeti partenerul! Modificarile nu au fost salvate.',0+48,'Atentie') + This.ct_part_nr_data1.Refresh() + Endif If !This.ct_part_nr_data1.llock This.ct_part_nr_data1.llock = .T. lnRaspuns = AMESSAGEBOX('Doriþi sã salvaþi modificãrile fãcute?',4+32,'Confirmare') diff --git a/Clase/onom_clienti.vc2 b/Clase/onom_clienti.vc2 index 6cfc6a8..390717f 100644 --- a/Clase/onom_clienti.vc2 +++ b/Clase/onom_clienti.vc2 @@ -449,7 +449,6 @@ DEFINE CLASS frm_agenti AS _frmbase OF "..\..\comun\clase\_frm_base.vcx" Anchor = 15, ; ColumnCount = 5, ; DeleteMark = .F., ; - FontName = "Arial Narrow", ; Height = 336, ; Left = 15, ; Name = "grd_agenti", ; @@ -461,27 +460,22 @@ DEFINE CLASS frm_agenti AS _frmbase OF "..\..\comun\clase\_frm_base.vcx" ZOrderSet = 6, ; Column1.ColumnOrder = 3, ; Column1.ControlSource = "zona", ; - Column1.FontName = "Arial Narrow", ; Column1.Name = "cZona", ; Column1.Width = 172, ; Column2.ColumnOrder = 1, ; Column2.ControlSource = "nume_agent", ; - Column2.FontName = "Arial Narrow", ; Column2.Name = "cNume", ; Column2.Width = 205, ; Column3.ColumnOrder = 4, ; Column3.ControlSource = "telefon1", ; - Column3.FontName = "Arial Narrow", ; Column3.Name = "cTelefon1", ; Column3.Width = 116, ; Column4.ColumnOrder = 2, ; Column4.ControlSource = "functie", ; - Column4.FontName = "Arial Narrow", ; Column4.Name = "cFunctia", ; Column4.Width = 127, ; Column5.ColumnOrder = 5, ; Column5.ControlSource = "telefon2", ; - Column5.FontName = "Arial Narrow", ; Column5.Name = "cTelefon2", ; Column5.Width = 116 *< END OBJECT: ClassLib="..\..\comun\clase\_grd_base.vcx" BaseClass="grid" /> @@ -489,81 +483,72 @@ DEFINE CLASS frm_agenti AS _frmbase OF "..\..\comun\clase\_frm_base.vcx" ADD OBJECT 'grd_agenti.cFunctia.Header1' AS header WITH ; Alignment = 2, ; Caption = "Functie", ; - FontName = "Arial Narrow", ; Name = "Header1" *< END OBJECT: BaseClass="header" /> - ADD OBJECT 'grd_agenti.cFunctia.Text1' AS textbox WITH ; + ADD OBJECT 'grd_agenti.cFunctia.Text1' AS _textbox WITH ; BackColor = 255,255,255, ; BorderStyle = 0, ; - FontName = "Arial Narrow", ; ForeColor = 0,0,0, ; Margin = 0, ; Name = "Text1" - *< END OBJECT: BaseClass="textbox" /> + *< END OBJECT: ClassLib="..\..\comun\clase\_baza.vcx" BaseClass="textbox" /> ADD OBJECT 'grd_agenti.cNume.Header1' AS header WITH ; Alignment = 2, ; Caption = "Nume", ; - FontName = "Arial Narrow", ; Name = "Header1" *< END OBJECT: BaseClass="header" /> - ADD OBJECT 'grd_agenti.cNume.Text1' AS textbox WITH ; + ADD OBJECT 'grd_agenti.cNume.Text1' AS _textbox WITH ; BackColor = 255,255,255, ; BorderStyle = 0, ; - FontName = "Arial Narrow", ; ForeColor = 0,0,0, ; Margin = 0, ; Name = "Text1" - *< END OBJECT: BaseClass="textbox" /> + *< END OBJECT: ClassLib="..\..\comun\clase\_baza.vcx" BaseClass="textbox" /> ADD OBJECT 'grd_agenti.cTelefon1.Header1' AS header WITH ; Alignment = 2, ; Caption = "Telefon 1", ; - FontName = "Arial Narrow", ; Name = "Header1" *< END OBJECT: BaseClass="header" /> - ADD OBJECT 'grd_agenti.cTelefon1.Text1' AS textbox WITH ; + ADD OBJECT 'grd_agenti.cTelefon1.Text1' AS _textbox WITH ; BackColor = 255,255,255, ; BorderStyle = 0, ; - FontName = "Arial Narrow", ; ForeColor = 0,0,0, ; Margin = 0, ; Name = "Text1" - *< END OBJECT: BaseClass="textbox" /> + *< END OBJECT: ClassLib="..\..\comun\clase\_baza.vcx" BaseClass="textbox" /> ADD OBJECT 'grd_agenti.cTelefon2.Header1' AS header WITH ; Alignment = 2, ; Caption = "Telefon 2", ; - FontName = "Arial Narrow", ; Name = "Header1" *< END OBJECT: BaseClass="header" /> - ADD OBJECT 'grd_agenti.cTelefon2.Text1' AS textbox WITH ; + ADD OBJECT 'grd_agenti.cTelefon2.Text1' AS _textbox WITH ; BackColor = 255,255,255, ; BorderStyle = 0, ; ForeColor = 0,0,0, ; Margin = 0, ; Name = "Text1" - *< END OBJECT: BaseClass="textbox" /> + *< END OBJECT: ClassLib="..\..\comun\clase\_baza.vcx" BaseClass="textbox" /> ADD OBJECT 'grd_agenti.cZona.Header1' AS header WITH ; Alignment = 2, ; Caption = "Zona", ; - FontName = "Arial Narrow", ; Name = "Header1" *< END OBJECT: BaseClass="header" /> - ADD OBJECT 'grd_agenti.cZona.Text1' AS textbox WITH ; + ADD OBJECT 'grd_agenti.cZona.Text1' AS _textbox WITH ; BackColor = 255,255,255, ; BorderStyle = 0, ; - FontName = "Arial Narrow", ; ForeColor = 0,0,0, ; Margin = 0, ; Name = "Text1" - *< END OBJECT: BaseClass="textbox" /> + *< END OBJECT: ClassLib="..\..\comun\clase\_baza.vcx" BaseClass="textbox" /> PROCEDURE actualizeaza_grid1 Lparameters lcFiltru @@ -667,6 +652,15 @@ DEFINE CLASS frm_agenti AS _frmbase OF "..\..\comun\clase\_frm_base.vcx" PROCEDURE do_sterge2 ENDPROC + PROCEDURE grd_agenti.Init + DODEFAULT() + *!* 23.07.2026 MM - propaga fontul gridului la coloane si headere (P5) + This.SetAll('FontName', This.FontName, 'Column') + This.SetAll('FontSize', This.FontSize, 'Column') + This.SetAll('FontName', This.FontName, 'Header') + This.SetAll('FontSize', This.FontSize, 'Header') + ENDPROC + ENDDEFINE DEFINE CLASS frm_agenti_nou AS _frmbase OF "..\..\comun\clase\_frm_base.vcx" @@ -1006,7 +1000,6 @@ DEFINE CLASS frm_clienti AS _frmbase OF "..\comun\clase\_frm_base.vcx" ADD OBJECT 'grd_clienti' AS _grdrow WITH ; ColumnCount = 9, ; DeleteMark = .F., ; - FontName = "Arial Narrow", ; Height = 366, ; Left = 15, ; Name = "grd_clienti", ; @@ -1017,41 +1010,32 @@ DEFINE CLASS frm_clienti AS _frmbase OF "..\comun\clase\_frm_base.vcx" Width = 636, ; ZOrderSet = 6, ; Column1.ControlSource = "nume", ; - Column1.FontName = "Arial Narrow", ; Column1.Name = "cNume", ; Column1.Width = 172, ; Column2.ControlSource = "cod_fiscal", ; - Column2.FontName = "Arial Narrow", ; Column2.Name = "cCod_fiscal", ; Column2.Width = 91, ; Column3.ControlSource = "telefon", ; - Column3.FontName = "Arial Narrow", ; Column3.Name = "cTelefon", ; Column4.ControlSource = "adresa", ; - Column4.FontName = "Arial Narrow", ; Column4.Name = "cAdresa", ; Column4.Width = 270, ; Column5.ControlSource = "banca", ; - Column5.FontName = "Arial Narrow", ; Column5.Name = "cBanca", ; Column5.Width = 114, ; Column6.ControlSource = "cont_banca", ; - Column6.FontName = "Arial Narrow", ; Column6.Name = "cCont_banca", ; Column6.Width = 52, ; Column7.ControlSource = "reg_comert", ; - Column7.FontName = "Arial Narrow", ; Column7.Name = "cReg_comert", ; Column7.Width = 133, ; Column8.ColumnOrder = 9, ; Column8.ControlSource = "judet", ; - Column8.FontName = "Arial Narrow", ; Column8.Name = "cJudet", ; Column8.Visible = .T., ; Column8.Width = 68, ; Column9.ColumnOrder = 8, ; Column9.ControlSource = "localitate", ; - Column9.FontName = "Arial Narrow", ; Column9.Name = "cLocalitate", ; Column9.Width = 127 *< END OBJECT: ClassLib="..\comun\clase\_grd_base.vcx" BaseClass="grid" /> @@ -1059,147 +1043,129 @@ DEFINE CLASS frm_clienti AS _frmbase OF "..\comun\clase\_frm_base.vcx" ADD OBJECT 'grd_clienti.cAdresa.Header1' AS header WITH ; Alignment = 2, ; Caption = "Adresa", ; - FontName = "Arial Narrow", ; Name = "Header1" *< END OBJECT: BaseClass="header" /> - ADD OBJECT 'grd_clienti.cAdresa.Text1' AS textbox WITH ; + ADD OBJECT 'grd_clienti.cAdresa.Text1' AS _textbox WITH ; BackColor = 255,255,255, ; BorderStyle = 0, ; - FontName = "Arial Narrow", ; ForeColor = 0,0,0, ; Margin = 0, ; Name = "Text1" - *< END OBJECT: BaseClass="textbox" /> + *< END OBJECT: ClassLib="..\..\comun\clase\_baza.vcx" BaseClass="textbox" /> ADD OBJECT 'grd_clienti.cBanca.Header1' AS header WITH ; Alignment = 2, ; Caption = "Banca", ; - FontName = "Arial Narrow", ; Name = "Header1" *< END OBJECT: BaseClass="header" /> - ADD OBJECT 'grd_clienti.cBanca.Text1' AS textbox WITH ; + ADD OBJECT 'grd_clienti.cBanca.Text1' AS _textbox WITH ; BackColor = 255,255,255, ; BorderStyle = 0, ; - FontName = "Arial Narrow", ; ForeColor = 0,0,0, ; Margin = 0, ; Name = "Text1" - *< END OBJECT: BaseClass="textbox" /> + *< END OBJECT: ClassLib="..\..\comun\clase\_baza.vcx" BaseClass="textbox" /> ADD OBJECT 'grd_clienti.cCod_fiscal.Header1' AS header WITH ; Alignment = 2, ; Caption = "Cod fiscal", ; - FontName = "Arial Narrow", ; Name = "Header1" *< END OBJECT: BaseClass="header" /> - ADD OBJECT 'grd_clienti.cCod_fiscal.Text1' AS textbox WITH ; + ADD OBJECT 'grd_clienti.cCod_fiscal.Text1' AS _textbox WITH ; BackColor = 255,255,255, ; BorderStyle = 0, ; - FontName = "Arial Narrow", ; ForeColor = 0,0,0, ; Margin = 0, ; Name = "Text1" - *< END OBJECT: BaseClass="textbox" /> + *< END OBJECT: ClassLib="..\..\comun\clase\_baza.vcx" BaseClass="textbox" /> ADD OBJECT 'grd_clienti.cCont_banca.Header1' AS header WITH ; Alignment = 2, ; Caption = "Cont", ; - FontName = "Arial Narrow", ; Name = "Header1" *< END OBJECT: BaseClass="header" /> - ADD OBJECT 'grd_clienti.cCont_banca.Text1' AS textbox WITH ; + ADD OBJECT 'grd_clienti.cCont_banca.Text1' AS _textbox WITH ; BackColor = 255,255,255, ; BorderStyle = 0, ; - FontName = "Arial Narrow", ; ForeColor = 0,0,0, ; Margin = 0, ; Name = "Text1" - *< END OBJECT: BaseClass="textbox" /> + *< END OBJECT: ClassLib="..\..\comun\clase\_baza.vcx" BaseClass="textbox" /> ADD OBJECT 'grd_clienti.cJudet.Header1' AS header WITH ; Alignment = 2, ; Caption = "Judet", ; - FontName = "Arial Narrow", ; Name = "Header1" *< END OBJECT: BaseClass="header" /> - ADD OBJECT 'grd_clienti.cJudet.Text1' AS textbox WITH ; + ADD OBJECT 'grd_clienti.cJudet.Text1' AS _textbox WITH ; BackColor = 255,255,255, ; BorderStyle = 0, ; - FontName = "Arial Narrow", ; ForeColor = 0,0,0, ; Margin = 0, ; Name = "Text1", ; Visible = .T. - *< END OBJECT: BaseClass="textbox" /> + *< END OBJECT: ClassLib="..\..\comun\clase\_baza.vcx" BaseClass="textbox" /> ADD OBJECT 'grd_clienti.cLocalitate.Header1' AS header WITH ; Alignment = 2, ; Caption = "Localitate", ; - FontName = "Arial Narrow", ; Name = "Header1" *< END OBJECT: BaseClass="header" /> - ADD OBJECT 'grd_clienti.cLocalitate.Text1' AS textbox WITH ; + ADD OBJECT 'grd_clienti.cLocalitate.Text1' AS _textbox WITH ; BackColor = 255,255,255, ; BorderStyle = 0, ; - FontName = "Arial Narrow", ; ForeColor = 0,0,0, ; Margin = 0, ; Name = "Text1" - *< END OBJECT: BaseClass="textbox" /> + *< END OBJECT: ClassLib="..\..\comun\clase\_baza.vcx" BaseClass="textbox" /> ADD OBJECT 'grd_clienti.cNume.Header1' AS header WITH ; Alignment = 2, ; Caption = "Nume client", ; - FontName = "Arial Narrow", ; Name = "Header1" *< END OBJECT: BaseClass="header" /> - ADD OBJECT 'grd_clienti.cNume.Text1' AS textbox WITH ; + ADD OBJECT 'grd_clienti.cNume.Text1' AS _textbox WITH ; BackColor = 255,255,255, ; BorderStyle = 0, ; - FontName = "Arial Narrow", ; ForeColor = 0,0,0, ; Margin = 0, ; Name = "Text1" - *< END OBJECT: BaseClass="textbox" /> + *< END OBJECT: ClassLib="..\..\comun\clase\_baza.vcx" BaseClass="textbox" /> ADD OBJECT 'grd_clienti.cReg_comert.Header1' AS header WITH ; Alignment = 2, ; Caption = "Nr.Reg.Com.", ; - FontName = "Arial Narrow", ; Name = "Header1" *< END OBJECT: BaseClass="header" /> - ADD OBJECT 'grd_clienti.cReg_comert.Text1' AS textbox WITH ; + ADD OBJECT 'grd_clienti.cReg_comert.Text1' AS _textbox WITH ; BackColor = 255,255,255, ; BorderStyle = 0, ; - FontName = "Arial Narrow", ; ForeColor = 0,0,0, ; Margin = 0, ; Name = "Text1" - *< END OBJECT: BaseClass="textbox" /> + *< END OBJECT: ClassLib="..\..\comun\clase\_baza.vcx" BaseClass="textbox" /> ADD OBJECT 'grd_clienti.cTelefon.Header1' AS header WITH ; Alignment = 2, ; Caption = "Telefon", ; - FontName = "Arial Narrow", ; Name = "Header1" *< END OBJECT: BaseClass="header" /> - ADD OBJECT 'grd_clienti.cTelefon.Text1' AS textbox WITH ; + ADD OBJECT 'grd_clienti.cTelefon.Text1' AS _textbox WITH ; BackColor = 255,255,255, ; BorderStyle = 0, ; - FontName = "Arial Narrow", ; ForeColor = 0,0,0, ; Margin = 0, ; Name = "Text1" - *< END OBJECT: BaseClass="textbox" /> + *< END OBJECT: ClassLib="..\..\comun\clase\_baza.vcx" BaseClass="textbox" /> PROCEDURE actualizeaza_grid1 Lparameters lcFiltru @@ -1292,6 +1258,15 @@ DEFINE CLASS frm_clienti AS _frmbase OF "..\comun\clase\_frm_base.vcx" PROCEDURE do_sterge2 ENDPROC + PROCEDURE grd_clienti.Init + DODEFAULT() + *!* 23.07.2026 MM - propaga fontul gridului la coloane si headere (P5) + This.SetAll('FontName', This.FontName, 'Column') + This.SetAll('FontSize', This.FontSize, 'Column') + This.SetAll('FontName', This.FontName, 'Header') + This.SetAll('FontSize', This.FontSize, 'Header') + ENDPROC + ENDDEFINE DEFINE CLASS frm_clienti_nou AS _frmbase OF "..\..\comun\clase\_frm_base.vcx" @@ -1709,7 +1684,6 @@ DEFINE CLASS frm_curs AS _frmbase OF "..\..\comun\clase\_frm_base.vcx" AutoSize = .T., ; camp_nume = data, ; Caption = "Data", ; - FontName = "Arial Narrow", ; Left = 54, ; Name = "Ck_data", ; TabIndex = 1, ; @@ -1723,7 +1697,6 @@ DEFINE CLASS frm_curs AS _frmbase OF "..\..\comun\clase\_frm_base.vcx" AutoSize = .T., ; camp_nume = data2, ; Caption = "Data2", ; - FontName = "Arial Narrow", ; Left = 99, ; Name = "Ck_data2", ; TabIndex = 1, ; @@ -1738,7 +1711,6 @@ DEFINE CLASS frm_curs AS _frmbase OF "..\..\comun\clase\_frm_base.vcx" camp_nume = nume_val, ; Caption = "Valuta", ; Comment = "*:OnResize=LT", ; - FontName = "Arial Narrow", ; Left = 6, ; Name = "Ck_numeval", ; TabIndex = 19, ; @@ -1774,7 +1746,6 @@ DEFINE CLASS frm_curs AS _frmbase OF "..\..\comun\clase\_frm_base.vcx" Anchor = 15, ; ColumnCount = 4, ; DeleteMark = .F., ; - FontName = "Arial Narrow", ; Height = 341, ; Left = 8, ; Name = "grid_curs", ; @@ -1784,21 +1755,17 @@ DEFINE CLASS frm_curs AS _frmbase OF "..\..\comun\clase\_frm_base.vcx" Top = 68, ; Width = 258, ; Column1.ControlSource = "nume_val", ; - Column1.FontName = "Arial Narrow", ; Column1.Name = "Column1", ; Column1.Width = 74, ; Column2.ControlSource = "curs", ; - Column2.FontName = "Arial Narrow", ; Column2.Format = "rk", ; Column2.InputMask = (get_mask(10,gnPCurs)), ; Column2.Name = "Column2", ; Column2.Width = 58, ; Column3.ControlSource = "data", ; - Column3.FontName = "Arial Narrow", ; Column3.Name = "Column3", ; Column3.Width = 49, ; Column4.ControlSource = "data2", ; - Column4.FontName = "Arial Narrow", ; Column4.Name = "Column4", ; Column4.Width = 51 *< END OBJECT: ClassLib="..\..\comun\clase\_grd_base.vcx" BaseClass="grid" /> @@ -1806,66 +1773,58 @@ DEFINE CLASS frm_curs AS _frmbase OF "..\..\comun\clase\_frm_base.vcx" ADD OBJECT 'grid_curs.Column1.Header1' AS header WITH ; Alignment = 2, ; Caption = "Nume valuta", ; - FontName = "Arial Narrow", ; Name = "Header1" *< END OBJECT: BaseClass="header" /> - ADD OBJECT 'grid_curs.Column1.Text1' AS textbox WITH ; + ADD OBJECT 'grid_curs.Column1.Text1' AS _textbox WITH ; BackColor = 255,255,255, ; BorderStyle = 0, ; - FontName = "Arial Narrow", ; ForeColor = 0,0,0, ; Margin = 0, ; Name = "Text1" - *< END OBJECT: BaseClass="textbox" /> + *< END OBJECT: ClassLib="..\..\comun\clase\_baza.vcx" BaseClass="textbox" /> ADD OBJECT 'grid_curs.Column2.Header1' AS header WITH ; Alignment = 2, ; Caption = "Curs", ; - FontName = "Arial Narrow", ; Name = "Header1" *< END OBJECT: BaseClass="header" /> - ADD OBJECT 'grid_curs.Column2.Text1' AS textbox WITH ; + ADD OBJECT 'grid_curs.Column2.Text1' AS _textbox WITH ; BackColor = 255,255,255, ; BorderStyle = 0, ; - FontName = "Arial Narrow", ; ForeColor = 0,0,0, ; Margin = 0, ; Name = "Text1" - *< END OBJECT: BaseClass="textbox" /> + *< END OBJECT: ClassLib="..\..\comun\clase\_baza.vcx" BaseClass="textbox" /> ADD OBJECT 'grid_curs.Column3.Header1' AS header WITH ; Alignment = 2, ; Caption = "Data", ; - FontName = "Arial Narrow", ; Name = "Header1" *< END OBJECT: BaseClass="header" /> - ADD OBJECT 'grid_curs.Column3.Text1' AS textbox WITH ; + ADD OBJECT 'grid_curs.Column3.Text1' AS _textbox WITH ; BackColor = 255,255,255, ; BorderStyle = 0, ; - FontName = "Arial Narrow", ; ForeColor = 0,0,0, ; Margin = 0, ; Name = "Text1" - *< END OBJECT: BaseClass="textbox" /> + *< END OBJECT: ClassLib="..\..\comun\clase\_baza.vcx" BaseClass="textbox" /> ADD OBJECT 'grid_curs.Column4.Header1' AS header WITH ; Alignment = 2, ; Caption = "Data2", ; - FontName = "Arial Narrow", ; Name = "Header1" *< END OBJECT: BaseClass="header" /> - ADD OBJECT 'grid_curs.Column4.Text1' AS textbox WITH ; + ADD OBJECT 'grid_curs.Column4.Text1' AS _textbox WITH ; BackColor = 255,255,255, ; BorderStyle = 0, ; - FontName = "Arial Narrow", ; ForeColor = 0,0,0, ; Margin = 0, ; Name = "Text1" - *< END OBJECT: BaseClass="textbox" /> + *< END OBJECT: ClassLib="..\..\comun\clase\_baza.vcx" BaseClass="textbox" /> PROCEDURE actualizeaza_grid1 LPARAMETERS pcFiltru @@ -1950,6 +1909,15 @@ DEFINE CLASS frm_curs AS _frmbase OF "..\..\comun\clase\_frm_base.vcx" ENDPROC + PROCEDURE grid_curs.Init + DODEFAULT() + *!* 23.07.2026 MM - propaga fontul gridului la coloane si headere (P5) + This.SetAll('FontName', This.FontName, 'Column') + This.SetAll('FontSize', This.FontSize, 'Column') + This.SetAll('FontName', This.FontName, 'Header') + This.SetAll('FontSize', This.FontSize, 'Header') + ENDPROC + ENDDEFINE DEFINE CLASS frm_curs_nou AS _frmbase OF "..\..\comun\clase\_frm_base.vcx" @@ -2007,9 +1975,8 @@ DEFINE CLASS frm_curs_nou AS _frmbase OF "..\..\comun\clase\_frm_base.vcx" Top = 1 *< END OBJECT: ClassLib="..\..\comun\clase\cmd_butoane.vcx" BaseClass="commandbutton" /> - ADD OBJECT 'Command2' AS commandbutton WITH ; + ADD OBJECT 'Command2' AS _commandbutton WITH ; Caption = "", ; - FontName = "Arial Narrow", ; Height = 25, ; Left = 168, ; Name = "Command2", ; @@ -2017,7 +1984,7 @@ DEFINE CLASS frm_curs_nou AS _frmbase OF "..\..\comun\clase\_frm_base.vcx" TabIndex = 1, ; Top = 36, ; Width = 28 - *< END OBJECT: BaseClass="commandbutton" /> + *< END OBJECT: ClassLib="..\..\comun\clase\_baza.vcx" BaseClass="commandbutton" /> ADD OBJECT 'CUS_ODATA_CURS1' AS cus_odata_curs WITH ; Left = 102, ; @@ -2025,7 +1992,7 @@ DEFINE CLASS frm_curs_nou AS _frmbase OF "..\..\comun\clase\_frm_base.vcx" Top = 8 *< END OBJECT: ClassLib="onom_clienti.vcx" BaseClass="custom" /> - ADD OBJECT 'Label1' AS label WITH ; + ADD OBJECT 'Label1' AS _label WITH ; AutoSize = .T., ; BackStyle = 0, ; Caption = "Nume valuta", ; @@ -2035,9 +2002,9 @@ DEFINE CLASS frm_curs_nou AS _frmbase OF "..\..\comun\clase\_frm_base.vcx" TabIndex = 8, ; Top = 41, ; Width = 71 - *< END OBJECT: BaseClass="label" /> + *< END OBJECT: ClassLib="..\..\comun\clase\_baza.vcx" BaseClass="label" /> - ADD OBJECT 'Label2' AS label WITH ; + ADD OBJECT 'Label2' AS _label WITH ; AutoSize = .T., ; BackStyle = 0, ; Caption = "Curs", ; @@ -2047,9 +2014,9 @@ DEFINE CLASS frm_curs_nou AS _frmbase OF "..\..\comun\clase\_frm_base.vcx" TabIndex = 9, ; Top = 66, ; Width = 29 - *< END OBJECT: BaseClass="label" /> + *< END OBJECT: ClassLib="..\..\comun\clase\_baza.vcx" BaseClass="label" /> - ADD OBJECT 'Label3' AS label WITH ; + ADD OBJECT 'Label3' AS _label WITH ; AutoSize = .T., ; BackStyle = 0, ; Caption = "Data 1", ; @@ -2059,9 +2026,9 @@ DEFINE CLASS frm_curs_nou AS _frmbase OF "..\..\comun\clase\_frm_base.vcx" TabIndex = 10, ; Top = 91, ; Width = 38 - *< END OBJECT: BaseClass="label" /> + *< END OBJECT: ClassLib="..\..\comun\clase\_baza.vcx" BaseClass="label" /> - ADD OBJECT 'Label4' AS label WITH ; + ADD OBJECT 'Label4' AS _label WITH ; AutoSize = .T., ; BackStyle = 0, ; Caption = "Data 2", ; @@ -2071,9 +2038,9 @@ DEFINE CLASS frm_curs_nou AS _frmbase OF "..\..\comun\clase\_frm_base.vcx" TabIndex = 11, ; Top = 117, ; Width = 38 - *< END OBJECT: BaseClass="label" /> + *< END OBJECT: ClassLib="..\..\comun\clase\_baza.vcx" BaseClass="label" /> - ADD OBJECT 'txtCurs' AS textbox WITH ; + ADD OBJECT 'txtCurs' AS _textbox WITH ; ControlSource = "porec.curs", ; Height = 23, ; Left = 91, ; @@ -2081,9 +2048,9 @@ DEFINE CLASS frm_curs_nou AS _frmbase OF "..\..\comun\clase\_frm_base.vcx" TabIndex = 2, ; Top = 63, ; Width = 100 - *< END OBJECT: BaseClass="textbox" /> + *< END OBJECT: ClassLib="..\..\comun\clase\_baza.vcx" BaseClass="textbox" /> - ADD OBJECT 'txtData1' AS textbox WITH ; + ADD OBJECT 'txtData1' AS _textbox WITH ; ControlSource = "porec.data", ; Height = 23, ; Left = 91, ; @@ -2091,9 +2058,9 @@ DEFINE CLASS frm_curs_nou AS _frmbase OF "..\..\comun\clase\_frm_base.vcx" TabIndex = 3, ; Top = 88, ; Width = 100 - *< END OBJECT: BaseClass="textbox" /> + *< END OBJECT: ClassLib="..\..\comun\clase\_baza.vcx" BaseClass="textbox" /> - ADD OBJECT 'txtData2' AS textbox WITH ; + ADD OBJECT 'txtData2' AS _textbox WITH ; ControlSource = "porec.data2", ; Height = 23, ; Left = 91, ; @@ -2101,9 +2068,9 @@ DEFINE CLASS frm_curs_nou AS _frmbase OF "..\..\comun\clase\_frm_base.vcx" TabIndex = 4, ; Top = 114, ; Width = 100 - *< END OBJECT: BaseClass="textbox" /> + *< END OBJECT: ClassLib="..\..\comun\clase\_baza.vcx" BaseClass="textbox" /> - ADD OBJECT 'txtValuta' AS textbox WITH ; + ADD OBJECT 'txtValuta' AS _textbox WITH ; ControlSource = "porec.nume_val", ; Height = 23, ; Left = 91, ; @@ -2111,7 +2078,7 @@ DEFINE CLASS frm_curs_nou AS _frmbase OF "..\..\comun\clase\_frm_base.vcx" TabIndex = 12, ; Top = 36, ; Width = 75 - *< END OBJECT: BaseClass="textbox" /> + *< END OBJECT: ClassLib="..\..\comun\clase\_baza.vcx" BaseClass="textbox" /> PROCEDURE inainte_de_do_termin Private pnIdCursNou @@ -2294,7 +2261,6 @@ DEFINE CLASS frm_delegati AS _frmbase OF "..\..\comun\clase\_frm_base.vcx" ADD OBJECT 'gdelegati' AS _grdrow WITH ; ColumnCount = 6, ; DeleteMark = .F., ; - FontName = "Arial Narrow", ; Height = 300, ; Left = 12, ; Name = "gdelegati", ; @@ -2305,36 +2271,30 @@ DEFINE CLASS frm_delegati AS _frmbase OF "..\..\comun\clase\_frm_base.vcx" Top = 72, ; Width = 565, ; Column1.ControlSource = "nume_part", ; - Column1.FontName = "Arial Narrow", ; Column1.Name = "Column1", ; Column1.ReadOnly = .T., ; Column1.Width = 168, ; Column2.ControlSource = "nume", ; - Column2.FontName = "Arial Narrow", ; Column2.Name = "Column2", ; Column2.ReadOnly = .T., ; Column2.Width = 169, ; Column3.ControlSource = "bi_seria", ; - Column3.FontName = "Arial Narrow", ; Column3.Name = "Column3", ; Column3.ReadOnly = .T., ; Column3.Width = 49, ; Column4.ColumnOrder = 5, ; Column4.ControlSource = "eliberatde", ; - Column4.FontName = "Arial Narrow", ; Column4.Name = "Column4", ; Column4.ReadOnly = .T., ; Column4.Width = 77, ; Column5.ColumnOrder = 6, ; Column5.ControlSource = "inactiv", ; - Column5.FontName = "Arial Narrow", ; Column5.Name = "Column5", ; Column5.ReadOnly = .T., ; Column5.Sparse = .F., ; Column5.Width = 48, ; Column6.ColumnOrder = 4, ; Column6.ControlSource = "bi_numar", ; - Column6.FontName = "Arial Narrow", ; Column6.Name = "Column6", ; Column6.ReadOnly = .T., ; Column6.Width = 66 @@ -2343,106 +2303,94 @@ DEFINE CLASS frm_delegati AS _frmbase OF "..\..\comun\clase\_frm_base.vcx" ADD OBJECT 'gdelegati.Column1.Header1' AS header WITH ; Alignment = 2, ; Caption = "Client", ; - FontName = "Arial Narrow", ; Name = "Header1" *< END OBJECT: BaseClass="header" /> - ADD OBJECT 'gdelegati.Column1.Text1' AS textbox WITH ; + ADD OBJECT 'gdelegati.Column1.Text1' AS _textbox WITH ; BackColor = 255,255,255, ; BorderStyle = 0, ; - FontName = "Arial Narrow", ; ForeColor = 0,0,0, ; Margin = 0, ; Name = "Text1", ; ReadOnly = .T. - *< END OBJECT: BaseClass="textbox" /> + *< END OBJECT: ClassLib="..\..\comun\clase\_baza.vcx" BaseClass="textbox" /> ADD OBJECT 'gdelegati.Column2.Header1' AS header WITH ; Alignment = 2, ; Caption = "Delegat", ; - FontName = "Arial Narrow", ; Name = "Header1" *< END OBJECT: BaseClass="header" /> - ADD OBJECT 'gdelegati.Column2.Text1' AS textbox WITH ; + ADD OBJECT 'gdelegati.Column2.Text1' AS _textbox WITH ; BackColor = 255,255,255, ; BorderStyle = 0, ; - FontName = "Arial Narrow", ; ForeColor = 0,0,0, ; Margin = 0, ; Name = "Text1", ; ReadOnly = .T. - *< END OBJECT: BaseClass="textbox" /> + *< END OBJECT: ClassLib="..\..\comun\clase\_baza.vcx" BaseClass="textbox" /> ADD OBJECT 'gdelegati.Column3.Header1' AS header WITH ; Alignment = 2, ; Caption = "BI_seria", ; - FontName = "Arial Narrow", ; Name = "Header1" *< END OBJECT: BaseClass="header" /> - ADD OBJECT 'gdelegati.Column3.Text1' AS textbox WITH ; + ADD OBJECT 'gdelegati.Column3.Text1' AS _textbox WITH ; BackColor = 255,255,255, ; BorderStyle = 0, ; - FontName = "Arial Narrow", ; ForeColor = 0,0,0, ; Margin = 0, ; Name = "Text1", ; ReadOnly = .T. - *< END OBJECT: BaseClass="textbox" /> + *< END OBJECT: ClassLib="..\..\comun\clase\_baza.vcx" BaseClass="textbox" /> ADD OBJECT 'gdelegati.Column4.Header1' AS header WITH ; Alignment = 2, ; Caption = "Eliberat de..", ; - FontName = "Arial Narrow", ; Name = "Header1" *< END OBJECT: BaseClass="header" /> - ADD OBJECT 'gdelegati.Column4.Text1' AS textbox WITH ; + ADD OBJECT 'gdelegati.Column4.Text1' AS _textbox WITH ; BackColor = 255,255,255, ; BorderStyle = 0, ; - FontName = "Arial Narrow", ; ForeColor = 0,0,0, ; Margin = 0, ; Name = "Text1", ; ReadOnly = .T. - *< END OBJECT: BaseClass="textbox" /> + *< END OBJECT: ClassLib="..\..\comun\clase\_baza.vcx" BaseClass="textbox" /> - ADD OBJECT 'gdelegati.Column5.Check1' AS checkbox WITH ; + ADD OBJECT 'gdelegati.Column5.Check1' AS _checkbox WITH ; Alignment = 0, ; Caption = "", ; Centered = .T., ; - FontName = "Arial Narrow", ; Height = 17, ; Left = 16, ; Name = "Check1", ; ReadOnly = .T., ; Top = 71, ; Width = 60 - *< END OBJECT: BaseClass="checkbox" /> + *< END OBJECT: ClassLib="..\..\comun\clase\_baza.vcx" BaseClass="checkbox" /> ADD OBJECT 'gdelegati.Column5.Header1' AS header WITH ; Alignment = 2, ; Caption = "Inactiv", ; - FontName = "Arial Narrow", ; Name = "Header1" *< END OBJECT: BaseClass="header" /> ADD OBJECT 'gdelegati.Column6.Header1' AS header WITH ; Alignment = 2, ; Caption = "BI_numar", ; - FontName = "Arial Narrow", ; Name = "Header1" *< END OBJECT: BaseClass="header" /> - ADD OBJECT 'gdelegati.Column6.Text1' AS textbox WITH ; + ADD OBJECT 'gdelegati.Column6.Text1' AS _textbox WITH ; BackColor = 255,255,255, ; BorderStyle = 0, ; - FontName = "Arial Narrow", ; ForeColor = 0,0,0, ; Margin = 0, ; Name = "Text1" - *< END OBJECT: BaseClass="textbox" /> + *< END OBJECT: ClassLib="..\..\comun\clase\_baza.vcx" BaseClass="textbox" /> PROCEDURE actualizeaza_grid1 LPARAMETERS pcFiltru @@ -2544,6 +2492,15 @@ DEFINE CLASS frm_delegati AS _frmbase OF "..\..\comun\clase\_frm_base.vcx" Endif ENDPROC + PROCEDURE gdelegati.Init + DODEFAULT() + *!* 23.07.2026 MM - propaga fontul gridului la coloane si headere (P5) + This.SetAll('FontName', This.FontName, 'Column') + This.SetAll('FontSize', This.FontSize, 'Column') + This.SetAll('FontName', This.FontName, 'Header') + This.SetAll('FontSize', This.FontSize, 'Header') + ENDPROC + ENDDEFINE DEFINE CLASS frm_delegati_nou AS _frmbase OF "..\..\comun\clase\_frm_base.vcx" @@ -2874,14 +2831,14 @@ DEFINE CLASS frm_responsabili AS _frmbase OF "..\..\comun\clase\_frm_base.vcx" Name = "Responsabill" *< END OBJECT: BaseClass="header" /> - ADD OBJECT '_gnom_responsabili.Column1.Text1' AS textbox WITH ; + ADD OBJECT '_gnom_responsabili.Column1.Text1' AS _textbox WITH ; BackColor = 255,255,255, ; BorderStyle = 0, ; ForeColor = 0,0,0, ; Margin = 0, ; Name = "Text1", ; ReadOnly = .T. - *< END OBJECT: BaseClass="textbox" /> + *< END OBJECT: ClassLib="..\..\comun\clase\_baza.vcx" BaseClass="textbox" /> ADD OBJECT '_gnom_responsabili.Column2.Header1' AS header WITH ; Alignment = 2, ; @@ -2889,16 +2846,16 @@ DEFINE CLASS frm_responsabili AS _frmbase OF "..\..\comun\clase\_frm_base.vcx" Name = "Header1" *< END OBJECT: BaseClass="header" /> - ADD OBJECT '_gnom_responsabili.Column2.Text1' AS textbox WITH ; + ADD OBJECT '_gnom_responsabili.Column2.Text1' AS _textbox WITH ; BackColor = 255,255,255, ; BorderStyle = 0, ; ForeColor = 0,0,0, ; Margin = 0, ; Name = "Text1", ; ReadOnly = .T. - *< END OBJECT: BaseClass="textbox" /> + *< END OBJECT: ClassLib="..\..\comun\clase\_baza.vcx" BaseClass="textbox" /> - ADD OBJECT '_gnom_responsabili.Column3.Check1' AS checkbox WITH ; + ADD OBJECT '_gnom_responsabili.Column3.Check1' AS _checkbox WITH ; Alignment = 0, ; Caption = "", ; Centered = .T., ; @@ -2908,7 +2865,7 @@ DEFINE CLASS frm_responsabili AS _frmbase OF "..\..\comun\clase\_frm_base.vcx" ReadOnly = .T., ; Top = 30, ; Width = 60 - *< END OBJECT: BaseClass="checkbox" /> + *< END OBJECT: ClassLib="..\..\comun\clase\_baza.vcx" BaseClass="checkbox" /> ADD OBJECT '_gnom_responsabili.Column3.Header1' AS header WITH ; Alignment = 2, ; @@ -2916,7 +2873,7 @@ DEFINE CLASS frm_responsabili AS _frmbase OF "..\..\comun\clase\_frm_base.vcx" Name = "Header1" *< END OBJECT: BaseClass="header" /> - ADD OBJECT '_gnom_responsabili.Column4.Check1' AS checkbox WITH ; + ADD OBJECT '_gnom_responsabili.Column4.Check1' AS _checkbox WITH ; Alignment = 0, ; Caption = "", ; Centered = .T., ; @@ -2926,7 +2883,7 @@ DEFINE CLASS frm_responsabili AS _frmbase OF "..\..\comun\clase\_frm_base.vcx" ReadOnly = .T., ; Top = 30, ; Width = 60 - *< END OBJECT: BaseClass="checkbox" /> + *< END OBJECT: ClassLib="..\..\comun\clase\_baza.vcx" BaseClass="checkbox" /> ADD OBJECT '_gnom_responsabili.Column4.Header1' AS header WITH ; Alignment = 2, ; @@ -2940,14 +2897,14 @@ DEFINE CLASS frm_responsabili AS _frmbase OF "..\..\comun\clase\_frm_base.vcx" Name = "Header1" *< END OBJECT: BaseClass="header" /> - ADD OBJECT '_gnom_responsabili.Column5.Text1' AS textbox WITH ; + ADD OBJECT '_gnom_responsabili.Column5.Text1' AS _textbox WITH ; BackColor = 255,255,255, ; BorderStyle = 0, ; ForeColor = 0,0,0, ; Margin = 0, ; Name = "Text1", ; ReadOnly = .T. - *< END OBJECT: BaseClass="textbox" /> + *< END OBJECT: ClassLib="..\..\comun\clase\_baza.vcx" BaseClass="textbox" /> ADD OBJECT 'But_modifica1' AS but_modifica WITH ; Left = 415, ; @@ -3097,6 +3054,15 @@ DEFINE CLASS frm_responsabili AS _frmbase OF "..\..\comun\clase\_frm_base.vcx" thisform.log("NOM_RESPONSABILI",v_responsabili.id_responsabil) ENDPROC + PROCEDURE _gnom_responsabili.Init + DODEFAULT() + *!* 23.07.2026 MM - propaga fontul gridului la coloane si headere (P5) + This.SetAll('FontName', This.FontName, 'Column') + This.SetAll('FontSize', This.FontSize, 'Column') + This.SetAll('FontName', This.FontName, 'Header') + This.SetAll('FontSize', This.FontSize, 'Header') + ENDPROC + ENDDEFINE DEFINE CLASS frm_responsabili_nou AS _frmbase OF "..\..\comun\clase\_frm_base.vcx" @@ -3305,14 +3271,14 @@ DEFINE CLASS frm_tipc AS _frmbase OF "..\..\comun\clase\_frm_base.vcx" Name = "Header1" *< END OBJECT: BaseClass="header" /> - ADD OBJECT '_grdrow1.Column1.Text1' AS textbox WITH ; + ADD OBJECT '_grdrow1.Column1.Text1' AS _textbox WITH ; BackColor = 255,255,255, ; BorderStyle = 0, ; ForeColor = 0,0,0, ; Margin = 0, ; Name = "Text1", ; ReadOnly = .T. - *< END OBJECT: BaseClass="textbox" /> + *< END OBJECT: ClassLib="..\..\comun\clase\_baza.vcx" BaseClass="textbox" /> ADD OBJECT '_grdrow1.Column2.Header1' AS header WITH ; Alignment = 2, ; @@ -3320,14 +3286,14 @@ DEFINE CLASS frm_tipc AS _frmbase OF "..\..\comun\clase\_frm_base.vcx" Name = "Header1" *< END OBJECT: BaseClass="header" /> - ADD OBJECT '_grdrow1.Column2.Text1' AS textbox WITH ; + ADD OBJECT '_grdrow1.Column2.Text1' AS _textbox WITH ; BackColor = 255,255,255, ; BorderStyle = 0, ; ForeColor = 0,0,0, ; Margin = 0, ; Name = "Text1", ; ReadOnly = .T. - *< END OBJECT: BaseClass="textbox" /> + *< END OBJECT: ClassLib="..\..\comun\clase\_baza.vcx" BaseClass="textbox" /> ADD OBJECT '_grdrow1.Column3.Header1' AS header WITH ; Alignment = 2, ; @@ -3335,13 +3301,22 @@ DEFINE CLASS frm_tipc AS _frmbase OF "..\..\comun\clase\_frm_base.vcx" Name = "Header1" *< END OBJECT: BaseClass="header" /> - ADD OBJECT '_grdrow1.Column3.Text1' AS textbox WITH ; + ADD OBJECT '_grdrow1.Column3.Text1' AS _textbox WITH ; BackColor = 255,255,255, ; BorderStyle = 0, ; ForeColor = 0,0,0, ; Margin = 0, ; Name = "Text1", ; ReadOnly = .T. - *< END OBJECT: BaseClass="textbox" /> + *< END OBJECT: ClassLib="..\..\comun\clase\_baza.vcx" BaseClass="textbox" /> + + PROCEDURE _grdrow1.Init + DODEFAULT() + *!* 23.07.2026 MM - propaga fontul gridului la coloane si headere (P5) + This.SetAll('FontName', This.FontName, 'Column') + This.SetAll('FontSize', This.FontSize, 'Column') + This.SetAll('FontName', This.FontName, 'Header') + This.SetAll('FontSize', This.FontSize, 'Header') + ENDPROC ENDDEFINE diff --git a/Clase/outlook2003bar.vc2 b/Clase/outlook2003bar.vc2 index 1edf6f1..acf200b 100644 --- a/Clase/outlook2003bar.vc2 +++ b/Clase/outlook2003bar.vc2 @@ -1009,7 +1009,8 @@ DEFINE CLASS panelbutton AS container PROCEDURE do_arata_formular LOCAL loPagina loPagina = goFundal._pgfrmbase1.page3 - IF !loPagina.ct_part_nr_data1.llock + *!* 23.07.2026 MM - partener NULL: fara prompt/salvare, raman in editare (P1/P2) + IF !loPagina.ct_part_nr_data1.llock AND !(ISNULL(goRegistratura.id_part) OR EMPTY(goRegistratura.id_part)) LOCAL lnRaspuns loPagina.ct_part_nr_data1.llock = .T. @@ -1134,7 +1135,7 @@ DEFINE CLASS splitter2 AS shape && Up-Down Splitter class. Support ActiveX con * HIDDEN hiddencontrols - PROTECTED Init,MouseDown + PROTECTED Init,mousedown * Height = 4 MousePointer = 7 diff --git a/Programe/oproceduri_roaregistratura.prg b/Programe/oproceduri_roaregistratura.prg index a6462e9..e4b8274 100644 --- a/Programe/oproceduri_roaregistratura.prg +++ b/Programe/oproceduri_roaregistratura.prg @@ -16,7 +16,7 @@ lcSelect = [select id_reg, id_part, denumire, id_pers, pers_contact, data, numar lcOrder = [] lcgroup = [] -lcFiltru = [sters=0] +lcFiltru = [sters=0 and id_reg=(select max(id_reg) from vregistratura where sters=0)] && *!* 23.07.2026 MM - initial doar ultimul document (P4) lcFiltruOriginal = [] llModParam = .T. llAfiseaza = .F. @@ -103,12 +103,18 @@ Parameters toRegistratura Local loRegistratura loRegistratura = toRegistratura +*!* 23.07.2026 MM - garda partener NULL/empty (P2), functia intoarce .T./.F. +If Isnull(loRegistratura.id_part) Or Empty(loRegistratura.id_part) + AMESSAGEBOX("Alegeti partenerul inainte de salvare!",0+48,"Atentie") + Return .F. +Endif + Local lcId_reg, lcId_part, lcId_pers, lcData, lcNumar, lcData_intern, lcNumar_intern, lcDescriere, lcObservatii, lcIdUtil Local lnSucces lnSucces = -1 lcId_reg = Alltrim(Str(loRegistratura.id_reg)) -lcId_part = Alltrim(Str(loRegistratura.id_part)) +lcId_part = Nvl(Alltrim(Str(loRegistratura.id_part)),'NULL') lcId_pers = Nvl(Alltrim(Str(loRegistratura.id_pers)),'NULL') lcId_responsabil = Nvl(Alltrim(Str(loRegistratura.id_responsabil)),'NULL') lcData = Dtos(loRegistratura.Data) @@ -120,7 +126,7 @@ lcDescriere = Nvl(Alltrim(loRegistratura.descriere),"") lcObservatii = Nvl(Alltrim(loRegistratura.observatii)," ") lcId_fdoc = Nvl(Alltrim(Str(loRegistratura.id_fdoc)),'NULL') lcId_mediu = Nvl(Alltrim(Str(loRegistratura.id_mediu)),'NULL') -lcNr_pag = Alltrim(Str(loRegistratura.nr_pag)) +lcNr_pag = Nvl(Alltrim(Str(loRegistratura.nr_pag)),'NULL') lcIdUtil = Alltrim(Str(gnIdUtil)) lcSql = [begin pack_registratura.modifica_registratura(] + lcId_reg + [,] + lcId_part + [,] + lcId_pers + [,] + lcId_responsabil + ; @@ -134,6 +140,7 @@ If lnSucces < 0 AMESSAGEBOX(goExecutor.cEroare,0+16,"Eroare") Endif +Return (lnSucces >= 0) Endproc && modifica_reg_dg ***----------------------------------------------------------------------------------------------------------------------------- diff --git a/Teste/build_registratura.prg b/Teste/build_registratura.prg new file mode 100644 index 0000000..4a83397 --- /dev/null +++ b/Teste/build_registratura.prg @@ -0,0 +1,29 @@ +* build_registratura.prg - M6: recompilare completa a proiectului (headless). +* Rulare: vfp9.exe -A -T "D:\ROA\ROAREGISTRATURA\Teste\build_registratura.prg" +* Log: D:\ROA\ROAREGISTRATURA\Teste\log_build.txt (+ erori de compilare in .err daca apar) +SET SAFETY OFF +SET TALK OFF +PUBLIC gcBuildLog +gcBuildLog = 'D:\ROA\ROAREGISTRATURA\Teste\log_build.txt' +STRTOFILE('=== build_registratura ' + TTOC(DATETIME()) + CHR(13)+CHR(10), gcBuildLog) + +ON ERROR DO blog WITH '*** EROARE ' + TRANSFORM(ERROR()) + ': ' + MESSAGE() + ; + ' | ' + MESSAGE(1) + ' | prg=' + PROGRAM() + ' lin=' + TRANSFORM(LINENO()) + +SET DEFAULT TO D:\ROA\ROAREGISTRATURA +DO blog WITH 'BUILD EXE roaregistratura.exe FROM roaRegistratura RECOMPILE ...' +BUILD EXE roaregistratura.exe FROM roaRegistratura RECOMPILE +DO blog WITH 'Build incheiat. Verificati roaregistratura.err daca exista.' +IF FILE('D:\ROA\ROAREGISTRATURA\roaregistratura.err') + DO blog WITH '--- roaregistratura.err ---' + DO blog WITH FILETOSTR('D:\ROA\ROAREGISTRATURA\roaregistratura.err') +ELSE + DO blog WITH 'FARA erori de compilare (.err inexistent).' +ENDIF +ON ERROR +QUIT + +PROCEDURE blog + LPARAMETERS tcMsg + STRTOFILE(TRANSFORM(tcMsg) + CHR(13)+CHR(10), gcBuildLog, 1) +ENDPROC diff --git a/Teste/test_init_env_registratura.prg b/Teste/test_init_env_registratura.prg new file mode 100644 index 0000000..79155a6 --- /dev/null +++ b/Teste/test_init_env_registratura.prg @@ -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. diff --git a/Teste/test_registratura_adaugare.prg b/Teste/test_registratura_adaugare.prg new file mode 100644 index 0000000..8f0c300 --- /dev/null +++ b/Teste/test_registratura_adaugare.prg @@ -0,0 +1,168 @@ +* test_registratura_adaugare.prg +* Test headless: fluxul de ADAUGARE document in registratura + salvarea datelor generale. +* Reproduce si bugul cunoscut: modifica_reg_dg cu partener NULL (P2 din +* docs\analiza_registratura_adaugare_editare.md). Dupa implementarea gardei (M1), +* pasul 3 trebuie sa devina un refuz elegant (mesaj + return), nu eroare de executie. +* Rulare: vfp9.exe -A -T "D:\ROA\ROAREGISTRATURA\Teste\test_registratura_adaugare.prg" +* Log: D:\ROA\ROAREGISTRATURA\Teste\log_test_adaugare.txt +* ATENTIE: ruleaza DOAR pe schema de test (CENTRAL/MARIUSM_AUTO). Documentul de test +* este sters (soft-delete) la final prin pack_registratura.sterge_registratura. + +SET SAFETY OFF +SET TALK OFF + +* mock amessagebox PRIMUL in lista de proceduri (la nume duplicat castiga PRIMUL - testare-ui-vfp.md cap. j) +SET PROCEDURE TO D:\ROA\ROAREGISTRATURA\COMUN\utile\Teste\mock_amessagebox.prg ADDITIVE +PUBLIC gnMockRaspuns +gnMockRaspuns = 6 + +PUBLIC gcTestLog +gcTestLog = 'D:\ROA\ROAREGISTRATURA\Teste\log_test_adaugare.txt' +STRTOFILE('=== test_registratura_adaugare ' + TTOC(DATETIME()) + CHR(13)+CHR(10), gcTestLog) + +ON ERROR DO tlog WITH '*** EROARE ' + TRANSFORM(ERROR()) + ': ' + MESSAGE() + ; + ' | ' + MESSAGE(1) + ' | prg=' + PROGRAM() + ' lin=' + TRANSFORM(LINENO()) + +DO tlog WITH 'Init mediu...' +DO D:\ROA\ROAREGISTRATURA\Teste\test_init_env_registratura.prg +IF TYPE('gnHandle') # 'N' OR gnHandle <= 0 + DO tlog WITH 'ESEC conectare - STOP' + DO tfinal +ENDIF +DO tlog WITH 'Conectat, schema=' + gcS + +* 0) cursorul listei + goRegistratura +DO viz_registratura IN oproceduri_roaregistratura.prg +IF !USED('cRegistratura') + DO tlog WITH 'ESEC: nu exista cursorul cRegistratura - STOP' + DO tfinal +ENDIF +SELECT cRegistratura +LOCAL lnInregInitial +lnInregInitial = RECCOUNT() +SCATTER NAME goRegistratura MEMO BLANK +DO tlog WITH 'Inregistrari initiale: ' + TRANSFORM(lnInregInitial) + +* 1) alocare numar intern (seria 10, ca in ct_registratura.do_adauga) +DO tlog WITH '--- Pas 1: alocare numar intern (seria 10)' +LOCAL loGeneratorNumere, lcNumarIntern +loGeneratorNumere = CREATEOBJECT('oGeneratorNumere') +loGeneratorNumere.creeaza_cursor_serii(10) +lcNumarIntern = ALLTRIM(STR(loGeneratorNumere.aloca_numar(10))) +DO tlog WITH 'Numar intern alocat: ' + lcNumarIntern + +* 2) adaugare document gol (pack_registratura.adauga_registratura) +DO tlog WITH '--- Pas 2: adauga_registratura' +LOCAL lnId_reg +lnId_reg = 0 +lnId_reg = adauga_registratura('cRegistratura', lcNumarIntern) +IF EMPTY(lnId_reg) + DO tlog WITH 'ESEC: adauga_registratura a intors ' + TRANSFORM(lnId_reg) + ; + ' (pack_registratura lipseste din schema de test?) - STOP curat, nimic de sters' + DO tfinal +ENDIF +DO tlog WITH 'OK document adaugat, id_reg=' + TRANSFORM(lnId_reg) + +* pozitionare pe documentul nou + goRegistratura +DO viz_registratura IN oproceduri_roaregistratura.prg +SELECT cRegistratura +LOCATE FOR id_reg = lnId_reg +IF !FOUND() + DO tlog WITH 'ESEC: documentul nou nu apare in vregistratura' +ELSE + SCATTER NAME goRegistratura MEMO + DO tlog WITH 'Document nou gasit: nr_intern=' + TRANSFORM(NVL(numar_intern,'')) + ; + ' id_part=' + TRANSFORM(goRegistratura.id_part) +ENDIF + +* 3) salvare cu partener NULL - reproduce bugul P2 +* (astazi: eroare "Invalid use of NULL"/sql NULL; dupa fix M1: mesaj + refuz) +DO tlog WITH '--- Pas 3: modifica_reg_dg cu id_part NULL (se asteapta refuz/eroare)' +goRegistratura.descriere = 'TEST AUTOMAT - nu folositi' +DO modifica_reg_dg WITH goRegistratura IN oproceduri_roaregistratura.prg +DO tlog WITH 'Pas 3 incheiat (vezi mai sus daca a fost eroare de executie = bug P2 nereparat)' + +* 4) salvare cu partener valid (refolosesc un partener din alt document existent) +DO tlog WITH '--- Pas 4: modifica_reg_dg cu partener valid' +LOCAL llSucces +llSucces = goExecutor.oExecuta( ; + "select id_part, denumire from vregistratura where id_part is not null and rownum = 1", 'cPartTest') +IF llSucces AND USED('cPartTest') AND RECCOUNT('cPartTest') > 0 + SELECT cPartTest + goRegistratura.id_part = id_part + goRegistratura.denumire = denumire + USE IN cPartTest + goRegistratura.data = DATE() + goRegistratura.numar = 'TST-' + lcNumarIntern + goRegistratura.ie = 1 + goRegistratura.nr_pag = 1 + DO modifica_reg_dg WITH goRegistratura IN oproceduri_roaregistratura.prg + + * verificare: datele au ajuns in baza + DO viz_registratura IN oproceduri_roaregistratura.prg + SELECT cRegistratura + LOCATE FOR id_reg = lnId_reg + IF FOUND() AND !ISNULL(id_part) AND ALLTRIM(NVL(numar,'')) == 'TST-' + lcNumarIntern + DO tlog WITH 'OK salvare reusita: partener=' + TRANSFORM(NVL(denumire,'')) + ; + ' numar=' + TRANSFORM(NVL(numar,'')) + ELSE + DO tlog WITH 'ESEC verificare: documentul nu are datele asteptate dupa salvare' + ENDIF +ELSE + DO tlog WITH 'SKIP Pas 4: nu exista niciun partener in vregistratura pe schema de test' +ENDIF + +* 5) EDITAREA documentului (fluxul Modifica -> Salveaza): modific campuri si re-salvez +DO tlog WITH '--- Pas 5: editare document (modificare descriere/nr_pag/data + re-salvare)' +SELECT cRegistratura +LOCATE FOR id_reg = lnId_reg +IF FOUND() AND !ISNULL(id_part) + SCATTER NAME goRegistratura MEMO + goRegistratura.descriere = 'TEST AUTOMAT - EDITAT' + goRegistratura.nr_pag = 5 + goRegistratura.data = DATE() - 1 + goRegistratura.ie = 2 + DO modifica_reg_dg WITH goRegistratura IN oproceduri_roaregistratura.prg + + * verificare: modificarile au ajuns in baza + DO viz_registratura IN oproceduri_roaregistratura.prg + SELECT cRegistratura + LOCATE FOR id_reg = lnId_reg + IF FOUND() AND ALLTRIM(NVL(descriere,'')) == 'TEST AUTOMAT - EDITAT' ; + AND NVL(nr_pag,0) = 5 AND ie = 2 + DO tlog WITH 'OK editare reusita: descriere=' + TRANSFORM(NVL(descriere,'')) + ; + ' nr_pag=' + TRANSFORM(NVL(nr_pag,0)) + ' ie=' + TRANSFORM(ie) + ; + ' data=' + TRANSFORM(data) + ELSE + DO tlog WITH 'ESEC verificare editare: documentul nu are valorile modificate' + ENDIF +ELSE + DO tlog WITH 'SKIP Pas 5: documentul de test nu are partener (Pas 4 esuat/sarit)' +ENDIF + +* 6) curatenie: soft-delete documentul de test +DO tlog WITH '--- Pas 6: stergere document de test' +LOCAL lcSql, lnSucces +lcSql = [begin pack_registratura.sterge_registratura(] + ALLTRIM(STR(lnId_reg)) + ; + [,] + ALLTRIM(STR(gnIdUtil)) + [); end;] +lnSucces = goExecutor.oExecute(lcSql) +IF lnSucces < 0 + DO tlog WITH 'ATENTIE: stergerea a esuat: ' + TRANSFORM(goExecutor.cEroare) + ; + ' - stergeti manual id_reg=' + TRANSFORM(lnId_reg) +ELSE + DO tlog WITH 'OK document de test sters (soft-delete), id_reg=' + TRANSFORM(lnId_reg) +ENDIF + +DO tlog WITH '=== FINAL test_registratura_adaugare' +DO tfinal + +PROCEDURE tlog + LPARAMETERS tcMsg + STRTOFILE(TRANSFORM(tcMsg) + CHR(13)+CHR(10), gcTestLog, 1) +ENDPROC + +PROCEDURE tfinal + ON ERROR + CLOSE ALL + QUIT +ENDPROC diff --git a/Teste/test_registratura_form.prg b/Teste/test_registratura_form.prg new file mode 100644 index 0000000..7793121 --- /dev/null +++ b/Teste/test_registratura_form.prg @@ -0,0 +1,111 @@ +* test_registratura_form.prg +* Test headless: incarcarea listei documentelor (viz_registratura) + instantierea +* containerului ct_registratura pe un form ascuns (verifica clase/cursoare/grid). +* Rulare: vfp9.exe -A -T "D:\ROA\ROAREGISTRATURA\Teste\test_registratura_form.prg" +* Log: D:\ROA\ROAREGISTRATURA\Teste\log_test_form.txt + +SET SAFETY OFF +SET TALK OFF + +* mock amessagebox PRIMUL in lista de proceduri (la nume duplicat castiga PRIMUL - testare-ui-vfp.md cap. j) +SET PROCEDURE TO D:\ROA\ROAREGISTRATURA\COMUN\utile\Teste\mock_amessagebox.prg ADDITIVE +PUBLIC gnMockRaspuns +gnMockRaspuns = 6 + +PUBLIC gcTestLog +gcTestLog = 'D:\ROA\ROAREGISTRATURA\Teste\log_test_form.txt' +STRTOFILE('=== test_registratura_form ' + TTOC(DATETIME()) + CHR(13)+CHR(10), gcTestLog) + +ON ERROR DO tlog WITH '*** EROARE ' + TRANSFORM(ERROR()) + ': ' + MESSAGE() + ; + ' | ' + MESSAGE(1) + ' | prg=' + PROGRAM() + ' lin=' + TRANSFORM(LINENO()) + +DO tlog WITH 'Init mediu...' +DO D:\ROA\ROAREGISTRATURA\Teste\test_init_env_registratura.prg +IF TYPE('gnHandle') # 'N' OR gnHandle <= 0 + DO tlog WITH 'ESEC conectare (gnHandle=' + TRANSFORM(IIF(TYPE('gnHandle')='N',gnHandle,-999)) + ') - STOP' + DO tfinal +ENDIF +DO tlog WITH 'Conectat, gnHandle=' + TRANSFORM(gnHandle) + ' schema=' + gcS + +* 1) incarcarea cursorului listei +DO tlog WITH '--- Test 1: viz_registratura' +DO viz_registratura IN oproceduri_roaregistratura.prg +IF USED('cRegistratura') + SELECT cRegistratura + DO tlog WITH 'OK cursor cRegistratura, inregistrari=' + TRANSFORM(RECCOUNT()) + IF RECCOUNT() > 0 + GO BOTTOM + DO tlog WITH 'Ultimul document: id_reg=' + TRANSFORM(NVL(id_reg,0)) + ; + ' nr_intern=' + TRANSFORM(NVL(numar_intern,'')) + ; + ' data_intern=' + TRANSFORM(data_intern) + ; + ' partener=' + TRANSFORM(NVL(denumire,'')) + GO TOP + SCATTER NAME goRegistratura MEMO + ELSE + SCATTER NAME goRegistratura MEMO BLANK + ENDIF +ELSE + DO tlog WITH 'ESEC: cursorul cRegistratura NU exista' +ENDIF + +* 2) instantierea containerului listei pe un form ascuns +DO tlog WITH '--- Test 2: instantiere ct_registratura pe form ascuns' +LOCAL loForm +loForm = CREATEOBJECT('Form') +loForm.Visible = .F. +loForm.Width = 810 +loForm.Height = 420 +loForm.AddObject('ct1', 'ct_registratura') +IF VARTYPE(loForm.ct1) = 'O' + DO tlog WITH 'OK ct_registratura instantiat; grid RecordSource=' + ; + loForm.ct1.grid_registratura.RecordSource + ; + ' coloane=' + TRANSFORM(loForm.ct1.grid_registratura.ColumnCount) + ; + ' font=' + loForm.ct1.grid_registratura.FontName + ; + ' size=' + TRANSFORM(loForm.ct1.grid_registratura.FontSize) + DO tlog WITH 'Coloana1: font=' + loForm.ct1.grid_registratura.Columns(1).FontName + ; + ' ' + TRANSFORM(loForm.ct1.grid_registratura.Columns(1).FontSize) + ; + ' | header=' + loForm.ct1.grid_registratura.Columns(1).Header1.FontName + ; + ' ' + TRANSFORM(loForm.ct1.grid_registratura.Columns(1).Header1.FontSize) + ; + ' | text1=' + loForm.ct1.grid_registratura.Columns(1).Text1.FontName + ; + ' ' + TRANSFORM(loForm.ct1.grid_registratura.Columns(1).Text1.FontSize) + loForm.ct1.Visible = .T. + DO tlog WITH 'nireg (contor afisat)=' + TRANSFORM(loForm.ct1.nireg) +ELSE + DO tlog WITH 'ESEC: ct_registratura NU s-a instantiat' +ENDIF +loForm.Release() + +* 3) instantierea zonei partener/nr/data (ct_part_nr_data) +DO tlog WITH '--- Test 3: instantiere ct_part_nr_data' +loForm = CREATEOBJECT('Form') +loForm.Visible = .F. +loForm.AddObject('ct2', 'ct_part_nr_data') +IF VARTYPE(loForm.ct2) = 'O' + DO tlog WITH 'OK ct_part_nr_data; llock=' + TRANSFORM(loForm.ct2.llock) + ; + ' buton="' + loForm.ct2.Command2.Caption + '"' + ; + ' txtClient.ReadOnly=' + TRANSFORM(loForm.ct2.txtClient.ReadOnly) + ; + ' font txtClient=' + loForm.ct2.txtClient.FontName + ; + ' ' + TRANSFORM(loForm.ct2.txtClient.FontSize) + * deblocare/blocare campuri - nu ating baza + loForm.ct2.deblocheaza_campuri() + DO tlog WITH 'dupa deblocheaza_campuri: txtNumar.ReadOnly=' + TRANSFORM(loForm.ct2.txtNumar.ReadOnly) + loForm.ct2.blocheaza_campuri() + DO tlog WITH 'dupa blocheaza_campuri: txtNumar.ReadOnly=' + TRANSFORM(loForm.ct2.txtNumar.ReadOnly) +ELSE + DO tlog WITH 'ESEC: ct_part_nr_data NU s-a instantiat' +ENDIF +loForm.Release() + +DO tlog WITH '=== FINAL test_registratura_form' +DO tfinal + +PROCEDURE tlog + LPARAMETERS tcMsg + STRTOFILE(TRANSFORM(tcMsg) + CHR(13)+CHR(10), gcTestLog, 1) +ENDPROC + +PROCEDURE tfinal + ON ERROR + CLOSE ALL + QUIT +ENDPROC diff --git a/Teste/test_registratura_ui.prg b/Teste/test_registratura_ui.prg new file mode 100644 index 0000000..9557a7b --- /dev/null +++ b/Teste/test_registratura_ui.prg @@ -0,0 +1,193 @@ +* test_registratura_ui.prg +* Test UI VIZUAL (harness + screenshots): fluxul REAL al utilizatorului in fereastra +* principala (Ferestre\fundal.scx) - lista documentelor, adaugare cu intrare directa +* in editare (M3), fara prompt de salvare la bara laterala (M2), refuz elegant la +* partener NULL (M1/M2), salvare + editare reala, filtrul "ultimul document" (M4), +* fonturi Arial 10 (M5). +* Rulare cu capturi: +* powershell -File COMUN\utile\Teste\vfp_ui_harness.ps1 -TestPrg Teste\test_registratura_ui.prg ^ +* -Steps @('lista','adaugare_editare_directa','bara_fara_prompt','salvare_fara_partener','salvare_cu_partener','editare','lista_ultimul') +* Log: Teste\test_registratura_ui_log.txt ; PNG: Teste\screenshots\ +* ATENTIE: doar pe schema de test (CENTRAL/MARIUSM_AUTO); documentul de test se sterge la final. + +SET SAFETY OFF +SET TALK OFF + +PUBLIC gcUILog, gcSyncDir, gnMockRaspuns, gnPass, gnFail +gcUILog = 'D:\ROA\ROAREGISTRATURA\Teste\test_registratura_ui_log.txt' +gcSyncDir = 'D:\ROA\ROAREGISTRATURA\Teste\uisync\' +IF !DIRECTORY(gcSyncDir) + MD (gcSyncDir) +ENDIF +STORE 0 TO gnPass, gnFail +gnMockRaspuns = 6 + +* mock amessagebox PRIMUL in lista de proceduri (la nume duplicat castiga PRIMUL) +SET PROCEDURE TO D:\ROA\ROAREGISTRATURA\COMUN\utile\Teste\mock_amessagebox.prg ADDITIVE +SET PROCEDURE TO D:\ROA\ROAREGISTRATURA\COMUN\utile\Teste\ui_harness.prg ADDITIVE + +STRTOFILE('=== test_registratura_ui ' + TTOC(DATETIME()) + CHR(13)+CHR(10), gcUILog) + +ON ERROR DO HarnessLog WITH '*** EROARE ' + TRANSFORM(ERROR()) + ': ' + MESSAGE() + ; + ' | ' + MESSAGE(1) + ' | prg=' + PROGRAM() + ' lin=' + TRANSFORM(LINENO()) + +DO HarnessLog WITH 'Init mediu...' +DO D:\ROA\ROAREGISTRATURA\Teste\test_init_env_registratura.prg +IF TYPE('gnHandle') # 'N' OR gnHandle <= 0 + DO HarnessLog WITH 'ESEC conectare - STOP' + DO HarnessDone WITH 'esec_conectare' + QUIT +ENDIF +DO HarnessLog WITH 'Conectat, schema=' + gcS + +* globale suplimentare cerute de fundal.scx / Show +PUBLIC gcUserNameApp, primadata, goCw, goHelp, oTool +gcUserNameApp = 'MARIUS M' +primadata = .T. +STORE '' TO goCw, goHelp, oTool + +* ------------- Pas 0: fereastra principala + lista (M4: doar ultimul document) +DO viz_registratura IN oproceduri_roaregistratura.prg +* NOSHOW: ocolesc Form.Show -> arata_meniu_fluna -> start_firma (init de aplicatie, nu de test); +* Visible=.T. afiseaza formularul FARA sa ruleze metoda Show suprascrisa. +DO FORM D:\ROA\ROAREGISTRATURA\Ferestre\fundal.scx NAME goFundal LINKED NOSHOW +goFundal._pgfrmbase1.Page2.Ct_registratura1.do_initializeaza_cursor() +goFundal.Visible = .T. +goFundal.WindowState = 2 +goFundal._pgfrmbase1.ActivePage = 2 +DO verif WITH USED('cRegistratura') AND RECCOUNT('cRegistratura') = 1, ; + 'M4: lista initiala contine DOAR ultimul document (reccount=' + TRANSFORM(RECCOUNT('cRegistratura')) + ')' +SELECT cRegistratura +GO TOP +SCATTER NAME goRegistratura MEMO +DO HarnessLog WITH 'Ultimul document afisat: id_reg=' + TRANSFORM(NVL(id_reg,0)) +LOCAL loGrid +loGrid = goFundal._pgfrmbase1.Page2.Ct_registratura1.grid_registratura +DO verif WITH loGrid.FontName == 'Arial' AND loGrid.FontSize = 10, ; + 'M5: grid font=' + loGrid.FontName + ' ' + TRANSFORM(loGrid.FontSize) +DO verif WITH loGrid.Columns(1).FontName == 'Arial' AND loGrid.Columns(1).FontSize = 10, ; + 'M5: coloana1 font=' + loGrid.Columns(1).FontName + ' ' + TRANSFORM(loGrid.Columns(1).FontSize) +DO verif WITH loGrid.Columns(1).Header1.FontName == 'Arial' AND loGrid.Columns(1).Header1.FontSize = 10, ; + 'M5: header1 font=' + loGrid.Columns(1).Header1.FontName + ' ' + TRANSFORM(loGrid.Columns(1).Header1.FontSize) +DO HarnessStep WITH 0, 'lista: doar ultimul document, fonturi Arial 10' + +* ------------- Pas 1: adaugare -> intra DIRECT in editare (M3) +LOCAL lnId_reg, loPnd +goFundal._pgfrmbase1.Page2.Ct_registratura1.But_nou1.Click() +lnId_reg = goRegistratura.id_reg +loPnd = goFundal._pgfrmbase1.Page3.ct_part_nr_data1 +DO verif WITH goFundal._pgfrmbase1.ActivePage = 3, ; + 'M3: dupa adaugare s-a comutat pe Page3 (ActivePage=' + TRANSFORM(goFundal._pgfrmbase1.ActivePage) + ')' +DO verif WITH !loPnd.llock, 'M3: documentul nou este DIRECT in editare (llock=' + TRANSFORM(loPnd.llock) + ')' +DO verif WITH loPnd.Command2.Caption == 'Salveaza', ; + 'M3: butonul arata "Salveaza" (caption=' + loPnd.Command2.Caption + ')' +DO verif WITH !EMPTY(lnId_reg), 'Adaugare: id_reg nou=' + TRANSFORM(NVL(lnId_reg,0)) +DO verif WITH loPnd.txtClient.FontName == 'Arial' AND loPnd.txtClient.FontSize = 10, ; + 'M5: txtClient font=' + loPnd.txtClient.FontName + ' ' + TRANSFORM(loPnd.txtClient.FontSize) +DO HarnessStep WITH 1, 'adaugare: direct in editare, buton Salveaza' + +* ------------- Pas 2: click pe bara laterala cu partener NULL -> FARA prompt de salvare (M2) +LOCAL lcLogInainte +lcLogInainte = FILETOSTR(gcUILog) +goFundal._pgfrmbase1.Page3.ct_date_generale1.outlook2003bar1.Panel.button3.Click() +LOCAL lcLogNou +lcLogNou = SUBSTR(FILETOSTR(gcUILog), LEN(lcLogInainte) + 1) +DO verif WITH !('Doriti sa salvati' $ lcLogNou), ; + 'M2: barei laterale NU i-a aparut promptul "Doriti sa salvati..." cu partener NULL' +DO verif WITH !loPnd.llock, 'M2: raman in editare dupa click pe bara (llock=' + TRANSFORM(loPnd.llock) + ')' +DO HarnessStep WITH 2, 'bara laterala: fara prompt, raman in editare' + +* ------------- Pas 3: Salveaza cu partener NULL -> refuz elegant (M1/M2) +lcLogInainte = FILETOSTR(gcUILog) +loPnd.Command2.Click() +lcLogNou = SUBSTR(FILETOSTR(gcUILog), LEN(lcLogInainte) + 1) +DO verif WITH ('Alegeti partenerul' $ lcLogNou), 'M2: mesaj "Alegeti partenerul!" la salvare fara partener' +DO verif WITH !loPnd.llock AND loPnd.Command2.Caption == 'Salveaza', ; + 'M2: campurile raman DEBLOCATE dupa refuz (llock=' + TRANSFORM(loPnd.llock) + ', caption=' + loPnd.Command2.Caption + ')' +DO HarnessStep WITH 3, 'salvare fara partener: refuz, raman in editare' + +* ------------- Pas 4: aleg partener + Salveaza -> salvare reusita (M1/M2) +LOCAL llSucces +llSucces = goExecutor.oExecuta( ; + "select id_part, denumire from vregistratura where id_part is not null and rownum = 1", 'cPartTest') +IF llSucces AND USED('cPartTest') AND RECCOUNT('cPartTest') > 0 + SELECT cPartTest + goRegistratura.id_part = id_part + goRegistratura.denumire = denumire + USE IN cPartTest + goRegistratura.data = DATE() + goRegistratura.numar = 'TSTUI' + goRegistratura.descriere = 'TEST UI AUTOMAT' + goRegistratura.nr_pag = 1 + loPnd.Refresh() + loPnd.Command2.Click() + DO verif WITH loPnd.llock AND loPnd.Command2.Caption == 'Modifica', ; + 'M2: dupa salvare campurile sunt blocate (llock=' + TRANSFORM(loPnd.llock) + ', caption=' + loPnd.Command2.Caption + ')' + * verificare in baza + llSucces = goExecutor.oExecuta("select numar, descriere from vregistratura where id_reg = " + ; + ALLTRIM(STR(lnId_reg)), 'cVerif') + IF llSucces AND USED('cVerif') AND RECCOUNT('cVerif') > 0 + SELECT cVerif + DO verif WITH ALLTRIM(NVL(numar,'')) == 'TSTUI', ; + 'M1: salvarea a ajuns in baza (numar=' + TRANSFORM(NVL(numar,'')) + ')' + USE IN cVerif + ELSE + DO verif WITH .F., 'verificare in baza dupa salvare' + ENDIF +ELSE + DO HarnessLog WITH 'SKIP Pas 4: niciun partener disponibil pe schema de test' +ENDIF +DO HarnessStep WITH 4, 'salvare cu partener: reusita, campuri blocate' + +* ------------- Pas 5: editare (Modifica -> schimb descriere -> Salveaza) +loPnd.Command2.Click() && Modifica -> deblocare +DO verif WITH !loPnd.llock, 'Editare: campuri deblocate (llock=' + TRANSFORM(loPnd.llock) + ')' +goRegistratura.descriere = 'TEST UI AUTOMAT - EDITAT' +goRegistratura.nr_pag = 3 +loPnd.Command2.Click() && Salveaza +llSucces = goExecutor.oExecuta("select descriere, nr_pag from vregistratura where id_reg = " + ; + ALLTRIM(STR(lnId_reg)), 'cVerif2') +IF llSucces AND USED('cVerif2') AND RECCOUNT('cVerif2') > 0 + SELECT cVerif2 + DO verif WITH ALLTRIM(NVL(descriere,'')) == 'TEST UI AUTOMAT - EDITAT' AND NVL(nr_pag,0) = 3, ; + 'Editare: modificarile au ajuns in baza (descriere=' + ALLTRIM(NVL(descriere,'')) + ', nr_pag=' + TRANSFORM(NVL(nr_pag,0)) + ')' + USE IN cVerif2 +ELSE + DO verif WITH .F., 'verificare in baza dupa editare' +ENDIF +DO HarnessStep WITH 5, 'editare document: re-salvare verificata in baza' + +* ------------- Pas 6: inapoi pe lista -> tot ultimul document (M4 pe do_cauta/Page2.Activate) +goFundal._pgfrmbase1.ActivePage = 2 +DO verif WITH RECCOUNT('cRegistratura') = 1, ; + 'M4: revenirea pe lista pastreaza filtrul ultimului document (reccount=' + TRANSFORM(RECCOUNT('cRegistratura')) + ')' +SELECT cRegistratura +GO TOP +DO verif WITH id_reg = lnId_reg, 'M4: ultimul document afisat este cel de test (id_reg=' + TRANSFORM(id_reg) + ')' +DO HarnessStep WITH 6, 'lista dupa: doar documentul de test' + +* ------------- curatenie +LOCAL lcSql, lnSucces +lcSql = [begin pack_registratura.sterge_registratura(] + ALLTRIM(STR(lnId_reg)) + ; + [,] + ALLTRIM(STR(gnIdUtil)) + [); end;] +lnSucces = goExecutor.oExecute(lcSql) +DO HarnessLog WITH IIF(lnSucces < 0, ; + 'ATENTIE: stergerea documentului de test a esuat - stergeti manual id_reg=' + TRANSFORM(lnId_reg), ; + 'Curatenie OK: document de test sters (soft-delete), id_reg=' + TRANSFORM(lnId_reg)) + +DO HarnessLog WITH '=== REZULTAT: PASS=' + TRANSFORM(gnPass) + ' FAIL=' + TRANSFORM(gnFail) +DO HarnessDone WITH IIF(gnFail = 0, 'done', 'fail') +ON ERROR +CLOSE ALL +QUIT + +PROCEDURE verif + LPARAMETERS tlOk, tcMsg + IF tlOk + gnPass = gnPass + 1 + DO HarnessLog WITH 'PASS: ' + tcMsg + ELSE + gnFail = gnFail + 1 + DO HarnessLog WITH 'FAIL: ' + tcMsg + ENDIF +ENDPROC diff --git a/changelog_roaRegistratura.txt b/changelog_roaRegistratura.txt index 96ed0d5..8557d43 100644 --- a/changelog_roaRegistratura.txt +++ b/changelog_roaRegistratura.txt @@ -1,4 +1,27 @@ +