Inrolare ROACONTRACTE conform COMUN\docs\inrolare-proiect-git-text.md: - .gitignore/.gitattributes dupa modelul ROACONT (COMUN/ exclus, are repo propriu) - 439 texte FoxBin2Prg generate in arbore (vc2/sc2/fr2/mn2/pj2/db2) - Clase\registry.vcx ramane binar: memo .vct corupt (Error 41), nu se poate converti - Clase\ferestre_contracte.vcx: text generat, roundtrip scutit (fara write-back) - CLAUDE.md, docs/README.md, roa_sync.bat Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01RYbiinqXxdEqXi53x4Ro7K
1496 lines
54 KiB
Plaintext
1496 lines
54 KiB
Plaintext
Procedure actualizari_schimbare_firma
|
|
Local llExistaPrinc
|
|
llExistaPrinc = Iif(Type('oprinc')='O',.T.,.F.)
|
|
If llExistaPrinc
|
|
oprinc.pagefr1.page2.ct_contracte1.grid_contracte.salveaza_grid()
|
|
Endif
|
|
Do start_firma In ostartfirma.prg
|
|
viz_contracte()
|
|
Select cContracte
|
|
Scatter Name goContract Blank
|
|
If llExistaPrinc
|
|
oprinc.pagefr1.page2.ct_contracte1.grid_contracte.incarca_grid()
|
|
oprinc.pagefr1.page2.ct_contracte1.nireg = Reccount('cContracte')
|
|
verifica_drepturi('oprinc','pagefr1')
|
|
actualizeaza_drepturi_roacontracte()
|
|
Endif
|
|
Endproc
|
|
*-----------------------------------------------------------------------------------------------------------------
|
|
Procedure viz_contracte
|
|
Local lcSchema, lcSelect, lcOrder, lcFiltru, lcFiltruOriginal, llAfiseaza, lcgroup, lcFiltruOriginal
|
|
lcSchema = [id_ctr N(5), ids_articol C(100), id_part N(10), denumire C(70), contract C(30), data D(8), numar C(20), numar_aa C(20), numar_ult_aa c(20), ]+;
|
|
[id_tip_ctr N(4), denumire_tip C(30), tata C(200), ]+;
|
|
[id_util N(8), dataora t, valftva N(20,4), valctva N(20,4), id_valuta N(10), nume_val C(4), val_discount N(20,4), proc_tva N(6,2), incetat N(1), ]+;
|
|
[data_inceput D(8), data_sfarsit D(8), scadenta_incasare N(3), coef_penalitati N(5,2), ]+;
|
|
[id_responsabil N(10), responsabil C(70), id_sectie N(10), sectie C(30), durata N(2), data_incetat D(8), motiv_incetat C(200), semnat N(1), inactiv N(1), observatii M, ]+;
|
|
[opt_facturare N(4), text_standard N(1), id_nota N(10), descriere C(100), id_selectie N(4), selectie C(100), ]+;
|
|
[grnt_proc_ret N(2), grnt_val_ret N(10,4), grnt_alerta1 N(4), grnt_proc_alerta1 N(3), grnt_pv_nr N(10), grnt_pv_data D, grnt_perioada n(2), ]+;
|
|
[numar_intern C(20), data_intern D(8), ofertanti C(200), tip_istoric C(1), id_tata N(10), activ N(1), suspendat N(1), are_link n(1), cod_fiscal c(30), id_sucursala n(5), sucursala c(50), ] + ;
|
|
[afisare_scadenta N(1),moneda_nationala N(1)]
|
|
|
|
lcSelect = [select c.id_ctr,c.ids_articol, c.id_part, c.denumire, c.contract, c.data, c.numar, ]+;
|
|
[c.numar_aa, c.numar_ult_aa, c.id_tip_ctr, c.denumire_tip, c.tata, c.id_util, c.dataora, c.valftva, c.valctva, c.id_valuta, c.nume_val, c.val_discount, c.proc_tva, c.incetat,]+;
|
|
[c.data_inceput, c.data_sfarsit, c.scadenta_incasare, c.coef_penalitati, ]+;
|
|
[c.id_responsabil, c.responsabil, c.id_sectie, c.sectie, c.durata, c.data_incetat, c.motiv_incetat, c.semnat, c.inactiv, NVL(c.observatii,to_clob(' ')) as observatii, ]+;
|
|
[c.opt_facturare, c.text_standard, c.id_nota, c.descriere, c.id_selectie, c.selectie, ] +;
|
|
[c.grnt_proc_ret, c.grnt_val_ret, c.grnt_alerta1, c.grnt_proc_alerta1, c.grnt_pv_nr, c.grnt_pv_data, c.grnt_perioada, ]+;
|
|
[c.numar_intern, c.data_intern, c.ofertanti, c.tip_istoric, c.id_tata, c.activ, c.suspendat, c.are_link,c.cod_fiscal, c.id_sucursala, c.sucursala, c.afisare_scadenta, c.moneda_nationala ]+;
|
|
[ from vcontracte_toate c ]
|
|
|
|
lcOrder = [c.denumire, c.id_tata, c.activ desc, c.id_ctr desc]
|
|
lcgroup = []
|
|
lcFiltru = [1=2] && [c.tip_istoric='C' and c.incetat=0 and c.inactiv=0]
|
|
|
|
Do Case
|
|
Case gnParametru_prog=1
|
|
lcFiltruOriginal = [substr(c.tata,2,6)='CLIENT']
|
|
Case gnParametru_prog=2
|
|
lcFiltruOriginal = [substr(c.tata,2,6)='FURNIZ']
|
|
Otherwise
|
|
lcFiltruOriginal = []
|
|
Endcase
|
|
|
|
llModParam = .T.
|
|
llAfiseaza = .F.
|
|
|
|
gencursor('poCtr','cContracte', lcSelect, lcFiltru, lcSchema, lcOrder, llAfiseaza, lcgroup, llModParam, lcFiltruOriginal)
|
|
poCtr.ca_baza1.afisare()
|
|
|
|
Endproc && viz_contracte
|
|
*!* ***-----------------------------------------------------------------------------------------------------------------------------
|
|
Procedure update_ctr_art
|
|
Parameters tcTabelArticole
|
|
|
|
Local lcTabelArticole
|
|
lcTabelArticole = tcTabelArticole
|
|
|
|
Private pnGasit, pnId_ctr_art, pnId_ctr, pnId_art, pnPret_cu_tva, pnPret_unitar, pnCant, pnValoare,pnDiscount, pnValcdiscount, pcUM, pnId_valuta_art
|
|
Store 0 To pnGasit, pnId_ctr_art, pnId_ctr, pnId_art, pnPret_cu_tva, pnPret_unitar, pnCant, pnValoare, pnDiscount, pnValcdiscount, pnId_valuta_art
|
|
Store "" To pcUM
|
|
|
|
&& update articole
|
|
lcDeleted = Set("Deleted")
|
|
Set Deleted Off
|
|
|
|
Select (lcTabelArticole)
|
|
Scan
|
|
pnId_ctr_art = id_ctr_art
|
|
pnId_ctr = id_ctr
|
|
pnId_art = id_art
|
|
pnPret_cu_tva = pret_cu_tva
|
|
pnPret_unitar = pret_unitar
|
|
pnCant = cant
|
|
pnValoare = valoare
|
|
pnDiscount = discount
|
|
pnValcdiscount = valcdiscount
|
|
pcUM = Alltrim(um)
|
|
pnId_valuta_art = id_valuta
|
|
|
|
If Deleted()
|
|
llsters = .T.
|
|
Else
|
|
llsters = .F.
|
|
Endif
|
|
|
|
lcSql = [begin pack_crm.cauta_ctr_art(?gcS, ?pnId_ctr, ?pnId_art, ?@pnGasit); end;]
|
|
lnSucces = goExecutor.oExecute(lcSql)
|
|
|
|
If lnSucces < 0
|
|
AMESSAGEBOX(goExecutor.cEroare,0+16,"Eroare")
|
|
Return
|
|
Endif
|
|
|
|
If pnGasit = 0
|
|
lcSql = [begin pack_crm.adauga_ctr_art(?gcS, ?pnId_ctr, ?pnId_art, ?pnPret_cu_tva, ?pnPret_unitar, ?pnCant, ?pnValoare, ?pnDiscount, ?pnValcdiscount, ?pcUM, ?pnId_valuta_art); end;]
|
|
lnSucces = goExecutor.oExecute(lcSql)
|
|
|
|
If lnSucces < 0
|
|
AMESSAGEBOX(goExecutor.cEroare,0+16,"Eroare")
|
|
Return
|
|
Endif
|
|
Else
|
|
If llsters && sterge_rata
|
|
lcSql = [begin pack_crm.sterge_ctr_art(?gcS, ?pnId_ctr_art); end;]
|
|
lnSucces = goExecutor.oExecute(lcSql)
|
|
|
|
If lnSucces < 0
|
|
AMESSAGEBOX(goExecutor.cEroare,0+16,"Eroare")
|
|
Return
|
|
Endif
|
|
Else
|
|
lcSql = [begin pack_crm.modifica_ctr_art(?gcS, ?pnId_ctr_art, ?pnId_ctr, ?Id_art, ?pnPret_cu_tva, ?pnPret_unitar, ?pnCant, ?pnValoare, ?pnDiscount, ?pnValcdiscount, ?pcUM, ?pnId_valuta_art); end;]
|
|
lnSucces = goExecutor.oExecute(lcSql)
|
|
|
|
If lnSucces < 0
|
|
AMESSAGEBOX(goExecutor.cEroare,0+16,"Eroare")
|
|
Return
|
|
Endif
|
|
Endif
|
|
Endif
|
|
Select (lcTabelArticole)
|
|
Endscan
|
|
|
|
Set Deleted &lcDeleted
|
|
|
|
Endproc && update_ctr_art
|
|
***-----------------------------------------------------------------------------------------------------------------------------
|
|
***-----------------------------------------------------------------------------------------------------------------------------
|
|
Procedure update_ctr_doc
|
|
Parameters tcTabelDocumente
|
|
|
|
Local lcTabelDocumente
|
|
lcTabelDocumente = tcTabelDocumente
|
|
|
|
Private pnGasit, pnId_ctr_doc, pnId_ctr, pcDenumire, pcLink
|
|
Store 0 To pnGasit, pnId_ctr_doc, pnId_ctr
|
|
Store "" To pcDenumire, pcLink
|
|
|
|
&& update documente
|
|
lcDeleted = Set("Deleted")
|
|
Set Deleted Off
|
|
|
|
Select (lcTabelDocumente)
|
|
Scan
|
|
pnId_ctr_doc = id_ctr_doc
|
|
pnId_ctr = id_ctr
|
|
pcDenumire = denumire
|
|
pcLink = Link
|
|
|
|
If Deleted()
|
|
llsters = .T.
|
|
Else
|
|
llsters = .F.
|
|
Endif
|
|
|
|
lcSql = [begin pack_crm.cauta_ctr_doc(?gcS, ?pnId_ctr_doc, ?@pnGasit); end;]
|
|
lnSucces = goExecutor.oExecute(lcSql)
|
|
|
|
If lnSucces < 0
|
|
AMESSAGEBOX(goExecutor.cEroare,0+16,"Eroare")
|
|
Return
|
|
Endif
|
|
|
|
If pnGasit = 0
|
|
lcSql = [begin pack_crm.adauga_ctr_doc(?gcS, ?pnId_ctr, ?pcDenumire, ?pcLink); end;]
|
|
lnSucces = goExecutor.oExecute(lcSql)
|
|
|
|
If lnSucces < 0
|
|
AMESSAGEBOX(goExecutor.cEroare,0+16,"Eroare")
|
|
Return
|
|
Endif
|
|
Else
|
|
If llsters && sterge_doc
|
|
lcSql = [begin pack_crm.sterge_ctr_doc(?gcS, ?pnId_ctr_doc); end;]
|
|
lnSucces = goExecutor.oExecute(lcSql)
|
|
|
|
If lnSucces < 0
|
|
AMESSAGEBOX(goExecutor.cEroare,0+16,"Eroare")
|
|
Return
|
|
Endif
|
|
Else
|
|
lcSql = [begin pack_crm.modifica_ctr_doc(?gcS, ?pnId_ctr_doc, ?pnId_ctr, ?pcDenumire, ?pcLink); end;]
|
|
lnSucces = goExecutor.oExecute(lcSql)
|
|
|
|
If lnSucces < 0
|
|
AMESSAGEBOX(goExecutor.cEroare,0+16,"Eroare")
|
|
Return
|
|
Endif
|
|
Endif
|
|
Endif
|
|
Select (lcTabelDocumente)
|
|
Endscan
|
|
|
|
Set Deleted &lcDeleted
|
|
|
|
Endproc && update_ctr_doc
|
|
***-----------------------------------------------------------------------------------------------------------------------------
|
|
*****************************************************************************
|
|
Function cauta_politica_preturi
|
|
Lparameters tnIdPol,tcNumePolitica,tnIdValuta,tcNumeValuta
|
|
Local locauta,llReturn
|
|
Store "" To locauta
|
|
Store .F. To llReturn
|
|
pcselect = [select id_pol, nume_lista_preturi, datai, datas, id_valuta, nume_val from vcrm_politici_preturi]
|
|
pcfiltru = [1=2]
|
|
pcschema = []
|
|
pcorder = [2]
|
|
pccoloane = [nume_lista_preturi, datai, datas, nume_val]
|
|
pcTitlu = [Politici de preturi actuale]
|
|
pcTitluColoane = [Nume lista preturi,Data inceput,Data sfarsit,Valuta]
|
|
locauta = cauta_alfa(pcselect,pcfiltru,pcschema,pcorder,pccoloane,pcTitlu,pcTitluColoane,"")
|
|
If !Empty(locauta.id_pol)
|
|
tnIdPol=locauta.id_pol
|
|
tcNumePolitica=Alltrim(locauta.nume_lista_preturi)
|
|
tnIdValuta=locauta.id_valuta
|
|
tcNumeValuta=Alltrim(locauta.nume_val)
|
|
llReturn=.T.
|
|
Endif
|
|
Return llReturn
|
|
Endfunc && cauta_politica_preturi
|
|
*****************************************************************************
|
|
*****************************************************************************
|
|
Procedure update_articole_politica_pret
|
|
Lparameters tnIdPol
|
|
If Used('crsarticole')
|
|
Use In crsarticole
|
|
Endif
|
|
lcSql=[select id_articol, id_pol_art, nume_articol, um, pret, nume_val, id_valuta, 0 as ales from ] + gcS + [.vcrm_politici_pret_art ]+;
|
|
[where id_pol=]+Alltrim(Str(tnIdPol))+[ order by 2]
|
|
lnSucces=goExecutor.oExecute(lcSql,'crsarticole')
|
|
If lnSucces < 0
|
|
AMESSAGEBOX(goExecutor.cEroare,0+16,'Eroare')
|
|
Endif
|
|
goExecutor.oReset()
|
|
Return lnSucces
|
|
|
|
Endproc && update_articole_politica_pret
|
|
***-----------------------------------------------------------------------------------------------------------------------------
|
|
Procedure modifica_ctr_dg
|
|
Parameters toContract
|
|
|
|
Local loContract
|
|
loContract = toContract
|
|
|
|
Private pcId_ctr, pcId_part, pcData, pcNumar, pcId_tip_ctr, pcInactiv,pcSuspendat, pcValftva, pcvalctva, pcId_valuta, pcVal_discount
|
|
Private pcProc_tva, pcIncetat, pcData_inceput, pcData_sfarsit, pcScadenta_incasare, pcCoef_penalitati, pcId_responsabil, pcId_sectie
|
|
Private pcDurata, pcData_incetat, pcMotiv_incetat, pcSemnat, pcObservatii, pcId_nota, pcDescriere, pcId_selectie
|
|
Private pcGrnt_proc_ret, pcGrnt_val_ret, pcGrnt_alerta1, pcGrnt_proc_alerta1, pcGrnt_pv_nr, pcGrnt_pv_data, pcGrnt_perioada
|
|
Private pcData_intern, pcNumar_intern, pcOfertanti
|
|
|
|
Local lnSucces
|
|
lnSucces = -1
|
|
|
|
pcId_ctr = Alltrim(Str(loContract.id_ctr))
|
|
pcId_part = Nvl(Alltrim(Str(loContract.id_part)),"0")
|
|
pcData = Dtos(loContract.Data)
|
|
pcNumar = Nvl(Alltrim(loContract.numar),"")
|
|
pcId_tip_ctr = Iif(Empty(Nvl(loContract.id_tip_ctr,0)),'NULL',Alltrim(Str(loContract.id_tip_ctr)))
|
|
pcInactiv = Nvl(Alltrim(Str(loContract.Inactiv)),"0")
|
|
If loContract.valftva*0=0
|
|
pcValftva = Nvl(Alltrim(Str(loContract.valftva,20,gnPA)),"NULL")
|
|
Else
|
|
pcValftva = "0"
|
|
Endif
|
|
If loContract.valctva *0=0
|
|
pcvalctva = Nvl(Alltrim(Str(loContract.valctva,20,gnPA)),"NULL")
|
|
Else
|
|
pcvalctva = "0"
|
|
Endif
|
|
pcId_valuta = Nvl(Alltrim(Str(loContract.id_valuta)),"NULL")
|
|
If loContract.val_discount*0=0
|
|
pcVal_discount = Nvl(Alltrim(Str(loContract.val_discount,20,gnPA)),"NULL")
|
|
Else
|
|
pcVal_discount = "0"
|
|
Endif
|
|
pcProc_tva = Nvl(Alltrim(Str(loContract.proc_tva)),"NULL")
|
|
pcIncetat = Nvl(Alltrim(Str(loContract.Incetat)),"0")
|
|
pcData_inceput = Nvl(Dtos(loContract.data_inceput),"")
|
|
pcData_sfarsit = Nvl(Dtos(loContract.data_sfarsit),"")
|
|
pcScadenta_incasare = Nvl(Alltrim(Str(loContract.scadenta_incasare)),"NULL")
|
|
pcAfisareScadenta = NVL(ALLTRIM(STR(loContract.afisare_scadenta)),"1")
|
|
pcCoef_penalitati = Nvl(Alltrim(Str(loContract.coef_penalitati,6,gnPA)),"NULL")
|
|
pcId_responsabil = Nvl(Alltrim(Str(loContract.id_responsabil)),"NULL")
|
|
pcId_sectie = Nvl(Alltrim(Str(loContract.id_sectie)),"NULL")
|
|
pcDurata = Nvl(Alltrim(Str(loContract.durata)),"NULL")
|
|
pcData_incetat = Nvl(Dtos(loContract.data_incetat),"")
|
|
pcMotiv_incetat = Nvl(Alltrim(loContract.motiv_incetat),"")
|
|
pcSemnat = Nvl(Alltrim(Str(loContract.semnat)),"0")
|
|
lcIdUtil = Alltrim(Str(gnIdUtil))
|
|
pcObservatii = Nvl(Alltrim(loContract.observatii)," ")
|
|
pcOpt_facturare = Nvl(Alltrim(Str(loContract.opt_facturare)),"0")
|
|
pcText_standard = Nvl(Alltrim(Str(loContract.text_standard)),"0")
|
|
pcId_nota = Nvl(Alltrim(Str(loContract.id_nota)),"NULL")
|
|
|
|
pcDescriere = Nvl(Alltrim(loContract.descriere),"")
|
|
pcId_selectie = Iif(Empty(Nvl(loContract.id_selectie,0)),'NULL',Alltrim(Str(loContract.id_selectie))) && Nvl(Alltrim(Str(loContract.id_selectie)),"NULL")
|
|
|
|
pcGrnt_proc_ret = Nvl(Alltrim(Str(loContract.grnt_proc_ret)),"NULL")
|
|
pcGrnt_val_ret = Nvl(Alltrim(Str(loContract.grnt_val_ret)),"NULL")
|
|
pcGrnt_alerta1 = Nvl(Alltrim(Str(loContract.grnt_alerta1)),"NULL")
|
|
pcGrnt_proc_alerta1 = Nvl(Alltrim(Str(loContract.grnt_proc_alerta1)),"NULL")
|
|
pcGrnt_pv_nr = Nvl(Alltrim(Str(loContract.grnt_pv_nr)),"NULL")
|
|
pcGrnt_pv_data = Nvl(Dtos(loContract.grnt_pv_data),"")
|
|
pcGrnt_perioada = Nvl(Alltrim(Str(loContract.grnt_perioada)),"NULL")
|
|
|
|
pcData_intern = Nvl(Dtos(loContract.Data_intern),"")
|
|
pcNumar_intern = Nvl(Alltrim(loContract.numar_intern),"")
|
|
pcOfertanti = Nvl(Alltrim(loContract.ofertanti),"")
|
|
pcSuspendat = Nvl(Alltrim(Str(loContract.suspendat)),"0")
|
|
|
|
lcSql = [begin pack_crm.modifica_contract(] + pcId_ctr + [,] + pcId_part + ;
|
|
[, TO_DATE(]+Iif(!Empty(pcData) And !Isnull(pcData),[']+pcData+['],[NULL])+[,'YYYY-MM-DD'),']+pcNumar + [',]+;
|
|
pcId_tip_ctr + [,] + pcInactiv +[,]+;
|
|
pcValftva + [,] + pcvalctva + [,] + pcId_valuta + [,] + pcVal_discount + [,] + pcProc_tva + [,] + ;
|
|
pcIncetat + ;
|
|
[,to_date(]+Iif(!Empty(pcData_inceput) And !Isnull(pcData_inceput),[']+pcData_inceput+['],[NULL])+ [,'YYYY-MM-DD')]+;
|
|
[,to_date(]+Iif(!Empty(pcData_sfarsit) And !Isnull(pcData_sfarsit),[']+pcData_sfarsit+['],[NULL])+ [,'YYYY-MM-DD'),]+;
|
|
pcScadenta_incasare + [,] + pcAfisareScadenta + [,] + pcCoef_penalitati + [,] + ;
|
|
pcId_responsabil + [,] + pcId_sectie + [,] + pcDurata + ;
|
|
[,to_date(]+Iif(!Empty(pcData_incetat) And !Isnull(pcData_incetat),[']+pcData_incetat+['],[NULL])+ [,'YYYY-MM-DD'),']+;
|
|
pcMotiv_incetat + [',] + pcSemnat + [,'] + pcObservatii + [',] + pcOpt_facturare + [,] + pcText_standard + [,] + pcId_nota + [,] + lcIdUtil + ;
|
|
[,'] + pcDescriere + [',] + pcId_selectie + ;
|
|
[,] + pcGrnt_proc_ret + [,] + pcGrnt_val_ret + [,] + pcGrnt_alerta1 + [,] + pcGrnt_proc_alerta1 + [,] + pcGrnt_pv_nr + ;
|
|
[,to_date(]+Iif(!Empty(pcGrnt_pv_data) And !Isnull(pcGrnt_pv_data),[']+pcGrnt_pv_data+['],[NULL])+ [,'YYYY-MM-DD')]+;
|
|
[,]+ pcGrnt_perioada +;
|
|
[, TO_DATE(]+Iif(!Empty(pcData_intern) And !Isnull(pcData_intern),[']+pcData_intern+['],[NULL])+[,'YYYY-MM-DD'),']+pcNumar_intern + [',]+pcSuspendat + [,']+pcOfertanti +['); end;]
|
|
|
|
lnSucces = goExecutor.oExecute(lcSql)
|
|
|
|
If lnSucces < 0
|
|
AMESSAGEBOX(goExecutor.cEroare,0+16,"Eroare")
|
|
Endif
|
|
|
|
Return lnSucces
|
|
|
|
Endproc && modifica_ctr_dg
|
|
***-----------------------------------------------------------------------------------------------------------------------------
|
|
Procedure adauga_contract
|
|
Parameters tcAlias, tcNumar
|
|
|
|
Local lcAlias
|
|
lcAlias = tcAlias
|
|
|
|
Private pnId_ctr, pnId_tip_ctr, pcNumar
|
|
Store 0 To pnId_ctr
|
|
pcNumar = tcNumar
|
|
|
|
pnId_tip_ctr = Iif(gnParametru_prog=1,'-1','-2')
|
|
**---------------------
|
|
|
|
lcSql = [begin pack_crm.adauga_contract(?pnId_tip_ctr,?gnIdSucursala,?@pnId_ctr, ?pcNumar); end;]
|
|
lnSucces = goExecutor.oExecute(lcSql)
|
|
|
|
If lnSucces < 0
|
|
AMESSAGEBOX(goExecutor.cEroare,0+16,"Eroare")
|
|
Return
|
|
Endif
|
|
**---------------------
|
|
|
|
Return pnId_ctr
|
|
Endproc && adauga_contract
|
|
***-----------------------------------------------------------------------------------------------------------------------------
|
|
Procedure facturi_atasate
|
|
|
|
Do make_cCtrScadentar
|
|
|
|
Private poFact_atas
|
|
Store '' To poFact_atas
|
|
|
|
Local lcSchema1, lcSelect1, lcOrder1, lcFiltru1, lcFiltruOriginal, llAfiseaza
|
|
lcSchema1 = []
|
|
|
|
lcSelect1 = [select rf.*, ip.NRACT, ip.DATAACT, ip.EXPLICATIA ]+;
|
|
[ from vctr_rate_facturi rf ]+;
|
|
[ left join vctr_scadentar s on s.id_rata = rf.id_rata ]+;
|
|
[ left join (select distinct id_fact, nract, dataact, explicatia from vireg_parteneri) ip ]+;
|
|
[ on ip.id_fact = rf.ID_FACT ]
|
|
|
|
lcOrder1 = []
|
|
lcgroup = []
|
|
lcFiltru1 = []
|
|
lcFiltruOriginal = [s.id_ctr=] + Alltrim(Str(goContract.id_ctr))
|
|
|
|
llModParam = .T.
|
|
llAfiseaza = .F.
|
|
|
|
gencursor('poFact_atas','cFactAtas', lcSelect1, lcFiltru1, lcSchema1, lcOrder1, llAfiseaza, lcgroup, llModParam, lcFiltruOriginal)
|
|
poFact_atas.ca_baza1.afisare()
|
|
|
|
|
|
lofa = Createobject("frm_atasare_facturi")
|
|
lofa.Show(1)
|
|
|
|
If Used('cCtrScadentar')
|
|
Use In cCtrScadentar
|
|
Endif
|
|
|
|
Endproc && facturi_atasate
|
|
***-----------------------------------------------------------------------------------------------------------------------------
|
|
Procedure make_cursoare_ctr
|
|
Parameters tlToate,tcFiltruCtr
|
|
|
|
&& creeaza cursoarele pt. modificare date generale contract
|
|
|
|
Local llToate && pt. toate contractele (folosesc la listare fisa contractului)
|
|
llToate = tlToate
|
|
|
|
Do make_cCtrScadentar With llToate
|
|
Do make_crsAtasamente In oproceduri_atasamente.prg
|
|
Do make_cCtrArt With llToate
|
|
Do make_cCtrFactGarant With llToate
|
|
Do make_cCtrFacturatIncasat With llToate,tcFiltruCtr
|
|
Endproc && make_cursoare_ctr
|
|
***-----------------------------------------------------------------------------------------------------------------------------
|
|
Procedure inchide_cursoare_ctr
|
|
|
|
Do inchide_cCtrScadentar
|
|
Do inchide_crsAtasamente In oproceduri_atasamente.prg
|
|
Do inchide_cCtrArt
|
|
Do inchide_cCtrFactGarant
|
|
Do inchide_cCtrFacturatIncasat
|
|
Endproc && inchide_cursoare_ctr
|
|
***-----------------------------------------------------------------------------------------------------------------------------
|
|
Procedure make_cCtrScadentar
|
|
Parameters tlToate
|
|
|
|
Local lcSchema, lcSelect, lcOrder, lcFiltru, lcFiltruOriginal, llAfiseaza, llToate
|
|
llToate = tlToate
|
|
Store '' To lcgroup, lcFiltru, lcFiltruOriginal
|
|
*!* lcSchema1 = [id_ctr N(8), id_rata N(5), nr_rata N(10), data_rata D(8), data_scadenta D(8), valrata N(16,2), valfact N(16,2), den_rata C(80), procent N(5,2), id_valuta N(5), nume_val C(10), lid_fact N(1)]
|
|
*!* lcSelect1 = [select id_ctr, id_rata, nr_rata, data_rata, data_scadenta, valrata, valfact, den_rata, procent, id_valuta, nume_val, 0 as lid_fact ]+;
|
|
*!* [ from vctr_scadentar]
|
|
|
|
lcSchema = [valvaluta N(16,2), valvalutactva N(16,2), id_ctr N(8), id_rata N(5), nr_rata N(10), data_rata D(8), data_scadenta D(8), ]+;
|
|
[ pret_cu_tva n(1), proc_tva N(6,2), valrata N(16,2), valrataftva N(16,2), valratactva N(16,2), den_rata C(80), procent N(5,2), id_valuta N(5), nume_val C(10), moneda_nationala N(1), lid_fact N(1)]
|
|
lcSelect = [select nvl(rf.VALVALUTA, 0) as valvaluta, ]+;
|
|
[ rf.valvalutactva as valvalutactva, ]+;
|
|
[ s.id_ctr, s.id_rata, s.nr_rata, s.data_rata, s.data_scadenta, s.pret_cu_tva, s.proc_tva, s.valrata, ]+;
|
|
[ decode(s.pret_cu_tva,0,s.valrata,s.valrata/(1+s.proc_tva/100)) as valrataftva, ]+;
|
|
[ decode(s.pret_cu_tva,0,s.valrata*(1+s.proc_tva/100),s.valrata) as valratactva, ]+;
|
|
[s.den_rata, s.procent, s.id_valuta, s.nume_val, s.moneda_nationala, 0 as lid_fact ]+;
|
|
[ from (select * from vctr_scadentar s where id_ctr = ]+ Alltrim(Str(goContract.id_ctr)) +[) s ]+;
|
|
[ left join (select id_rata, sum(valvaluta) as valvaluta, ]+;
|
|
[sum(valvalutactva) as valvalutactva ] +;
|
|
[ from vctr_rate_facturi where id_ctr = ] + Alltrim(Str(goContract.id_ctr)) +;
|
|
[ group by id_rata) rf on rf.ID_RATA = s.id_rata ]
|
|
|
|
&& lid_fact - ca sa pot sa colorez ratele care sunt acoperite de o factura
|
|
|
|
lcOrder = [s.nr_rata, s.data_rata]
|
|
lcgroup = []
|
|
lcFiltru = []
|
|
|
|
If llToate
|
|
lcSelect = [select nvl(rf.VALVALUTA, 0) as valvaluta, ]+;
|
|
[ rf.valvalutactva as valvalutactva, ]+;
|
|
[ s.id_ctr, s.id_rata, s.nr_rata, s.data_rata, s.data_scadenta, s.pret_cu_tva, s.proc_tva, s.valrata, ]+;
|
|
[ decode(s.pret_cu_tva,0,s.valrata,s.valrata/(1+s.proc_tva/100)) as valrataftva, ]+;
|
|
[ decode(s.pret_cu_tva,0,s.valrata*(1+s.proc_tva/100),s.valrata) as valratactva, ]+;
|
|
[s.den_rata, s.procent, s.id_valuta, s.nume_val, s.moneda_nationala, 0 as lid_fact ]+;
|
|
[ from vctr_scadentar s ]+;
|
|
[ left join (select id_rata, sum(valvaluta) as valvaluta, ]+;
|
|
[sum(valvalutactva) as valvalutactva ] +;
|
|
[ from vctr_rate_facturi ]+;
|
|
[ group by id_rata) rf on rf.ID_RATA = s.id_rata ]
|
|
Endif
|
|
llModParam = .T.
|
|
llAfiseaza = .F.
|
|
|
|
gencursor('poCtrScadentar','cCtrScadentarI', lcSelect, lcFiltru, lcSchema, lcOrder, llAfiseaza, lcgroup, llModParam, lcFiltruOriginal)
|
|
poCtrScadentar.ca_baza1.afisare()
|
|
|
|
Select * From cCtrScadentarI With (Buffering = .T.) ;
|
|
INTO Cursor cCtrScadentar Readwrite
|
|
|
|
If Used('cCtrScadentarI')
|
|
Use In cCtrScadentarI
|
|
Endif
|
|
|
|
Endproc && make_cCtrScadentar
|
|
***-----------------------------------------------------------------------------------------------------------------------------
|
|
Procedure inchide_cCtrScadentar
|
|
|
|
If Used('cCtrScadentar')
|
|
Use In cCtrScadentar
|
|
Endif cCtrScadentar
|
|
|
|
Endproc && inchide_cCtrScadentar
|
|
***-----------------------------------------------------------------------------------------------------------------------------
|
|
Procedure make_cCtrArt
|
|
Parameters tlToate
|
|
|
|
Local llToate
|
|
llToate = tlToate
|
|
If llToate
|
|
lcSel = 'select * from vctr_articole order by nume_articol'
|
|
Else
|
|
lcSel = 'select * from vctr_articole where id_ctr = '+ Alltrim(Str(goContract.id_ctr)) + ' order by nume_articol'
|
|
Endif
|
|
lcCursor = 'cCtrArtI'
|
|
lnSucces = goExecutor.oExecute(lcSel, lcCursor)
|
|
If lnSucces < 0
|
|
AMESSAGEBOX(goExecutor.cEroare,0+16,"Eroare")
|
|
Return
|
|
Endif
|
|
|
|
Select * From cCtrArtI With (Buffering = .T.) Into Cursor cCtrArt Readwrite
|
|
|
|
If Used('cCtrArtI')
|
|
Use In cCtrArtI
|
|
Endif
|
|
|
|
Endproc && make_cCtrArt
|
|
***-----------------------------------------------------------------------------------------------------------------------------
|
|
Procedure inchide_cCtrArt
|
|
|
|
If Used('cCtrArt')
|
|
Use In cCtrArt
|
|
Endif
|
|
|
|
Endproc && cCtrArt
|
|
***-----------------------------------------------------------------------------------------------------------------------------
|
|
Procedure viz_incasari
|
|
|
|
lcSel = [{call pack_crm.get_incasari(] + Alltrim(Str(gnParametru_prog)) + [,] + Alltrim(Str(goContract.id_part)) + [)}]
|
|
|
|
lcCursor = 'cIncasari'
|
|
lnSucces = goExecutor.oExecute(lcSel, lcCursor)
|
|
If lnSucces < 0
|
|
AMESSAGEBOX(goExecutor.cEroare,0+16,"Eroare")
|
|
Return
|
|
Endif
|
|
|
|
Select cIncasari
|
|
lofi = Createobject('frm_incasari')
|
|
Do Case
|
|
Case gnParametru_prog = 1
|
|
lofi.lb_titlu_alb_b121.Caption = 'Incasari '+ Alltrim(goContract.denumire)
|
|
Case gnParametru_prog = 2
|
|
lofi.lb_titlu_alb_b121.Caption = 'Plati '+ Alltrim(goContract.denumire)
|
|
Endcase
|
|
|
|
lofi.Show(1)
|
|
|
|
If Used('cIncasari')
|
|
Use In cIncasari
|
|
Endif
|
|
|
|
Endproc && viz_incasari
|
|
***-----------------------------------------------------------------------------------------------------------------------------
|
|
********************************** INCEPUT: rap_fact_grup_ctr **************************
|
|
Procedure rap_fact_grup_ctr
|
|
Parameters tcCont, tlActiv
|
|
|
|
Private pnId_ctr, pnId_part, pcCont
|
|
pnIdLucrare = 0
|
|
|
|
If Empty(tcCont)
|
|
pcCont = []
|
|
Else
|
|
pcCont = Alltrim(tcCont)
|
|
Endif
|
|
plActiv = tlActiv
|
|
pnId_part = goContract.id_part
|
|
|
|
|
|
pcselect = [select id_ctr, contract from vcontracte]
|
|
pcfiltru = [1=2]
|
|
pcschema = []
|
|
pcorder = [contract]
|
|
pccoloane = [contract]
|
|
pcTitlu = [Alegeti contractul]
|
|
Do Case
|
|
Case gnParametru_prog = 1
|
|
pcFiltruOriginal = [substr(tata,2,6)='CLIENT' ]
|
|
Case gnParametru_prog = 2
|
|
pcFiltruOriginal = [substr(tata,2,6)='FURNIZ' ]
|
|
Otherwise
|
|
pcFiltruOriginal = []
|
|
Endcase
|
|
locauta = cauta_alfa(pcselect,pcfiltru,pcschema,pcorder,pccoloane,pcTitlu,pcTitlu,[],.T.,pcFiltruOriginal)
|
|
pnId_ctr = Iif(Empty(locauta.id_ctr), 0, locauta.id_ctr)
|
|
|
|
|
|
If gnButon = 2
|
|
Return
|
|
Endif
|
|
|
|
pcCondCtr = Iif(Empty(pnId_ctr), [1=1], [id_ctr = ?pnId_ctr ])
|
|
|
|
*!* lcSelect = [select dataact, datascad, nract, nume, id_part, id_ctr, contract, SUM(] + IIF(plActiv,[debit + precdeb],[credit + preccred]) + [) as tot_fact, ] +;
|
|
*!* [ SUM(] + IIF(plActiv,[credit + preccred],[debit + precdeb]) + [) as tot_achit, ] +;
|
|
*!* [ 00000000000000.0000 as sold_contract, 00000000000000.0000 as sold_part ] +;
|
|
*!* [ from vireg_parteneri ] + ;
|
|
*!* [ where id_part = ?pnId_part and cont = ?pcCont and ] + pcCondCtr + ;
|
|
*!* [ group by dataact, datascad, nract, nume, id_part, id_ctr, contract ] + ;
|
|
*!* [ order by contract, id_ctr, dataact, nract ]
|
|
lcSelect = [select dataact, datascad, nract, nume, id_part, id_ctr, contract, SUM(] + Iif(plActiv,[debit],[credit]) + [) as tot_fact, ] +;
|
|
[ SUM(] + Iif(plActiv,[credit],[debit]) + [) as tot_achit, ] +;
|
|
[ 00000000000000.0000 as sold_contract, 00000000000000.0000 as sold_part ] +;
|
|
[ from vireg_parteneri ] + ;
|
|
[ where id_part = ?pnId_part and cont = ?pcCont and ] + pcCondCtr + ;
|
|
[ group by dataact, datascad, nract, nume, id_part, id_ctr, contract ] + ;
|
|
[ order by contract, id_ctr, dataact, nract ]
|
|
lcCursor = [cFacturi]
|
|
lnSucces = goExecutor.oExecute(lcSelect,lcCursor)
|
|
If lnSucces < 0
|
|
AMESSAGEBOX(goExecutor.cEroare,0+16,'Eroare')
|
|
Return
|
|
Endif
|
|
|
|
lcTitlu = [Facturi ] + pcCont
|
|
pcTitlu = ceretitlu_rap('Titlul Raportului',lcTitlu)
|
|
pcdataora = get_Ora(2)
|
|
Select (lcCursor)
|
|
If Reccount() = 0
|
|
AMESSAGEBOX("Nu exista inregistrari pentru listare!",0+48,"Atentie")
|
|
Else
|
|
Report Form ireg_parteneri_rpt5.frx To Printer Prompt Preview
|
|
Endif
|
|
If Used(lcCursor)
|
|
Use In &lcCursor
|
|
Endif
|
|
|
|
Endproc && rap_fact_grup_ctr
|
|
|
|
********************************** SFARSIT: rap_fact_grup_ctr **************************
|
|
Procedure rateDeFacturat
|
|
|
|
lorf = Createobject('frm_rateDeFacturat')
|
|
lorf.Show(1)
|
|
|
|
Endproc && rateDeFacturat
|
|
***---------------------------------------------------------------------------------------------------------------------------
|
|
Procedure viz_selectii
|
|
|
|
Private poSelectii
|
|
Store '' To poSelectii
|
|
|
|
Local lcSchema, lcSelect, lcOrder, lcgroup, lcFiltru, lcFiltruOriginal, llModParam, llAfiseaza
|
|
|
|
lcSchema = []
|
|
lcSelect = [select id_selectie, selectie from vctr_selectii ]
|
|
lcOrder = [selectie]
|
|
lcgroup = []
|
|
lcFiltru = [1=2]
|
|
llModParam = .T.
|
|
llAfiseaza = .F.
|
|
|
|
gencursor('poSelectii','cSelectii', lcSelect, lcFiltru, lcSchema, lcOrder, llAfiseaza, lcgroup, llModParam, lcFiltruOriginal)
|
|
poSelectii.ca_baza1.afisare()
|
|
|
|
Select cSelectii
|
|
ofrm_sel = Createobject('frm_selectii')
|
|
ofrm_sel.Show(1)
|
|
Release poSelectii
|
|
|
|
Endproc && viz_selectii
|
|
***---------------------------------------------------------------------------------------------------------------------------
|
|
Procedure viz_alerte_garantii
|
|
Parameters tnPornire
|
|
|
|
** tnPornire - daca nu am alerte nevalidate, sa nu-mi arate fereastra la intrarea in program
|
|
|
|
Local lnNr_alerte, lnPornire
|
|
Store 0 To lnNr_alerte
|
|
|
|
If Empty(tnPornire)
|
|
lnPornire = 0
|
|
Else
|
|
lnPornire = tnPornire
|
|
Endif
|
|
|
|
lcSql = [begin pack_crm.insereaza_alerte; end;]
|
|
lnSucces = goExecutor.oExecute(lcSql)
|
|
|
|
If lnSucces < 0
|
|
AMESSAGEBOX(goExecutor.cEroare,0+16,"Eroare")
|
|
Return
|
|
Endif
|
|
|
|
*!* lcSql = [{call pack_crm.viz_alerte(] + Alltrim(Str(gnParametru_prog)) + [)}]
|
|
*!* lnSucces = goExecutor.oExecute(lcSql,'cAlerte')
|
|
*!* If lnSucces < 0
|
|
*!* AMESSAGEBOX(goExecutor.cEroare,0+16,'Eroare')
|
|
*!* Return
|
|
*!* Endif
|
|
|
|
***-------------
|
|
Private poAlerte
|
|
Store '' To poAlerte
|
|
|
|
Local lcSchema, lcSelect, lcOrder, lcFiltru, lcFiltruOriginal, llAfiseaza, lcgroup, lcFiltruOriginal
|
|
lcSchema = []
|
|
|
|
Do Case
|
|
Case gnParametru_prog=1
|
|
lcCondTata = [substr(b.tata,2,6)='CLIENT']
|
|
Case gnParametru_prog=2
|
|
lcCondTata = [substr(b.tata,2,6)='FURNIZ']
|
|
Otherwise
|
|
lcCondTata = []
|
|
Endcase
|
|
|
|
lcSelect = [select b.denumire, ]+;
|
|
[ b.numar, ]+;
|
|
[ b.data, ]+;
|
|
[ (case a.nr_alerta ]+;
|
|
[ when 1 then to_char(a.data_referinta_alerta) || ' depasire termen contractual' ]+;
|
|
[ when 2 then trunc(b.grnt_pv_data + b.grnt_alerta1) || ]+;
|
|
[ ' restituire ' || round(a.sumadeplata,2) || ' lei (factura ' || c.nract || ' / ' ]+;
|
|
[ || c.dataact || ')' ]+;
|
|
[ when 3 then (case when a.sumadeplata is not null or a.sumadeplata <> 0 then ]+;
|
|
[ to_char(Add_months(b.grnt_pv_data, b.grnt_perioada)) || ]+;
|
|
[ ' restituire ' || round(a.sumadeplata,2)|| ' lei' end) ]+;
|
|
[ when 4 then to_char(a.data_referinta_alerta) || ' ultima rata definita ' end) as descriere, ]+;
|
|
[ a.nr_alerta, ]+;
|
|
[ a.validat, ]+;
|
|
[ a.instiintat, ]+;
|
|
[ a.id_ctr, ]+;
|
|
[ a.id_fact, ]+;
|
|
[ a.id ]+;
|
|
[ from vcontracte b ]+;
|
|
[ join ctr_log_alerte a on a.id_ctr = b.ID_CTR ]+;
|
|
[ left join (select id_fact, nract, dataact from ireg_parteneri ]+;
|
|
[ where (extract(year from dataireg) * 12 + extract(month from dataireg) = ]+;
|
|
[ an * 12 + luna)) c on c.id_fact = a.id_fact ]
|
|
|
|
lcFiltru = [((((a.nr_alerta in (2, 3)) and ]+;
|
|
[ (a.sumadeplata is not null and a.sumadeplata <> 0))) or ]+;
|
|
[ (a.nr_alerta in (1, 4))) and ]+ lcCondTata
|
|
|
|
lcFiltruOriginal = []
|
|
llModParam = .T.
|
|
llAfiseaza = .F.
|
|
|
|
gencursor('poAlerte','cAlerte', lcSelect, lcFiltru, lcSchema, lcOrder, llAfiseaza, lcgroup, llModParam, lcFiltruOriginal)
|
|
poAlerte.ca_baza1.afisare()
|
|
***-------------
|
|
|
|
Select cAlerte
|
|
Set Filter To Validat = 0
|
|
Select Count(*) As nr_alerte From cAlerte Where Validat = 0 Into Cursor cNrAlerte
|
|
Select cNrAlerte
|
|
lnNr_alerte = nr_alerte
|
|
|
|
If Used('cNrAlerte')
|
|
Use In cNrAlerte
|
|
Endif
|
|
|
|
If lnPornire <> 0
|
|
If lnNr_alerte > 0
|
|
Select cAlerte
|
|
loa = Createobject('frm_alerte')
|
|
loa.Show(1)
|
|
Endif
|
|
Else
|
|
Select cAlerte
|
|
loa = Createobject('frm_alerte')
|
|
loa.Show(1)
|
|
Endif
|
|
|
|
If Used('cAlerte')
|
|
Use In cAlerte
|
|
Endif
|
|
|
|
Endproc && viz_alerte_garantii
|
|
***---------------------------------------------------------------------------------------------------------------------------
|
|
Procedure make_cCtrFactGarant
|
|
Parameters tlToate
|
|
|
|
Local lcSchema, lcSelect, lcOrder, lcFiltru, llAfiseaza, llToate
|
|
llToate = tlToate
|
|
lcSchema = [id_ctr N(8), id_fact n(20), id_ctr_fact_garan N(10), nract N(14), dataact D, valftva n(20,2), garantie n(14,2) ]
|
|
|
|
lcSelect = [select fg.id_ctr, fg.id_fact, fg.id_ctr_fact_garan, ip.nract, ip.dataact, fg.valftva, fg.garantie ]+;
|
|
[ from ctr_facturi_garantii fg left join ireg_parteneri ip on fg.id_fact = ip.id_fact ]
|
|
|
|
lcOrder = [ip.dataact]
|
|
lcgroup = []
|
|
If llToate
|
|
lcFiltru = [extract(year from ip.dataireg) * 12 + extract(month from ip.dataireg) = an * 12 + luna]
|
|
Else
|
|
lcFiltru = [fg.id_ctr = ]+Alltrim(Str(goContract.id_ctr))+ [ and extract(year from ip.dataireg) * 12 + extract(month from ip.dataireg) = an * 12 + luna]
|
|
Endif
|
|
|
|
Do Case
|
|
Case gnParametru_prog=1
|
|
lcFiltru = lcFiltru + [ and ip.cont = '4111' ]
|
|
Case gnParametru_prog=2
|
|
lcFiltru = lcFiltru + [ and (ip.cont = '401' or ip.cont = '404') ]
|
|
Endcase
|
|
|
|
lcFiltruOriginal = []
|
|
llModParam = .T.
|
|
llAfiseaza = .F.
|
|
|
|
gencursor('poCtrFactGarant','cCtrFactGarantI', lcSelect, lcFiltru, lcSchema, lcOrder, llAfiseaza, lcgroup, llModParam, lcFiltruOriginal)
|
|
poCtrFactGarant.ca_baza1.afisare()
|
|
|
|
Select * From cCtrFactGarantI ;
|
|
WITH (Buffering = .T.) ;
|
|
INTO Cursor cCtrFactGarant Readwrite
|
|
|
|
If Used('cCtrFactGarantI')
|
|
Use In cCtrFactGarantI
|
|
Endif
|
|
|
|
Endproc && make_cCtrFactGarant
|
|
***---------------------------------------------------------------------------------------------------------------------------
|
|
Procedure inchide_cCtrFactGarant
|
|
|
|
If Used('cCtrFactGarant')
|
|
Use In cCtrFactGarant
|
|
Endif
|
|
|
|
Endproc && inchide_cCtrFactGarant
|
|
***-----------------------------------------------------------------------------------------------------------------------------
|
|
Procedure make_cCtrActeAditionale
|
|
Parameters tlToate
|
|
|
|
Private poCtrActeAditionale
|
|
Store '' To poCtrActeAditionale
|
|
|
|
Local lcSchema1, lcSelect1, lcOrder1, lcFiltru1, llAfiseaza, llToate
|
|
llToate = tlToate
|
|
lcSchema1 = [numar c(20), data D, descriere c(100), id_tata N(8)]
|
|
lcSelect1 = [select numar, data, descriere, id_tata ]+;
|
|
[ from vcontracte_toate]
|
|
|
|
lcOrder1 = [data desc]
|
|
lcgroup = []
|
|
lcFiltru1 = [2=2]
|
|
|
|
If llToate
|
|
lcFiltruOriginal = [tip_istoric = 'A']
|
|
Else
|
|
lcFiltruOriginal = [tip_istoric = 'A' and id_tata = ]+Alltrim(Str(goContract.id_ctr))
|
|
Endif
|
|
llModParam = .T.
|
|
llAfiseaza = .F.
|
|
|
|
gencursor('poCtrActeAditionale','cCtrActeAditionale', lcSelect1, lcFiltru1, lcSchema1, lcOrder1, llAfiseaza, lcgroup, llModParam, lcFiltruOriginal)
|
|
poCtrActeAditionale.ca_baza1.afisare()
|
|
|
|
|
|
Endproc && make_cCtrActeAditionale
|
|
***-----------------------------------------------------------------------------------------------------------------------------
|
|
Procedure declarare_generator_numere
|
|
|
|
If Type('poGeneratorNumere') = 'U'
|
|
Public poGeneratorNumere
|
|
poGeneratorNumere = Createobject('oGeneratorNumere')
|
|
Endif
|
|
|
|
Endproc && declarare_generator_numere
|
|
***-----------------------------------------------------------------------------------------------------------------------------
|
|
Procedure restdefacturat
|
|
|
|
Private pcfiltru
|
|
Store "1=1" To pcfiltru
|
|
|
|
lorf = Createobject('frm_restdefacturat')
|
|
lorf.Show(1)
|
|
|
|
Endproc && restdefacturat
|
|
***-----------------------------------------------------------------------------------------------------------------------------
|
|
Procedure make_crsNote
|
|
|
|
Private poNote
|
|
Store '' To poNote
|
|
|
|
Local lcSchema1, lcSelect1, lcOrder1, lcFiltru1, llAfiseaza, lcgroup, llModParam, lcFiltruOriginal
|
|
lcSchema1 = []
|
|
lcSelect1 = [select denumire, id_nota from vcrm_note_vanzari nv]
|
|
lcOrder1 = [denumire]
|
|
lcgroup = []
|
|
lcFiltru1 = []
|
|
lcFiltruOriginal = []
|
|
llModParam = .T.
|
|
llAfiseaza = .F.
|
|
|
|
gencursor('poNote','crsNote', lcSelect1, lcFiltru1, lcSchema1, lcOrder1, llAfiseaza, lcgroup, llModParam, lcFiltruOriginal)
|
|
poNote.ca_baza1.afisare()
|
|
Select crsNote
|
|
|
|
Endproc && make_crsNote
|
|
***-----------------------------------------------------------------------------------------------------------------------------
|
|
Procedure make_crsValute
|
|
|
|
lcSql = [select id_valuta, nume_val, moneda_nationala FROM vnom_valute where inactiv = 0 order by nume_val]
|
|
lnSucces=goExecutor.oExecute(lcSql,'crsValute')
|
|
If lnSucces < 0
|
|
AMESSAGEBOX(goExecutor.cEroare,0+16,'Eroare')
|
|
Endif
|
|
Select crsValute
|
|
|
|
Endproc && make_crsValute
|
|
***-----------------------------------------------------------------------------------------------------------------------------
|
|
Procedure make_crsSectii
|
|
|
|
Create Cursor crsSectii(id_sectie N(5), sectie c(50))
|
|
Insert Into crsSectii (id_sectie, sectie) Values (0, '')
|
|
lcSql = [select id_sectie, sectie FROM vnom_sectii where inactiv = 0] + gcCondSucursala + [ order by sectie]
|
|
lnSucces=goExecutor.oExecute(lcSql,'crsSectiiI')
|
|
If lnSucces < 0
|
|
AMESSAGEBOX(goExecutor.cEroare,0+16,'Eroare')
|
|
Endif
|
|
Select crsSectii
|
|
Append From Dbf('crsSectiiI')
|
|
|
|
If Used('crsSectiiI')
|
|
Use In crsSectiiI
|
|
Endif
|
|
|
|
Endproc && make_crsSectii
|
|
***-----------------------------------------------------------------------------------------------------------------------------
|
|
Procedure make_crsTip_ctr
|
|
|
|
Do Case
|
|
Case gnParametru_prog=1
|
|
lcWhere = [ where substr(tata,2,6)='CLIENT']
|
|
Case gnParametru_prog=2
|
|
lcWhere = [ where substr(tata,2,6)='FURNIZ']
|
|
Otherwise
|
|
lcWhere = []
|
|
Endcase
|
|
|
|
lcSql = [select id_tip_ctr, denumire_tip FROM vtipuri_contracte]+lcWhere + [ order by denumire_tip]
|
|
lnSucces=goExecutor.oExecute(lcSql,'crsTip_ctr')
|
|
If lnSucces < 0
|
|
AMESSAGEBOX(goExecutor.cEroare,0+16,'Eroare')
|
|
Endif
|
|
Select crsTip_ctr
|
|
|
|
Endproc && make_crsTip_ctr
|
|
***-----------------------------------------------------------------------------------------------------------------------------
|
|
Procedure make_crsSelectii
|
|
|
|
Create Cursor crsSelectii(id_selectie N(4), selectie c(100))
|
|
Insert Into crsSelectii(id_selectie , selectie ) Values (0, '')
|
|
lcSql = [select id_selectie, selectie FROM vctr_selectii]
|
|
lnSucces=goExecutor.oExecute(lcSql,'crsSelectiiI')
|
|
If lnSucces < 0
|
|
AMESSAGEBOX(goExecutor.cEroare,0+16,'Eroare')
|
|
Endif
|
|
Select crsSelectii
|
|
Append From Dbf('crsSelectiiI')
|
|
|
|
If Used('crsSelectiiI')
|
|
Use In crsSelectiiI
|
|
Endif
|
|
|
|
Endproc && make_crsSelectii
|
|
***-----------------------------------------------------------------------------------------------------------------------------
|
|
Procedure inchide_crsNote
|
|
|
|
If Used('crsNote')
|
|
Use In crsNote
|
|
Endif
|
|
|
|
Endproc && inchide_crsNote
|
|
***-----------------------------------------------------------------------------------------------------------------------------
|
|
Procedure inchide_crsValute
|
|
|
|
If Used('crsValute')
|
|
Use In crsValute
|
|
Endif
|
|
|
|
Endproc && inchide_crsValute
|
|
***-----------------------------------------------------------------------------------------------------------------------------
|
|
Procedure inchide_crsSectii
|
|
|
|
If Used('crsSectii')
|
|
Use In crsSectii
|
|
Endif
|
|
|
|
Endproc && inchide_crsSectii
|
|
***-----------------------------------------------------------------------------------------------------------------------------
|
|
Procedure inchide_crsTip_ctr
|
|
|
|
If Used('crsTip_ctr')
|
|
Use In crsTip_ctr
|
|
Endif
|
|
|
|
Endproc && inchide_crsTip_ctr
|
|
***-----------------------------------------------------------------------------------------------------------------------------
|
|
Procedure inchide_crsSelectii
|
|
|
|
If Used('crsSelectii')
|
|
Use In crsSelectii
|
|
Endif
|
|
|
|
Endproc && inchide_crsSelectii
|
|
***-----------------------------------------------------------------------------------------------------------------------------
|
|
Procedure salveaza_obiectul
|
|
Parameters tcTabel
|
|
|
|
Local lcTabel
|
|
lcTabel = tcTabel
|
|
|
|
lcSel = 'select * from vctr_articole where id_ctr = '+ Alltrim(Str(goContract.id_ctr)) + ' order by nume_articol'
|
|
lcCursor = 'cCtrArt_server'
|
|
lnSucces = goExecutor.oExecute(lcSel, lcCursor)
|
|
If lnSucces < 0
|
|
AMESSAGEBOX(goExecutor.cEroare,0+16,"Eroare")
|
|
Return lnSucces
|
|
Endif
|
|
|
|
* daca exista id_pol_art pe server, care nu mai sunt pe local, sterg
|
|
Select * From cCtrArt_server ;
|
|
Where id_ctr_art Not In (Select id_ctr_art From (lcTabel)) ;
|
|
INTO Cursor cArt_sters
|
|
|
|
Select cArt_sters
|
|
Scan
|
|
pcId_pol_art = Nvl(Alltrim(Str(id_pol_art)),'NULL')
|
|
pcId_articol = Nvl(Alltrim(Str(id_articol)),'NULL')
|
|
lcSql = [begin pack_crm.sterge_ctr_art(] + Alltrim(Str(gnParametru_prog)) + [,] + pcId_ctr + [,] + Iif(gnParametru_prog=1,pcId_pol_art,pcId_articol) + [); end;]
|
|
lnSucces = goExecutor.oExecute(lcSql)
|
|
|
|
If lnSucces < 0
|
|
AMESSAGEBOX(goExecutor.cEroare,0+16,"Eroare")
|
|
Return lnSucces
|
|
Endif
|
|
|
|
Select cArt_sters
|
|
Endscan
|
|
|
|
If Used('cArt_sters')
|
|
Use In cArt_sters
|
|
Endif
|
|
|
|
* daca exista id_ctr_art in plus in cursorul de pe local, adaug pe server
|
|
|
|
|
|
Select * From (lcTabel) Where Empty(id_ctr_art) ;
|
|
INTO Cursor cArt_nou
|
|
|
|
Select cArt_nou
|
|
Scan
|
|
pcId_pol_art = Iif(Empty(id_pol_art) Or Isnull(id_pol_art),'NULL',Alltrim(Str(id_pol_art)))
|
|
pcId_articol = Nvl(Alltrim(Str(id_articol)),'NULL')
|
|
pcPret_cu_tva = Alltrim(Str(pret_cu_tva))
|
|
pcPret_unitar = Nvl(Alltrim(Str(pret_unitar,20,gnPC)),"0")
|
|
pcCant = Alltrim(Str(cant,10,gnPCant))
|
|
pcCoef_discount = Nvl(Alltrim(Str(coef_discount,10,gnPC)),"0")
|
|
pcVal_discount = Nvl(Alltrim(Str(val_discount,20,gnPC)),"0")
|
|
pcId_valuta = Alltrim(Str(id_valuta))
|
|
pcUM = Nvl(Alltrim(um),'')
|
|
pcExplicatie = "" && ALLTRIM(explicatie)
|
|
|
|
lcSql = [begin pack_crm.adauga_ctr_art(] + pcId_ctr + [,] + pcId_pol_art + [,] + pcId_articol + [,] + pcPret_cu_tva + [,] + pcPret_unitar + [,] + ;
|
|
pcCant + [,] + pcCoef_discount + [,] + ;
|
|
pcVal_discount + [,] + pcId_valuta + [,'] + pcUM + [','] + pcExplicatie +['); end;]
|
|
|
|
lnSucces = goExecutor.oExecute(lcSql)
|
|
|
|
If lnSucces < 0
|
|
AMESSAGEBOX(goExecutor.cEroare,0+16,"Eroare")
|
|
Return lnSucces
|
|
Endif
|
|
Select cArt_nou
|
|
Endscan
|
|
|
|
If Used('cArt_nou')
|
|
Use In cArt_nou
|
|
Endif
|
|
|
|
|
|
* pentru articolele care au deja id_ctr_art, fac update pe server
|
|
Select * From (lcTabel) Where !Empty(id_ctr_art) ;
|
|
INTO Cursor cArt_modi
|
|
|
|
Select cArt_modi
|
|
Scan
|
|
pcId_pol_art = Nvl(Alltrim(Str(id_pol_art)),'NULL')
|
|
pcId_articol = Nvl(Alltrim(Str(id_articol)),'NULL')
|
|
pcCant = Nvl(Alltrim(Str(cant,10,gnPCant)),"")
|
|
pcPret_cu_tva = Alltrim(Str(pret_cu_tva))
|
|
pcPret_unitar = Alltrim(Str(pret_unitar,20,gnPC))
|
|
pcCoef_discount = Alltrim(Str(coef_discount,10,gnPC))
|
|
pcVal_discount = Alltrim(Str(val_discount,20,gnPC))
|
|
pcId_valuta = Alltrim(Str(id_valuta))
|
|
|
|
lcSql = [begin pack_crm.modifica_ctr_art(] + pcParametru_prog + [,] + pcId_ctr + [,] + pcId_pol_art + [,] + pcId_articol + [,] + pcCant + [,] + ;
|
|
pcPret_cu_tva + [,] + pcPret_unitar + [,] + pcCoef_discount + [,] + pcVal_discount + [,] + pcId_valuta + [); end;]
|
|
lnSucces = goExecutor.oExecute(lcSql)
|
|
|
|
If lnSucces < 0
|
|
AMESSAGEBOX(goExecutor.cEroare,0+16,"Eroare")
|
|
Return lnSucces
|
|
Endif
|
|
|
|
Select cArt_modi
|
|
Endscan
|
|
|
|
If Used('cArt_modi')
|
|
Use In cArt_modi
|
|
Endif
|
|
|
|
If Used('cCtrArt_server')
|
|
Use In cCtrArt_server
|
|
Endif
|
|
|
|
Return lnSucces
|
|
|
|
Endproc && salveaza_obiectul
|
|
***-----------------------------------------------------------------------------------------------------------------------------
|
|
Procedure salveaza_rate
|
|
Parameters tcTabel
|
|
|
|
Local lcTabel, lcId_scadentar, lcNr_rata, lcData_rata, lcData_scadenta, lcPret_cu_tva, lcProc_tva, lcValrata, lcId_valuta, lcDen_rata, lcProcent
|
|
lcTabel = tcTabel
|
|
|
|
lcSel = 'select id_rata from vctr_scadentar where id_ctr = '+ Alltrim(Str(goContract.id_ctr)) + ' order by nr_rata, data_rata'
|
|
lcCursor = 'cCtrScadentar_server'
|
|
lnSucces = goExecutor.oExecute(lcSel, lcCursor)
|
|
If lnSucces < 0
|
|
AMESSAGEBOX(goExecutor.cEroare,0+16,"Eroare")
|
|
Return lnSucces
|
|
Endif
|
|
|
|
|
|
* daca exista id_rata in plus in cursorul de pe local, adaug pe server
|
|
Select * From (lcTabel) Where (Empty(id_rata) Or Isnull(id_rata)) ;
|
|
INTO Cursor cRate_nou
|
|
Select cRate_nou
|
|
Scan
|
|
lcId_scadentar = Alltrim(Str(id_rata))
|
|
lcNr_rata = Nvl(Alltrim(Str(nr_rata)),'0')
|
|
lcData_rata = Alltrim(Dtos(data_rata))
|
|
lcData_scadenta = Alltrim(Dtos(data_scadenta))
|
|
lcPret_cu_tva = Nvl(Alltrim(Str(pret_cu_tva,20,gnPC)),'0')
|
|
lcProc_tva = Nvl(Alltrim(Str(proc_tva,20,gnPC)),'0')
|
|
lcValrata = Nvl(Alltrim(Str(valrata,20,gnPC)),'0')
|
|
lcId_valuta = Nvl(Alltrim(Str(id_valuta)),'0')
|
|
lcDen_rata = Nvl(Alltrim(den_rata),'')
|
|
lcProcent = Nvl(Alltrim(Str(procent,5,gnPC)),'0')
|
|
|
|
lcSql = [begin pack_crm.adauga_scadentar(] + pcId_ctr + [,] + lcNr_rata + ;
|
|
[,'] + lcDen_rata + [']+;
|
|
[,to_date(]+Iif(!Empty(lcData_rata) And !Isnull(lcData_rata),[']+lcData_rata+['],[NULL])+[,'YYYYMMDD')] + ;
|
|
[,to_date(]+Iif(!Empty(lcData_scadenta) And !Isnull(lcData_scadenta),[']+lcData_scadenta+['],[NULL])+[,'YYYYMMDD'),] + ;
|
|
lcPret_cu_tva + [,] + lcProc_tva + [,] + lcValrata + [,] + lcProcent + [,] + lcId_valuta + [,] + Alltrim(Str(gnIdUtil)) +[); end;]
|
|
|
|
lnSucces = goExecutor.oExecute(lcSql)
|
|
|
|
If lnSucces < 0
|
|
AMESSAGEBOX(goExecutor.cEroare,0+16,"Eroare")
|
|
Return lnSucces
|
|
Endif
|
|
Select cRate_nou
|
|
Endscan
|
|
|
|
If Used('cRate_nou')
|
|
Use In cRate_nou
|
|
Endif
|
|
|
|
* daca exista id_rata pe server, care nu mai sunt pe local, sterg
|
|
Select * From cCtrScadentar_server ;
|
|
Where id_rata Not In (Select id_rata From &lcTabel) ;
|
|
INTO Cursor cRate_sters
|
|
|
|
Select cRate_sters
|
|
Scan
|
|
pcId_rata = Alltrim(Str(id_rata))
|
|
lcSql = [begin pack_crm.sterge_scadentar(] + pcId_rata + [,] + Alltrim(Str(gnIdUtil)) + [); end;]
|
|
lnSucces = goExecutor.oExecute(lcSql)
|
|
|
|
If lnSucces < 0
|
|
AMESSAGEBOX(goExecutor.cEroare,0+16,"Eroare")
|
|
Return lnSucces
|
|
Endif
|
|
|
|
Select cRate_sters
|
|
Endscan
|
|
|
|
If Used('cRate_sters')
|
|
Use In cRate_sters
|
|
Endif
|
|
|
|
* pentru ratele care au deja id_rata, fac update pe server
|
|
Select * From (lcTabel) Where !Empty(id_rata) ;
|
|
INTO Cursor cRate_modi
|
|
|
|
Select cRate_modi
|
|
Scan
|
|
|
|
lcId_scadentar = Alltrim(Str(id_rata))
|
|
lcNr_rata = Nvl(Alltrim(Str(nr_rata)),'0')
|
|
lcData_rata = Alltrim(Dtos(data_rata))
|
|
lcData_scadenta = Alltrim(Dtos(data_scadenta))
|
|
lcPret_cu_tva = Nvl(Alltrim(Str(pret_cu_tva,20,gnPC)),'0')
|
|
lcProc_tva = Nvl(Alltrim(Str(proc_tva,20,gnPC)),'0')
|
|
lcValrata = Nvl(Alltrim(Str(valrata,20,gnPC)),'0')
|
|
lcId_valuta = Nvl(Alltrim(Str(id_valuta)),'0')
|
|
lcDen_rata = Nvl(Alltrim(den_rata),'')
|
|
lcProcent = Nvl(Alltrim(Str(procent,5,gnPC)),'0')
|
|
|
|
lcSql = [begin pack_crm.modifica_scadentar(] + lcId_scadentar + [,] + lcNr_rata + ;
|
|
[,to_date(]+Iif(!Empty(lcData_rata) And !Isnull(lcData_rata),[']+lcData_rata+['],[NULL])+[,'YYYYMMDD')] + ;
|
|
[,to_date(]+Iif(!Empty(lcData_scadenta) And !Isnull(lcData_scadenta),[']+lcData_scadenta+['],[NULL])+[,'YYYYMMDD'),] + ;
|
|
lcPret_cu_tva + [,] + lcProc_tva + [,] + lcValrata + [,] + lcId_valuta + [,'] + lcDen_rata + [',] + lcProcent + [); end;]
|
|
|
|
lnSucces = goExecutor.oExecute(lcSql)
|
|
|
|
If lnSucces < 0
|
|
AMESSAGEBOX(goExecutor.cEroare,0+16,"Eroare")
|
|
Return lnSucces
|
|
Endif
|
|
|
|
Select cRate_modi
|
|
Endscan
|
|
|
|
If Used('cRate_modi')
|
|
Use In cRate_modi
|
|
Endif
|
|
|
|
If Used('cCtrScadentar_server')
|
|
Use In cCtrScadentar_server
|
|
Endif
|
|
|
|
Return lnSucces
|
|
Endproc && salveaza_rate
|
|
***-----------------------------------------------------------------------------------------------------------------------------
|
|
*!* modificare v 2.0.41 : am mutat-o in oproceduri_atasamente.prg
|
|
*!* Procedure salveaza_atasamente
|
|
*!* Parameters tcTabel
|
|
*!* Local lcTabel
|
|
*!* lcTabel = tcTabel
|
|
*!* lcSql = [select ar.id_referinta ]+;
|
|
*!* [ from VATAS_REFERINTE ar ]+;
|
|
*!* [ where ar.nume_fisier is not null and ar.id_tip_entitate = 2 and ar.id_entitate=]+Alltrim(Str(goContract.id_ctr))
|
|
*!* lcCursor = 'crsAtasamente_server'
|
|
*!* lnSucces = goExecutor.oExecute(lcSql, lcCursor)
|
|
*!* If lnSucces < 0
|
|
*!* AMESSAGEBOX(goExecutor.cEroare,0+16,"Eroare")
|
|
*!* Return lnSucces
|
|
*!* Endif
|
|
*!* * daca exista id_referinta in plus in cursorul de pe local, adaug pe server
|
|
*!* Private pnId_entitate, pnTip_entitate, pcLink, pcDescriere, pcFis_name, pcFisier, pnId_atas
|
|
*!* Store 0 To pnId_entitate, pnTip_entitate, pnId_atas
|
|
*!* Store "" To pcDescriere, pcFis_name, pcFisier, pcLink
|
|
*!* pnId_entitate = goContract.id_ctr
|
|
*!* pnTip_entitate = 2
|
|
*!* Select * From (lcTabel) ;
|
|
*!* Where (Empty(id_referinta) Or Isnull(id_referinta)) ;
|
|
*!* INTO Cursor cAtasamente_nou
|
|
*!* Select cAtasamente_nou
|
|
*!* Scan
|
|
*!* pcDescriere = Upper(Alltrim(descriere))
|
|
*!* pcFis_name = Upper(Alltrim(nume_fisier))
|
|
*!* *!* If Empty(pcLink)
|
|
*!* *!* Return
|
|
*!* *!* Endif
|
|
*!* * pcFisier = Filetostr(pcLink)
|
|
*!* pcFisier = fisier
|
|
*!* lcSql = [insert into atas_atasamente(fisier, nume_fisier, descriere, id_util) ]+;
|
|
*!* [values (?pcFisier, ?pcFis_name, ?pcDescriere, ?gnIdUtil) ] + ;
|
|
*!* [ returning id_atas into ?@pnId_atas]
|
|
*!* lnSucces = goExecutor.oExecute(lcSql)
|
|
*!* If lnSucces < 0
|
|
*!* aMessagebox(goExecutor.cEroare,0+16,'Eroare')
|
|
*!* Endif
|
|
*!* lcSql = [insert into atas_referinte(id_atas, id_tip_entitate, id_entitate, id_util) ]+;
|
|
*!* [values (?pnId_atas, ?pnTip_entitate, ?pnId_entitate, ?gnIdUtil) ]
|
|
*!* lnSucces = goExecutor.oExecute(lcSql)
|
|
*!* If lnSucces < 0
|
|
*!* aMessagebox(goExecutor.cEroare,0+16,'Eroare')
|
|
*!* Return lnSucces
|
|
*!* Endif
|
|
*!* Select cAtasamente_nou
|
|
*!* Endscan
|
|
*!* If Used('cAtasamente_nou')
|
|
*!* Use In cAtasamente_nou
|
|
*!* Endif
|
|
*!* * daca exista id_referinta pe server, care nu mai sunt pe local, sterg
|
|
*!* *!* Select id_referinta From crsAtasamente_server ;
|
|
*!* *!* Where id_referinta Not In (Select id_referinta From cId_ref) ;
|
|
*!* *!* INTO Cursor cAtasamente_sters
|
|
*!* lcDeleted = Set("Deleted")
|
|
*!* Set Deleted Off
|
|
*!* Select * From (lcTabel) Where Deleted() And !Empty(id_referinta);
|
|
*!* INTO Cursor cAtasamente_sters
|
|
*!* Select cAtasamente_sters
|
|
*!* Scan
|
|
*!* *pcId_atas = Alltrim(Str(id_atas))
|
|
*!* lcId_referinta = Alltrim(Str(id_referinta))
|
|
*!* lcSql = [update atas_referinte set sters = 1, dataoras = SYSDATE, id_utils = ] + Alltrim(Str(gnIdUtil)) + ;
|
|
*!* [ WHERE id_referinta = ] + lcId_referinta
|
|
*!* *[ WHERE id_atas = ] + pcId_atas
|
|
*!* *lcSql = lcSql + [ and id_tip_entitate=2 and id_entitate=]+Alltrim(Str(goContract.id_ctr))
|
|
*!* lnSucces = goExecutor.oExecute(lcSql)
|
|
*!* If lnSucces < 0
|
|
*!* AMESSAGEBOX(goExecutor.cEroare,0+16,"Eroare")
|
|
*!* Return lnSucces
|
|
*!* Endif
|
|
*!* Select cAtasamente_sters
|
|
*!* Endscan
|
|
*!* If Used('cAtasamente_sters')
|
|
*!* Use In cAtasamente_sters
|
|
*!* Endif
|
|
*!* Set Deleted &lcDeleted
|
|
*!* If Used('cAtasamente_sters')
|
|
*!* Use In cAtasamente_sters
|
|
*!* Endif
|
|
*!* If Used('crsAtasamente_server')
|
|
*!* Use In crsAtasamente_server
|
|
*!* Endif
|
|
*!* Return lnSucces
|
|
*!* Endproc && salveaza_atasamente
|
|
*!* modificare v 2.0.41 ^
|
|
***-----------------------------------------------------------------------------------------------------------------------------
|
|
Procedure salveaza_garantii
|
|
Parameters tcTabel
|
|
|
|
Local lcTabel
|
|
lcTabel = tcTabel
|
|
|
|
lcSql = [select fg.id_ctr, fg.id_ctr_fact_garan, ip.nract, ip.dataact, fg.valftva, fg.garantie ]+;
|
|
[ from ctr_facturi_garantii fg ]+;
|
|
[ left join ireg_parteneri ip ]+;
|
|
[ on fg.id_fact = ip.id_fact ]+;
|
|
[ where fg.id_ctr = ]+Alltrim(Str(goContract.id_ctr))+ [ and extract(year from ip.dataireg) * 12 + extract(month from ip.dataireg) = an * 12 + luna]
|
|
|
|
Do Case
|
|
Case gnParametru_prog=1
|
|
lcSql = lcSql+ [ and ip.cont = '4111' ]
|
|
Case gnParametru_prog=2
|
|
lcSql = lcSql+ [ and (ip.cont = '401' or ip.cont = '404') ]
|
|
Endcase
|
|
|
|
lcCursor = 'crsFactGarant_server'
|
|
lnSucces = goExecutor.oExecute(lcSql, lcCursor)
|
|
If lnSucces < 0
|
|
AMESSAGEBOX(goExecutor.cEroare,0+16,"Eroare")
|
|
Return lnSucces
|
|
Endif
|
|
|
|
* daca exista id_ctr_fact_garan in plus in cursorul de pe local, adaug pe server
|
|
Select * From (lcTabel) ;
|
|
Where Empty(Nvl(id_ctr_fact_garan,0)) ;
|
|
INTO Cursor crsFactGarant_nou
|
|
|
|
Select crsFactGarant_nou
|
|
Scan
|
|
lnId_fact = id_fact
|
|
lnFactValftva = valftva
|
|
lnGarantieRetinuta = garantie
|
|
|
|
lcSql = [begin pack_crm.adauga_factura_garantie(]+Alltrim(Str(goContract.id_ctr))+[,] + Alltrim(Str(lnId_fact))+[,]+;
|
|
ALLTRIM(Str(lnFactValftva,20,gnPA))+[,]+Alltrim(Str(lnGarantieRetinuta,20,gnPA))+[); end;]
|
|
lnSucces = goExecutor.oExecute(lcSql)
|
|
|
|
If lnSucces < 0
|
|
AMESSAGEBOX(goExecutor.cEroare,0+16,"Eroare")
|
|
Return lnSucces
|
|
Endif
|
|
|
|
Select crsFactGarant_nou
|
|
Endscan
|
|
|
|
If Used('crsFactGarant_nou')
|
|
Use In crsFactGarant_nou
|
|
Endif
|
|
|
|
|
|
* daca exista id_ctr_fact_garan pe server, care nu mai sunt pe local, sterg
|
|
|
|
Select id_ctr_fact_garan From crsFactGarant_server;
|
|
Where id_ctr_fact_garan Not In (Select id_ctr_fact_garan From (lcTabel)) ;
|
|
INTO Cursor crsFactGarant_sters
|
|
|
|
|
|
*!* lcDeleted = Set("Deleted")
|
|
|
|
*!* Set Deleted Off
|
|
*!* Select * From (lcTabel) Where Deleted() And !Empty(id_referinta);
|
|
*!* INTO Cursor cAtasamente_sters
|
|
|
|
Select crsFactGarant_sters
|
|
Scan
|
|
lnId_ctr_fact_garan = id_ctr_fact_garan
|
|
lcSql = [begin pack_crm.sterge_factura_garantie(]+Alltrim(Str(lnId_ctr_fact_garan))+[); end;]
|
|
lnSucces = goExecutor.oExecute(lcSql)
|
|
|
|
If lnSucces < 0
|
|
AMESSAGEBOX(goExecutor.cEroare,0+16,"Eroare")
|
|
Return lnSucces
|
|
Endif
|
|
Select crsFactGarant_sters
|
|
Endscan
|
|
|
|
If Used('crsFactGarant_sters')
|
|
Use In crsFactGarant_sters
|
|
Endif
|
|
|
|
*Set Deleted &lcDeleted
|
|
|
|
* pentru garantiile care au deja id_ctr_fact_garan, fac update pe server
|
|
Select * From (lcTabel) Where !Empty(Nvl(id_ctr_fact_garan,0)) ;
|
|
INTO Cursor crsFactGarant_modi
|
|
|
|
Select crsFactGarant_modi
|
|
Scan
|
|
|
|
lnId_ctr_fact_garan = id_ctr_fact_garan
|
|
lnFactValftva = valftva
|
|
lnGarantieRetinuta = garantie
|
|
|
|
lcSql = [begin pack_crm.modifica_factura_garantie(]+Alltrim(Str(lnId_ctr_fact_garan))+[,]+;
|
|
ALLTRIM(Str(lnFactValftva,20,gnPA))+[,]+Alltrim(Str(lnGarantieRetinuta,20,gnPA))+[); end;]
|
|
lnSucces = goExecutor.oExecute(lcSql)
|
|
|
|
If lnSucces < 0
|
|
AMESSAGEBOX(goExecutor.cEroare,0+16,"Eroare")
|
|
Return lnSucces
|
|
Endif
|
|
|
|
Select crsFactGarant_modi
|
|
Endscan
|
|
|
|
If Used('crsFactGarant_modi')
|
|
Use In crsFactGarant_modi
|
|
Endif
|
|
|
|
If Used('crsFactGarant_server')
|
|
Use In crsFactGarant_server
|
|
Endif
|
|
|
|
Return lnSucces
|
|
Endproc && salveaza_garantii
|
|
***-----------------------------------------------------------------------------------------------------------------------------
|
|
Procedure make_cCtrFacturatIncasat
|
|
Parameters tlToate, tcFiltruCtr
|
|
Local llToate
|
|
llToate = tlToate
|
|
|
|
If llToate
|
|
lcSelect = [select i.dataact, i.datascad, i.nract, i.nume, i.id_part, i.id_ctr, i.contract,c.numar,c.data,i.id_responsabil,i.nresp,c.nume_val,c.valftva, SUM(] + Iif(gnParametru_prog = 1,[debit],[credit]) + [) as tot_fact, ] +;
|
|
[ SUM(] + Iif(gnParametru_prog = 1,[credit],[debit]) + [) as tot_achit, ] +;
|
|
[ 00000000000000.0000 as sold_contract, 00000000000000.0000 as sold_part ] +;
|
|
[ from vireg_parteneri i join vcontracte_toate c on i.id_ctr=c.id_ctr] + ;
|
|
IIF(!Empty(tcFiltruCtr),[ where ]+ tcFiltruCtr,[]) +;
|
|
[ group by i.dataact, i.datascad, i.nract, i.nume, i.id_part, i.id_ctr, i.contract,c.numar,c.data,i.id_responsabil,i.nresp,c.nume_val,c.valftva ] + ;
|
|
[ order by c.nume_val,c.data,c.numar]
|
|
Else
|
|
lcSelect = [select i.dataact, i.datascad, i.nract, i.nume, i.id_part, i.id_ctr, i.contract,c.numar,c.data,i.id_responsabil,i.nresp,c.nume_val,c.valftva, SUM(] + Iif(gnParametru_prog = 1,[debit],[credit]) + [) as tot_fact, ] +;
|
|
[ SUM(] + Iif(gnParametru_prog = 1,[credit],[debit]) + [) as tot_achit, ] +;
|
|
[ 00000000000000.0000 as sold_contract, 00000000000000.0000 as sold_part ] +;
|
|
[ from vireg_parteneri i join vcontracte_toate c on i.id_ctr=c.id_ctr] + ;
|
|
[ where i.id_ctr = ]+ Alltrim(Str(goContract.id_ctr)) +;
|
|
[ group by i.dataact, i.datascad, i.nract, i.nume, i.id_part, i.id_ctr, i.contract,c.numar,c.data,i.id_responsabil,i.nresp,c.nume_val,c.valftva ] + ;
|
|
[ order by c.nume_val,c.data,c.numar]
|
|
Endif
|
|
lcCursor = [cCtrFacturatIncasatI]
|
|
lnSucces = goExecutor.oExecute(lcSelect,lcCursor)
|
|
If lnSucces < 0
|
|
AMESSAGEBOX(goExecutor.cEroare,0+16,'Eroare')
|
|
Return
|
|
Endif
|
|
Select * From cCtrFacturatIncasatI With (Buffering = .T.) Into Cursor cCtrFacturatIncasat Readwrite
|
|
|
|
If Used('cCtrFacturatIncasatI')
|
|
Use In cCtrFacturatIncasatI
|
|
Endif
|
|
|
|
Endproc
|
|
|
|
Procedure inchide_cCtrFacturatIncasat
|
|
If Used('cCtrFacturatIncasat')
|
|
Use In cCtrFacturatIncasat
|
|
Endif
|
|
Endproc
|
|
****************************************************************************************
|
|
Procedure actualizeaza_drepturi_roacontracte
|
|
If gnParametru_prog = 2
|
|
With oprinc.pagefr1
|
|
.page1.cw2.visible = .F.
|
|
.page1.cw6.visible = .F.
|
|
.page4.cw4.visible = .F.
|
|
.page4.cw5.visible = .F.
|
|
Endwith
|
|
Endif
|
|
Endproc
|
|
**************************************************************************************** |