*!* APEL DE PROCEDURA *!* DO lans_ireg_parteneri WITH tlTest,tcCont,tlActiv *----------------------------------------------------------- Procedure lans_ireg_parteneri Parameters tlTest,tcCont,tlactiv,tlTitluTot,tcDenumire,tcDenDebit,tcDenCredit, tlContract *!* tlTitluTot = daca denumirea titlului este totala i.e.: Nu trebuie sa mai adaug Balanta parteneri *!* tcDenumire = titlul balantei *!* tcDenDebit = peste tot pe unde apare debit se va inlocui cu aceasta denumire *!* tcDenCredit = peste tot pe unde apare credit se va inlocui cu aceasta denumire Local lcCont, llActiv, llParametri,llTitluTot,lcDenumire,lcDenDebit,lcDenCredit llParametri = .F. If Empty(tlTitluTot) llTitluTot = .F. Else llTitluTot = tlTitluTot Endif If Empty(tcDenumire) lcDenumire = "" Else lcDenumire= tcDenumire Endif If Empty(tcDenDebit) lcDenDebit = "Debit" Else lcDenDebit = tcDenDebit Endif If Empty(tcDenCredit) lcDenCredit = "Credit" Else lcDenCredit = tcDenCredit Endif If !Empty(tcCont) lcCont = Alltrim(tcCont) Else lcCont = '' Endif If !Empty(tlactiv) llActiv = tlactiv Else llActiv = .F. Endif llParametri = .F. If !Empty(tcCont) llParametri = .T. Endif Local NOU, lnTdeb, lnTcred, lnSold, lcContPart, lclista Store 0 To lnTdeb, lnTcred, lnSold NOU=.T. If glPrimaLuna NOU = .F. Endif Private plActiv Store .T. To plActiv Private eActiv Store .T. To eActiv If llParametri eActiv = llActiv plActiv = llActiv lcContPart = lcCont If !llTitluTot And Empty(lcDenumire) lcDenumire = "Inregistrari " + "( " + lcContPart + " )" Else If !Empty(lcDenumire) And !llTitluTot lcDenumire = "Inregistrari " + lcDenumire + "( " + lcContPart + " )" Endif Endif Endif pcCont = lcContPart Private poireg_parteneri,pcschema1,pcselect1 Store '' To poireg_parteneri *!* lcschema1 = [id_ireg_part n(20), an n(4), luna n(2), ID_FACT N(20), rate_acoperite C(200), id_part n(20), cont c(4), acont c(4), ID_VALUTA N(5), ID_VENCHELT N(5), PROC_TVA N(8,2), ] + ; *!* [PRECDEB N(20,4), PRECCRED N(20,4), PRECVALDEB N(20,4), PRECVALCRED N(20,4), ] + ; *!* [debit n(20,4), credit n(20,4), valdebit n(20,4), valcredit n(20,4), ] + ; *!* [NRACT N(14), DATAACT D, DATAIREG D, DATASCAD D, CURS N(10,4), ] + ; *!* [COD N(20), EXPLICATIA C(100), EXPLICATIA4 C(100), EXPLICATIA5 C(100), ] + ; *!* [ID_RESPONSABIL N(5), ID_FDOC N(5), ID_LUCRARE N(10), ID_CTR N(5), ID_SET N(20), ID_ACT N(20), ] + ; *!* [NUME C(100), COD_FISCAL C(30), FDOC C(50), NRESP C(50), NRORD C(50), CONTRACT C(30), NUME_VAL C(10), VENCHELT C(50) ] lcschema1 = [ an n(4), luna n(2), ID_FACT N(20), rate_acoperite C(200), id_part n(20), cont c(4), acont c(4), ID_VALUTA N(5), ]+; [ ID_VENCHELT N(5), PROC_TVA N(8,2), ] + ; [PRECDEB N(20,4), PRECCRED N(20,4), PRECVALDEB N(20,4), PRECVALCRED N(20,4), ] + ; [debit n(20,4), credit n(20,4), valdebit n(20,4), valcredit n(20,4), ] + ; [NRACT N(14), DATAACT D, DATAIREG D, DATASCAD D, CURS N(10,4), ] + ; [COD N(20), EXPLICATIA C(100), EXPLICATIA4 C(100), EXPLICATIA5 C(100), ] + ; [ID_RESPONSABIL N(5), ID_FDOC N(5), ID_LUCRARE N(10), ID_CTR N(5), ID_SET N(20), ID_ACT N(20), ] + ; [NUME C(100), COD_FISCAL C(30), FDOC C(50), NRESP C(50), NRORD C(50), CONTRACT C(30), NUME_VAL C(10), ]+; [ VENCHELT C(50) ] lcPA = Alltrim(Str(gnPA)) *!* lcSelect1 = [ select i.an, i.luna, i.id_fact, ra.rate_acoperite, i.id_part, i.cont, i.acont, i.id_valuta, ]+; *!* [ i.id_venchelt, i.proc_tva, ] + ; *!* [ 000000000000000.0000 as PRECDEB, 000000000000000.0000 as PRECCRED, 000000000000000.0000 as PRECVALDEB, 000000000000000.0000 as PRECVALCRED, ]+; *!* [ s2.debit, s2.credit, s2.valdebit, s2.valcredit, ]+; *!* [ i.nract, i.dataact, i.dataireg, i.datascad, i.curs, ]+; *!* [ i.cod, i.explicatia, i.explicatia4, i.explicatia5, ]+; *!* [ i.id_responsabil, i.id_fdoc, i.id_lucrare, i.id_ctr, i.id_set, i.id_act, ]+; *!* [ p.nume, p.cod_fiscal, f.FEL_DOCUMENT as fdoc, r.nume as nresp, l.nrord, ]+; *!* [ (case when ctr.numar is not null then ctr.numar || '/' else '' end) || TO_CHAR(ctr.data, 'DD.MM.YYYY') as contract, ]+; *!* [ v.nume_val, vc.explicatie as VENCHELT ]+; *!* [ from (select an, luna, id_fact, id_part, cont, acont, id_valuta, ]+; *!* [ id_venchelt, proc_tva, nract, dataact, dataireg, datascad, ]+; *!* [ curs, cod, explicatia, explicatia4, explicatia5, id_responsabil, id_fdoc, id_lucrare, id_ctr, id_set, id_act ]+; *!* [ from ireg_parteneri ]+; *!* [ WHERE extract(year from dataireg) * 12 + extract(month from dataireg) = an * 12 + luna and id_part = ]+ ALLTRIM(STR(goContract.id_part))+[ and cont = '4111') i ]+; *!* [ left join (select id_fact, cont,]+; *!* [ sum(pack_sesiune.suma_ron(debit,an,luna,]+ lcPA + [)) as debit, ]+; *!* [ sum(pack_sesiune.suma_ron(credit,an,luna,]+ lcPA + [)) as credit, ]+; *!* [ sum(pack_sesiune.suma_ron(valdebit,an,luna,]+ lcPA + [)) as valdebit, ]+; *!* [ sum(pack_sesiune.suma_ron(valcredit,an,luna,]+ lcPA + [)) as valcredit ]+; *!* [ from ireg_parteneri where id_part = ]+ ALLTRIM(STR(goContract.id_part)) + [ and cont = '4111' group by id_fact,cont) s2 ]+; *!* [ on i.id_fact = s2.id_fact ]+; *!* [ left join (select s.id_ctr, ]+; *!* [ rf.id_fact, stringAgg(s.den_rata) as rate_acoperite from vctr_rate_facturi rf ]+; *!* [ left join (select * from vctr_scadentar order by id_ctr, den_rata) s on s.id_rata = rf.ID_RATA ]+; *!* [ group by s.id_ctr, rf.id_fact) ra ]+; *!* [ on i.id_fact = ra.id_fact ]+; *!* [ LEFT JOIN CONTRACTE CTR ON i.ID_CTR = CTR.ID_CTR ]+; *!* [ LEFT JOIN nom_venit_cheltuieli VC ON i.ID_VENCHELT = VC.ID_VENCHELT ]+; *!* [ LEFT JOIN NOM_VALUTE V ON i.ID_VALUTA = V.ID_VALUTA ]+; *!* [ LEFT JOIN VNOM_LUCRARI L ON i.ID_LUCRARE = L.ID_LUCRARE ]+; *!* [ LEFT JOIN NOM_PARTENERI R ON i.ID_RESPONSABIL = R.ID_part ]+; *!* [ LEFT JOIN NOM_FDOC F ON i.ID_FDOC = F.ID_FDOC ]+; *!* [ LEFT JOIN NOM_PARTENERI P ON i.ID_PART = P.ID_PART ] If tlContract lcSelect1 = [ select i.* from (select ir.an, ir.luna, ir.id_fact, ra.rate_acoperite, ir.id_part, ir.cont, ir.acont, ir.id_valuta, ]+; [ ir.id_venchelt, ir.proc_tva, ] + ; [ 000000000000000.0000 as PRECDEB, 000000000000000.0000 as PRECCRED, 000000000000000.0000 as PRECVALDEB, 000000000000000.0000 as PRECVALCRED, ]+; [ s2.debit, s2.credit, s2.valdebit, s2.valcredit, ]+; [ ir.nract, ir.dataact, ir.dataireg, ir.datascad, ir.curs, ]+; [ ir.cod, ir.explicatia, ir.explicatia4, ir.explicatia5, ]+; [ ir.id_responsabil, ir.id_fdoc, ir.id_lucrare, ir.id_ctr, ir.id_set, ir.id_act, ]+; [ p.nume, p.cod_fiscal, f.FEL_DOCUMENT as fdoc, r.nume as nresp, l.nrord, ]+; [ (case when ctr.numar is not null then ctr.numar || '/' else '' end) || TO_CHAR(ctr.data, 'DD.MM.YYYY') as contract, ]+; [ v.nume_val, vc.explicatie as VENCHELT ]+; [ from (select an, luna, id_fact, id_part, cont, acont, id_valuta, ]+; [ id_venchelt, proc_tva, nract, dataact, dataireg, datascad, ]+; [ curs, cod, explicatia, explicatia4, explicatia5, id_responsabil, id_fdoc, id_lucrare, id_ctr, id_set, id_act ]+; [ from ireg_parteneri ]+; [ WHERE extract(year from dataireg) * 12 + extract(month from dataireg) = an * 12 + luna and ]+; [ id_part = ]+ Alltrim(Str(goContract.id_part))+; [ and id_ctr = ] + Alltrim(Str(goContract.id_ctr)) +; [ and cont = ] + tcCont + [) ir ]+; [ left join (select id_fact, cont,]+; [ sum(pack_sesiune.suma_ron(debit,an,luna,]+ lcPA + [)) as debit, ]+; [ sum(pack_sesiune.suma_ron(credit,an,luna,]+ lcPA + [)) as credit, ]+; [ sum(pack_sesiune.suma_ron(valdebit,an,luna,]+ lcPA + [)) as valdebit, ]+; [ sum(pack_sesiune.suma_ron(valcredit,an,luna,]+ lcPA + [)) as valcredit ]+; [ from ireg_parteneri ]+; [ where id_part = ]+ Alltrim(Str(goContract.id_part)) + ; [ and id_ctr = ] + Alltrim(Str(goContract.id_ctr)) +; [ and cont = ] + tcCont + [ group by id_fact,cont) s2 ]+; [ on ir.id_fact = s2.id_fact ]+; [ left join (select s.id_ctr, ]+; [ rf.id_fact, stringAgg(s.den_rata) as rate_acoperite from vctr_rate_facturi rf ]+; [ left join (select * from vctr_scadentar order by id_ctr, den_rata) s on s.id_rata = rf.ID_RATA ]+; [ group by s.id_ctr, rf.id_fact) ra ]+; [ on ir.id_fact = ra.id_fact ]+; [ LEFT JOIN CONTRACTE CTR ON ir.ID_CTR = CTR.ID_CTR ]+; [ LEFT JOIN nom_venit_cheltuieli VC ON ir.ID_VENCHELT = VC.ID_VENCHELT ]+; [ LEFT JOIN NOM_VALUTE V ON ir.ID_VALUTA = V.ID_VALUTA ]+; [ LEFT JOIN VNOM_LUCRARI L ON ir.ID_LUCRARE = L.ID_LUCRARE ]+; [ LEFT JOIN NOM_PARTENERI R ON ir.ID_RESPONSABIL = R.ID_part ]+; [ LEFT JOIN NOM_FDOC F ON ir.ID_FDOC = F.ID_FDOC ]+; [ LEFT JOIN NOM_PARTENERI P ON ir.ID_PART = P.ID_PART) i ] Else lcSelect1 = [ select i.* from (select ir.an, ir.luna, ir.id_fact, ra.rate_acoperite, ir.id_part, ir.cont, ir.acont, ir.id_valuta, ]+; [ ir.id_venchelt, ir.proc_tva, ] + ; [ 000000000000000.0000 as PRECDEB, 000000000000000.0000 as PRECCRED, 000000000000000.0000 as PRECVALDEB, 000000000000000.0000 as PRECVALCRED, ]+; [ s2.debit, s2.credit, s2.valdebit, s2.valcredit, ]+; [ ir.nract, ir.dataact, ir.dataireg, ir.datascad, ir.curs, ]+; [ ir.cod, ir.explicatia, ir.explicatia4, ir.explicatia5, ]+; [ ir.id_responsabil, ir.id_fdoc, ir.id_lucrare, ir.id_ctr, ir.id_set, ir.id_act, ]+; [ p.nume, p.cod_fiscal, f.FEL_DOCUMENT as fdoc, r.nume as nresp, l.nrord, ]+; [ (case when ctr.numar is not null then ctr.numar || '/' else '' end) || TO_CHAR(ctr.data, 'DD.MM.YYYY') as contract, ]+; [ v.nume_val, vc.explicatie as VENCHELT ]+; [ from (select an, luna, id_fact, id_part, cont, acont, id_valuta, ]+; [ id_venchelt, proc_tva, nract, dataact, dataireg, datascad, ]+; [ curs, cod, explicatia, explicatia4, explicatia5, id_responsabil, id_fdoc, id_lucrare, id_ctr, id_set, id_act ]+; [ from ireg_parteneri ]+; [ WHERE extract(year from dataireg) * 12 + extract(month from dataireg) = an * 12 + luna and id_part = ]+ Alltrim(Str(goContract.id_part))+[ and cont = ] + tcCont + [) ir ]+; [ left join (select id_fact, cont,]+; [ sum(pack_sesiune.suma_ron(debit,an,luna,]+ lcPA + [)) as debit, ]+; [ sum(pack_sesiune.suma_ron(credit,an,luna,]+ lcPA + [)) as credit, ]+; [ sum(pack_sesiune.suma_ron(valdebit,an,luna,]+ lcPA + [)) as valdebit, ]+; [ sum(pack_sesiune.suma_ron(valcredit,an,luna,]+ lcPA + [)) as valcredit ]+; [ from ireg_parteneri ]+; [ where id_part = ]+ Alltrim(Str(goContract.id_part)) + ; [ and cont = ] + tcCont + [ group by id_fact,cont) s2 ]+; [ on ir.id_fact = s2.id_fact ]+; [ left join (select s.id_ctr, ]+; [ rf.id_fact, stringAgg(s.den_rata) as rate_acoperite from vctr_rate_facturi rf ]+; [ left join (select * from vctr_scadentar order by id_ctr, den_rata) s on s.id_rata = rf.ID_RATA ]+; [ group by s.id_ctr, rf.id_fact) ra ]+; [ on ir.id_fact = ra.id_fact ]+; [ LEFT JOIN CONTRACTE CTR ON ir.ID_CTR = CTR.ID_CTR ]+; [ LEFT JOIN nom_venit_cheltuieli VC ON ir.ID_VENCHELT = VC.ID_VENCHELT ]+; [ LEFT JOIN NOM_VALUTE V ON ir.ID_VALUTA = V.ID_VALUTA ]+; [ LEFT JOIN VNOM_LUCRARI L ON ir.ID_LUCRARE = L.ID_LUCRARE ]+; [ LEFT JOIN NOM_PARTENERI R ON ir.ID_RESPONSABIL = R.ID_part ]+; [ LEFT JOIN NOM_FDOC F ON ir.ID_FDOC = F.ID_FDOC ]+; [ LEFT JOIN NOM_PARTENERI P ON ir.ID_PART = P.ID_PART) i ] Endif lcOrder1 = [i.dataact] lcgroup = [] lcFiltru1 = [] lcFiltruOriginal = [] llModParam = .T. llAfiseaza = .F. gencursor('poireg_parteneri','actcv', lcSelect1, lcFiltru1, lcschema1, lcOrder1, llAfiseaza, lcgroup, llModParam, lcFiltruOriginal) poireg_parteneri.ca_baza1.afisare() ******** tcFis2 = "ActCv" tlVisible = .T. Local c c="nume+ALLTRIM(STR(YEAR(dataact)))+RIGHT('0'+ALLTRIM(STR(MONTH(dataact))),2)+RIGHT('0'+ALLTRIM(STR(DAY(dataact))),2)" buton=1 If tlTest And .F. Private pcCampVerif pcCampVerif = ofis.camp_verif Select (tcFis2) Set Filter To lcProc='inainte_'+Alltrim(tcFis2) Do &lcProc In inaintede.prg If buton=2 Return Endif Endif Sele actcv Private pcAnalitic,pcLucrare Store '' To pcAnalitic,pcLucrare Oreg=Createobject("FRM_IREG_PARTENERI") With Oreg .lActiv = plActiv .cCont = lcContPart *!* .LABEL10.Caption=Proper(tctitlu)&&& trebuie facut .lb_titlu_alb_b121.Caption = Proper(lcDenumire) .grid1.cTotCred.Visible = .T. .Cont = Allt(pcCont) .fisier = Alltrim(tcFis2) .Ck_valuta.Visible = tlVisible .CK_explicatia.Visible = tlVisible .ck_scadente.Visible = tlVisible * .CHECK9.VISIBLE = tlVisible .grid1.cDataScad.Visible = tlVisible .grid1.cTotDebVal.Visible = tlVisible .grid1.cTotCredVal.Visible = tlVisible .grid1.cSoldVal.Visible = tlVisible .grid1.cNume_val.Visible = tlVisible .grid1.cCurs.Visible = tlVisible .grid1.cExplicatia.Visible = tlVisible If !tlVisible .CHECK3.Caption = 'Regularizate' .CHECK4.Caption = 'Neregularizate' .check10.Caption = 'Regularizat' .grid1.cTotCred.header1.Caption = 'Regularizat' .grid1.cDataScad.Width = 0 Endif If !plActiv .grid1.cSoldFinal.ControlSource = "(preccred+credit)-(precdeb+debit)" .grid1.cSoldVal.ControlSource ="(precvalcred+valcredit)-(precvaldeb+valdebit)" .ck_sold.camp_nume = "credit+preccred-precdeb-debit" .grid1.cTotDeb.ControlSource = "preccred+credit" .grid1.cTotCred.ControlSource = "precdeb+debit" .grid1.cTotDebVal.ControlSource = "precvalcred+valcredit" .grid1.cTotCredVal.ControlSource = "precvaldeb+valdebit" .grid1.cDebit.ControlSource = "credit" .grid1.cCredit.ControlSource = "debit" .grid1.cValDebit.ControlSource = "valcredit" .grid1.cValCredit.ControlSource = "valdebit" .grid1.cPrecDeb.ControlSource = "preccred" .grid1.cPrecCred.ControlSource = "precdeb" .grid1.cTotDeb.header1.Caption = "Total " + lcDenCredit .grid1.cTotCred.header1.Caption = "Total " + lcDenDebit .grid1.cTotDebVal.header1.Caption = "Total " + lcDenCredit + " valuta" .grid1.cTotCredVal.header1.Caption = "Total " + lcDenDebit + " valuta" .grid1.cDebit.header1.Caption = lcDenCredit .grid1.cCredit.header1.Caption = lcDenDebit .grid1.cValDebit.header1.Caption = lcDenCredit + " valuta" .grid1.cValCredit.header1.Caption = lcDenDebit + " valuta" .grid1.cPrecDeb.header1.Caption = "Prec " + lcDenCredit .grid1.cPrecCred.header1.Caption = "Prec " + lcDenDebit .grid1.cPrecValDeb.header1.Caption = "Prec Valuta " + lcDenCredit .grid1.cPrecValCred.header1.Caption = "Prec Valuta " + lcDenDebit Else .grid1.cSoldFinal.ControlSource = "(precdeb+debit)-(preccred+credit)" .grid1.cSoldVal.ControlSource ="(precvaldeb+valdebit)-(precvalcred+valcredit)" .ck_sold.camp_nume = "precdeb+debit-credit-preccred" .grid1.cTotDeb.header1.Caption = "Total " + lcDenDebit .grid1.cTotCred.header1.Caption = "Total " + lcDenCredit .grid1.cTotDebVal.header1.Caption = "Total " + lcDenDebit + " valuta" .grid1.cTotCredVal.header1.Caption = "Total " + lcDenCredit + " valuta" .grid1.cDebit.header1.Caption = lcDenDebit .grid1.cCredit.header1.Caption = lcDenCredit .grid1.cValDebit.header1.Caption = lcDenDebit + " valuta" .grid1.cValCredit.header1.Caption = lcDenCredit + " valuta" .grid1.cPrecDeb.header1.Caption = "Prec " + lcDenDebit .grid1.cPrecCred.header1.Caption = "Prec " + lcDenCredit .grid1.cPrecValDeb.header1.Caption = "Prec Valuta " + lcDenDebit .grid1.cPrecValCred.header1.Caption = "Prec Valuta " + lcDenCredit Endif If Type('pcTotctva')#'U' And Type('pcAchitat')#'U' .grid1.cTotCred.header1.Caption = pcAchitat .grid1.cTotDeb.header1.Caption = pcTotctva Endif If Type('pcSumaTotal')#'U' And Type('pcSumaAchi')#'U' .CHECK13.Caption = pcSumaTotal .check10.Caption = pcSumaAchi Endif If Type('actcv.nresp') # 'U' .grid1.cNresp.Visible= .T. .grid1.cNresp.ControlSource = 'nresp' .Ck_responsabil.Visible = .T. Endif If plActiv .grid1.SetAll("DynamicForeColor", "IIF(ABS((preccred+credit)-(precdeb+debit))=0,RGB(0,0,0), iif(((precdeb+debit) < (preccred+credit)),RGB(255,0,0),RGB(0,0,255)))", "Column") Else .grid1.SetAll("DynamicForeColor", "IIF(ABS((preccred+credit)-(precdeb+debit))=0,RGB(0,0,0), iif(((precdeb+debit) > (preccred+credit)),RGB(255,0,0),RGB(0,0,255)))", "Column") Endif Endwith Oreg.do_cauta() Oreg.Show(1) Release Oreg Use In actcv Endproc && lans_ireg_parteneri *---------------------------------------------------------------------------------