*!* 12.10.2015 *!* marius.mutu *!* valori_mat_bon, bon_com_nefact - fara comenzile arhivate INCHIS_FORTAT = 0 *!* #4224 ******************************************* * PROCEDURE ver_valid_lun( ) * Data/ora : 01/31/05, 09:19:02 * autor : liana.macinic * descriere: ****** PARAMETER BLOCK ************** * Parametri : 0 * ******************************************* Procedure ver_valid_lun( ) *!* Private poordl,pcschema1,pcselect1 *!* Store '' To poordl *!* pcschema1=[''] *!* pcselect1=['select a.nrord,a.datai,a.nume,b.manopera,a.util_valid,a.dataoravalid '+] + ; *!* ['from ] + gcS + [.dev_vordl a '+] + ; *!* ['left join ] + gcS + [.dev_vordl_man b on a.id_ordl=b.id_ordl '+] + ; *!* ['where 1=2'] *!* pcorder1= [a.nrord] *!* pcfiltru1 = [extract(month from a.dataoravalid) = ] + Alltrim(Str(gnLuna)) + [ and extract(year from a.dataoravalid) = ] + Alltrim(Str(gnAn)) + [ and a.validat = 1] *!* gencursor('poordl','crsordl',pcselect1,pcfiltru1,pcschema1,pcorder1) *!* poordl.ca_baza1.afisare() *!* If Reccount('crsordl')=0 *!* Use In crsordl *!* amessagebox("Nu exista comenzi validate in luna "+Alltrim(Str(gnLuna))+"/"+Alltrim(Str(gnAn))+" !",0+64,"Info listare") *!* Return *!* Endif *!* Private pcTitlu,pcDataora *!* Store '' To pcTitlu,pcDataora *!* pcTitlu = 'LISTA COMENZILOR VALIDATE IN CURSUL LUNII '+Alltrim(Str(gnLuna))+' / '+Alltrim(Str(gnAn)) *!* pcDataora = get_ora(2) *!* Select crsordl *!* gofundal.Visible=.F. *!* Keyboard "{ctrl+f10}" *!* Report Form comvalidnef To Printer Prompt Preview *!* gofundal.Visible=.T. Endproc **********************sfarsit procedura ver_valid_lun******************* ******************************************* * PROCEDURE ver_valid( ) * Data/ora : 01/31/05, 10:39:49 * autor : liana.macinic * descriere: ****** PARAMETER BLOCK ************** * Parametri : 0 * ******************************************* Procedure ver_valid( ) *!* Private poordl,pcschema1,pcselect1 *!* Store '' To poordl *!* pcschema1=[''] *!* pcselect1=['select a.nrord,a.datai,a.nume,a.asigurator,a.util_valid,a.dataoravalid '+] + ; *!* ['from ] + gcS + [.dev_vordl a '+] + ; *!* ['where 1=2'] *!* pcorder1= [a.nrord] *!* pcfiltru1 = [a.validat = 1] *!* gencursor('poordl','crsordl',pcselect1,pcfiltru1,pcschema1,pcorder1) *!* poordl.ca_baza1.afisare() *!* If Reccount('crsordl')=0 *!* Use In crsordl *!* amessagebox("Nu exista comenzi validate!",0+64,"Info listare") *!* Return *!* Endif *!* Private pcTitlu,pcDataora *!* Store '' To pcTitlu,pcDataora *!* pcTitlu = 'LISTA COMENZILOR VALIDATE - TOTAL ' *!* pcDataora = get_ora(2) *!* gofundal.Visible=.F. *!* Keyboard "{ctrl+f10}" *!* Select crsordl *!* Report Form comvalid To Printer Prompt Preview *!* gofundal.Visible=.T. Endproc **********************sfarsit procedura ver_valid******************* ******************************************* * PROCEDURE ver_nevalid( ) * Data/ora : 01/31/05, 10:54:49 * autor : liana.macinic * descriere: ****** PARAMETER BLOCK ************** * Parametri : 0 * ******************************************* Procedure ver_nevalid( ) *!* Private poordl,pcschema1,pcselect1 *!* Store '' To poordl *!* pcschema1=[''] *!* pcselect1=['select a.nrord,a.datai,a.nume,a.asigurator,a.util_valid,a.dataoravalid '+] + ; *!* ['from ] + gcS + [.dev_vordl a '+] + ; *!* ['where 1=2'] *!* pcorder1= [a.nrord] *!* pcfiltru1 = [a.validat = 0] *!* gencursor('poordl','crsordl',pcselect1,pcfiltru1,pcschema1,pcorder1) *!* poordl.ca_baza1.afisare() *!* If Reccount('crsordl')=0 *!* Use In crsordl *!* amessagebox("Nu exista comenzi deschise si nevalidate in luna "+Alltrim(Str(gnLuna))+"/"+Alltrim(Str(gnAn))+" !",0+64,"Info listare") *!* Return *!* Endif *!* Private pcTitlu,pcDataora *!* Store '' To pcTitlu,pcDataora *!* pcTitlu = 'LISTA COMENZILOR NEVALIDATE - TOTAL ' *!* pcDataora = get_ora(2) *!* Select crsordl *!* Public titlu *!* titlu='LISTA COMENZILOR DESCHISE SI NEVALIDATE IN LUNA '+Alltrim(Str(gnLuna))+' - '+Alltrim(Str(gnAn)) *!* gofundal.Visible=.F. *!* Keyboard "{ctrl+f10}" *!* Report Form comvalid To Printer Prompt Preview *!* gofundal.Visible=.T. *!* *!* sele clie *!* *!* set order to tag codc *!* *!* sele ordl *!* *!* SET RELATION TO codc INTO Clie ADDITIVE *!* *!* sele ordl *!* *!* *set order to tag datai *!* *!* set filter to !validat *!* *!* report form comvalid to printer prompt preview *!* *!* sele ordl *!* *!* set filter to *!* *!* sele ordl *!* *!* SET RELATION off inTO Clie Endproc **********************sfarsit procedura ver_nevalid******************* ******************************************* * PROCEDURE ver_nefact( ) * Data/ora : 01/31/05, 11:00:23 * autor : liana.macinic * descriere: ****** PARAMETER BLOCK ************** * Parametri : 0 * ******************************************* Procedure ver_nefact( ) *!* Private pcselect,pcschema,pcfiltru,pcorder,pofacturi,llAfiseaza *!* Store '' To pofacturi *!* pcschema=[''] *!* pcorder=[a.nume] *!* pcselect=['select a.nrord,a.datai,a.nume,a.asigurator,a.validat,a.dataoravalid,a.util_valid from ] + gcS + [.dev_vvalid_comenzi a ]+; *!* [where 1=2'] *!* *!* pcfiltru=[b.luna=]+ALLTRIM(STR(gnLuna))+[ and b.an=]+ALLTRIM(STR(gnAn)) *!* pcfiltru=[a.facturat = 0] *!* llAfiseaza=.F. *!* gencursor('pofacturi','crsfacturi',pcselect,pcfiltru,pcschema,pcorder,llAfiseaza) *!* pofacturi.ca_baza1.afisare() *!* If Reccount('crsfacturi')=0 *!* Use In crsfacturi *!* amessagebox("Nu exista comenzi nefacturate in luna "+Alltrim(Str(gnLuna))+"/"+Alltrim(Str(gnAn))+" !",0+64,"Info listare") *!* Return *!* Endif *!* Private pcTitlu,pcDataora *!* Store '' To pcTitlu,pcDataora *!* pcTitlu = 'LISTA COMENZILOR NEFACTURATE - LUNA '+Alltrim(Str(gnLuna))+' / '+ Alltrim(Str(gnAn)) *!* pcDataora = get_ora(2) *!* Select crsfacturi *!* gofundal.Visible=.F. *!* Keyboard "{ctrl+f10}" *!* Report Form comfact To Printer Prompt Preview *!* gofundal.Visible=.T. Endproc **********************sfarsit procedura ver_nefact******************* ******************************************* * PROCEDURE ver_valid_nefact( ) * Data/ora : 01/31/05, 12:05:27 * autor : liana.macinic * descriere: ****** PARAMETER BLOCK ************** * Parametri : 0 * ******************************************* Procedure ver_valid_nefact( ) *!* Private pcselect,pcschema,pcfiltru,pcorder,pofacturi,llAfiseaza *!* Store '' To pofacturi *!* pcschema=[''] *!* pcorder=[a.nume] *!* pcselect=['select a.nrord,a.datai,a.nume,a.asigurator,a.validat,a.dataoravalid,a.util_valid from ] + gcS + [.dev_vvalid_comenzi a ]+; *!* [where 1=2'] *!* *!* pcfiltru=[b.luna=]+ALLTRIM(STR(gnLuna))+[ and b.an=]+ALLTRIM(STR(gnAn)) *!* pcfiltru=[a.facturat = 0 and a.validat = 1 and extract(month from a.dataoravalid) = ]+Alltrim(Str(gnLuna))+ [ and extract(year from a.dataoravalid) = ]+Alltrim(Str(gnAn)) *!* llAfiseaza=.F. *!* gencursor('pofacturi','crsfacturi',pcselect,pcfiltru,pcschema,pcorder,llAfiseaza) *!* pofacturi.ca_baza1.afisare() *!* If Reccount('crsfacturi')=0 *!* Use In crsfacturi *!* amessagebox("Nu exista comenzi validate si nefacturate in luna "+Alltrim(Str(gnLuna))+"/"+Alltrim(Str(gnAn))+" !",0+64,"Info listare") *!* Return *!* Endif *!* Private pcTitlu,pcDataora *!* Store '' To pcTitlu,pcDataora *!* pcTitlu = 'LISTA COMENZILOR VALIDATE SI NEFACTURATE IN LUNA '+Alltrim(Str(gnLuna))+' / '+ Alltrim(Str(gnAn)) *!* pcDataora = get_ora(2) *!* gofundal.Visible=.F. *!* Keyboard "{ctrl+f10}" *!* Select crsfacturi *!* Report Form comfact To Printer Prompt Preview *!* gofundal.Visible=.T. *!* Use In crsfacturi Endproc **********************sfarsit procedura ver_valid_nefact******************* ******************************************* * PROCEDURE ver_com_rep( ) * Data/ora : 01/31/05, 12:45:31 * autor : liana.macinic * descriere: ****** PARAMETER BLOCK ************** * Parametri : 0 * ******************************************* Procedure ver_com_rep( ) *!* Private pcselect,pcschema,pcfiltru,pcorder,pofacturi,llAfiseaza *!* Store '' To pofacturi *!* pcschema=[''] *!* pcorder=[nume] *!* pcselect=['select nrord,datai,nume,asigurator,validat,facturat,datafact,dataoravalid,util_valid from ] + gcS + [.dev_vvalid_comenzi ]+; *!* [where 1=2'] *!* *!* pcfiltru=[b.luna=]+ALLTRIM(STR(gnLuna))+[ and b.an=]+ALLTRIM(STR(gnAn)) *!* pcfiltru=[facturat = 0 and validat = 1 and extract(month from dataoravalid) = ]+Alltrim(Str(gnLuna))+ [ and extract(year from dataoravalid) = ]+Alltrim(Str(gnAn)) *!* pcfiltru = [trunc(datai) < to_date('01/]+Alltrim(Str(gnLuna)) + [/]+Alltrim(Str(gnAn))+; *!* [','dd/mm/yyyy') and ((trunc(datafact)?gnLuna+?gnAn*12)) ]+; [AND INCH_VALIDARE = 0] Else lcFiltru = [EXTRACT(MONTH FROM DATAI)+EXTRACT(YEAR FROM DATAI)*12<=?gnLuna+?gnAn*12 AND ] + ; [(((FACTURAT=0 OR (FACTURAT=1 AND EXTRACT(MONTH FROM DATAFACT)+EXTRACT(YEAR FROM DATAFACT)*12>?gnLuna+?gnAn*12)) ]+; [AND INCH_VALIDARE = 0) OR ((VALIDAT=0 OR (VALIDAT=1 AND EXTRACT(MONTH FROM DATAORAVALID)+EXTRACT(YEAR FROM DATAORAVALID)*12>]+; [?gnLuna+?gnAn*12)) AND INCH_VALIDARE = 1))] Endif loTherm = Newobject("_thermometer","_therm","","Valori materiale bonate pe comenzi nefacturate...") lcTask = "Generare raport..." _Screen.MousePointer= 11 With loTherm .AlwaysOnTop=.T. .Show() lnPercent = 5 .Update(lnPercent, lcTask) pcDataora=get_ora(2) lnPercent = 10 .Update(lnPercent, lcTask) *!* inlocuire dev_vvalid_comenzi lcSql = [SELECT NUME,NRORD,DATAI,MATERIALE,ASIGURATOR FROM auto_VALIDARE_COMENZI WHERE ] + ; [MATERIALE!=0 AND INCHIS_FORTAT = 0 and ] + lcFiltru + [ ORDER BY 2] lnSucces = goExecutor.oExecute(lcSql,'crsmatnefact') If lnSucces < 0 amessagebox(goExecutor.cEroare,0+16,'Eroare') Endif .Complete() .AlwaysOnTop=.F. Endwith Release loTherm _Screen.MousePointer= 0 If Reccount('crsmatnefact')=0 amessagebox("Nu exista valori materiale bonate pe comenzi nefacturate!",0+48,"Info analiza") Return Endif gofundal.Visible=.F. Keyboard "{ctrl+f10}" Select crsmatnefact *!* Report Form matnefact To Printer Prompt Preview goExport.export2frx('crsmatnefact','matnefact ',.F., , , , , .T.) gofundal.Visible=.T. Use In (SELECT('crsmatnefact')) Endproc **********************sfarsit procedura valori_mat_bon ******************* **********************inceput procedura bon_com_nefact_sectii ******************* *!* Sele ordl.*,clie.nume From ordl,clie ; *!* where !ordl.facturat And ordl.codc=clie.codc; *!* and !Empty(ordl.nrord) And &cond; *!* into Table &loc\&nfscurt\tempo\matnefact Order By nrord *!* cond='((MONTH(DATAACT)<=VAL(M.NL) AND YEAR(DATAACT)=VAL(M.AN)) OR YEAR(DATAACT)?gnLuna+?gnAn*12)) ]+; [AND A.INCH_VALIDARE=0] Else *!* lcFiltru = [EXTRACT(MONTH FROM A.DATAI)+EXTRACT(YEAR FROM A.DATAI)*12<=?gnLuna+?gnAn*12 AND ] + ; *!* [((A.ID_LUCRARE NOT IN (SELECT ID_LUCRARE FROM ] + gcS + [.DEV_VORDL_FACTURI WHERE FACTURAT=1 ] + ; *!* [AND EXTRACT(MONTH FROM DATAACT)+EXTRACT(YEAR FROM DATAACT)*12<=?gnLuna+?gnAn*12) AND A.ID_TIP=1)] + ; *!* [OR ((A.VALIDAT=0 OR (A.VALIDAT=1 AND EXTRACT(MONTH FROM A.DATAORAVALID)+EXTRACT(YEAR FROM A.DATAORAVALID)*12>]+; *!* [?gnLuna+?gnAn*12)) AND A.ID_TIP IN (2,3,4)))] lcFiltru = [(((A.FACTURAT=0 OR ]+; [(A.FACTURAT=1 AND EXTRACT(MONTH FROM A.DATAFACT)+EXTRACT(YEAR FROM A.DATAFACT)*12>?gnLuna+?gnAn*12)) ]+; [AND A.INCH_VALIDARE=0) ]+; [OR ((A.VALIDAT=0 OR ]+; [(A.VALIDAT=1 AND EXTRACT(MONTH FROM A.DATAORAVALID)+EXTRACT(YEAR FROM A.DATAORAVALID)*12>?gnLuna+?gnAn*12)) ]+; [AND A.INCH_VALIDARE=1))] Endif If tlCuSectie lcOrder = [ORDER BY 9,4] lcExplicatie = [ - pe sectii] Else lcOrder = [ORDER BY 4] lcExplicatie = [] Endif loTherm = Newobject("_thermometer","_therm","","Bonuri pe comenzi nefacturate"+lcExplicatie+"...") lcTask = "Generare raport..." _Screen.MousePointer= 11 With loTherm .AlwaysOnTop=.T. .Show() lnPercent = 5 .Update(lnPercent, lcTask) pcDataora=get_ora(2) lnPercent = 10 .Update(lnPercent, lcTask) lcSql=[SELECT A.ID_LUCRARE,A.NUME,A.DATAI,A.NRORD,B.ID_SECTIE,B.DATAACT,B.NRACT,]+; [(case ]+; [when b.luna+b.an*12<]+; [pack_sesiune.GET_LUNARON()+pack_sesiune.GET_ANRON()*12]+; [ and ]+; [pack_sesiune.getAn()*12+pack_sesiune.getLuna()>=]+; [pack_sesiune.GET_ANRON()*12+pack_sesiune.GET_LUNARON() ]+; [then nvl(b.suma,0)/10000]+; [ else ]+; [nvl(b.suma,0) end ) ]+; [as SUMA,C.SECTIE,D.NUME AS NRESP ]+; [FROM auto_NORMARE_COMENZI A ]+; [LEFT JOIN ACT B ON A.ID_LUCRARE=B.ID_LUCRARE ]+; [LEFT JOIN VNOM_SECTII C ON B.ID_SECTIE=C.ID_SECTIE ]+; [LEFT JOIN VNOM_RESPONSABILI D ON B.ID_RESPONSABIL=D.ID_RESPONSABIL ]+; [WHERE EXTRACT(MONTH FROM A.DATAI)+EXTRACT(YEAR FROM A.DATAI)*12<=?gnLuna+?gnAn*12 AND A.INCHIS_FORTAT = 0 AND ]+; lcFiltru +; [AND B.STERS=0 AND B.SCD IN ('332','331') AND B.SCC='711' ]+; [AND EXTRACT(MONTH FROM B.DATAACT)+EXTRACT(YEAR FROM B.DATAACT)*12<=?gnLuna+?gnAn*12 ] + ; lcOrder lnSucces = goExecutor.oExecute(lcSql,'crsmatnefact') If lnSucces < 0 amessagebox(goExecutor.cEroare,0+16,'Eroare') Endif .Complete() .AlwaysOnTop=.F. Endwith Release loTherm _Screen.MousePointer= 0 *!* SELECT crsmatnefact *!* BROWSE If Reccount('crsmatnefact')=0 amessagebox("Nu exista bonuri pe comenzi nefacturate!",0+48,"Info analiza") Return Endif gofundal.Visible=.F. Keyboard "{ctrl+f10}" Select crsmatnefact If tlCuSectie *!* Report Form matbon_sec To Printer Prompt Preview goExport.export2frx('crsmatnefact','matbon_sec',.F., , , , , .T.) Else *!* Report Form matbon To Printer Prompt Preview goExport.export2frx('crsmatnefact','matbon',.F., , , , , .T.) ENDIF gofundal.Visible=.T. Use In (SELECT('crsmatnefact')) Endproc **********************sfarsit procedura bon_com_nefact_sectii ******************* **********************inceput procedura raport_salarizare ******************* Procedure raport_salarizare Private pcDataora,plPerioada,pcondper,pcPerioada,pnLunaI,pnAnI,pnLunaF,pnAnF Local lcOrder,lcSql,lcFiltru,lnSucces pcondper="" ofrmperioada=Createobject('frm_perioada_luni') ofrmperioada.Show(1) If gnButon=2 Return Endif plPerioada=.F. lnPoz=At('_',pcondper) If lnPoz>0 plPerioada=.T. Endif If plPerioada pnLunaI=Val(Substr(pcondper,1,2)) pnAnI=Val(Substr(pcondper,3,4)) pnLunaF=Val(Substr(pcondper,8,2)) pnAnF=Val(Substr(pcondper,10,4)) pcPerioada = [Perioada ]+ ; SUBSTR(pcondper,1,2)+'/'+Substr(pcondper,3,4) + ' - ' + ; SUBSTR(pcondper,8,2)+'/'+Substr(pcondper,10,4) Else pnLunaI=Val(Substr(pcondper,1,2)) pnAnI=Val(Substr(pcondper,3,4)) pnLunaF=pnLunaI pnAnF=pnAnI pcPerioada = [Luna ] + Substr(pcondper,1,2)+'/'+Substr(pcondper,3,4) Endif loTherm = Newobject("_thermometer","_therm","","Raport de salarizare...") lcTask = "Generare raport..." _Screen.MousePointer= 11 With loTherm .AlwaysOnTop=.T. .Show() lnPercent = 5 .Update(lnPercent, lcTask) pcDataora=get_ora(2) lnPercent = 10 .Update(lnPercent, lcTask) distribuire_timp_normat() lnPercent = 70 .Update(lnPercent, lcTask) 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 lnPercent = 80 .Update(lnPercent, lcTask) lcSql=[SELECT * FROM ]+gcS+[.AUTO_ANALIZA_SALARII_REG ORDER BY NUME] lnSucces = goExecutor.oExecute(lcSql,'crssalarii') If lnSucces < 0 amessagebox(goExecutor.cEroare,0+16,'Eroare') Endif .Complete() .AlwaysOnTop=.F. Endwith Release loTherm _Screen.MousePointer= 0 ofrmsalarii=Createobject("frm_raport_salarizare") ofrmsalarii.Show(1) Release ofrmsalarii,pcDataora,plPerioada,pcondper,pcPerioada,pnLunaI,pnAnI,pnLunaF,pnAnF Endproc **********************sfarsit procedura raport_salarizare ******************* **********************inceput procedura raport_salarizare_val ******************* Procedure raport_salarizare_val Private pcDataora,pcTitlu,pcondper,pcPerioada,pnLunaI,pnAnI,pnLunaF,pnAnF Local lcSql,lcCursor lcCursor = [crssalarii] pcondper="" ofrmperioada=Createobject('frm_perioada_luni') ofrmperioada.Show(1) If gnButon=2 Return Endif If At('_',pcondper)>0 pnLunaI=Val(Substr(pcondper,1,2)) pnAnI=Val(Substr(pcondper,3,4)) pnLunaF=Val(Substr(pcondper,8,2)) pnAnF=Val(Substr(pcondper,10,4)) pcPerioada = [Perioada ]+ ; SUBSTR(pcondper,1,2)+'/'+Substr(pcondper,3,4) + ' - ' + ; SUBSTR(pcondper,8,2)+'/'+Substr(pcondper,10,4) Else pnLunaI=Val(Substr(pcondper,1,2)) pnAnI=Val(Substr(pcondper,3,4)) pnLunaF=pnLunaI pnAnF=pnAnI pcPerioada = [Luna ] + Substr(pcondper,1,2)+'/'+Substr(pcondper,3,4) Endif loTherm = Newobject("_thermometer","_therm","","Raport de salarizare - comenzi validate ...") lcTask = "Generare raport..." _Screen.MousePointer= 11 With loTherm .AlwaysOnTop=.T. .Show() lnPercent = 5 .Update(lnPercent, lcTask) distribuire_timp_normat() lnPercent = 70 .Update(lnPercent, lcTask) lcSql = [begin pack_auto.set_perioada_raport(?pnLunaI,?pnAnI,?pnLunaF,?pnAnF); end;] If goExecutor.oExecuta(lcSql) lnPercent = 80 .Update(lnPercent, lcTask) lcSql=[SELECT * FROM ]+gcS+[.AUTO_ANALIZA_SALARII_VAL ORDER BY NUME] goExecutor.oExecuta(lcSql,lcCursor) Endif .Complete() .AlwaysOnTop=.F. Endwith Release loTherm _Screen.MousePointer= 0 If Used(lcCursor) If Reccount(lcCursor)>0 pcDataora=Ttoc(get_ora()) pcTitlu = [RAPORT DE SALARIZARE - COMENZI VALIDATE ÎN ] goExport.export2frx([crssalarii],[salarii],.F., , , , , .T.) && modificare v 2.1.9 Else amessagebox("Nu exista inregistrari pentru listare!",0+48,"Atentie") Endif Use In (lcCursor) Endif Release pcDataora,pcTitlu,pcondper,pcPerioada,pnLunaI,pnAnI,pnLunaF,pnAnF Endproc **********************sfarsit procedura raport_salarizare_val ******************* **********************inceput procedura manopera_asig ******************* Procedure manopera_asig Lparameters tlCuSectie Private pcDataora,plPerioada,pcondper,pcPerioada Local lcOrder,lcSql,lcFiltru,lnSucces pcondper="" ofrmperioada=Createobject('frm_perioada_luni') ofrmperioada.Show(1) If gnButon=2 Return Endif plPerioada=.F. lnPoz=At('_',pcondper) If lnPoz>0 plPerioada=.T. Endif lcFiltru = [extract(month from (decode(e.inch_validare,0,last_day(trunc(c.dataact)),last_day(trunc(a.dataoravalid))))) + ] + ; [extract(year from (decode(e.inch_validare,0,last_day(trunc(c.dataact)),last_day(trunc(a.dataoravalid))))) * 12 ] If plPerioada lnInit=Val(Substr(pcondper,1,2))+Val(Substr(pcondper,3,4))*12 lnFinal=Val(Substr(pcondper,8,2))+Val(Substr(pcondper,10,4))*12 lcFiltru = lcFiltru + [ between ]+; ALLTRIM(Str(lnInit))+[ and ]+Alltrim(Str(lnFinal)) pcPerioada = [Perioada ]+ ; SUBSTR(pcondper,1,2)+'/'+Substr(pcondper,3,4) + ' - ' + ; SUBSTR(pcondper,8,2)+'/'+Substr(pcondper,10,4) Else lnInit = Val(Substr(pcondper,1,2))+Val(Substr(pcondper,3,4))*12 lcFiltru = lcFiltru + [ = ]+; ALLTRIM(Str(lnInit)) pcPerioada = [Luna ] + Substr(pcondper,1,2)+'/'+Substr(pcondper,3,4) Endif loTherm = Newobject("_thermometer","_therm","","Ore de manopera pe asiguratori...") lcTask = "Generare raport..." _Screen.MousePointer= 11 With loTherm .AlwaysOnTop=.T. .Show() lnPercent = 5 .Update(lnPercent, lcTask) pcDataora=get_ora(2) lnPercent = 10 .Update(lnPercent, lcTask) *!* lcSql=[SELECT TIP,LUNA,ASIG,TIMP_N FROM ]+gcS+[.DEV_ANALIZA_MANASIG ]+lcFiltru+; *!* [ ORDER BY LUNA,TIP] lcSql = [Select decode(a.id_tip, 1, 'POST GARANTIE', 2, 'GARANTIE', 'REGIE') As tip,] + ; [NVL(d1.denumire, '') as asig,] + ; [decode(e.inch_validare,0,last_day(trunc(c.dataact)),last_day(trunc(a.dataoravalid))) as luna,] + ; [Nvl(Sum(round(b.timpn, 3)), 0) As timp_n ] + ; [From ] + ; [(select a.id_ordl, a.id_lucrare, a.id_asigurator, a.id_tip, ] + ; [(case when extract(month from a.dataoravalid) + extract(year from a.dataoravalid) * 12 ] + ; [<= pack_sesiune.getluna() + pack_sesiune.getan() * 12 then 1 else 0 end) as validat,] + ; [(case when extract(month from a.dataoravalid) + extract(year from a.dataoravalid) * 12 ] + ; [<= pack_sesiune.getluna() + pack_sesiune.getan() * 12 then a.dataoravalid else null end) as dataoravalid ] + ; [from ] + gcS + [.dev_ordl a where a.sters = 0) a ] + ; [Left Join ] + gcS + [.dev_oper b on a.id_ordl = b.id_ordl ] + ; [left join ] + gcS + [.auto_vordl_facturi c on a.id_lucrare = c.id_lucrare ] + ; [left join ] + gcS + [.dev_nom_asiguratori d on a.id_asigurator = d.id_asigurator ] + ; [left join ] + gcS + [.nom_parteneri d1 on d.id_part = d1.id_part ] + ; [left join ] + gcS + [.dev_tip_deviz e on a.id_tip = e.id_tip ] + ; [Where ((a.validat = 1 and e.inch_validare = 1) or (nvl(c.facturat, 0) = 1 and e.inch_validare = 0)) ] + ; [and ] + lcFiltru + [ and b.sters = 0 ] + ; [Group By d1.denumire, a.id_tip, decode(e.inch_validare,0,last_day(trunc(c.dataact)),last_day(trunc(a.dataoravalid))) ] + ; [order by 3,1,2] lnSucces = goExecutor.oExecute(lcSql,'manopera_asig') If lnSucces < 0 amessagebox(goExecutor.cEroare,0+16,'Eroare') Endif .Complete() .AlwaysOnTop=.F. Endwith Release loTherm _Screen.MousePointer= 0 If Reccount('manopera_asig')=0 amessagebox("Nu exista inregistrari pentru acest raport!",0+64,"Raport manopera pe asiguratori") Return Endif Select manopera_asig gofundal.Visible=.F. Keyboard "{ctrl+f10}" Report Form rap_manasig To Printer Prompt Preview gofundal.Visible=.T. Use In manopera_asig Endproc **********************sfarsit procedura manopera_asig ******************* ******************************************************************************************* Procedure verificare_articole Private pcTitlu Local lcCursorRaport, lcConditie, lcTitlu lcConditie = [] lcConditie2 = [] lcCompletareTitlu = [] pnOptiune=1 pnButon=1 lnRaspuns = 1 Do While lnRaspuns = 1 lcTitlu = [ARTICOLE PE COMENZI] lcIntrebare="Doriti ca raportul sa contina :" lnNrOptiuni=4 ofrmopt=Createobject("frm_optiune",lcTitlu,lcIntrebare,lnNrOptiuni) ofrmopt.ogOptiuni.option1.Caption="Ptr. un articol (cu intrari in luna)" ofrmopt.ogOptiuni.option2.Caption="Ptr. un articol din stocul lunii" ofrmopt.ogOptiuni.option3.Caption="Doar articolele cu intrari in luna" ofrmopt.ogOptiuni.option4.Caption="Toate articolele din stocul lunii" ofrmopt.Show(1) Release ofrmopt If pnButon=1 If Inlist(pnOptiune,1,3) lcConditie = [and x.cant <> 0] lcCompletareTitlu = [ CU INTRĂRI ÎN LUNĂ] Endif If Inlist(pnOptiune,1,2) loCauta = caut_articol() If !Empty(Nvl(loCauta.id_articol,0)) lcConditie2 = [and x.id_articol = ] + Alltrim(Str(loCauta.id_articol)) lcTip = [ARTICOL] Else Return Endif Else lcTip = [ARTICOLE] Endif pcTitlu = [VERIFICĂRI ] + lcTip + lcCompletareTitlu + [ PE COMENZI] lcCursorRaport = [crsArticoleVerif] Use In (Select(lcCursorRaport)) lcSql = [select a.id_articol,d.denumire,d.codmat,d.um,a.pret,a.cants,a.cant,a.id_gestiune,] + ; [b.nume_gestiune, b.cante, b.id_lucrare, e.nrord, NVL(c.facturat, 0) as facturat,a.nr_pag ] + ; [from (select x.id_articol, x.id_gestiune, x.cont, x.acont, x.cants, x.cant,] + ; [decode(q.nr_pag, 6, x.pretv, x.pret) as pret,q.nr_pag ] + ; [from stoc x ] + ; [left join nom_gestiuni q on x.id_gestiune = q.id_gestiune ] + ; [where x.an = ?gnAn and x.luna = ?gnLuna ] + lcConditie + lcConditie2 + [) a ] + ; [left join (select x.id_articol,decode(y.nr_pag, 6, x.pretv, x.pret) as pret,x.id_gestiune,] + ; [x.cont,x.acont,x.id_lucrare,sum(nvl(x.cante, 0)) as cante,y.nume_gestiune ] + ; [from rul x ] + ; [left join nom_gestiuni y on x.id_gestiune = y.id_gestiune ] + ; [where x.sters = 0 and x.cante <> 0 and x.an = ?gnAn and x.luna = ?gnLuna and x.id_tip_rulaj = 0 ] + lcConditie2 + ; [group by x.id_gestiune, y.nume_gestiune, x.id_articol, decode(y.nr_pag, 6, x.pretv, x.pret),] + ; [x.cont, x.acont, x.id_lucrare) b ] + ; [on a.id_articol = b.id_articol and a.pret = b.pret and a.id_gestiune = b.id_gestiune ] + ; [and NVL(a.cont, 'XXXX') = NVL(b.cont, 'XXXX') and NVL(a.acont, 'XXXX') = NVL(b.acont, 'XXXX') ] + ; [left join auto_vordl_facturate c on b.id_lucrare = c.id_lucrare ] + ; [left join nom_articole d on a.id_articol = d.id_articol ] + ; [left join vnom_lucrari e on b.id_lucrare = e.id_lucrare ] + ; [order by b.nume_gestiune, d.denumire, d.codmat, d.um, a.pret] lnSucces = goExecutor.oExecute(lcSql,lcCursorRaport) If lnSucces < 0 amessagebox(goExecutor.cEroare,0+16,'Eroare') Endif If Used(lcCursorRaport) If Reccount(lcCursorRaport) > 0 Private pcDataora,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 pcDataora = get_ora(2) pcPerioada = [LUNA ] + Padl(Alltrim(Str(gnLuna)),2,[0]) + [/] + Alltrim(Str(gnAn)) Select (lcCursorRaport) Keyboard '{CTRL+F10}' Report Form rap_articole_comenzi To Printer Prompt Preview Case pnOptiune=2 lcSirColoane=[nume_gestiune,denumire,codmat,um,nrord,facturat,cante,cant,cants] lcSirNume=[Gestiune,Nume_articol,Cod_material,UM,Nr_comanda,Facturat,Iesiri,Intrari_in_luna,Stoc_precedent] exportare(lcCursorRaport,lcSirColoane,lcSirNume) Endcase Release ofrmaleg Enddo Else amessagebox("Nu exista inregistrari pentru listare!",0+48,"Atentie") Endif Use In (lcCursorRaport) Endif Else lnRaspuns = 2 Endif Enddo Endproc && verificare_articole ******************************************************************************************* PROCEDURE viz_date_comenzi PRIVATE poDateComenzi poDateComenzi = '' TEXT TO lcSelect NOSHOW select nrord, id_part, nume, cod_fiscal, datai, asigurator, inspector, banca, cont_banca, adresa, email, telefon1, telefon2, nr_dosar, validat, id_masiniclient, nrinmat, series, seriem, culoare, kmint, id_masina, id_marca, marca, masina, semn, id_lucrare, codmat, denumire, cante, pret, data, id from auto_analiza_comenzi ENDTEXT lcSchema = [nrord C(50),id_part N(12),nume C(70),cod_fiscal C(30),datai T,asigurator C(70),inspector C(24),banca C(40),] + ; [cont_banca C(30),adresa C(250),email C(100),telefon1 C(30),telefon2 C(30),nr_dosar C(40),validat N(3),id_masiniclient (12),nrinmat C(40),] + ; [series C(17),seriem C(18),culoare C(30),kmint N(12),id_masina N(7),id_marca N(7),marca C(24),masina C(20),semn C(1),] + ; [id_lucrare N(20),codmat C(50),denumire C(100),cante N(20,4),pret N(20,4),data T,id N(20)] lcFiltru=[1=2] lcOrder=[datai,nrord] llAfiseaza=.F. lcSchema = [] llAfiseaza = .F. lcgroup = [] llModParam = .T. lcFiltruOriginal = [] gencursor('poDateComenzi','crsDateComenzi', lcSelect, lcFiltru, lcSchema, lcOrder, llAfiseaza, lcgroup, llModParam, lcFiltruOriginal) poDateComenzi.ca_baza1.afisare() loFrmDate = CREATEOBJECT("frm_viz_date_comenzi") loFrmDate.show(1) USE IN (SELECT('crsDateComenzi')) USE IN (SELECT('commandes')) ENDPROC && viz_date_comenzi