*!* 19.08.2014 *!* marius.mutu *!* listare_comanda_deviz: adaugare camp UM pe listare deviz, comanda *!* 14.11.2014 *!* marius.mutu *!* listare_comanda_deviz - materialele se listeaza in ordinea adaugarii pe bon in rulaj (la fel ca in gestiuni) *!* #4076 *!* 14.11.2014 *!* marius.mutu *!* listare_comanda_deviz - Daca nu cumulez materialele, pot aparea piese date in consum si aceleasi piese pe retur, care ar fi trebuit sa fie pe 0 cantitativ si sa nu apara in deviz *!* apar in ordinea din bon, dar cumulate, daca sunt mai multe aparitii pentru acelasi articol *!* 25.11.2014 *!* marius.mutu *!* listare_comanda_deviz: se listeaza nrfact/datafact pe deviz *!* 25.11.2014 *!* marius.mutu *!* listare_comanda_deviz: ?pnIdOrdl in loc de valoarea id-ului - hard parse in baza de date si dureaza f mult *!* 25.04.2019 *!* marius.mutu *!* listare_comanda_deviz - pcExecutant - numele mecanicilor pentru listarea pe rap_deviz.frx la Executant ************************************************************************************************************************ **** Obiecte **** oDateFacturaDevize **** Proceduri **** listare_deviz **** listare_comenzi_validate **** listare_comanda **** listare_raport_comanda **** listarefacturi_itp **** listarefacturi_spalare **** listarefacturi_sectie **** facturi_emise_pe_asig **** listare_masiniclienti -- neapelata **** listare_clientiadrese -- neapelata **** fact_emi -- neapelata **** fact_ord_em -- neapelata **** list_man_tot_desf **** list_man_tot_com **** list_comanda **** listare_precomanda -- nu se mai foloseste in factureaza **** listare_avans **** listare_factura **** creare_bon_fiscal -- apelata din actbaza.verfi.Terminat1.click **** listare_bon_fiscal **** facturi_emise_pe_sectii **** manopera_sectii_anfabr **** manopera_sectii_anfabr_centralizator **** manopera_sectii **** devize_pe_marci_de_masini ************************************************************************************************************************ Define Class oDateFacturaDevize As Custom ntipfactura = 0 devize_multiple = 0 listanrord = [] dataact = {} datascad = {} serie_act = [] nract = 0 id_client = Null nume_client = [] nume_responsabil= [] && alte date pentru facturare BIresp = [] CNPresp = [] id_delegat = Null nume_delegat = [] BIdelegat = [] elibdelegat = [] CNPdelegat = [] eliberatde = [] nrinmat_del = [] proc_tva = 0 nrchit = 0 datachit = {} sumaachit = 0 sumavorbe = [] text_aditional = [] Procedure Init Lparameters tnIdPartener,tcSirNrord,tcNrInmat,tnDevize,tnTipFactura With This .id_client = tnIdPartener .nrinmat_del = tcNrInmat .devize_multiple = tnDevize .listanrord = tcSirNrord .nTipFactura = tnTipFactura Endwith Endproc Enddefine ************************************************************************************************************************ ************************************************* INCEPUT : listare_deviz ********************************************** Procedure listare_comanda_deviz Lparameters toFereastra,toComanda,tnTip Local lcSql,lnSucces,llReturn,lcCursorManopera,lcCursorMateriale,llCursorManopera,llCursorMateriale,lcCursorDateClient, lcCursorDateFirma, lcCursorDeviz, lcSetareRaport Private pnTipDeviz, pcDataOra PRIVATE pcExecutant pcExecutant = '' pnTipDeviz = Iif(toComanda.Validat=1 And !Empty(tnTip),2,1) llReturn = .T. lcCursorManopera = [oper] lcCursorRulaje = [rul] lcCursorMateriale = [rulcumulat] lcCursorDateClient = [crsdateclient] lcCursorDateFirma = [crsdatefirma] lcCursorDeviz = [crslistare] llCursorManopera = Used(lcCursorManopera) llCursorMateriale = Used(lcCursorRulaje) pcDataOra = get_ora(2) If !llCursorManopera *!* row_number() over (order by datai,id_oper) as nrcrt, lcSql = [select id_ordl,codop,timpn,pret,denop,datai,id_oper ] + ; [from ] + gcS + [.auto_voper where id_ordl = ] + Alltrim(Str(toComanda.id_ordl)) + [ and ] + ; [extract(month from datai)+extract(year from datai)*12<=?gnLuna+?gnAn*12 ] + ; [order by 1] llSucces = goExecutor.oExecuta(lcSql,lcCursorManopera) llReturn = m.llSucces IF m.llSucces TEXT TO lcSql TEXTMERGE NOSHOW select STRINGAGG(denumire) as mecanic from (select distinct d.nume || ' ' || d.prenume as denumire from dev_oper_mecanici a join dev_oper b on (a.id_oper = b.id_oper and b.sters = 0) join dev_mecanici c on a.id_mecanic = c.id_mecanic join nom_parteneri d on c.id_part = d.id_part where a.sters = 0 and b.id_ordl = <>) ENDTEXT llSucces = goExecutor.oSelecteaza2Value(lcSql, @pcExecutant) llReturn = m.llSucces ENDIF && m.llSucces Endif If !llCursorMateriale And llReturn *!* row_number() over (order by a.dataact,a.id_rul) as nrcrt, *!* modificare v 2.0.41 : am inlocuit pack_sesiune.calculeaza_pret_tva cu pack_sesiune.calculeaza_pret_cu_tva lcSql = [select a.*,b.denumire,b.codmat, b.um from (] + ; [select id_articol,pretv,SUM(cante) as cante,MIN(dataact) as dataact,MIN(id_rul) as id_rul, ] + ; [pack_sesiune.calculeaza_pret_cu_tva(pretv,1,pack_def.GetIdMonedaNationala(),] + Alltrim(Str(toComanda.proc_tvav,10,4)) + [,0,2) as pretctva ] + ; [from ] + gcS + [.rul where sters = 0 and id_lucrare = ] + Alltrim(Str(toComanda.id_lucrare)) + [ ] + ; [group by id_articol,pretv) a ] + ; [left join nom_articole b on a.id_articol = b.id_articol ] + ; [order by a.id_rul] *** Daca nu cumulez articolele, pot aparea piese date in consum si aceleasi piese pe retur, care ar fi trebuit sa fie pe 0 cantitativ si sa nu apara in deviz *!* TEXT TO lcSql TEXTMERGE NOSHOW *!* select a.id_articol,a.pretv,a.cante,a.dataact,a.id_rul, *!* pack_sesiune.calculeaza_pret_cu_tva(a.pretv,1,pack_def.GetIdMonedaNationala(),<>, 0, 2) as pretctva, *!* b.denumire,b.codmat, b.um *!* from rul a left join nom_articole b on a.id_articol = b.id_articol *!* where a.sters = 0 and a.id_lucrare = <> *!* order by a.id_rul *!* ENDTEXT *!* where a.cante <> 0 lnSucces = goExecutor.oExecute(lcSql,lcCursorMateriale) If lnSucces < 0 amessagebox(goExecutor.cEroare,16,'Eroare') llReturn = .F. Endif ELSE *!* modificare v 2.0.41 : am inlocuit tva cu pretctva Select codmat,denumire,um,pretv,pretctva,Sum(cante) As cante,Min(dataact) As dataact,Min(id_rul) As id_rul ; From (lcCursorRulaje) ; Group By codmat,denumire,um,pretv,pretctva ; ORDER BY 8 ; INTO Cursor (lcCursorMateriale) *** Daca nu cumulez articolele, pot aparea piese date in consum si aceleasi piese pe retur, care ar fi trebuit sa fie pe 0 cantitativ si sa nu apara in deviz *!* Select codmat,denumire,um,cante,pretv,pretctva,dataact,id_rul ; *!* From (lcCursorRulaje) ; *!* ORDER BY id_rul ; *!* INTO Cursor (lcCursorMateriale) Endif If Used(lcCursorManopera) And Used(lcCursorMateriale) And llReturn If Reccount(lcCursorManopera)>0 Or Reccount(lcCursorMateriale)>0 Private pnTotalMatDeviz,pnTotalTVAMatDeviz,pnTotalManDeviz,pnTotalTvaDeviz, pnIdOrdl *!* modificare v 2.0.37 : am pus a.kmint in loc de b.kmint pnIdOrdl = toComanda.id_ordl lcSql=[select a.nrord,a.nume,a.cod_fiscal,a.datai,a.asigurator,a.inspector,] + ; [a.banca,a.cont_banca,a.adresa,a.nr_dosar,a.reg_comert,a.tip_persoana,] + ; [b.nrinmat,b.series,b.seriem,b.culoare,a.kmint,a.ore_functionare,b.marca,b.masina ] + ; [from ] + gcS + [.auto_vordl a ] + ; [left join ] + gcS + [.auto_vmasiniclienti b on a.id_masiniclient=b.id_masiniclient ] + ; [where a.id_ordl=?pnIdOrdl] && + Alltrim(Str(toComanda.id_ordl)) lnSucces=goExecutor.oExecute(lcSql,lcCursorDateClient) If lnSucces<0 amessagebox(goExecutor.cEroare,0+16,'Eroare') Else Select (lcCursorDateClient) Scatter Name olistare Memo ADDPROPERTY(olistare,"proc_tvav",toComanda.proc_tvav) Use In (lcCursorDateClient) ADDPROPERTY(olistare, 'nrfact', IIF(TYPE('toComanda.nrfact') <> 'U', toComanda.nrfact, 0)) ADDPROPERTY(olistare, 'datafact', IIF(TYPE('toComanda.datafact') <> 'U', toComanda.datafact, {})) Select (lcCursorMateriale) *!* modificare v 2.0.41 : am inlocuit tva cu pretctva Calculate Sum(Round(cante*pretv,gnPc)),Sum(Round(cante*pretctva,gnPc)) To pnTotalMatDeviz,pnTotalCTVAMatDeviz Select (lcCursorManopera) Calculate Sum(Round(timpn*Pret,gnPc)) To pnTotalManDeviz *!* modificare v 2.0.41 : am inlocuit pnTotalTvaMatDeviz cu pnTotalCTVAMatDeviz-pnTotalMatDeviz pnTotalTvaDeviz=Iif(glAutoBonDet,pnTotalCTVAMatDeviz-pnTotalMatDeviz,Round(pnTotalMatDeviz*(toComanda.proc_tvav-1),gnPc))+Round(pnTotalManDeviz*(toComanda.proc_tvav-1),gnPc) Select id_rul as id,olistare.nrord As nrord,'A' As semn,codmat,denumire,PADR(um,10, ' ') as um,cante,pretv As Pret,; dataact as data From (lcCursorMateriale) Where cante <> 0 ; UNION All ; SELECT id_oper as id,olistare.nrord As nrord,'B' As semn,codop As codmat,denop As denumire, PADR('ORE',10, ' ') as um,; timpn As cante,Pret,datai as data ; From (lcCursorManopera) Order By 3,1 Into Cursor (lcCursorDeviz) If toComanda.Validat = 1 lcSql = [select localitate,strada,numar,adresa,cod_fiscal,reg_comert from syn_nom_firme where ] + ; [id_firma = ?gnIdFirma] lnSucces=goExecutor.oExecute(lcSql,lcCursorDateFirma) If lnSucces<0 amessagebox(goExecutor.cEroare,0+16,'Eroare') llReturn = .F. Else Select (lcCursorDateFirma) Scatter Name firma Use In (lcCursorDateFirma) lcRaport = [rap_deviz] *!* modificare MIX 07.09.2007 *!* Select crslistare *!* *!* modificare 09.08.2006 *!* Locate For Like('MIX*',denumire) And semn=='A' *!* If Found() *!* Calculate Sum(Round(cante*Pret,gnPc)),Max(Recno()) To lnSumaMix,lnNrCrt For Like('MIX*',denumire) And semn='A' *!* If Used('crslistare2') *!* Use In crslistare2 *!* Endif *!* Select Recno() As nrcrtord,* From crslistare Where !(Like('MIX*',denumire) And semn='A') Into Cursor crslistare2 Readwrite *!* Select crslistare2 *!* Append Blank *!* Replace codmat With '',denumire With 'MIX',semn With 'A',Pret With lnSumaMix,cante With 1,nrcrtord With lnNrCrt,nrord With olistare.nrord *!* Use In crslistare *!* Select * From crslistare2 Into Cursor crslistare Order By nrcrtord *!* Use In crslistare2 *!* Endif *!* modificare MIX 07.09.2007 ^ Endif Else lcRaport = [rap_comanda] Endif If llReturn toFereastra.AlwaysOnTop=.F. lcSetareRaport = SET("ReportBehavior") Set REPORTBEHAVIOR 90 Select (lcCursorDeviz) Go Top goExport.export2frx(lcCursorDeviz,lcRaport,.F., , , , , .T.) && modificare v 2.1.9 Set REPORTBEHAVIOR &lcSetareRaport toFereastra.AlwaysOnTop=.T. Use In (lcCursorDeviz) Endif Release pnTotalMatDeviz,pnTotalTVAMatDeviz,pnTotalManDeviz,pnTotalTvaDeviz Endif Else amessagebox("Nu exista manopera si materiale pe comanda " + Alltrim(toComanda.nrord)+ "!",0+48,"Atentie") Endif Endif If !llCursorManopera Use In (SELECT((lcCursorManopera))) Endif Use In (Select((lcCursorMateriale))) Release lcSql,lnSucces,llReturn,lcCursorManopera,lcCursorMateriale,llCursorManopera,llCursorMateriale,lcCursorDateClient, lcCursorDateFirma, pnTipDeviz, lcSetareRaport Endproc && listare_deviz ************************************************* SFARSIT : listare_deviz ********************************************** ******************************************* INCEPUT : listare_comenzi_validate **************************************** Procedure listare_comenzi_validate Parameters tnTip && 1:POST GARANTIE; 2:GARANTIE; 3:REGIE; 4:PREGATIRE; 5:REGIE2 ; 6:PRODUCTIE; Local lcSql, lcCursor, lnSucces, lcTip Do Case Case tnTip = 1 lcTip = 'POST GARANTIE' Case tnTip = 2 lcTip = 'GARANTIE' Case tnTip = 3 lcTip = 'REGIE' Case tnTip = 4 lcTip = 'PREGATIRE' Case tnTip = 5 lcTip = 'REGIE 2' Case tnTip = 6 lcTip = 'PRODUCTIE' Endcase If Used('crscomenzi') Use In crscomenzi Endif lcSql = [select datai,nrord,nume,manopera,materiale ] + ; [from auto_validare_comenzi where validat = 1 and ] + ; [extract(month from dataoravalid) + extract(year from dataoravalid) * 12 = ?gnLuna + ?gnAn * 12 ] + ; [and id_tip = ?tnTip] lcCursor = [crscomenzi] _Screen.MousePointer = 11 lnSucces = goExecutor.oExecute(lcSql,lcCursor) If lnSucces < 0 amessagebox(goExecutor.cEroare,0+16,'Eroare') Return Endif _Screen.MousePointer = 0 If Reccount('crscomenzi')=0 amessagebox("Nu exista inregistrari pentru listare!",0+64,"Info listare") Else Private pcTitlu,pcDataOra pcDataOra=get_ora(2) pcTitlu=[CENTRALIZATOR COMENZI ] + lcTip + [ VALIDATE ÎN LUNA ] + Padl(Alltrim(Str(gnLuna)),2,[0]) + [/] + Alltrim(Str(gnAn)) gofundal.Visible=.F. Keyboard "{ctrl+f10}" Select crscomenzi Report Form centralizator_devize To Printer Prompt Preview *!* DO LISTAREUSERREPORT WITH "crscomenzi", "FRX", "centralizator_devize" IN PROCEDURI_RAPOARTE.PRG gofundal.Visible=.T. Endif If Used('crscomenzi') Use In crscomenzi Endif Endproc ******************************************* SFARSIT : listare_comenzi_validate **************************************** ************************************************ INCEPUT : listare_comanda ********************************************* * Listare precomanda Procedure listare_comanda_old_de_sters Lparameters tnIdTip Private pofirma,pocomanda,pcschema1,pcselect1,pddataora Store '' To pofirma,pocomanda pcschema=[''] pcselect=['select adresa,localitate,strada,numar,cod_fiscal from syn_nom_firme where 1=2'] pcorder=[] pcfiltru=[id_firma = ]+Alltrim(Str(gnIdFirma)) && modificare v 2.0.29 : am inlocuit gnId_Firma llAfiseaza=.F. gencursor('pofirma','crsFirma',pcselect,pcfiltru,pcschema,pcorder,llAfiseaza) pofirma.ca_baza1.afisare() Sele crsfirma Scatter Name firma Memo pddataora = get_ora() pcschema=[''] pcselect=['select cod_fiscal,adresa,telefon,sysdate as dataora from vnom_parteneri where '] pcorder=[] pcfiltru=[id_part=]+Alltrim(Str(ocomlistare.nidclie)) llAfiseaza=.F. gencursor('pocomanda','crsComanda',pcselect,pcfiltru,pcschema,pcorder,llAfiseaza) pocomanda.ca_baza1.afisare() Select crsComanda Scatter Name ocom Memo AddProperty(ocom,'marca',ocomlistare.marca) AddProperty(ocom,'nrinmat',ocomlistare.nrinmat) AddProperty(ocom,'masina',ocomlistare.masina) AddProperty(ocom,'nrord',ocomlistare.nrord) AddProperty(ocom,'nume',ocomlistare.nume) AddProperty(ocom,'series',ocomlistare.series) AddProperty(ocom,'seriem',ocomlistare.seriem) AddProperty(ocom,'asigurator',ocomlistare.asigurator) AddProperty(ocom,'inspector',ocomlistare.inspector) AddProperty(ocom,'kmint',ocomlistare.kmint) AddProperty(ocom,'furnizor',ocomlistare.furnizor) AddProperty(ocom,'nrachi',ocomlistare.nrachi) *!* AddProperty(ocom,'dataachi',ocomlistare.dataachi) AddProperty(ocom,'anfabricatie',ocomlistare.anfabricatie) AddProperty(ocom,'termen',ocomlistare.termen) AddProperty(ocom,'datai',Ttod(ocom.dataora)) AddProperty(ocom,'nr_dosar',ocomlistare.nr_dosar) *!* modificare v 2.0.9 ADDPROPERTY(ocom,'solicitari_client',ocomlistare.solicitari_client) *!* modificare v 2.0.9 ^ nrord=ocom.nrord listare_raport_comanda([CRSCOMANDA],tnIdTip) Use In crsComanda Use In crsfirma Endproc ************************************************ SFARSIT : listare_comanda ********************************************* ******************************************** INCEPUT : listare_raport_comanda ****************************************** Procedure listare_raport_comanda Lparameters lcCursor,tnTipComanda If gnTip_LPrecomanda = 1 && cu tipizate lcRaport = [_PRECO] Else If tnTipComanda=2 lcRaport = [PRECOG] Else lcRaport = [PRECO] Endif Endif *!* modificare v 2.0.5 *!* Do LISTAREUSERREPORT With lcCursor, "FRX", lcRaport In PROCEDURI_RAPOARTE.PRG goExport.export2frx(lcCursor,lcRaport,.F., , , , , .T.) && modificare v 2.1.9 *!* modificare v 2.0.5 Endproc ******************************************** SFARSIT : listare_raport_comanda ****************************************** *********************************************** INCEPUT : listarefacturi_itp ******************************************* Procedure listarefacturi_itp If Type('gnId_Sectie_ITP') = 'U' Or Empty(gnId_Sectie_ITP) Or Isnull(gnId_Sectie_ITP) amessagebox("Alegeti sectia de ITP din Configurare > Optiuni !",0+48,"Atentie") Return Endif Do listarefacturi_sectie With gnId_Sectie_ITP,gnId_Set_ITP Endproc *********************************************** SFARSIT : listarefacturi_itp ******************************************* ********************************************* INCEPUT : listarefacturi_spalare ***************************************** Procedure listarefacturi_spalare If Type('gnId_Sectie_Spalare') = 'U' Or Empty(gnId_Sectie_Spalare) Or Isnull(gnId_Sectie_Spalare) amessagebox("Alegeti sectia de spalare din Configurare > Optiuni !",0+48,"Atentie") Return Endif Do listarefacturi_sectie With gnId_Sectie_Spalare,gnId_Set_Spalare Endproc ********************************************* SFARSIT : listarefacturi_spalare ***************************************** ********************************************* INCEPUT : listarefacturi_sectie ****************************************** Procedure listarefacturi_sectie Lparameters tnIdSectie,tnIdSet Private pcsectie,pcDataOra If Used('crssectie') Use In crssectie Endif lcSql = [select sectie from ] + gcS + [.vnom_sectii where id_sectie = ] + Alltrim(Str(tnIdSectie)) lcCursor = [crssectie] lnSucces = goExecutor.oExecute(lcSql,lcCursor) If lnSucces < 0 amessagebox(goExecutor.cEroare,0+16,'Eroare') Return Endif Select crssectie pcsectie=Alltrim(sectie) Use In crssectie pcDataOra=get_ora(2) If Used('crsfacturi') Use In crsfacturi Endif lcSql = [select distinct nrord,NVL(serie_act,'')||nract as nrfact,dataact as datafact,partd as nume,] + ; [sum(case when scc='704' then suma else 0 end) over (partition by id_lucrare) as manopera,] + ; [sum(case when scc='4428' or (scc = '4427' and scd <> '4428') then suma else 0 end) over (partition by id_lucrare) as tva ] + ; [from ] + gcS + [.vact where scd='4111' and id_sectie = ] + Alltrim(Str(tnIdSectie)) + [ ] + ; [and id_set = ] + Alltrim(Str(tnIdSet)) + [ ] + ; [and luna=] + Alltrim(Str(gnLuna)) + [ and an=] + Alltrim(Str(gnAn)) lcCursor = [crsfacturi] lnSucces = goExecutor.oExecute(lcSql,lcCursor) If lnSucces < 0 amessagebox(goExecutor.cEroare,0+16,'Eroare') Return Endif If Reccount('crsfacturi')=0 Use In crsfacturi amessagebox("Nu exista inregistrari pentru listare!",0+64,"Info listare") Return Endif Select crsfacturi Report Form facturisectie To Printer Prompt Preview Use In crsfacturi Endproc ********************************************* SFARSIT : listarefacturi_sectie ****************************************** ********************************************* INCEPUT : facturi_emise_pe_asig ****************************************** Procedure facturi_emise_pe_asig Private ofrmopt,ofrminterval,ofrmaleg,pnButon,pcAnLuna1,pcAnLuna2,pnOptiune,pcselect,pcschema,pcfiltru,pcorder,pofacturi,llAfiseaza Store '' To ofrmaleg,pofacturi pnOptiune=1 pnButon=1 lcTitlu="RAPORT FACTURI EMISE" lcIntrebare="Doriti ca raportul sa contina :" lnNrOptiuni=2 ofrmopt=Createobject("frm_optiune",lcTitlu,lcIntrebare,lnNrOptiuni) ofrmopt.ogOptiuni.option1.Caption="Doar facturile cu asiguratori" ofrmopt.ogOptiuni.option2.Caption="Toate facturile" ofrmopt.Show(1) Release ofrmopt If pnButon<>1 Return Endif lcView=Iif(pnOptiune=1,[auto_facturi_asig],[auto_facturi_toate]) pnButon=1 pcAnLuna1=Padl(Alltrim(Str(gnLuna)),2,'0')+Alltrim(Str(gnAn)) pcAnLuna2=pcAnLuna1 ofrminterval=Createobject('frm_interval_luni') ofrminterval.Show(1) Release ofrminterval If pnButon=1 _Screen.MousePointer=11 Private pcDataOra Local lnNrLuni1,lnNrLuni2 lnNrLuni1=Val(Substr(pcAnLuna1,1,2))+Val(Substr(pcAnLuna1,3))*12 lnNrLuni2=Val(Substr(pcAnLuna2,1,2))+Val(Substr(pcAnLuna2,3))*12 pcDataOra = get_ora(2) pcschema=[''] pcorder=[] pcselect=['select * from ] + gcS + [.]+lcView+[ where 1=2'] pcfiltru=[extract(month from dataact)+extract(year from dataact)*12 ]+; [between ]+Alltrim(Str(lnNrLuni1))+[ and ]+Alltrim(Str(lnNrLuni2)) llAfiseaza=.F. gencursor('pofacturi','crsfacturi',pcselect,pcfiltru,pcschema,pcorder,llAfiseaza) pofacturi.ca_baza1.afisare() _Screen.MousePointer=0 If Reccount('crsfacturi')=0 Use In crsfacturi amessagebox("Nu exista inregistrari pentru vizualizare!",0+64,"Info raport facturi emise pe asiguratori") Return Else Private pcPerioada pnButon=1 Do While pnButon=1 pnOptiune=1 ofrmaleg=Createobject('frm_aleg_vizualizare') ofrmaleg.Show(1) Do Case Case pnButon<>1 Loop Case pnOptiune=1 Private pcTitlu Store '' To pcTitlu pcTitlu = 'LISTA FACTURILOR EMISE PE ASIGURATORI' pcPerioada = Iif(lnNrLuni1==lnNrLuni2,; 'Luna '+Substr(pcAnLuna1,1,2)+'/'+Substr(pcAnLuna1,3),; 'Perioada '+Substr(pcAnLuna1,1,2)+'/'+Substr(pcAnLuna1,3)+' - '+Substr(pcAnLuna2,1,2)+'/'+Substr(pcAnLuna2,3)) Select crsfacturi Report Form rap_facturi_asig To Printer Prompt Preview Case pnOptiune=2 lcSirColoane=[asigurator,nrord,nract,TTOD(dataact),nume,manopera,materiale,]+; [valctva-manopera-materiale,valctva] lcSirNume=[Asigurator,Nr_comanda,Nr_factura,Data_factura,Nume,Manopera,Materiale,Tva,Valoare_cu_tva] exportare('crsfacturi',lcSirColoane,lcSirNume) Endcase Release ofrmaleg Enddo Use In crsfacturi Endif Endif Endproc ********************************************* SFARSIT : facturi_emise_pe_asig ****************************************** ******************************************* * PROCEDURE listare_masiniclienti( ) * Data/ora : 01/27/05, 15:21:24 * autor : liana.macinic * descriere: ****** PARAMETER BLOCK ************** * Parametri : 0 * ******************************************* Procedure listare_masiniclienti( ) Private pomasinicl,pcschema1,pcselect1 Store '' To pomasinicl pcschema1=[''] pcselect1=['select * from ] + gcS + [.auto_vmasiniclienti where 1=2'] pcorder1= [partener] pcfiltru1 = [1 = 1] gencursor('pomasinicl','climas',pcselect1,pcfiltru1,pcschema1,pcorder1) pomasinicl.ca_baza1.afisare() If Reccount('climas')=0 Use In climas amessagebox("Nu exista inregistrari pentru listare!",0+64,"Info listare") Return Endif Select climas Private pcTitlu,pcDataOra Store '' To pcTitlu,pcDataOra pcTitlu = 'CLIENȚI' pcDataOra = get_ora(2) Select climas Report Form clie To Printer Prompt Preview Endproc **********************sfarsit procedura listare_masiniclienti******************* ******************************************* * PROCEDURE listare_clientiadrese( ) * Data/ora : 01/27/05, 15:27:46 * autor : liana.macinic * descriere: ****** PARAMETER BLOCK ************** * Parametri : 0 * ******************************************* Procedure listare_clientiadrese( ) *!* sele clie *!* set order to tag nume *!* report form clieadresa to printer prompt preview *!* Private pocl,pcschema1,pcselect1 *!* Store '' To pocl *!* pcschema1=[''] lcSql = [select n.denumire as nume, n.cod_fiscal, n.id_part,n.telefon,N.ADRESA,n.zona from ]+gcS+[.vnom_parteneri n where n.id_part in (select id_part from ]+gcS+[.Vcoresp_tip_part where id_tip_part in (select id_tip_part from ]+gcS+[.vcoresp_tip_cont where cont = '4111'))] lcCursor = [clie] lnSucces = goExecutor.oExecute(lcSql,lcCursor) If Reccount('clie')=0 Use In clie amessagebox("Nu exista inregistrari pentru listare!",0+64,"Info listare") Return Endif Private pcTitlu,pcDataOra Store '' To pcTitlu,pcDataOra pcTitlu = 'CLIENȚI' pcDataOra = get_ora(2) Select clie Report Form clieadresa To Printer Prompt Preview Endproc **********************sfarsit procedura listare_clientiadrese******************* ******************************************* * PROCEDURE fact_emi( ) * Data/ora : 01/28/05, 09:06:56 * autor : liana.macinic * descriere: ****** PARAMETER BLOCK ************** * Parametri : 0 * ******************************************* Procedure fact_ord_em Private ofrmopt,ofrminterval,ofrmaleg,pnButon,pcAnLuna1,pcAnLuna2,pnOptiune,pcselect,pcschema,pcfiltru,pcorder,pofacturi,llAfiseaza Private pddataora,pcDataOra Store '' To ofrmaleg,pofacturi pnOptiune=1 pnButon=1 pnButon=1 pddataora = get_ora() pcDataOra=Ttoc(pddataora) pdData1=Ttod(pddataora) pdData2=pdData1 ofrminterval=Createobject('frm_interval_zile') ofrminterval.Show(1) Release ofrminterval If pnButon=1 _Screen.MousePointer=11 Local lnNrLuni1,lnNrLuni2 pcschema=[''] pcorder=[] pcselect=['select * from ] + gcS + [.auto_facturi_clienti where 1=2'] pcfiltru=[dataact between to_date(']+Alltrim(Dtoc(pdData1))+[','DD/MM/YYYY') ]+; [and to_date(']+Alltrim(Dtoc(pdData2))+[','DD/MM/YYYY') ] llAfiseaza=.F. gencursor('pofacturi','crsfacturi',pcselect,pcfiltru,pcschema,pcorder,llAfiseaza) pofacturi.ca_baza1.afisare() _Screen.MousePointer=0 If Reccount('crsfacturi')=0 Use In crsfacturi amessagebox("Nu exista inregistrari pentru vizualizare!",0+64,"Info raport facturi emise pe clienti") Return Else Private pcPerioada pnButon=1 Do While pnButon=1 pnOptiune=1 ofrmaleg=Createobject('frm_aleg_vizualizare') ofrmaleg.Show(1) Do Case Case pnButon<>1 Loop Case pnOptiune=1 Private pcTitlu Store '' To pcTitlu pcTitlu = 'LISTA FACTURILOR EMISE PE CLIENȚI' pcPerioada = Iif(pdData1=pdData2,; 'Ziua '+Dtoc(pdData1),; 'Perioada '+Dtoc(pdData1)+' - '+Dtoc(pdData2)) Select crsfacturi *!* Report Form rap_facturi_clienti To Printer Prompt Preview goExport.export2frx("crsFacturi","rap_facturi_clienti",.F., , , , , .T.) Case pnOptiune=2 lcSirColoane=[TTOD(dataact),nrord,nract,nume,telefon,manopera,materiale,]+; [valctva-manopera-materiale,valctva] lcSirNume=[Data_factura,Nr_comanda,Nr_factura,Nume,Telefon,Manopera,Materiale,Tva,Valoare_cu_tva] exportare('crsfacturi',lcSirColoane,lcSirNume) Endcase Release ofrmaleg Enddo Use In crsfacturi Endif Endif Endproc **********************sfarsit procedura fact_ord_em******************* ***************************************** Procedure fact_emi( ) Private pcselect,pcschema,pcfiltru,pcorder,pofacturi,llAfiseaza Store '' To pofacturi pcschema=['NRCRT n(5),NRORD c(50),DATAI d,NUME c(50),MANOPERA n(20,4),MATERIALE n(20,4),'+]+; ['ASIGURATOR c(24),INSPECTOR c(24),NRINMAT c(35),'+]+; ['NRACT n(14),DATAACT d,VALCTVA n(19,2)'] pcorder=[a.asigurator] pcselect=['select row_number() over (partition by a.nrord order by ] + pcorder + [) as nrcrt,'+]+; ['a.nrord,a.datai,a.nume,a.manopera,a.materiale,a.asigurator,'+]+; ['a.inspector,a.nrinmat,'+]+; ['b.nract,b.dataact,b.precdeb+b.debit as valctva '+]+; ['from ] + gcS + [.auto_vvalid_comenzi a '+]+; ['join ] + gcS + [.vireg_parteneri b on a.id_lucrare=b.id_lucrare '+]+; ['where 1=2'] pcfiltru=[b.luna=]+Alltrim(Str(gnLuna))+[ and b.an=]+Alltrim(Str(gnAn)) + [ and a.facturat = 1] *!* pcselect=['select row_number() over (partition by a.nrord order by ] + pcorder + [) as nrcrt,'+]+; *!* ['a.nrord,a.datai,a.nume,a.manopera,a.materiale as materiale,a.asigurator,'+]+; *!* ['a.inspector,a.tip_incas,a.numar,a.nrinmat,b.nract,b.dataact,'+]+; *!* ['(b.precdeb+b.debit)*]+ALLTRIM(STR(m.ctvam,4,2))+[ as valctva '+]+; *!* ['from ] + gcS + [.dev_vvalid_comenzi a '+]+; *!* ['join ] + gcS + [.vireg_parteneri b on a.id_lucrare=b.id_lucrare '+]+; *!* ['where 1=2'] *!* pcfiltru=[b.luna=]+Alltrim(Str(gnLuna))+[ and b.an=]+Alltrim(Str(gnAn)) + [ and a.facturat = 1 ] + ; *!* [and b.id_set in (31003,31004,31005,31011,31012)] llAfiseaza=.F. gencursor('pofacturi','crsfacturi',pcselect,pcfiltru,pcschema,pcorder,llAfiseaza) pofacturi.ca_baza1.afisare() If Reccount('crsfacturi')=0 Use In crsfacturi amessagebox("Nu exista inregistrari pentru listare!",0+64,"Info listare") Return Endif Private pcTitlu,pcDataOra Store '' To pcTitlu,pcDataOra pcTitlu = 'LISTA FACTURILOR EMISE PE ASIGURATORI' pcDataOra = get_ora(2) Select crsfacturi *!* BROWSE *!* sele clie *!* set order to tag codc *!* sele ordl *!* set rela off into clie *!* set rela to codc into clie additive *!* set filter to facturat *!* set order to tag asig *Report Form facturia To Printer Prompt Preview goExport.export2frx("crsFacturi","facturia",.F., , , , , .T.) Use In crsfacturi *!* sele ordl *!* set order to tag nrord *!* set rela off into clie Endproc **********************sfarsit procedura fact_emi******************* ******************************************* * PROCEDURE fact_ord_em( ) * Data/ora : 01/28/05, 09:38:44 * autor : liana.macinic * descriere: ****** PARAMETER BLOCK ************** * Parametri : 0 * ******************************************* *!* Procedure fact_ord_em( ) *!* Private pcselect,pcschema,pcfiltru,pcorder,pofacturi,llAfiseaza *!* Store '' To pofacturi *!* pcschema=['NRCRT n(5),NRORD c(30),DATAI d,NUME c(50),MANOPERA n(20,4),MATERIALE n(20,4),'+]+; *!* ['ASIGURATOR c(24),INSPECTOR c(24),NRINMAT c(10),'+]+; *!* ['NRACT n(14),DATAACT d,VALCTVA n(19,2)'] *!* pcorder=[b.dataact] *!* pcselect=['select row_number() over (partition by a.nrord order by ] + pcorder + [) as nrcrt,'+]+; *!* ['a.nrord,a.datai,a.nume,a.manopera,a.materiale,a.asigurator,'+]+; *!* ['a.inspector,a.nrinmat,'+]+; *!* ['b.nract,b.dataact,b.precdeb+b.debit as valctva '+]+; *!* ['from ] + gcS + [.dev_vvalid_comenzi a '+]+; *!* ['join ] + gcS + [.vireg_parteneri b on a.id_lucrare=b.id_lucrare '+]+; *!* ['where 1=2'] *!* pcfiltru=[b.luna=]+Alltrim(Str(gnLuna))+[ and b.an=]+Alltrim(Str(gnAn)) + [ and facturat = 1] *!* llAfiseaza=.F. *!* gencursor('pofacturi','crsfacturi',pcselect,pcfiltru,pcschema,pcorder,llAfiseaza) *!* pofacturi.ca_baza1.afisare() *!* If Reccount('crsfacturi')=0 *!* Use In crsfacturi *!* amessagebox("Nu exista inregistrari pentru listare!",0+64,"Info listare") *!* Return *!* Endif *!* Private pcTitlu,pcdataora *!* Store '' To pcTitlu,pcdataora *!* pcTitlu = 'FACTURI EMISE' *!* pcdataora = get_ora(2) *!* Select crsfacturi *!* Report Form facturi To Printer Prompt Preview *!* Endproc **********************sfarsit procedura fact_ord_em******************* ******************************************* * PROCEDURE list_man_tot_desf( ) * Data/ora : 01/28/05, 13:50:16 * autor : liana.macinic * descriere: ****** PARAMETER BLOCK ************** * Parametri : 0 * ******************************************* Procedure list_man_tot_desf(tltotal) If tltotal lcSelect = ['select * from ] + gcS + [.auto_vmecanici where 2=2'] oca = cauta_alfa(lcSelect,'1 = 2',[''],'nume','nume,prenume,inactiv','Mecanici','nume,prenume') Endif If Type('oca')<>'U' And Empty(oca.id_mecanic) amessagebox("Nu ati ales nici un mecanic!",0+48,"Atentie") Return Endif loTherm = Newobject("_thermometer","_therm","","Rapoarte") lcTask = "Generare..." _Screen.MousePointer= 11 With loTherm .AlwaysOnTop=.T. .Show() lnPercent = 10 .Update(lnPercent, lcTask) distribuire_timp_normat() lnPercent = 65 .Update(lnPercent, lcTask) Private pomasinicl,pcschema1,pcselect1 Store '' To pomasinicl *!* pcschema1=['ID_OPERMECANIC N(10),ID_OPER N(10),ORE N(12,3),INACTIV N(1),ID_MECANIC N(5),'+]+; *!* ['NUME C(50),PRENUME C(50),MARCA N(5),ID_SALARIAT N(5),SECTIE C(30),ID_ORDL N(10),'+]+; *!* ['PRET N(21,4),DATAI D,NRFACT N,DATAFACT D,DENOP C(100),TIMPN N(8,3),NRORD C(50)'] pcschema1=[''] pcselect1=['select t.* from ] + gcS + [.auto_listare_man_tot_desf t where 1=2'] pcorder1= [t.nume,t.prenume] pcfiltru1 = Iif(tltotal,[t.id_mecanic = ] + Alltrim(Str(oca.id_mecanic)) ,[2=2]) gencursor('pomasinicl','salmec',pcselect1,pcfiltru1,pcschema1,pcorder1) pomasinicl.ca_baza1.afisare() .Complete() .AlwaysOnTop=.F. Endwith Release loTherm _Screen.MousePointer= 0 If Reccount('salmec')=0 Use In salmec amessagebox("Nu exista inregistrari pentru listare!",0+64,"Info listare") Return Endif Select salmec Private pcTitlu,pcDataOra Store '' To pcTitlu,pcDataOra pcTitlu = 'Manoperă -Salarii' pcDataOra = get_ora(2) Select salmec Report Form opersal To Printer Prompt Preview Use In salmec Endproc **********************sfarsit procedura list_man_tot_desf******************* ******************************************* * PROCEDURE list_man_tot_com( ) * Data/ora : 01/28/05, 15:20:20 * autor : liana.macinic * descriere: ****** PARAMETER BLOCK ************** * Parametri : 0 * ******************************************* Procedure list_man_tot_com(tltotal) If tltotal lcSelect = ['select * from ] + gcS + [.auto_vmecanici where 2=2'] oca = cauta_alfa(lcSelect,'1 = 2',[''],'nume','nume,prenume,inactiv','Mecanici','nume,prenume') Endif If Type('oca')<>'U' And Empty(oca.id_mecanic) amessagebox("Nu ati ales nici un mecanic!",0+48,"Atentie") Return Endif loTherm = Newobject("_thermometer","_therm","","Rapoarte") lcTask = "Generare..." _Screen.MousePointer= 11 With loTherm .AlwaysOnTop=.T. .Show() lnPercent = 10 .Update(lnPercent, lcTask) distribuire_timp_normat() lnPercent = 65 .Update(lnPercent, lcTask) Private pomasinicl,pcschema1,pcselect1,pcGrup Store '' To pomasinicl pcschema1=[''] pcselect1 = ['select t.* from ] +gcS+ [.auto_listare_man_tot_com t where 1 = 2'] pcorder1= [t.nume,t.prenume,t.nrord] pcfiltru1 = Iif(tltotal,[t.id_mecanic = ] + Alltrim(Str(oca.id_mecanic)),[2=2]) *!* pcGrup = [t.id_ordl,t.nrord,t.id_mecanic,t.nume,t.prenume,trunc(t.datai),t.sectie] llAfiseaza = .F. gencursor('pomasinicl','salmec',pcselect1,pcfiltru1,pcschema1,pcorder1,llAfiseaza) pomasinicl.ca_baza1.afisare() .Complete() .AlwaysOnTop=.F. Endwith Release loTherm _Screen.MousePointer= 0 If Reccount('salmec')=0 Use In salmec amessagebox("Nu exista inregistrari pentru listare!",0+64,"Info listare") Return Endif Private pcTitlu,pcDataOra Store '' To pcTitlu,pcDataOra pcTitlu = 'Manoperă -Salarii' pcDataOra = get_ora(2) Select salmec Report Form opersalCOM To Printer Prompt Preview Use In salmec Endproc **********************sfarsit procedura list_man_tot_com******************* ******************************************* * PROCEDURE list_comanda( ) * Data/ora : 01/29/05, 11:05:08 * autor : liana.macinic * descriere: ****** PARAMETER BLOCK ************** * Parametri : 0 * ******************************************* Procedure list_comanda( ) Private pcselect,pcschema,pcfiltru,pcorder,pocomenzi,llAfiseaza Store '' To pocomenzi If Used('crscomenzi') Use In crscomenzi Endif pcschema=['ID_ORDL n(10),ID_LUCRARE n(10),DATAI d,NUME c(50),NRORD c(50),TIP_COMANDA c(50),VALIDAT N(1),ID_TIP N(5),NR_DOSAR C(40),PROC_TVAV N(10,4)'] pcselect=['select a.id_ordl,a.id_lucrare,a.datai,a.nume,a.nrord,a.tip_comanda,a.validat,a.id_tip,a.nr_dosar,a.proc_tvav '+]+; [' from ] + gcS + [.auto_normare_comenzi a where 1=2'] pcfiltru=[1=2] *!* pcFiltru = [(extract(month from datafact) = ] + Alltrim(Str(gnLuna)) + [ and extract(year from datafact) = ]+Alltrim(Str(gnAn)) + [ or datafact is null)] pcorder=[datai,nrord] llAfiseaza=.F. gencursor('pocomenzi','crscomenzi',pcselect,pcfiltru,pcschema,pcorder,llAfiseaza) pocomenzi.ca_baza1.afisare() ofrmviz=Createobject('frm_com_list') ofrmviz.Show(1) If Used('crscomenzi') Use In crscomenzi Endif Release pocomenzi Endproc **********************sfarsit procedura list_comanda******************* *------------------------------inceput procedura listare_precomanda----------------------------------------- Procedure listare_precomanda Lparameters tnIdOrdl Private pofirma,pocomanda,pcschema1,pcselect1,pddataora Store '' To pofirma,pocomanda pddataora=get_ora() lcSql = [select adresa,localitate,strada,numar,cod_fiscal from syn_nom_firme where id_firma = ]+Alltrim(Str(gnIdFirma)) llSucces = goExecutor.oExecuta(m.lcSql, 'crsFirma') IF m.llSucces Select crsfirma Scatter Name firma Memo ELSE RETURN ENDIF USE IN (SELECT('crsFirma')) pcschema=['DATAI d,NUME c(50),COD_FISCAL c(30),ADRESA c(150),TELEFON c(30),NRORD c(50),NRINMAT c(35),SERIES c(17),'+]+; ['SERIEM c(17),ASIGURATOR c(24),INSPECTOR C(100), MARCA c(24),MASINA c(20),KMINT n(10),ORE_FUNCTIONARE N(10), ID_TIP n(5),'+]+; ['SOLICITARI_CLIENT M, OBSERVATII M, DEFECTIUNI M, NR_DOSAR C(100), FURNIZOR C(100), NRACHI N(16), ANFABRICATIE N(4),'+]+; ['TERMEN D'] pcselect=['select datai,nume,cod_fiscal,adresa,telefon,nrord,nrinmat,series,seriem,asigurator,inspector,marca,masina,kmint,ore_functionare,id_tip,'+]+; ['solicitari_client,observatii,defectiuni,nr_dosar,furnizor, nrachi, anfabricatie, termen '+]+; [' from auto_vordl where '] pcorder=[] pcfiltru = [ id_ordl = ] + Alltrim(Str(tnIdOrdl)) llAfiseaza=.F. gencursor('pocomanda','crsComanda',pcselect,pcfiltru,pcschema,pcorder,llAfiseaza) pocomanda.ca_baza1.afisare() Select crsComanda Scatter Name ocom Memo nrord=ocom.nrord listare_raport_comanda([CRSCOMANDA],ocom.id_tip) Use In (SELECT('crsComanda')) Release ocom Endproc **********************sfarsit procedura listare_precomanda******************* ************************************ INCEPUT : listare_avans ************************************ *!* modificare v 2.0.28 *!* Procedure listare_avans *!* Lparameters tnIdPartener,tcCursor,tcSirNrord,tcNrInmat,tnDevize *!* Private poDate,pofirma,poClient,ptDataOra *!* poDate = Createobject('oDateFacturaDevize',tnIdPartener,tcSirNrord,tcNrInmat,tnDevize,0) *!* lcSql = [select 1 as tip,(case when tip_persoana = 1 then prefix||' '||denumire||' '||sufix else denumire end) as denumire,]+; *!* [cod_fiscal,adresa,telefon,'' as telefon2,'' as telefon3,'' as fax,reg_comert,banca,cont_banca,'' as banca2,'' as cont_banca2,] + ; *!* ['' as banca3,'' as cont_banca3,sysdate as dataora,tip_persoana,0 as capital_soc_var,] + ; *!* [0 as capital_soc_sub from ] + gcS + [.vnom_parteneri where id_part = ?poDate.id_client ] + ; *!* [union all ] + ; *!* [select 2 as tip,denumire,cod_fiscal,'' as adresa,'' as telefon,'' as telefon2,'' as telefon3,'' as fax,reg_comert,'' as banca,'' as cont_banca,] + ; *!* ['' as banca2,'' as cont_banca2,'' as banca3,'' as cont_banca3,null as dataora,tip_persoana,0 as capital_soc_var,0 as capital_soc_sub from ] + gcS + [.nom_parteneri ] + ; *!* [where sters = 0 and inactiv = 0 and id_part in ] + ; *!* [(select id_partener from ] + gcS + [.utilizatori_rol_intern where sters = 0 and id_util = ?gnIdUtil)] + ; *!* [union all ] + ; *!* [select 3 as tip,antet as denumire,cod_fiscal,adresa,telefon,telefon2,telefon3,fax,reg_comert,banca1 as banca,] + ; *!* [cont_banca1 as cont_banca,banca2,cont_banca2,banca3,cont_banca3,null as dataora,0 as tip_persoana,capital_soc_var,capital_soc_sub ] + ; *!* [from syn_nom_firme where id_firma = ?gnIdFirma ] *!* If Used('crsdatefacturare') *!* Use In crsdatefacturare *!* Endif *!* lcCursor = [crsdatefacturare] *!* lnSucces = goExecutor.oExecute(lcSql,lcCursor) *!* If lnSucces<0 *!* amessagebox(goExecutor.oPrelucrareEroare(),16,"Eroare") *!* Return *!* Endif *!* Select crsdatefacturare *!* Scan *!* Do Case *!* Case tip = 1 *!* Scatter Name poClient Memo *!* poDate.nume_client = poClient.denumire *!* ptDataOra = poClient.dataora *!* Case tip = 2 *!* With poDate *!* .nume_responsabil = denumire *!* .BIresp = reg_comert *!* .CNPresp = cod_fiscal *!* Endwith *!* Otherwise *!* Scatter Name pofirma Memo *!* Endcase *!* Endscan *!* Use In crsdatefacturare *!* ofrmdelegat=Createobject("frm_delegat_factura") *!* ofrmdelegat.nidpartener = poDate.id_client *!* ofrmdelegat.cclient = poDate.nume_client *!* ofrmdelegat.cnrinmat_exp = poDate.nrinmat_del *!* ofrmdelegat.Show(1) *!* Release ofrmdelegat *!* Private pnTotCTva,pnTotFTva,pnTotTva,plAchitat,plEmiteBon *!* Store 0 To pnTotCTva,pnTotFTva,pnTotTva *!* Store {} To pdDataChit,pdDataAct *!* Store .T. To plAchitat,plEmiteBon *!* If gnAvans419=1 *!* lcScc='419' *!* Else *!* lcScc='707' *!* Endif *!* Select &tcCursor *!* *!* modificare v 2.0.21 *!* *!* Sum suma For Alltrim(scd) = '4111' And Alltrim(scc) = lcScc And Left(Alltrim(explicatia),5) = "AVANS" To pnTotFTva *!* *!* Sum suma For Alltrim(scd) = '4111' And Alltrim(scc) = '4427' And Left(Alltrim(explicatia),5) = "AVANS" To pnTotTva *!* Sum suma For Alltrim(scd) = '4111' And Alltrim(scc) = lcScc And LIKE([*AVANS*],UPPER(ALLTRIM(explicatia))) To pnTotFTva *!* Sum suma For Alltrim(scd) = '4111' And Alltrim(scc) = '4427' And LIKE([*AVANS*],UPPER(ALLTRIM(explicatia))) To pnTotTva *!* *!* modificare v 2.0.21 ^ *!* pnTotCTva = pnTotFTva + pnTotTva *!* Select &tcCursor *!* Locate For Alltrim(scd) = '4111' *!* If Found() *!* poDate.nract = &tcCursor..nract *!* poDate.serie_act = &tcCursor..serie_act *!* poDate.dataact = &tcCursor..dataact *!* poDate.proc_tva = &tcCursor..proc_tva*100-100 *!* poDate.datascad = &tcCursor..datascad *!* Endif *!* Select &tcCursor *!* Locate For Alltrim(scd) = '5311' *!* Do Case *!* Case Found() And pnTipIncasare=2 *!* Store .F. To plAchitat *!* Store .T. To plEmiteBon *!* poDate.nrchit = &tcCursor..nract *!* poDate.sumaachit = &tcCursor..suma *!* Case Found() And pnTipIncasare=3 *!* Store .F. To plEmiteBon *!* poDate.nrchit = &tcCursor..nract *!* poDate.datachit = &tcCursor..dataact *!* poDate.sumaachit = &tcCursor..suma *!* poDate.sumavorbe = SUMA_IN_VORBE(Round(poDate.sumaachit,gnPc)) *!* Otherwise *!* Store .F. To plAchitat *!* Store .F. To plEmiteBon *!* Endcase *!* *!* modificare v 2.0.2 *!* Select &tcCursor *!* Local lcRaport *!* Do Case *!* Case gnTIP_LFACTURA=2 And gnTIP_LFACTURA_LINII=1 *!* lcRaport="factav_farachit" *!* Case gnTIP_LFACTURA=1 And gnTIP_LFACTURA_LINII=1 *!* lcRaport="factav_cuchit" *!* Case plAchitat And !plEmiteBon And gnTIP_LFACTURA_LINII=1 *!* lcRaport="factav_cuchit" *!* Case gnTIP_LFACTURA=2 And gnTIP_LFACTURA_LINII=2 *!* lcRaport="factav_farachit_l" *!* Case gnTIP_LFACTURA=1 And gnTIP_LFACTURA_LINII=2 *!* lcRaport="factav_cuchit_l" *!* Case plAchitat And !plEmiteBon And gnTIP_LFACTURA_LINII=2 *!* lcRaport="factav_cuchit_l" *!* Case gnTIP_LFACTURA_LINII=2 *!* lcRaport="factav_farachit_l" *!* Otherwise *!* lcRaport="factav_farachit" *!* Endcase *!* *------------------- *!* lnRaspuns=6 *!* Do While lnRaspuns=6 *!* *!* Do Case *!* *!* Case gnTIP_LFACTURA = 2 *!* *!* *!* Report Form factav1 To Printer Prompt Preview *!* *!* modificare v 2.0.5 *!* *!* Do LISTAREUSERREPORT With tcCursor, "FRX", lcRaport In PROCEDURI_RAPOARTE.PRG *!* goExport.export2frx(tcCursor,lcRaport) *!* *!* modificare v 2.0.5 ^ *!* *!* Case gnTIP_LFACTURA = 1 *!* *!* *!* Report Form factav2 To Printer Prompt Preview *!* *!* Do LISTAREUSERREPORT With tcCursor, "FRX", "factav_cuchit" In PROCEDURI_RAPOARTE.PRG *!* *!* Otherwise *!* *!* *!* Report Form factav To Printer Prompt Preview *!* *!* *!* Do LISTAREUSERREPORT With tcCursor, "FRX", "factav" In PROCEDURI_RAPOARTE.PRG *!* * If plAchitat And !plEmiteBon *!* * Do LISTAREUSERREPORT With tcCursor, "FRX", crsfactav In PROCEDURI_RAPOARTE.PRG *!* *!* Else *!* *!* Do LISTAREUSERREPORT With tcCursor, "FRX", "factav_farachit" In PROCEDURI_RAPOARTE.PRG *!* * Endif *!* *!* Endcase *!* lnRaspuns=amessagebox("Doriti sa mai listati factura?",4+32+256,"Confirmare repetare listare") *!* Enddo *!* *!* modificare v 2.0.26 *!* *!* exportInPdf(tcCursor,lcRaport) *!* If glAtasamenteAuto *!* exportInPdf(tcCursor,lcRaport) *!* Endif *!* *!* modificare v 2.0.26 ^ *!* *!* modificare v 2.0.2^ *!* If plEmiteBon *!* *!* modificare v 2.0.1 *!* *!* listare_bon_fiscal(Ttod(ptDataOra),poDate.nract,pnTotCTva,poDate.nrchit,poDate.sumaachit,poDate.proc_tva) *!* listare_bon_fiscal(ptDataOra,poDate.nract,pnTotCTva,poDate.nrchit,poDate.sumaachit,poDate.proc_tva) *!* *!* modificare v 2.0.1 ^ *!* Endif *!* Release poDate *!* Endproc && listare_avans *!* modificare v 2.0.28 ^ *!* **********************sfarsit procedura listare_avans******************* *===================================================== *!* modificare v 2.0.28 *!* *!* modificare v 2.0.2 *!* Procedure exportInPdf *!* Lparameters tcCursor, lcRaport, tlPreview, tcCursorSalvare *!* Private pnTip,pcFormat *!* If Used('crsListareAvansRepet') *!* Use In crsListareAvansRepet *!* Endif *!* Create Cursor crsListareAvansRepet(nume_frx c(50),fisier w) *!* goExport.export2pdf(tcCursor,lcRaport,.F.,'crsListareAvansRepet') *!* If Reccount('crsListareAvansRepet') > 0 *!* Select crsListareAvansRepet *!* Go Top *!* lcNume_Frx = crsListareAvansRepet.nume_frx *!* pnTip = 1 *!* If Like([*A5],Upper(Alltrim(lcNume_Frx))) *!* pcFormat = [A5] *!* Else *!* pcFormat = [A4] *!* Endif *!* lcSql = [INSERT INTO ATASAMENTE_VANZARI(ID_UTIL,DOCUMENT,TIP,FORMAT,COD) VALUES (?gnIdUtil,?crsListareAvansRepet.fisier,?pnTip,?pcFormat,PACK_CONTAFIN.GET_COD);] *!* lnSucces = goExecutor.oExecute(lcSql) *!* If lnSucces < 0 *!* amessagebox(goExecutor.cEroare,16,"Eroare") *!* Endif *!* Endif *!* Use In crsListareAvansRepet *!* Release pnTip,pcFormat *!* Endproc *!* *!* modificare v 2.0.2 ^ *!* modificare v 2.0.28 ^ ****============================================================= *------------------------------inceput procedura listare_FACTURA----------------------------------------- * PROCEDURE listare_FACTURA( tnTipFact, tcRaport ) * Data : 03/21/05, 16:03:19 * autor : liana.macinic * descriere: *!* toClient : id-ul de client *!* tcCursor : Alias'ul cursorului *!* tnTipfact : 1 - finala, 2 - spalare , 3 - restul, 4 - finala devize multiple *!* tnProcDiscM,tnProcDiscN,tnProcDiscM,tnDiscountN,tnDiscountM,tnDiscountTvaM,tnDiscountTvaN * ******************************************* *!* modificare v 2.0.28 *!* Procedure listare_FACTURA *!* Parameters tnIdClient,tcCursor,tcSirNrord,tcNrInmat,tnTipfact,tnProcDiscM,tnProcDiscN,tnDiscountM,tnDiscountN,tnDiscountTvaM,tnDiscountTvaN,tcdenop,tnTipFactura *!* If Empty(tcdenop) *!* Store 'MANOPERA' To tcdenop *!* Endif *!* If Empty(tnProcDiscN) *!* Store 0 To tnProcDiscN,tnDiscountN,tnDiscountTvaN *!* Endif *!* If Empty(tnProcDiscM) *!* Store 0 To tnProcDiscM,tnDiscountM,tnDiscountTvaM *!* Endif *!* tnDiscountN = Abs(tnDiscountN) *!* tnDiscountM = Abs(tnDiscountM) *!* Private poDate,pofirma,poClient,ptDataOra *!* poDate = Createobject('oDateFacturaDevize',tnIdClient,tcSirNrord,tcNrInmat,Iif(tnTipfact=4,1,0),tnTipFactura) *!* lcSql = [select 1 as tip,(case when tip_persoana = 1 then prefix||' '||denumire||' '||sufix else denumire end) as denumire,]+; *!* [cod_fiscal,adresa,telefon,'' as telefon2,'' as telefon3,'' as fax,reg_comert,banca,cont_banca,'' as banca2,'' as cont_banca2,] + ; *!* ['' as banca3,'' as cont_banca3,sysdate as dataora,tip_persoana,0 as capital_soc_var,] + ; *!* [0 as capital_soc_sub from ] + gcS + [.vnom_parteneri where id_part = ?poDate.id_client ] + ; *!* [union all ] + ; *!* [select 2 as tip,denumire,cod_fiscal,'' as adresa,'' as telefon,'' as telefon2,'' as telefon3,'' as fax,reg_comert,'' as banca,'' as cont_banca,] + ; *!* ['' as banca2,'' as cont_banca2,'' as banca3,'' as cont_banca3,] + ; *!* [null as dataora,tip_persoana,0 as capital_soc_var,0 as capital_soc_sub from ] + gcS + [.nom_parteneri ] + ; *!* [where sters = 0 and inactiv = 0 and id_part in ] + ; *!* [(select id_partener from ] + gcS + [.utilizatori_rol_intern where sters = 0 and id_util = ?gnIdUtil)] + ; *!* [union all ] + ; *!* [select 3 as tip,antet as denumire,cod_fiscal,adresa,telefon,telefon2,telefon3,fax,reg_comert,banca1 as banca,] + ; *!* [cont_banca1 as cont_banca,banca2,cont_banca2,banca3,cont_banca3,null as dataora,0 as tip_persoana,capital_soc_var,capital_soc_sub ] + ; *!* [from syn_nom_firme where id_firma = ?gnIdFirma ] *!* If Used('crsdatefacturare') *!* Use In crsdatefacturare *!* Endif *!* lcCursor = [crsdatefacturare] *!* lnSucces = goExecutor.oExecute(lcSql,lcCursor) *!* If lnSucces<0 *!* amessagebox(goExecutor.oPrelucrareEroare(),16,"Eroare") *!* Return *!* Endif *!* Select crsdatefacturare *!* Scan *!* Do Case *!* Case tip = 1 *!* Scatter Name poClient Memo *!* poDate.nume_client = poClient.denumire *!* ptDataOra = poClient.dataora *!* Case tip = 2 *!* With poDate *!* .nume_responsabil = denumire *!* .BIresp = reg_comert *!* .CNPresp = cod_fiscal *!* Endwith *!* Otherwise *!* Scatter Name pofirma Memo *!* Endcase *!* Endscan *!* Use In crsdatefacturare *!* ofrmdelegat=Createobject("frm_delegat_factura") *!* ofrmdelegat.nidpartener = poDate.id_client *!* ofrmdelegat.cclient = poDate.nume_client *!* ofrmdelegat.cnrinmat_exp = poDate.nrinmat_del *!* ofrmdelegat.Show(1) *!* Release ofrmdelegat *!* Private pnSumaMat,pnSumaMan,pnTvaMat,pnTvaMan,pnDiscMan,pnDiscMat,pnTvaDiscMan,pnTvaDiscMat,pnAvans,pnTvaAvans *!* Store 0 To pnSumaMat,pnSumaMan,pnTvaMat,pnTvaMan,pnDiscMan,pnDiscMat,pnTvaDiscMan,pnTvaDiscMat,pnAvans,pnTvaAvans *!* Select &tcCursor *!* Sum suma For Alltrim(scd) = '4111' And Alltrim(scc) = '707' And Left(Alltrim(explicatia),3) = "MAT" To pnSumaMat *!* Sum suma For Alltrim(scd) = '4111' And Alltrim(scc) = '4427' And Left(Alltrim(explicatia),7) = "TVA MAT" To pnTvaMat *!* *!* Sum suma For Alltrim(scd) = '411' And Alltrim(scc) = '707' And Left(Alltrim(explicatia),12) = "DISCOUNT MAT" To pnDiscMat *!* Sum suma For Alltrim(scd) = '4111' And Alltrim(scc) = '4427' And Left(Alltrim(explicatia),12) = "DISCOUNT MAT" To pnTvaDiscMat *!* Sum suma For Alltrim(scd) = '4111' And Alltrim(scc) = '704' And Left(Alltrim(explicatia),3) = "MAN" To pnSumaMan *!* Sum suma For Alltrim(scd) = '4111' And Alltrim(scc) = '4427' And Left(Alltrim(explicatia),7) = "TVA MAN" To pnTvaMan *!* *!* Sum suma For Alltrim(scd) = '411' And Alltrim(scc) = '704' And Left(Alltrim(explicatia),12) = "DISCOUNT MAN" To pnDiscMan *!* Sum suma For Alltrim(scd) = '4111' And Alltrim(scc) = '4427' And Left(Alltrim(explicatia),12) = "DISCOUNT MAN" To pnTvaDiscMan *!* Select &tcCursor *!* *!* Locate For Alltrim(explicatia ) = 'STORNARE AVANS' *!* *!* If Found() *!* *!* pnAvans = (-1) * Abs(&tcCursor..suma) *!* *!* Endif *!* Calculate Sum(suma) For Alltrim(explicatia)='STORNARE AVANS' To pnAvans *!* Calculate Sum(suma) For Alltrim(explicatia)='STORNARE AVANS' And Alltrim(scc)<>'4427' To pnAvansFTva *!* Calculate Sum(suma) For Alltrim(explicatia)='STORNARE AVANS' And Alltrim(scc)='4427' To pnAvansTva *!* pnAvans=(-1) * Abs(Round(pnAvans,gnPa)) *!* pnAvansTva=(-1) * Abs(Round(pnAvansTva,gnPa)) *!* pnAvansFTva=(-1) * Abs(Round(pnAvansFTva,gnPa)) *!* Private plAchitat,plEmiteBon *!* Store .T. To plAchitat,plEmiteBon *!* Select &tcCursor *!* Locate For Alltrim(scd) = '4111' *!* If Found() *!* poDate.nract = &tcCursor..nract *!* poDate.serie_act = &tcCursor..serie_act *!* poDate.dataact = &tcCursor..dataact *!* poDate.proc_tva = &tcCursor..proc_tva*100-100 *!* poDate.datascad = &tcCursor..datascad *!* Endif *!* Select &tcCursor *!* Locate For Alltrim(scd) = '5311' *!* Do Case *!* Case Found() And pnTipIncasare=2 *!* Store .F. To plAchitat *!* Store .T. To plEmiteBon *!* poDate.nrchit = &tcCursor..nract *!* poDate.sumaachit = &tcCursor..suma *!* Case Found() And pnTipIncasare=3 *!* Store .F. To plEmiteBon *!* poDate.nrchit = &tcCursor..nract *!* poDate.datachit = &tcCursor..dataact *!* poDate.sumaachit = &tcCursor..suma *!* poDate.sumavorbe = SUMA_IN_VORBE(Round(poDate.sumaachit,gnPc)) *!* Otherwise *!* Store .F. To plEmiteBon *!* Store .F. To plAchitat *!* Endcase *!* *------------------- *!* *!* modificare 07.04 *!* *!* pnDiscMan = tnDiscountM *!* *!* pnDiscMat = tnDiscountN *!* pnDiscMan = Sign(pnSumaMan) * tnDiscountM *!* tnDiscountM = Sign(pnSumaMan) * tnDiscountM *!* pnTvaDiscMan = (-1) * pnTvaDiscMan *!* pnDiscMat = Sign(pnSumaMat) * tnDiscountN *!* tnDiscountN = Sign(pnSumaMat) * tnDiscountN *!* pnTvaDiscMat = (-1) * pnTvaDiscMat *!* *!* modificare ^ *!* *!* modificare v 2.0.2 *!* Local lcRaport *!* Do Case *!* Case gnTIP_LFACTURA=2 And gnTIP_LFACTURA_LINII=1 *!* lcRaport="fact_farachit" *!* Case gnTIP_LFACTURA=1 And gnTIP_LFACTURA_LINII=1 *!* lcRaport="fact_cuchit" *!* Case plAchitat And !plEmiteBon And gnTIP_LFACTURA_LINII=1 *!* lcRaport="fact_cuchit" *!* Case gnTIP_LFACTURA=2 And gnTIP_LFACTURA_LINII=2 *!* lcRaport="fact_farachit_l" *!* Case gnTIP_LFACTURA=1 And gnTIP_LFACTURA_LINII=2 *!* lcRaport="fact_cuchit_l" *!* Case plAchitat And !plEmiteBon And gnTIP_LFACTURA_LINII=2 *!* lcRaport="fact_cuchit_l" *!* Case gnTIP_LFACTURA_LINII=2 *!* lcRaport="fact_farachit_l" *!* Otherwise *!* lcRaport="fact_farachit" *!* Endcase *!* lnRaspuns=6 *!* Do While lnRaspuns=6 *!* Select &tcCursor *!* *!* Do Case *!* *!* Case gnTIP_LFACTURA = 2 *!* *!* *!* Report Form fact_farachit To Printer Prompt Preview *!* *!* Do LISTAREUSERREPORT With tcCursor, "FRX", "fact_farachit" In PROCEDURI_RAPOARTE.PRG *!* *!* Case gnTIP_LFACTURA = 1 *!* *!* *!* Report Form fact_cuchit To Printer Prompt Preview *!* *!* Do LISTAREUSERREPORT With tcCursor, "FRX", "fact_cuchit" In PROCEDURI_RAPOARTE.PRG *!* *!* Otherwise *!* *!* Report Form fact_farachit To Printer Prompt Preview *!* *!* modificare v 2.0.5 *!* *!* Do LISTAREUSERREPORT With tcCursor, "FRX", lcRaport In PROCEDURI_RAPOARTE.PRG *!* goExport.export2frx(tcCursor,lcRaport) *!* *!* modificare v 2.0.5 *!* *!* If plAchitat And !plEmiteBon *!* *!* Do LISTAREUSERREPORT With tcCursor, "FRX", fact_cuchit In PROCEDURI_RAPOARTE.PRG *!* *!* Else *!* *!* Do LISTAREUSERREPORT With tcCursor, "FRX", fact_farachit In PROCEDURI_RAPOARTE.PRG *!* *!* Endif *!* *!* Endcase *!* lnRaspuns=amessagebox("Doriti sa mai listati factura?",4+32+256,"Confirmare repetare listare") *!* Enddo *!* *!* modificare v 2.0.26 *!* *!* exportInPdf(tcCursor,lcRaport) *!* If glAtasamenteAuto *!* exportInPdf(tcCursor,lcRaport) *!* Endif *!* *!* modificare v 2.0.26 ^ *!* *!* modificare v 2.0.2 ^ *!* If plEmiteBon *!* *!* modificare v 2.0.21 *!* If glAutoBonDet *!* listare_bon_fiscal_det(ptDataOra,poDate.nrchit,poDate.sumaachit,poDate.proc_tva,tnProcDiscN,pnSumaMan+pnTvaMan,tnProcDiscM) *!* Else *!* *!* modificare v 2.0.21 ^ *!* lnTotCTva=pnSumaMat+pnSumaMan-pnDiscMat-pnDiscMan+Round(pnAvansFTva,gnPc)+; *!* pnTvaMat+pnTvaMan+pnTvaDiscMat+pnTvaDiscMan+Round(pnAvansTva,gnPc) *!* *!* modificare v 2.0.1 *!* *!* listare_bon_fiscal(Ttod(ptDataOra),poDate.nract,lnTotCTva,poDate.nrchit,poDate.sumaachit,poDate.proc_tva) *!* listare_bon_fiscal(ptDataOra,poDate.nract,lnTotCTva,poDate.nrchit,poDate.sumaachit,poDate.proc_tva) *!* *!* modificare v 2.0.1 ^ *!* *!* modificare v 2.0.21 *!* Endif *!* *!* modificare v 2.0.21 ^ *!* Endif *!* Release poDate *!* Endproc && listare_factura ********************************************************************************************************* Procedure creare_bon_fiscal Endproc && creare_bon_fiscal ********************************************************************************************************* *!* modificare v 2.0.28 *!* *!* modificare v 2.0.21 *!* Procedure listare_bon_fiscal_det *!* Lparameters ttDataOra,tnNrBon,tnSumaAchit,tnProcentTva,tnProcDiscMat,tnSumaManopera,tnProcDiscMan *!* Local lcCursor *!* lcCursor = [crsDateBon] *!* Create Cursor (lcCursor) (denumire c(100), UM c(10), CANT N(10,4), Pret N(18,4), DEPARTAMENT N(2), PROC_TVAV N(5,2),PROCENT N(5,2),DISCOUNT N(2) DEFAULT 0) *!* *!* modificare v 2.0.26 *!* *!* Insert Into (lcCursor) (denumire,um,cant,Pret,departament,proc_tvav) ; *!* *!* Select denumire, Nvl(um,'BUC') As um, cant, Pret, 1, 1+(tnProcentTva/100) From crsBonDetaliat *!* If Used('crsBonDetaliat') *!* Insert Into (lcCursor) (denumire,um,cant,Pret,departament,proc_tvav) ; *!* Select denumire, Nvl(um,'BUC') As um, cant, Pret, 1, 1+(tnProcentTva/100) From crsBonDetaliat *!* Endif *!* *!* modificare v 2.0.26 ^ *!* Select (lcCursor) *!* If tnProcDiscMat <> 0 *!* Append Blank *!* Replace denumire With 'DISCOUNT MATERIALE',um With 'BUC',cant With 1,procent With tnProcDiscMat,; *!* departament With 1,proc_tvav With 1+(tnProcentTva/100),discount With 2 *!* Endif *!* If tnSumaManopera <> 0 *!* Append Blank *!* Replace denumire With 'MANOPERA SERVICE',um WITH 'BUC',cant With 1,Pret With tnSumaManopera,; *!* departament With 1,proc_tvav With 1+(tnProcentTva/100) *!* Endif *!* If tnProcDiscMan <> 0 *!* Append Blank *!* Replace denumire With 'DISCOUNT MANOPERA',um With 'BUC',cant With 1,procent With tnProcDiscMan,; *!* departament With 1,proc_tvav With 1+(tnProcentTva/100),discount With 1 *!* Endif *!* loHash = GetHash() *!* loHash.SetValue("cTip", "1;") *!* loHash.SetValue("nNumarBon", tnNrBon) *!* loHash.SetValue("nValoareNumerar", tnSumaAchit) *!* loHash.SetValue("nValoareTotal", tnSumaAchit) *!* loHash.SetValue("cCursor",lcCursor) *!* loHash.SetValue("tDataOra",ttDataOra) *!* goControllerEcr.imprima(loHash) *!* Use In (lcCursor) *!* Release loHash *!* Endproc && listare_bon_fiscal_det *!* *!* modificare v 2.0.21 ^ *!* modificare v 2.0.28 ^ ********************************************************************************************************* *!* modificare v 2.0.28 *!* Procedure listare_bon_fiscal *!* Lparameters ttDataOra,tnNrFact,tnTotCTva,tnNrBon,tnSumaAchit,tnProcentTva *!* *!* modificare v 2.0.1 *!* *!* *!* lcSir=[1;Fact.]+Alltrim(Str(tnNrFact))+[;1;1;1;]+Alltrim(Str(tnTotCTva*100))+[;1000;0]+CRLF *!* *!* lcSir=[1;Fact.]+Alltrim(Str(tnNrFact))+[;1;1;1;]+Alltrim(Str(tnSumaAchit*100))+[;1000;0\n]+CRLF *!* *!* lcSir=lcSir+[5;]+Alltrim(Str(tnSumaAchit*100))+[;0;0;0\n]+Chr(13)+Chr(10)+Chr(13)+Chr(10) *!* *!* imprimare_bon_fiscal(lcSir,tdDataOra,tnNrBon) *!* Local lcCursor *!* lcCursor = [crsDateBon] *!* Create Cursor (lcCursor) (denumire c(100), UM c(10), CANT N(10,4), Pret N(18,4), DEPARTAMENT N(2), PROC_TVAV N(5,2)) *!* Append Blank *!* Replace denumire With [Fact.]+Alltrim(Str(tnNrFact)),CANT With 1,Pret With tnSumaAchit,PROC_TVAV With 1+(tnProcentTva/100),DEPARTAMENT With 1 *!* loHash = GetHash() *!* loHash.SetValue("cTip", "1;") *!* loHash.SetValue("nNumarBon", tnNrBon) *!* loHash.SetValue("nValoareNumerar", tnSumaAchit) *!* loHash.SetValue("nValoareTotal", tnSumaAchit) *!* loHash.SetValue("cCursor",lcCursor) *!* loHash.SetValue("tDataOra",ttDataOra) *!* goControllerEcr.imprima(loHash) *!* Use In (lcCursor) *!* Release loHash *!* *!* modificare v 2.0.1 ^ *!* Endproc && listare_bon_fiscal *!* modificare v 2.0.28 ^ ********************************************************************************************************* Procedure facturi_emise_pe_sectii Private pcAnLuna1,pcAnLuna2,pnNrLuni1,pnNrLuni2 Local lcCursor lnRepetare = 1 pnButon = 1 Do While lnRepetare = 1 And pnButon = 1 pcAnLuna1 = Padl(Alltrim(Str(gnLuna)),2,'0')+Alltrim(Str(gnAn)) pcAnLuna2 = pcAnLuna1 ofrminterval = Createobject('frm_interval_luni') ofrminterval.lb_titlu_alb_b121.Caption = [DATA FACTURII] ofrminterval.Show(1) Release ofrminterval If Val(Substr(pcAnLuna2,1,2))+Val(Substr(pcAnLuna2,3))*12 <= gnAn*12 + gnLuna lnRepetare = 0 Else amessagebox("Luna de sfarsit nu poate fi mai mare decat cea curenta!",48,"Atentie") Endif Enddo If pnButon = 1 lcCursor = [crsfacturisectii] loCauta = caut_sectie(1,.F.,.T.) If pnButon = 1 If Used(lcCursor) Use In (lcCursor) Endif _Screen.MousePointer=11 Private pcDataOra,pnIdSectie pnIdSectie = 0 pnNrLuni1=Val(Substr(pcAnLuna1,1,2))+Val(Substr(pcAnLuna1,3))*12 pnNrLuni2=Val(Substr(pcAnLuna2,1,2))+Val(Substr(pcAnLuna2,3))*12 pcDataOra = get_ora(2) If loCauta.id_sectie <> 0 pnIdSectie = loCauta.id_sectie lcFiltru = [where a.id_sectie = ?pnIdSectie] Else lcFiltru = [] Endif lcSql = [select a.nract,a.dataact,a.id_lucrare,a.id_partd,a.id_sectie,b.nrord,c.denumire,d.sectie,] + ; [NVL(e.valoarea, 0) as valoarea,NVL(e.valoarev, 0) as valoarev,decode(NVL(e.valoarea, 1),0,0,(NVL(e.valoarev, 0) - NVL(e.valoarea, 0)) * 100 / NVL(e.valoarea, 1)) as proc_adaos,] + ; [NVL(f.ore, 0) as ore,NVL(f.ore_spec, 0) as ore_spec,NVL(f.valoare_man, 0) as valoare_man,NVL(f.valoare_man_spec, 0) as valoare_man_spec ] + ; [from (select distinct nract, dataact, id_lucrare, id_partd, id_sectie from ] + gcS + [.act where an * 12 + luna ] + ; [between ?pnNrLuni1 and ?pnNrLuni2 and sters = 0 and id_set in (31011, 31012) and scd like '41%' and scc not like '44%') a ] + ; [left join ] + gcS + [.vnom_lucrari b on a.id_lucrare = b.id_lucrare ] + ; [left join ] + gcS + [.nom_parteneri c on a.id_partd = c.id_part ] + ; [left join ] + gcS + [.nom_sectii d on a.id_sectie = d.id_sectie ] + ; [left join (select sum(round(pret * cante, 2)) as valoarea, ] + ; [sum(round(pretv * cante, 2)) as valoarev, id_lucrare, id_sectie ] + ; [from ] + gcS + [.rul where sters = 0 group by id_lucrare, id_sectie) e ] + ; [on a.id_lucrare = e.id_lucrare and a.id_sectie = e.id_sectie ] + ; [left join (select sum(NVL2(c1.id_norma, 0, b1.timpn)) as ore,] + ; [sum(NVL2(c1.id_norma, b1.timpn, 0)) as ore_spec,] + ; [sum(NVL2(c1.id_norma, 0, round(b1.timpn * b1.pret, 2))) as valoare_man,] + ; [sum(NVL2(c1.id_norma, round(b1.timpn * b1.pret, 2), 0)) as valoare_man_spec,] + ; [a1.id_lucrare,b1.id_sectie from ] + gcS + [.dev_ordl a1 ] + ; [left join ] + gcS + [.dev_oper b1 on a1.id_ordl = b1.id_ordl ] + ; [left join (select pack_sesiune.getoptiunefirma(USER,'ID_NORME_SPEC') as id_norma from ] + gcS + [.dev_oper where rownum = 1) c1 ] + ; [on b1.id_norme = c1.id_norma where a1.sters = 0 and b1.sters = 0 ] + ; [group by a1.id_lucrare, b1.id_sectie) f on a.id_lucrare = f.id_lucrare ] + ; [and a.id_sectie = f.id_sectie ] + ; lcFiltru + [ order by d.sectie, a.dataact, a.nract] lnSucces = goExecutor.oExecute(lcSql,lcCursor) _Screen.MousePointer=0 If lnSucces < 0 amessagebox(goExecutor.cEroare,0+16,'Eroare') Else If Reccount(lcCursor)=0 amessagebox("Nu exista inregistrari pentru vizualizare!",0+64,"Info raport facturi emise pe sectii") Else Private pcPerioada pnButon=1 Do While pnButon=1 pnOptiune=1 ofrmaleg=Createobject('frm_aleg_vizualizare') ofrmaleg.Show(1) Do Case Case pnButon<>1 Loop Case pnOptiune=1 Private pcTitlu Store '' To pcTitlu pcTitlu = 'LISTA FACTURILOR FINALE PE SECȚII' pcPerioada = Iif(pnNrLuni1==pnNrLuni2,; 'Luna '+Substr(pcAnLuna1,1,2)+'/'+Substr(pcAnLuna1,3),; 'Perioada '+Substr(pcAnLuna1,1,2)+'/'+Substr(pcAnLuna1,3)+' - '+Substr(pcAnLuna2,1,2)+'/'+Substr(pcAnLuna2,3)) Select (lcCursor) Keyboard '{CTRL+F10}' Report Form rap_facturi_sectii To Printer Prompt Preview Case pnOptiune=2 lcSirColoane=[sectie,nract,TTOD(dataact),nrord,denumire,valoarea,valoarev,proc_adaos,ore,ore_spec,valoare_man,valoare_man_spec] lcSirNume=[Sectie,Nr_factura,Data_factura,Nr_comanda,Nume,Pret_achizitie,Pret_vanzare,Procent_adaos,Ore_manopera,Ore_manopera_speciala,] + ; [Valoare_manopera,Valoare_manopera_speciala] exportare(lcCursor,lcSirColoane,lcSirNume) Endcase Release ofrmaleg Enddo Endif If Used(lcCursor) Use In (lcCursor) Endif Endif Endif Endif Endproc && facturi_emise_pe_sectii Procedure manopera_sectii_anfabr Private pcAnLuna1,pcAnLuna2,pnLunaI,pnAnI,pnLunaF,pnAnF Store 0 To pnLunaI,pnAnI,pnLunaF,pnAnF Local lcCursor lnRepetare = 1 pnButon = 1 Do While lnRepetare = 1 And pnButon = 1 pcAnLuna1 = Padl(Alltrim(Str(gnLuna)),2,'0')+Alltrim(Str(gnAn)) pcAnLuna2 = pcAnLuna1 ofrminterval = Createobject('frm_interval_luni') ofrminterval.lb_titlu_alb_b121.Caption = [LUNA INCHIDERE COMANDA] ofrminterval.Show(1) Release ofrminterval If Val(Substr(pcAnLuna2,1,2))+Val(Substr(pcAnLuna2,3))*12 <= gnAn*12 + gnLuna lnRepetare = 0 Else amessagebox("Luna de sfarsit nu poate fi mai mare decat cea curenta!",48,"Atentie") Endif Enddo If pnButon = 1 lcCursor = [crsmanopsecmas] loCauta = caut_sectie(1,.F.,.T.) If pnButon = 1 If Used(lcCursor) Use In (lcCursor) Endif _Screen.MousePointer=11 Private pcDataOra,pnIdSectie pnIdSectie = 0 pnLunaI = Val(Substr(pcAnLuna1,1,2)) pnAnI = Val(Substr(pcAnLuna1,3)) pnLunaF = Val(Substr(pcAnLuna2,1,2)) pnAnF = Val(Substr(pcAnLuna2,3)) lcSql = [begin pack_auto.set_perioada_raport(?pnLunaI,?pnAnI,?pnLunaF,?pnAnF); end;] lnSucces = goExecutor.oExecute(lcSql) If lnSucces < 0 amessagebox(goExecutor.cEroare,0+16,'Eroare') Endif pcDataOra = get_ora(2) If loCauta.id_sectie <> 0 pnIdSectie = loCauta.id_sectie lcFiltru = [where id_sectie = ?pnIdSectie] Else lcFiltru = [] Endif lcSql = [select datai, nrord, tip_comanda, sectie, anfabricatie, denumire, total ] + ; [from ] + gcS + [.auto_listare_man_anfabr ] + ; lcFiltru + [ order by sectie,tip_comanda,anfabricatie, datai, nrord] lnSucces = goExecutor.oExecute(lcSql,lcCursor) _Screen.MousePointer=0 If lnSucces < 0 amessagebox(goExecutor.cEroare,0+16,'Eroare') Else If Reccount(lcCursor)=0 amessagebox("Nu exista inregistrari pentru vizualizare!",0+64,"Info raport manopera comenzii inchise pe sectii / an fabricatie") Else Private pcPerioada pnButon=1 Do While pnButon=1 pnOptiune=1 ofrmaleg=Createobject('frm_aleg_vizualizare') ofrmaleg.Show(1) Do Case Case pnButon<>1 Loop Case pnOptiune=1 Private pcTitlu Store '' To pcTitlu pcTitlu = 'MANOPERĂ COMENZI ÎNCHISE PE SECȚII / AN FABRICAȚIE' pcPerioada = Iif(pnLunaI+pnAnI*12==pnLunaF+pnAnF*12,; 'Luna '+Substr(pcAnLuna1,1,2)+'/'+Substr(pcAnLuna1,3),; 'Perioada '+Substr(pcAnLuna1,1,2)+'/'+Substr(pcAnLuna1,3)+' - '+Substr(pcAnLuna2,1,2)+'/'+Substr(pcAnLuna2,3)) Select (lcCursor) Keyboard '{CTRL+F10}' Report Form rap_manopera_anfabricatie To Printer Prompt Preview Case pnOptiune=2 lcSirColoane=[sectie,tip_comanda,anfabricatie,TTOD(datai),nrord,denumire,total] lcSirNume=[Sectie,Tip_comanda,An_fabricatie_masina,Data_comanda,Comanda,Client,Total] exportare(lcCursor,lcSirColoane,lcSirNume) Endcase Release ofrmaleg Enddo Endif If Used(lcCursor) Use In (lcCursor) Endif Endif Endif Endif Endproc && manopera_sectii_anfabr ********************************************************************************************************* Procedure manopera_sectii_anfabr_centralizator Private pcAnLuna1,pcAnLuna2,pnLunaI,pnAnI,pnLunaF,pnAnF Store 0 To pnLunaI,pnAnI,pnLunaF,pnAnF Local lcCursor lnRepetare = 1 pnButon = 1 Do While lnRepetare = 1 And pnButon = 1 pcAnLuna1 = Padl(Alltrim(Str(gnLuna)),2,'0')+Alltrim(Str(gnAn)) pcAnLuna2 = pcAnLuna1 ofrminterval = Createobject('frm_interval_luni') ofrminterval.lb_titlu_alb_b121.Caption = [LUNA INCHIDERE COMANDA] ofrminterval.Show(1) Release ofrminterval If Val(Substr(pcAnLuna2,1,2))+Val(Substr(pcAnLuna2,3))*12 <= gnAn*12 + gnLuna lnRepetare = 0 Else amessagebox("Luna de sfarsit nu poate fi mai mare decat cea curenta!",48,"Atentie") Endif Enddo If pnButon = 1 lcCursor = [crsmanopsecmas] loCauta = caut_sectie(1,.F.,.T.) If pnButon = 1 If Used(lcCursor) Use In (lcCursor) Endif _Screen.MousePointer=11 Private pcDataOra,pnIdSectie pnIdSectie = 0 pnLunaI = Val(Substr(pcAnLuna1,1,2)) pnAnI = Val(Substr(pcAnLuna1,3)) pnLunaF = Val(Substr(pcAnLuna2,1,2)) pnAnF = Val(Substr(pcAnLuna2,3)) lcSql = [begin pack_auto.set_perioada_raport(?pnLunaI,?pnAnI,?pnLunaF,?pnAnF); end;] lnSucces = goExecutor.oExecute(lcSql) If lnSucces < 0 amessagebox(goExecutor.cEroare,0+16,'Eroare') Endif pcDataOra = get_ora(2) If loCauta.id_sectie <> 0 pnIdSectie = loCauta.id_sectie lcFiltru = [where d.id_sectie = ?pnIdSectie] Else lcFiltru = [] Endif lcSql = [select c.denumire as tip_comanda, e.sectie, NVL(f.anfabricatie,0) as anfabricatie,] + ; [sum(round(d.timpn * d.pret, ?gnPc)) as total,grouping_id(e.sectie, c.denumire, NVL(f.anfabricatie, 0)) as gid ] + ; [from ] + gcS + [.auto_analiza_salarii a ] + ; [left join ] + gcS + [.dev_ordl b on a.id_ordl = b.id_ordl ] + ; [left join ] + gcS + [.dev_tip_deviz c on a.id_tip = c.id_tip ] + ; [left join ] + gcS + [.dev_oper d on b.id_ordl = d.id_ordl and d.sters = 0 ] + ; [left join ] + gcS + [.nom_sectii e on d.id_sectie = e.id_sectie ] + ; [left join ] + gcS + [.dev_masiniclienti f on b.id_masiniclient = f.id_masiniclient ] + ; lcFiltru + [ group by rollup(e.sectie, c.denumire, NVL(f.anfabricatie,0)) ] + ; [ order by e.sectie, 4, c.denumire, NVL(f.anfabricatie,0)] lnSucces = goExecutor.oExecute(lcSql,lcCursor) _Screen.MousePointer=0 If lnSucces < 0 amessagebox(goExecutor.cEroare,0+16,'Eroare') Else If Reccount(lcCursor)=0 amessagebox("Nu exista inregistrari pentru vizualizare!",0+64,"Info raport manopera comenzii inchise pe sectii / an fabricatie") Else Private pcPerioada pnButon=1 Do While pnButon=1 pnOptiune=1 ofrmaleg=Createobject('frm_aleg_vizualizare') ofrmaleg.Show(1) Do Case Case pnButon<>1 Loop Case pnOptiune=1 Private pcTitlu Store '' To pcTitlu pcTitlu = 'CENTRALIZATOR MANOPERĂ COMENZI ÎNCHISE PE SECȚII / AN FABRICAȚIE' pcPerioada = Iif(pnLunaI+pnAnI*12==pnLunaF+pnAnF*12,; 'Luna '+Substr(pcAnLuna1,1,2)+'/'+Substr(pcAnLuna1,3),; 'Perioada '+Substr(pcAnLuna1,1,2)+'/'+Substr(pcAnLuna1,3)+' - '+Substr(pcAnLuna2,1,2)+'/'+Substr(pcAnLuna2,3)) Select (lcCursor) Keyboard '{CTRL+F10}' Report Form rap_manopera_anfabricatie_c To Printer Prompt Preview Case pnOptiune=2 lcSirColoane=[sectie,tip_comanda,anfabricatie,total] lcSirNume=[Sectie,Tip_comanda,An_fabricatie_masina,Total] exportare(lcCursor,lcSirColoane,lcSirNume) Endcase Release ofrmaleg Enddo Endif If Used(lcCursor) Use In (lcCursor) Endif Endif Endif Endif Endproc && manopera_sectii_anfabr_centralizator ********************************************************************************************************* Procedure manopera_sectii Private pcAnLuna1,pcAnLuna2,pnLunaI,pnAnI,pnLunaF,pnAnF Store 0 To pnLunaI,pnAnI,pnLunaF,pnAnF Local lcCursor lnRepetare = 1 pnButon = 1 Do While lnRepetare = 1 And pnButon = 1 pcAnLuna1 = Padl(Alltrim(Str(gnLuna)),2,'0')+Alltrim(Str(gnAn)) pcAnLuna2 = pcAnLuna1 ofrminterval = Createobject('frm_interval_luni') ofrminterval.lb_titlu_alb_b121.Caption = [LUNA INCHIDERE COMANDA] ofrminterval.Show(1) Release ofrminterval If Val(Substr(pcAnLuna2,1,2))+Val(Substr(pcAnLuna2,3))*12 <= gnAn*12 + gnLuna lnRepetare = 0 Else amessagebox("Luna de sfarsit nu poate fi mai mare decat cea curenta!",48,"Atentie") Endif Enddo If pnButon = 1 lcCursor = [crsmanopsecmas] *!* loCauta = caut_sectie(1,.F.,.T.) If pnButon = 1 If Used(lcCursor) Use In (lcCursor) Endif _Screen.MousePointer=11 Private pcDataOra,pnIdSectie pnIdSectie = 0 pnLunaI = Val(Substr(pcAnLuna1,1,2)) pnAnI = Val(Substr(pcAnLuna1,3)) pnLunaF = Val(Substr(pcAnLuna2,1,2)) pnAnF = Val(Substr(pcAnLuna2,3)) lcSql = [begin pack_auto.set_perioada_raport(?pnLunaI,?pnAnI,?pnLunaF,?pnAnF); end;] lnSucces = goExecutor.oExecute(lcSql) If lnSucces < 0 amessagebox(goExecutor.cEroare,0+16,'Eroare') Endif pcDataOra = get_ora(2) *!* If loCauta.id_sectie <> 0 *!* pnIdSectie = loCauta.id_sectie *!* lcFiltru = [where id_sectie = ?pnIdSectie] *!* Else lcFiltru = [] *!* Endif lcSql = [select id_sectie, sectie, total_ore, total_valoare ] + ; [from ] + gcS + [.auto_listare_man_sectii ] + ; lcFiltru + [ order by sectie] lnSucces = goExecutor.oExecute(lcSql,lcCursor) _Screen.MousePointer=0 If lnSucces < 0 amessagebox(goExecutor.cEroare,0+16,'Eroare') Else If Reccount(lcCursor)=0 amessagebox("Nu exista inregistrari pentru vizualizare!",0+64,"Info raport manopera comenzii inchise pe sectii") Else Private pcPerioada pnButon=1 Do While pnButon=1 pnOptiune=1 ofrmaleg=Createobject('frm_aleg_vizualizare') ofrmaleg.Show(1) Do Case Case pnButon<>1 Loop Case pnOptiune=1 Private pcTitlu Store '' To pcTitlu pcTitlu = 'MANOPERĂ COMENZI ÎNCHISE PE SECȚII' pcPerioada = Iif(pnLunaI+pnAnI*12==pnLunaF+pnAnF*12,; 'Luna '+Substr(pcAnLuna1,1,2)+'/'+Substr(pcAnLuna1,3),; 'Perioada '+Substr(pcAnLuna1,1,2)+'/'+Substr(pcAnLuna1,3)+' - '+Substr(pcAnLuna2,1,2)+'/'+Substr(pcAnLuna2,3)) Select (lcCursor) Keyboard '{CTRL+F10}' Report Form rap_manopera_sectii To Printer Prompt Preview Case pnOptiune=2 lcSirColoane=[sectie,total_ore,total_valoare] lcSirNume=[Sectie,Total_ore,Total_valoare] exportare(lcCursor,lcSirColoane,lcSirNume) Endcase Release ofrmaleg Enddo Endif If Used(lcCursor) Use In (lcCursor) Endif Endif Endif Endif Endproc && manopera_sectii ********************************************************************************************************* Procedure devize_pe_marci_de_masini Private pcAnLuna1,pcAnLuna2,pnNrLuni1,pnNrLuni2 lcCursorRaport = [crsdevize] pnButon = 1 pcAnLuna1 = Padl(Alltrim(Str(gnLuna)),2,'0')+Alltrim(Str(gnAn)) pcAnLuna2 = pcAnLuna1 ofrminterval = Createobject('frm_interval_luni') ofrminterval.lb_titlu_alb_b121.Caption = [DATA DESCHIDERII COMENZII] ofrminterval.Show(1) Release ofrminterval If pnButon = 1 loCauta = caut_marci_masini(1,.F.,.T.) If pnButon = 1 If Used(lcCursorRaport) Use In (lcCursorRaport) Endif _Screen.MousePointer=11 Private pcDataOra,pnIdMarca pnIdSectie = 0 pnNrLuni1=Val(Substr(pcAnLuna1,1,2))+Val(Substr(pcAnLuna1,3))*12 pnNrLuni2=Val(Substr(pcAnLuna2,1,2))+Val(Substr(pcAnLuna2,3))*12 pcDataOra = get_ora(2) lcFiltru = [where NVL(a.validat,0) = 1 and extract(year from a.datai) * 12 + extract(month from a.datai) between ] + ; [?pnNrLuni1 and ?pnNrLuni2] If loCauta.id_marca <> 0 pnIdMarca = loCauta.id_marca lcFiltru = lcFiltru + [ and e.id_marca = ?pnIdMarca] Endif *!* modificare v 2.0.37 : am sters c.kmint lcSql = [select a.id_ordl,a.datai,a.nrord,a.kmint,] + ; [nvl(b.facturat, 0) as facturat,c.nrinmat,d.id_marca,d.masina,e.marca,f.denumire,] + ; [g.ore,g.valoare_man from ] + gcS + [.auto_comenzi_validate a ] + ; [left join ] + gcS + [.auto_vordl_facturi b on a.id_lucrare = b.id_lucrare ] + ; [left join ] + gcS + [.dev_masiniclienti c on a.id_masiniclient = c.id_masiniclient ] + ; [left join ] + gcS + [.dev_nom_masini d on c.id_masina = d.id_masina ] + ; [left join ] + gcS + [.dev_nom_marci e on d.id_marca = e.id_marca ] + ; [left join ] + gcS + [.nom_parteneri f on c.id_partener = f.id_part ] + ; [left join (select sum(timpn) as ore, sum(round(timpn * pret, 2)) as valoare_man,id_ordl ] + ; [from ] + gcS + [.dev_oper where sters = 0 group by id_ordl) g on a.id_ordl = g.id_ordl ] + ; lcFiltru + [ order by e.marca,a.datai,d.masina] lnSucces = goExecutor.oExecute(lcSql,lcCursorRaport) _Screen.MousePointer=0 If lnSucces < 0 amessagebox(goExecutor.cEroare,0+16,'Eroare') Else If Reccount(lcCursorRaport)=0 amessagebox("Nu exista inregistrari pentru vizualizare!",0+64,"Info raport devize pe marci") Else Private pcPerioada pnButon=1 Do While pnButon=1 pnOptiune=1 ofrmaleg=Createobject('frm_aleg_vizualizare') ofrmaleg.Show(1) Do Case Case pnButon<>1 Loop Case pnOptiune=1 Private pcTitlu Store '' To pcTitlu pcTitlu = 'LISTA DEVIZELOR PE MĂRCI DE MAȘINI' pcPerioada = Iif(pnNrLuni1==pnNrLuni2,; 'Luna '+Substr(pcAnLuna1,1,2)+'/'+Substr(pcAnLuna1,3),; 'Perioada '+Substr(pcAnLuna1,1,2)+'/'+Substr(pcAnLuna1,3)+' - '+Substr(pcAnLuna2,1,2)+'/'+Substr(pcAnLuna2,3)) Select (lcCursorRaport) Keyboard '{CTRL+F10}' Report Form rap_devize_marci To Printer Prompt Preview Case pnOptiune=2 lcSirColoane=[marca,nrord,TTOD(datai),denumire,nrinmat,masina,kmint,facturat,ore,valoare_man] lcSirNume=[Marca,Nr_comanda,Data_comanda,Nume,Nr_inmatriculare,Model,Km_la_bord,Facturat,Ore_manopera,Valoare_manopera] exportare(lcCursorRaport,lcSirColoane,lcSirNume) Endcase Release ofrmaleg Enddo Endif If Used(lcCursorRaport) Use In (lcCursorRaport) Endif Endif Endif Endif Endproc && devize_pe_marci_de_masini *********************************************************************************************************