*!* 27.08.2009 *!* marius.mutu *!* listare_transfer : taxa_reconditionare - rap_nirtransfer_achi2 (landscape + coloane durata ramasa, taxa reconditionare) *!* taxa reconditionare apare doar daca se transfera de la un responsabil la magazie *!* 01.07.2010 *!* marius.mutu *!* listare_nir - id_jtva_coloana achizitie taxare inversa, nu stiu de ce era 1 *!* 13.08.2014 *!* marius.mutu *!* list_total_NIR - s-a eliminat join cu act dupa cont - puteau aparea duplicate, in act existau mai multe inregistrari cu acelasi cont *!* 05.02.2015 *!* marius.mutu *!* LISTARE_BON_TOT - se listeaza bonurile cu foxypreviewer *!* 13.06.2017 *!* marius.mutu *!* list_raport_gestiuni - export xls *!* 09.07.2018 *!* marius.mutu *!* listare_protocol - id_set 243 *!* 02.07.2020 *!* marius.mutu *!* LISTARE_TRANSFER *!* 229 transfer rezervare - se listeaza si clientii/lucrarile corespondente *!* LISTARE_BON_TOT *!* tratare id_Set = 274 iesire din ob inv in fol si inregistrare cheltuiala *!* 20.02.2024 *!* LISTARE_BON_TOT *!* adaugare sal_stat.formatia Procedure listare_protocol Lparameters tnNract, tnTip *!* tnTip: 1 (default) = protocol (pret cu tva); 2 = sponsorizare (pret fara tva) Private pnNrAct,pnCod Local lcCursor,lcCursor2, lnTip lcCursor=[crsdateact] lcCursor2 = [crsprotocol] If Type('tnTip') <> 'N' lnTip = 1 Else lnTip = tnTip Endif pnNrAct = tnNract *!* v 2.0.18 roagest (denumire partener, id_set 232, 233, 235) lcSql = [Select distinct a.cod, a.dataact, p.id_part as id_client, p.denumire, b.nume_gestiune as gestiune from act a ] + ; [ left join nom_gestiuni b on a.id_gestout = b.id_gestiune ] + ; [ left join nom_parteneri p on a.id_partc = p.id_part ] + ; [where a.an = ?gnAn and a.luna = ?gnLuna and a.nract = ?pnNrAct and a.scc = '401' and a.sters = 0 and a.id_set in (230,232,233,235,261,270,243) ] + ; Strtran(gcCondSucursala,[id_sucursala],[a.id_sucursala]) lnSucces = goExecutor.oexecute(lcSql,lcCursor) If lnSucces < 0 amessagebox(goExecutor.cEroare,0+16,"Eroare") Return Endif If Reccount(lcCursor) > 0 Select (lcCursor) Scatter Name poClient *!* v 2.0.18 roagest (iau partenerul din jurnal) *!* AddProperty(poClient,[id_client],[0]) *!* AddProperty(poClient,[denumire],[]) pnCod = cod poDate=Createobject("oDateFactura",0,0) poDate.nract = pnNrAct poDate.dataact = Iif(Type('dataact')='T',Ttod(dataact),dataact) poDate.dataora_exp = get_ora() && modificare ROAGEST v 2.0.150 *!* loCauta = caut_partener() *!* If gnButon <> 2 *!* poClient.id_client = loCauta.id_part *!* poClient.denumire = loCauta.denumire *!* Else poDate.tip = 23 && artificiu ca sa nu mai caute doar in delegatii pentru partenerul respectiv *!* EndIf *!* v 2.0.18 roagest ^ Use In (lcCursor) Private ofrmdatesupl ofrmdatesupl = Createobject("frm_alte_date") ofrmdatesupl.Show(1) Release ofrmdatesupl *!* modificare ROAGEST v 2.0.150 If gnButon = 1 *!* modificare ROAGEST v 2.0.150 ^ lcSql = [select denumire as nume_responsabil,cod_fiscal as CNPresp,reg_comert as BIresp from nom_parteneri ] + ; [where sters = 0 and inactiv = 0 and id_part in ] + ; [(select id_partener from utilizatori_rol_intern where sters = 0 and id_util = ?gnIdUtil)] lnSucces = goExecutor.oexecute(lcSql,lcCursor2) If lnSucces < 0 amessagebox(goExecutor.cEroare,0+16,"Eroare") Return Endif Select (lcCursor2) poDate.nume_responsabil = nume_responsabil poDate.BIresp = BIresp poDate.CNPresp = CNPresp Use In (lcCursor2) lcSql = [select a.cante as cantitate,] + ; Iif(lnTip = 1, [a.pretv+a.tvav], [a.pretv]) + [ as pretctva, ] + ; Iif(lnTip = 1, [Round(a.cante*(a.pretv+a.tvav),?gnPc)], [Round(a.cante*a.pretv,?gnPc)]) + [ as valctva,] + ; [a.serie,a.lot,b.codmat,b.denumire,b.um ] + ; [from rul a left join nom_articole b on a.id_articol = b.id_articol ] + ; [where a.sters = 0 and a.cod = ] + ALLTRIM(STR(m.pnCod)) lnSucces = goExecutor.oexecute(lcSql,lcCursor2) If lnSucces < 0 amessagebox(goExecutor.cEroare,0+16,"Eroare") Return Endif goExport.export2frx(lcCursor2,[protocol], , , , , , .T.) If Used(lcCursor2) Use In (lcCursor2) Endif *!* modificare ROAGEST v 2.0.150 Endif *!* modificare ROAGEST v 2.0.150 ^ Else amessagebox("Nu exista avizul cu acest numar in luna curenta!",48,"Atentie") Endif Release lcCursor,lcCursor2,pnNrAct,pnCod Endproc && listare_protocol ***************************************************************************************************************** Procedure listare_nir Parameters tnNir, tnTip, tlProductie, tlBon_livrare,tnTipRulaj DO listare_nir_TOT WITH tnNir,tnNir, tnTip, tlProductie, tlBon_livrare,tnTipRulaj ENDPROC &&listare_nir ***************************************************************************************************************** Procedure listare_nir_TOT Parameters tnNir1,tnNir2, tnTip, tlProductie, tlBon_livrare,tnTipRulaj && nu merge pt baza de date din preluare (cauza id_fact); && solutie : in loc de id_fact , cod - nu am pus cod pt ca nu e terminata modificarea din contabilitate && tlProductie - pt. programul RoaProductie am raportul pv_prod.frx && tnTipRulaj: NIR = 0 INTRARE REALA, 1 TRANSFER (DE LA O GESTIUNE VALORICA) &&13.01.2015 - a fost adaugat pnNir1, pnNir2 LOCAL lnTipRulaj STORE 0 TO lnTipRulaj Private lnCod,pnNir1,pnNir2,lnSuma1,lnSuma2,loact,pnTip,pnBazaDiscount,pnTvaDiscount,lcListaID,lcExceptii,lcContFact Store "" To loact,lcListaID,lcExceptii,lcContFact Store 0 To lnSuma1,lnSuma2,pnNir1,pnNir2,pnBazaDiscount,pnTvaDiscount pnNir1=tnNir1 pnNir2=tnNir2 Private poact Store Null To poact lcContFact = ['401','404','408'] If Empty(tnTip) pnTip = 0 Else pnTip = tnTip Endif *!* v 2.0.28 *!* LA NIR BILETE RATC - CALCULUL, NOTELE CONTABILE, LISTAREA SE FAC: *!* VALOAREA CU TVA *!* VALOAREA TVA = VALOAREA CU TVA * (PROC_TVA - 1)/ PROC_TVA *!* VALOAREA FARA TVA = VALOAREA CU TVA - VALOAREA TVA Private plNIRBONPretCuTVA plNIRBONPretCuTVA = Iif(Inlist(tnTip,17,27),.T.,.F.) && NIR BILETE RATC pnTip = Iif(pnTip = 17, 6,Iif(pnTip = 27,7,pnTip)) *!* v 2.0.28 ^ lnTipRulaj=IIF(EMPTY(tnTipRulaj),0,1) If Used('crsrul') Use In crsrul Endif *!* lcSql=[select cod,nnir,dataact,codmat,denumire,um,pret,tva,cant,pretv,tvav,cante,cgest,proc_tva,proc_tvav,id_fact,id_gestiune,procent, reteta ]+; *!* [ from vrul ]+; *!* [ where luna=?gnLuna and an=?gnAn and nnir=]+ALLTRIM(STR(pnNir))+[ and cant<>0 and cante=0 ] + ; *!* [ and id_gestiune in (select distinct id_gestiune from ] + gcS + [.vnom_gestiuni where nr_pag = ?pnTip)] && 09.11.2006 - factura Metro - toate tipurile de gestiune, exc. M pret vanzare If tlBon_livrare lcSql=[select cod,nnir,dataact,codmat,denumire,serie,lot,um,cont,acont,pret,tva,cant,pretv,tvav,cante,cgest, nume_gestiune, gestionar, comisie_receptie1, comisie_receptie2, comisie_receptie3,] + ; [proc_tva,proc_tvav,id_fact,id_gestiune,procent, reteta, pretd, curs, nume_val, id_rul ] + ; [ from vrul ]+; [ where an=] + ALLTRIM(STR(gnAn)) + [ and luna=] + ALLTRIM(STR(gnLuna)) + [ and nnir between ] + ALLTRIM(STR(pnNir1)) + [ and ] + ALLTRIM(STR(pnNir2)) + [ and cant=0 and cante<>0 and id_tip_rulaj = 0 ] + gcCondSucursala Else lcSql=[select cod,nnir,dataact,codmat,denumire,serie,lot,um,cont,acont,pret,tva,cant,pretv,tvav,cante,cgest, nume_gestiune, gestionar, comisie_receptie1, comisie_receptie2, comisie_receptie3,] + ; [proc_tva,proc_tvav,id_fact,id_gestiune,procent, reteta,pretd, curs, nume_val, id_rul ] + ; [from vrul ]+; [ where an=] + ALLTRIM(STR(gnAn)) + [ and luna=] + ALLTRIM(STR(gnLuna)) + [ and nnir between ] + ALLTRIM(STR(pnNir1)) + [ and ] + ALLTRIM(STR(pnNir2)) + [ and cant<>0 and cante=0 and id_tip_rulaj =]+ALLTRIM(STR(lnTipRulaj)) + gcCondSucursala Endif lcCursor=[crsrul] lnSucces = goExecutor.oexecute(lcSql,lcCursor) If lnSucces < 0 amessagebox(goExecutor.cEroare,0+16,"Eroare") Endif If lnSucces > 0 If Reccount('crsrul')=0 amessagebox("Nu a fost inregistrat nici un NIR in luna curenta cu numarul intre "+Alltrim(Str(pnNir1))+" si "+ALLTRIM(STR(pnNir2))+" !",0+48,"Atentie") lnSucces = -1 Else lcSql=[select cont_c from exceptii_ireg where cont in ('401','404','408') and invers = 1 and debit = 0 ] lcCursor=[crsExceptii] lnSucces = goExecutor.oexecute(lcSql,lcCursor) If lnSucces < 0 && dc eroare nu ies, iau exceptie default amessagebox(goExecutor.cEroare,0+16,"Eroare") lcExceptii = ['767'] Endif If Used('crsExceptii') Select crsExceptii Scan lcExceptii = lcExceptii + [,'] + Alltrim(cont_c) + ['] Endscan lcExceptii = Substr(lcExceptii ,2) Use In crsExceptii Endif If Empty(lcExceptii) lcExceptii = ['767'] Endif *** la emiterea de factura din ROAAUTO se completeaza ID_FACT-ul facturii de vanzare pe toate rulajele care au lucrarea din factura ??? *** asa ca id_fact din rul nu mai corespunde cu cel din act *** folosesc cod in schimb *!* Select Distinct id_fact From crsrul Into Cursor tfacturi Select Distinct cod as id_fact From crsrul Into Cursor tfacturi Select tfacturi Scan lcListaID = lcListaID + [,] + Alltrim(Str(id_fact)) Endscan lcListaID = Substr(lcListaID,2) If tlProductie If tlBon_livrare lcSql=[SELECT nract, serie_act, dataact, dataireg, fdoc, nnir, nrord, sectie, ]+; [ partd as nume, 0 as factura, 0 as discount, 0 as tvaDiscount ]+; [from vact ]+; [ where an=] + ALLTRIM(STR(gnAn)) + [ and luna=] + ALLTRIM(STR(gnLuna)) + [ and nnir between ] + ALLTRIM(STR(pnNir1)) + [ and ] + ALLTRIM(STR(pnNir2)) + [ and substr(scd,1,3) = '428' and substr(scc,1,3) = '758'] Else lcSql=[SELECT nract, serie_act, dataact, dataireg, fdoc, nnir, nrord, sectie, max(case when scc in (]+lcContFact+[) then partc else partd end) as nume,] +; [sum(case when SUBSTR(scd,1,2) = '40' and scc in (]+lcExceptii+[) then suma else 0.0000 end) as discount,]+; [sum(case when SUBSTR(scd,1,2) = '40' and scc in (]+lcExceptii+[) then ROUND(suma*(proc_tva-1),?gnPc) else 0.0000 end) as tvaDiscount,]+; [sum(case when SUBSTR(scc,1,2) = '40' then suma else 0.0000 end) as factura ]+; [from vact ] +; [ where an=] + ALLTRIM(STR(gnAn)) + [ and luna=] + ALLTRIM(STR(gnLuna)) + [ and nnir between ] + ALLTRIM(STR(pnNir1)) + [ and ] + ALLTRIM(STR(pnNir2)) + ; [ group by serie_act, nract, dataact, dataireg, fdoc, nnir, nrord, sectie] Endif Else && v 2.0.17 - nu prelua corect numele furnizorului la listarea nirului - facea max intre partc si partd, in loc de partd am pus null *!* lcSql=[SELECT nract, serie_act, dataact, dataireg, fdoc, nnir, max(case when scc in (]+lcContFact+[) then partc else partd end) as nume,] + && v 2.0.17 ^ *!* modificare v 2.1.17 : am adaugat 170,171,172,173,174,175 *!* modificare v 2.2.4 : am scos 170,171,172,173,174,175 lcSql=[SELECT nract, serie_act, dataact, dataireg, fdoc, nnir, max(case when scc in (]+lcContFact+[) then partc else null end) as nume,] +; [sum(case when SUBSTR(scd,1,2) = '40' and scc in (]+lcExceptii+[) then suma else 0.0000 end) as discount,]+; [sum(case when SUBSTR(scd,1,2) = '40' and scc in (]+lcExceptii+[) then ROUND(suma*(proc_tva-1),?gnPc) else 0.0000 end) as tvaDiscount,]+; [sum(case when SUBSTR(scc,1,2) = '40' then suma else 0.0000 end) as factura, ]+; [MAX(case when id_jtva_coloana in (137,138,139,140,141,142,143,144,145,146,162,163) then 1 else 0 end) as id_jtva_coloana ]+; [from vact ] +; [ where an=] + ALLTRIM(STR(gnAn)) + [ and luna=] + ALLTRIM(STR(gnLuna)) + [ and nnir between ] + ALLTRIM(STR(pnNir1)) + [ and ] + ALLTRIM(STR(pnNir2)) + [ and scc in (]+lcContFact+[,]+lcExceptii+[) ]+ ; [ and cod in (] + lcListaID + [)] + ; [ group by serie_act, nract, dataact,dataireg, fdoc, nnir] Endif lcCursor=[crsdiscount] lnSucces = goExecutor.oexecute(lcSql,lcCursor) If lnSucces < 0 amessagebox(goExecutor.cEroare,0+16,"Eroare") Endif Endif Endif If lnSucces > 0 pcDataOra = get_ora(2) If Used('crslistare') Use In crslistare Endif *!* 19.06.2006 *!* marius.mutu *!* nir import - exista > 1 factura pe acelasi nnir si se dubleaza reperele Select * From crsdiscount Into Cursor crsDiscountTemp1 Order By nnir,factura Desc Select * From crsDiscountTemp1 Where 1 = 2 Into Cursor crsDiscountTemp Readwrite Select crsDiscountTemp1 lnNnir = 0 Scan Scatter Name loDisc If lnNnir <> loDisc.nnir lnNnir = loDisc.nnir Insert Into crsDiscountTemp From Name loDisc Endif Endscan Use In crsDiscountTemp1 If tlProductie Select Alltrim(Str(a.nnir))+a.cgest As cnir_gest,a.*, ; b.fdoc,b.nract,b.serie_act,b.dataireg,b.nume,b.nrord,b.factura - b.discount As total_factura, b.discount, b.tvaDiscount; FROM crsrul a With (Buffering=.T.); LEFT Join crsDiscountTemp b On a.nnir = b.nnir ; INTO Cursor crslistare Order By 1, id_rul Else Select Alltrim(Str(a.nnir))+a.cgest As cnir_gest,a.*, ; b.fdoc,b.nract,b.serie_act,b.dataireg,b.nume,b.factura - b.discount As total_factura, b.discount, b.tvaDiscount, b.id_jtva_coloana; FROM crsrul a With (Buffering=.T.) ; LEFT Join crsDiscountTemp b On a.nnir = b.nnir ; INTO Cursor crslistare Order By 1, id_rul Endif Use In crsDiscountTemp *!* 30.08.2007 *!* marius.mutu *!* variabile pentru curs, numevaluta *!* rap_nir_materiale.frx : sume in valuta Select crslistare Locate For Curs <> 0 Or pretd<>0 If Found() pnCursNir = Curs pcNumeValuta = Alltrim(nume_val) Else pnCursNir = 0 pcNumeValuta = "" Endif If tlProductie If tlBon_livrare lcRaport = 'bon_livrare' Else lcRaport = 'pv_prod' Endif *!* modificare ROAPRODUCTIE v 2.0.2 *!* Report Form &lcRaport To Printer Prompt Preview goExport.export2frx([crslistare],lcRaport, , , , , , .T.) *!* modificare ROAPRODUCTIE v 2.0.2 ^ *REPORT FORM pv_prod.frx TO PRINTER PROMPT PREVIEW Else *!* modificare v 2.1.17 *!* *!* 01.07.2010 *!* *!* lnIdJtvaTI = 1 &&TAXARE INVERSA *!* lnIdJtvaTI = GetIdJtvaStandard('ACHIZITIE_TI') && TAXARE INVERSA lnIdJtvaTI = 1 *!* *!* 01.07.2010 ^ *!* modificare v 2.1.17 ^ Private pcEtichetaTI &&TAXARE INVERSA pcEtichetaTI = '' Select crslistare *!* BROWSE Locate For id_jtva_coloana=lnIdJtvaTI If Found() pcEtichetaTI='TAXARE INVERSA' Endif If gnNir_standard = 1 && este NIR standard *!* Report Form rap_nir_standard.frx To Printer Prompt Preview goExport.export2frx([crslistare],[rap_nir_standard], , , , , , .T.) Else If Inlist(pnTip, 6, 7) && NIR MF PRET VZ, NIR RATC *!* Report Form rap_nir_marfuri.frx To Printer Prompt Preview goExport.export2frx([crslistare],[rap_nir_marfuri], , , , , , .T.) Else Private pcSemnaturi Store '' To pcSemnaturi param_listari('nir_rap_materiale',,@pcSemnaturi,.T.) Select crslistare *!* Report Form rap_nir_materiale.frx To Printer Prompt Preview goExport.export2frx([crslistare],[rap_nir_materiale], , , , , , .T.) Endif Endif Endif Endif If Used('tfacturi') Use In tfacturi Endif If Used('crsrul') Use In crsrul Endif If Used('crslistare') Use In crslistare Endif If Used('crsdiscount') Use In crsdiscount Endif Endproc && listare_nir_TOT *-------------------------------------------------------------------- *!* Procedure listare_nir_MODEL1 && NU FACE BINE IN SITUATIA : MAI MULTE NIRURI PE ACELASI NR. FACTURA(ID_FACT#) *!* Parameters tnNir,tnTip *!* Private lnCod,pnNir,lnSuma1,lnSuma2,loact,pnTip,pnBazaDiscount,pnTvaDiscount,lcListaID *!* Store "" To loact,lcListaID *!* Store 0 To lnSuma1,lnSuma2,pnNir,pnBazaDiscount,pnTvaDiscount *!* pnNir=tnNir *!* If Empty(tnTip) *!* pnTip = 0 *!* Else *!* pnTip = tnTip *!* Endif *!* If Used('crsrul') *!* Use In crsrul *!* Endif *!* lcSql=[select cod,nnir,dataact,codmat,denumire,um,pret,tva,cant,pretv,tvav,cante,cgest,proc_tva,proc_tvav,id_fact,id_gestiune,procent from ] + gcS + [.vrul where luna=?gnLuna and an=?gnAn and nnir=]+Alltrim(Str(pnNir))+[ and cant<>0 and cante=0 ] + ; *!* [and id_gestiune in (select distinct id_gestiune from ] + gcS + [.vnom_gestiuni where nr_pag = ?pnTip)] *!* lcCursor=[crsrul] *!* lnSucces = goExecutor.oExecute(lcSql,lcCursor) *!* If lnSucces < 0 *!* aMESSAGEBOX(goExecutor.cEroare,0+16,"Eroare") *!* Endif *!* If lnSucces > 0 *!* If Reccount('crsrul')=0 *!* aMESSAGEBOX("Nu a fost inregistrat nici un NIR in luna curenta cu numarul "+Alltrim(Str(pnNir))+" !",0+48,"Atentie") *!* lnSucces = -1 *!* Else *!* Select Distinct id_fact From crsrul Into Cursor tfacturi *!* Select tfacturi *!* Scan *!* lcListaID = lcListaID + [,] + Alltrim(Str(id_fact)) *!* Endscan *!* lcListaID = Substr(lcListaID,2) *!* If Used('crsireg') *!* Use In crsireg *!* Endif *!* lcSql=[select fdoc,nract,dataireg,cont,nume,id_fact,sum(credit) as total_factura from ] + gcS + [.vireg_parteneri where SUBSTR(cont,1,2) = '40' and id_fact in (] + lcListaID + [) ] + ; *!* [group by fdoc,nract,dataireg,cont,nume,id_fact] *!* lcCursor=[crsireg] *!* lnSucces = goExecutor.oExecute(lcSql,lcCursor) *!* If lnSucces < 0 *!* aMESSAGEBOX(goExecutor.cEroare,0+16,"Eroare") *!* Endif *!* Endif *!* Endif *!* If lnSucces > 0 And gnNir_standard = 0 *!* lcSql=[select sum(suma) as discount,sum(ROUND(suma*(proc_tva-1),?gnPc)) as tvaDiscount,id_fact from ] + gcS + [.vact where luna=?gnLuna and an=?gnAn and SUBSTR(scd,1,2) = '40' and SUBSTR(scc,1,3) = '767' and id_fact in (] + lcListaID + [) ] +; *!* [ group by id_fact] *!* lcCursor=[crsdiscount] *!* lnSucces = goExecutor.oExecute(lcSql,lcCursor) *!* If lnSucces < 0 *!* aMESSAGEBOX(goExecutor.cEroare,0+16,"Eroare") *!* Endif *!* Endif *!* If lnSucces > 0 *!* *!* Select crsireg *!* *!* If Reccount("crsireg")>0 *!* pcDataOra = get_ora(2) *!* If Used('crslistare') *!* Use In crslistare *!* Endif *!* If Used('crsdiscount') && dc gnNir_standard = 0 *!* Select Alltrim(Str(a.nnir))+a.cgest As cnir_gest,a.*,b.fdoc,b.nract,b.dataireg,b.Cont,b.nume,b.total_factura, ; *!* NVL(c.discount,000000000.0000) As discount, Nvl(c.tvaDiscount,000000000.0000) As tvaDiscount; *!* FROM crsrul a ; *!* LEFT Join crsireg b On b.id_fact=a.id_fact ; *!* LEFT Join crsdiscount c On c.id_fact=a.id_fact ; *!* INTO Cursor crslistare Order By 1 *!* Else *!* Select Alltrim(Str(a.nnir))+a.cgest As cnir_gest,a.*,b.fdoc,b.nract,b.dataireg,b.Cont,b.nume,b.total_factura ; *!* FROM crsrul a ; *!* LEFT Join crsireg b On b.id_fact=a.id_fact ; *!* INTO Cursor crslistare Order By 1 *!* Endif *!* Select crslistare *!* If gnNir_standard = 1 && este NIR standard *!* Report Form rap_nir_standard.frx To Printer Prompt Preview *!* Else *!* If pnTip = 6 *!* Report Form rap_nir_marfuri.frx To Printer Prompt Preview *!* Else *!* Report Form rap_nir_materiale.frx To Printer Prompt Preview *!* Endif *!* Endif *!* *!* Endif *!* Endif *!* If Used('crsireg') *!* Use In crsireg *!* Endif *!* If Used('crsrul') *!* Use In crsrul *!* Endif *!* If Used('crslistare') *!* Use In crslistare *!* Endif *!* If Used('crsdiscount') *!* Use In crsdiscount *!* Endif *!* Endproc && listare_nir *!* *-------------------------------------------------------------------- *!* Procedure listare_nir_model2 && NU FACE BINE IN SITUATIA : MAI MULTE FACTURI PE ACEEASI NR NIR *!* Parameters tnNir,tnTip *!* Private lnCod,pnNir,lnSuma1,lnSuma2,loact,pnTip,pnBazaDiscount,pnTvaDiscount *!* Store "" To loact *!* Store 0 To lnSuma1,lnSuma2,pnNir,pnBazaDiscount,pnTvaDiscount *!* pnNir=tnNir *!* If Empty(tnTip) *!* pnTip = 0 *!* Else *!* pnTip = tnTip *!* Endif *!* If Used('crsrul') *!* Use In crsrul *!* Endif *!* lcSql=[select cod,nnir,dataact,codmat,denumire,um,pret,tva,cant,pretv,tvav,cante,cgest,proc_tva,proc_tvav,id_fact,id_gestiune,procent from ] + gcS + [.vrul where luna=?gnLuna and an=?gnAn and nnir=]+Alltrim(Str(pnNir))+[ and cant<>0 and cante=0] *!* lcCursor=[crsrul] *!* lnSucces = goExecutor.oExecute(lcSql,lcCursor) *!* If lnSucces < 0 *!* aMESSAGEBOX(goExecutor.cEroare,0+16,"Eroare") *!* Endif *!* If lnSucces > 0 *!* If Reccount('crsrul')=0 *!* aMESSAGEBOX("Nu a fost inregistrat nici un NIR in luna curenta cu numarul "+Alltrim(Str(pnNir))+" !",0+48,"Atentie") *!* lnSucces = -1 *!* Else *!* Select crsrul *!* lnCod=cod *!* lnIdfact = id_fact *!* If Used('crsireg') *!* Use In crsireg *!* Endif *!* lcSql=[select fdoc,nract,dataireg,cont,acont,nume,id_fact from ] + gcS + [.vireg_parteneri where luna=?gnLuna and an=?gnAn and SUBSTR(cont,1,2) = '40' and id_fact=?lnIdFact ] *!* lcCursor=[crsireg] *!* lnSucces = goExecutor.oExecute(lcSql,lcCursor) *!* If lnSucces < 0 *!* aMESSAGEBOX(goExecutor.cEroare,0+16,"Eroare") *!* Endif *!* Endif *!* Endif *!* If lnSucces > 0 And gnNir_standard = 0 *!* lcSql=[select sum(suma) as discount, proc_tva from ] + gcS + [.vact where luna=?gnLuna and an=?gnAn and SUBSTR(scd,1,2) = '40' and SUBSTR(scc,1,3) = '767' and id_fact=?lnIdFact ] +; *!* [ group by proc_tva] *!* lcCursor=[crsdiscount] *!* lnSucces = goExecutor.oExecute(lcSql,lcCursor) *!* If lnSucces < 0 *!* aMESSAGEBOX(goExecutor.cEroare,0+16,"Eroare") *!* Endif *!* Endif *!* If lnSucces > 0 *!* Select crsireg *!* If Reccount("crsireg")>0 *!* *ptDataOra=get_ora() *!* pcDataOra = get_ora(2) *!* If Used('crsdiscount') && dc gnNir_standard = 0 *!* Select crsdiscount *!* Sum discount To pnBazaDiscount *!* Sum Round((discount*(proc_tva-1)),gnPc) To pnTvaDiscount *!* Endif *!* If Used('crslistare') *!* Use In crslistare *!* Endif *!* Select Alltrim(Str(a.nnir))+a.cgest As cnir_gest,a.*,b.* From crsrul a Left Join crsireg b On b.id_fact=a.id_fact Where ; *!* a.nnir = pnNir And a.cante=0 And a.cant!=0 Into Cursor crslistare Order By 1 *!* Select crslistare *!* If gnNir_standard = 1 && este NIR standard *!* Report Form rap_nir_standard.frx To Printer Prompt Preview *!* Else *!* If pnTip = 6 *!* Report Form rap_nir_marfuri.frx To Printer Prompt Preview *!* Else *!* Report Form rap_nir_materiale.frx To Printer Prompt Preview *!* Endif *!* Endif *!* Endif *!* Endif *!* If Used('crsireg') *!* Use In crsireg *!* Endif *!* If Used('crsrul') *!* Use In crsrul *!* Endif *!* If Used('crslistare') *!* Use In crslistare *!* Endif *!* If Used('crsdiscount') *!* Use In crsdiscount *!* Endif *!* Endproc *-------------------------- Procedure listare_descarcare_productie Parameters tnNir, tnTip Private pnNir, pnNr_pag, pcFelDoc pnNir = tnNir pnNr_pag = tnTip pcFelDoc = 'Pv productie' If Used('crsrul') Use In crsrul Endif *!* lcSql=[select id_articol, pret, denumire, codmat, um, cont, SUM(cant) as cant, SUM(cante) as cante from vrul where luna=?gnLuna and an=?gnAn and nnir = ?pnNir and (SUBSTR(cont,1,3) = '301' or (SUBSTR(cont,1,3) = '371'))]+; *!* [and id_gestiune in (select distinct id_gestiune from vnom_gestiuni where nr_pag = ?pnNr_pag) ] + ; *!* [group by id_articol, pret, denumire, codmat, um, cont ]+; *!* [ order by cont, denumire] If !Empty(pnNr_pag) && or id_set = 268) -- adaugat pe 29mar2013 v2.2.7 - sa apara la descarcarea_productie si intrarea si iesirea mixului care e pe contul 345, nu numai a ingredientelor lcCond = [ and ((SUBSTR(cont,1,3) = '301' or (SUBSTR(cont,1,3) = '371')) or id_set = 268)] Else lcCond = [] Endif *!* lcSql=[select a.id_gestiune,a.nume_gestiune,a.id_articol,a.pret,a.denumire, a.codmat,a.um,a.cont,a.nnir, a.dataact,]+; *!* [(case when b.lvl = 1 then a.cant else 0 end) as cant, (case when b.lvl = 1 then 0 else a.cante end) as cante,]+; *!* [(case when b.lvl is null then 1 when b.lvl = 1 then 2 else 3 end) as ie ]+; *!* [ from (select id_gestiune,id_articol,pret,cont,nnir,dataact, SUM(cant) as cant,SUM(cante) as cante,um,denumire,codmat,nume_gestiune from vrul where luna=?gnLuna and an=?gnAn and nnir = ?pnNir ]+; *!* lcCond + gcCondSucursala + [ ] + ; *!* [group by id_gestiune, id_articol, pret, cont, nnir, dataact,um,denumire,codmat,nume_gestiune) a left join (select level as lvl from dual connect by level < 3) b on a.cant <> 0 and a.cante <> 0 order by nume_gestiune, ie, denumire] * Am luat in considerare si cazul in care productia aparea doar ca intrare, nu si ca iesire ca la productia de mix vopsea auto TEXT TO lcSql NOSHOW select id_gestiune, nume_Gestiune, id_articol, pret, denumire, codmat, um, lot, serie, cont, nnir, dataact, cant, cante, ie from (select a.id_gestiune, a.nume_gestiune, a.id_articol, a.pret, a.denumire, a.codmat, a.um, a.lot, a.serie, a.cont, a.nnir, a.dataact, (case when b.lvl = 1 then a.cant else 0 end) as cant, (case when b.lvl = 1 then 0 else a.cante end) as cante, (case when b.lvl is null then 1 when b.lvl = 1 then 2 else 3 end) as ie from (select id_gestiune, id_articol, pret, cont, nnir, dataact, SUM(cant) as cant, SUM(cante) as cante, um, lot, serie, denumire, codmat, nume_gestiune from vrul where luna= ?gnLuna and an= ?gnAn and nnir = ?pnNir group by id_gestiune, id_articol, pret, cont, nnir, dataact, um, lot, serie, denumire, codmat, nume_gestiune) a left join (select level as lvl from dual connect by level < 3) b on a.cant <> 0 order by nume_gestiune, ie, denumire) where cant <> 0 or cante <> 0 ENDTEXT lcCursor=[crsrul] lnSucces = goExecutor.oexecute(lcSql,lcCursor) If lnSucces < 0 amessagebox(goExecutor.cEroare,0+16,"Eroare") Return Endif If Reccount('crsrul')=0 amessagebox("Nu a fost inregistrat nici un BON in luna curenta cu numarul "+Alltrim(Str(pnNir))+" !",0+48,"Atentie") If Used('crsrul') Use In crsrul Endif Return Endif goExport.export2frx([crsrul],[rap_descarcare_productie], , , , , , .T.) Use In (SELECT('crsrul')) Endproc && listare_descarcare_productie *-------------------------- Procedure LISTARE_BON Parameters tnNir, tnTip, tcListaIdSet DO LISTARE_BON_TOT WITH tnNir, tnNir, tnTip, tcListaIdSet ENDPROC * FOMULAR CERERE DATE LISTARE BONURI IN LUCRU * Trebuie facut un formular pentru completarea PERIOADA, NNIR1, NNIR2, GESTIUNE, LUCRARE * Se apeleaza apoi LISTARE_BON_TOT PROCEDURE LISTARE_INFO pcNumeGestiune = Alltrim(Upper(locauta.nume_gestiune)) pnIdGest = Iif(pcNumeGestiune # "", locauta.id_gestiune, -1) Release locauta If pnIdGest = -1 lcCond = [ and r.id_gestiune in (select distinct id_gestiune from ] + gcS + [.vnom_gestiuni where nr_pag = ?pnTip) and id_gestiune in ] + ; [(select g.id_gestiune from ] + gcS + [.vgest_coresp_grupe_gestiuni g join ] + ; gcS + [.vgest_coresp_util_grupe u on g.id_grupe = u.id_grupe and u.id_util = ?gnIdUtil) ] Else lcCond = [ and r.id_gestiune = ?pnIdGest ] ENDIF oper = Createobject('frm_perioada_luni') oper._optiongrup1.Value=1 oper.Show(1) Release oper If Occurs('_',pcondper)>0 lpos = At('_',pcondper) ldata1 = Substr(pcondper,1,lpos-1) ldata2 = Substr(pcondper,lpos+1) lcd1 = Substr(ldata1,1,2)+'.'+Substr(ldata1,3,4) lcd2 = Substr(ldata2,1,2)+'.'+Substr(ldata2,3,4) pcperioada='De la: '+lcd1+' pana la '+lcd2 Else ldata1 = pcondper pcperioada='LUNA: '+Substr(ldata1,1,2)+'.'+Substr(ldata1,3,4) ldata2 = ldata1 Endif lnLuna1 = Val(Substr(ldata1,1,2)) lnAn1 = Val(Substr(ldata1,3,4)) lnLuna2 = Val(Substr(ldata2,1,2)) lnAn2 = Val(Substr(ldata2,3,4)) *pcselect = ['select * from ] + gcS + [.vLucrari_validat where 2=2'] pcselect = [select * from vnom_Lucrari] pcfiltru = [1=2] pcschema = [] pcorder = [nrord] pccoloane = [nrord] pcTitlu = [Lucrare/Comanda] *pcFiltruOriginal = [validat = 0 and inactiv = 0] pcFiltruOriginal = [] locauta = cauta_alfa(pcselect,pcfiltru,pcschema,pcorder,pccoloane,pcTitlu,pcTitlu,'',.T.,pcFiltruOriginal) && 11.07.2007 If Empty(locauta.id_lucrare) And Empty(locauta.nrord) Return Endif lnIdLucrare = locauta.id_lucrare If Empty(tnTip) pnTip = 0 Else pnTip = tnTip Endif If Used('crsrul') Use In crsrul Endif lnInf = lnLuna1+ 12*lnAn1 lnSup = lnLuna2+ 12*lnAn2 ENDPROC Procedure LISTARE_BON_TOT *!* modificare ROADEVIZE 24.10.2013 : tcListaIdSet Parameters tnNir1, tnNir2, tnTip, tcListaIdSet, tnIdGestiune, tnIdLucrare LOCAL llCasareObiecteNoi Private lnCod,pnNir1,pnNir2,lnSuma1,lnSuma2,loact,pnTip Store "" To loact Store 0 To lnSuma1,lnSuma2,pnNir1, pnNir2 pnNir1 = tnNir1 pnNir2 = tnNir2 If Empty(tnTip) pnTip = 0 Else pnTip = tnTip Endif If Used('crsrul') Use In crsrul Endif * Listare BON CASARE obiecte inventar noi, din RUL in loc de RUL_OBINV llCasareObiecteNoi = !EMPTY(m.tcListaIdSet) and TYPE('tcListaIdSet') = 'C' and m.tcListaIdSet = '72' *!* modificare 03.10.2007 Do Case Case Empty(tnTip) lcCondTipGest = " " && bon de consum cu inventar Case tnTip = 6 lcCondTipGest = " where nr_pag = ?pnTip " Otherwise lcCondTipGest = " where nr_pag <> 6 " ENDCASE *!* modificare 29.03.2013 v 2.2.7: id_set <> 268 in lcCondTipGest - sa nu se listeze bonurile importate din xml cu productia de vopsea pentru ca n-ar fi corect sa apara produsul final pe bon lcCondIdSet = " and r.id_set <> 268 " *!* modificare ROADEVIZE 24.10.2013 If !Empty(tcListaIdSet) lcCondIdSet = lcCondIdSet + " and r.id_set in (" + tcListaIdSet + ")" Endif *!* modificare ROADEVIZE 24.10.2013 ^ *!* If !Empty(tnTip) *!* lcCondTipGest = " where nr_pag = ?pnTip " *!* Else *!* lcCondTipGest = "" && bon de consum cu inventar *!* Endif *!* modificare 03.10.2007 ^ *!* 27.08.2009 IF tnTip = 3 AND !m.llCasareObiecteNoi && obiecte de inventar in folosinta *!* modificare v 2.2.4 : am pus select max(marca)... in loc de sal_personal.marca pentru ca s-ar putea sa am un salariat de mai multe ori in sal_personal * id_set = 274 = iesire din folosinta si inregistrare cheltuiala, apare o iesire in rul_obinv.cante <> 0 * id_set = 55 = bon consum si dare in folosinta, apare o iesire in rul si o intrare in rul_obinv.cant <> 0 *!* lcSql=[select r.*,(select max(marca) from sal_personal where id_part = r.id_responsabil and id_salariat in ] + ; *!* [(select id_persoana from sal_stat where an =?gnAn and luna = ?gnLuna and sters = 0)) as marca from vrul_obinv r ]+; *!* [ where r.an=] + ALLTRIM(STR(gnAn)) + [ and r.luna=] + ALLTRIM(STR(gnLuna)) + [ and r.nnir between ] + ALLTRIM(STR(pnNir1)) + [ and ] + ALLTRIM(STR(pnNir2)) + ; *!* [ and r.cant <> 0 and r.cante = 0 and r.id_tip_rulaj <> 3]+; *!* STRTRAN(gcCondSucursala,[id_sucursala],[r.id_sucursala]) + [ ] + ; *!* [and r.id_gestiune in (select distinct id_gestiune from vnom_gestiuni ]+ lcCondTipGest + [)] + lcCondIdSet +; *!* [order by r.nnir, r.cgest, r.nrord, r.nresp, r.sectie, r.id_rul_obinv] *!* modificare 21.06 : am adaugat id_rul la order by TEXT TO lcSql TEXTMERGE NOSHOW select r.*, (select max(p.marca) from sal_personal p join sal_stat s on (p.id_salariat = s.id_persoana) where p.id_part = r.id_responsabil and s.an= <> and s.luna = <> and s.sters = 0) as marca, (select max(f.denumire) from sal_personal p join sal_stat s on (p.id_salariat = s.id_persoana) left join sal_nom_formatii f on s.id_formatie = f.id_formatia where p.id_part = r.id_responsabil and s.an= <> and s.luna = <> and s.sters = 0) as formatie from vrul_obinv r where r.an = <> and r.luna = <> and r.nnir between <> and <> and r.cant <> 0 and r.cante = 0 and r.id_tip_rulaj <> 3 <> and r.id_gestiune in (select distinct id_gestiune from vnom_gestiuni <>) <> order by r.nnir, r.cgest, r.nrord, r.nresp, r.sectie, r.id_rul_obinv ENDTEXT ELSE *!* modificare v 2.2.4 : am pus select max(marca)... in loc de sal_personal.marca pentru ca s-ar putea sa am un salariat de mai multe ori in sal_personal *!* lcSql=[select r.*,(select max(marca) from sal_personal where id_part = r.id_responsabil and id_salariat in ] + ; *!* [(select id_persoana from sal_stat where an =?gnAn and luna = ?gnLuna and sters = 0)) as marca from vrul r ]+; *!* [ where r.an=] + ALLTRIM(STR(gnAn)) + [ and r.luna=] + ALLTRIM(STR(gnLuna)) + [ and r.nnir between ] + ALLTRIM(STR(pnNir1)) + [ and ] + ALLTRIM(STR(pnNir2)) + ; *!* [ and r.cant=0 and r.cante<>0 and r.id_tip_rulaj <> 3]+; *!* STRTRAN(gcCondSucursala,[id_sucursala],[r.id_sucursala]) + [ ] + ; *!* [and r.id_gestiune in (select distinct id_gestiune from vnom_gestiuni ]+ lcCondTipGest + [)] + lcCondIdSet +; *!* [order by r.nnir, r.cgest, r.nrord, r.nresp, r.sectie, r.id_rul] *!* modificare 21.06 : am adaugat id_rul la order by TEXT TO lcSql TEXTMERGE NOSHOW select r.*, (select max(p.marca) from sal_personal p join sal_stat s on (p.id_salariat = s.id_persoana) where p.id_part = r.id_responsabil and s.an= <> and s.luna = <> and s.sters = 0) as marca, (select max(f.denumire) from sal_personal p join sal_stat s on (p.id_salariat = s.id_persoana) left join sal_nom_formatii f on s.id_formatie = f.id_formatia where p.id_part = r.id_responsabil and s.an= <> and s.luna = <> and s.sters = 0) as formatie from vrul r where r.an = <> and r.luna = <> and r.nnir between <> and <> and r.cant = 0 and r.cante <> 0 and r.id_tip_rulaj <> 3 <> and r.id_gestiune in (select distinct id_gestiune from vnom_gestiuni <>) <> order by r.nnir, r.cgest, r.nrord, r.nresp, r.sectie, r.id_rul ENDTEXT ENDIF && tnTip = 3 *!* 27.08.2009 ^ lcCursor=[crsrul] lnSucces = goExecutor.oexecute(lcSql,lcCursor) If lnSucces < 0 amessagebox(goExecutor.cEroare,0+16,"Eroare") Return Endif If Reccount('crsrul')=0 amessagebox("Nu a fost inregistrat nici un BON in luna curenta cu numere intre " +Alltrim(Str(m.pnNir1))+ " si " + +Alltrim(Str(m.pnNir2))+ " !",0+48,"Atentie") Use In crsrul Return Endif *ptDataOra=get_ora() *!* pcDataOra = get_ora(2) Private pcSemnaturi Store '' To pcSemnaturi param_listari('rap_bon_achi',,@pcSemnaturi,.T.) Select crsrul *!* modificare ROAPRODUCTIE v 2.0.2 : goExport If pnTip = 5 && marfa la pret de achizitie If Type("gnList_bon_marfa") = "U" *!* Report Form rap_bon_vanz To Printer Prompt Preview lcRaport = [rap_bon_vanz] Else Do Case Case gnList_bon_marfa = 0 *!* Report Form rap_bon_achi To Printer Prompt Preview lcRaport = [rap_bon_achi] Case gnList_bon_marfa = 1 *!* Report Form rap_bon_vanz To Printer Prompt Preview lcRaport = [rap_bon_vanz] Case gnList_bon_marfa = 2 *!* Report Form rap_bon_achi_vanz To Printer Prompt Preview lcRaport = [rap_bon_achi_vanz] Otherwise *!* Report Form rap_bon_vanz To Printer Prompt Preview lcRaport = [rap_bon_vanz] Endcase Endif Else *!* Report Form rap_bon_achi To Printer Prompt Preview *!* 27.08.2009 IF tnTip = 3 AND !m.llCasareObiecteNoi && obiecte de inventar lcRaport = [rap_bon_achi_inv] ELSE lcRaport = [rap_bon_achi] ENDIF *!* 27.08.2009 ^ Endif IF TYPE('goExport') = 'O' *goExport.export2frx([crsrul],lcRaport) goExport.export2frx([crsrul],lcRaport, , , , , , .T.) ELSE Report Form (lcRaport) To Printer Prompt Preview ENDIF *!* modificare ROAPRODUCTIE v 2.0.2 ^ If Used('crsrul') Use In crsrul Endif Endproc && LISTARE_BON *------------------------------------------------------------------ *!* Procedure LIST_BON *!* Parameters M.NNIR *!* Sele act *!* Loca For Val(nnir)==VAL(m.NNIR) AND INLIST(ID_SET,0,56,61,78,80,88,90) &&NUMAI BONURI (NOI SAU VECHI) *!* If !Found() *!* Do mesaj With 'Nu a fost inregistrat nici un bon','cu numarul '+M.NNIR *!* Return *!* ENDIF *!* M.COD=COD *!* m.T='BONURI' *!* SELECT DISTINCT NUME_2 As RESPONS,COD; *!* WHERE COD=M.COD; *!* FROM ACT INTO CURSOR FF *!* Select Distinct rull.*,FF.*; *!* from FF,rull; *!* where FF.cod=rull.cod And Val(rull.nnir)=VAL(m.NNIR) And rull.cante # 0 And rull.cant=0; *!* into Table &loc\&nfscurt\tempo\ra *!* Sele ra *!* Index On Str(gest,2)+nnir To &loc\&nfscurt\tempo\ra *!* If !BON_ACHI *!* Report Format BONLI.FRX To Printer Prompt Preview *!* Else *!* Report Format BONCONS.FRX To Printer Prompt Preview *!* Endif *!* Use In ra *!* USE IN FF *!* DO STERGE *!* RETURN *!* *------------------------------------------------------------- Procedure LISTARE_TRANSFER Parameters tnNir,tnTip, tcRul Private lnCod,pnNir,lnSuma1,lnSuma2,pnTip,pcGestout Store "" To pcGestout Store 0 To lnSuma1,lnSuma2,pnNir pnNir = tnNir Local lcRul If Empty(tcRul) Or Type('tcRul') # 'C' Or Pcount() < 3 lcRul = 'vrul' Else lcRul = Alltrim(tcRul) Endif If Empty(tnTip) pnTip = 0 Else pnTip = tnTip Endif If Used('crsrul') Use In crsrul Endif *!* lcSql=[select distinct r.*, a.nract, a.gestin, a.id_gestin from ] + gcS + [.] + lcRul + [ r left join ] + gcS +[.vact a on r.cod=a.cod and a.luna=r.luna and a.an=r.an and a.id_gestin is not null ] + ; *!* [where r.luna=?gnLuna and r.an=?gnAn and r.nnir = ?pnNir and r.cant=0 and r.cante<>0 order by r.nnir, r.cgest, r.sectie, r.nrord, r.nresp, r.cgestc, r.nrespc] Do Case Case pnTip = 7 *!* lcSql = [select cod,nnir,dataact,cgest,nume_gestiune,cgestc,nume_gestiunec,nresp,nrespc,denumire,codmat,um,max(decode(cante, 0, 0, cante)) as cante,] + ; *!* [max(decode(cante, 0, 0, pret)) as pret,max(decode(cant, 0, 0, pret)) as pret_nou,id_articol,id_gestiune,] + ; *!* [id_responsabil, cont from ] + gcS + [.vrul where luna = ?gnLuna and an = ?gnAn and nnir = ?pnNir ] + ; *!* [group by id_articol, id_gestiune, id_responsabil, cont, cod, nnir, dataact, cgest, nume_gestiune,] + ; *!* [cgestc,nume_gestiunec, nresp, nrespc,] + ; *!* [denumire, codmat, um order by nnir,cgest,nresp] lcSql = [select a.cod, a.nnir, a.dataact, a.cgest, a.serie, a.lot, a.nume_gestiune, a.cgestc, a.nume_gestiunec, a.nresp, a.resp_marca, ] + ; [a.nrespc, a.respc_marca, a.denumire, a.codmat, a.um, a.cante, a.pret, b.pret as pret_nou, a.id_articol, a.id_Gestiune, ] + ; [a.id_responsabil, a.cont, a.id_rul from ] + gcS + [.vrul a ] + ; [left join rul b on a.cod = b.cod and a.id_articol = b.id_articol ] + ; [and a.id_gestiune = b.id_gestiunec and a.id_gestiunec = b.id_gestiune and a.cante = b.cant ] + ; [and Nvl(a.id_rul_aux,-99) = Nvl(b.id_rul_aux,-99) ] + ; [and NVL(a.id_sucursala,-99) = NVL(b.id_sucursala,-99) ] + ; [where a.luna = ] + ALLTRIM(STR(gnLuna)) + [ and a.an = ] + ALLTRIM(STR(gnAn)) + [ and a.nnir = ] + ALLTRIM(STR(pnNir)) + [ and a.cante <> 0 ] + ; STRTRAN(gcCondSucursala,[id_sucursala],[a.id_sucursala]) + [ ] + ; [order by a.nnir, a.cgest, a.nresp, a.id_rul] *!* modificare migrare v 1.0 > v 2.0 Case pnTip = 8 lcSql=[select distinct r.*, a.nract, p.cod_fiscal, p.reg_comert, p.adresa from ] + ; lcRul + [ r left join act a on r.cod=a.cod and a.luna=r.luna and a.an=r.an ] + ; [ left join vnom_parteneri p on p.id_part = r.id_part_rez ] + ; [where r.luna=?gnLuna and r.an=?gnAn and r.nnir = ?pnNir and r.cant<>0 and r.cante=0 ] + ; [and r.id_set = 229 ] + ; STRTRAN(gcCondSucursala,[id_sucursala],[r.id_sucursala]) + [ ] + ; [order by r.nnir, r.cgest, r.sectie, r.nrord, r.nresp, r.cgestc, r.nrespc, r.id_rul]+; IIF('obinv'$Lower(lcRul), '_obinv', '') *!* modificare migrare v 1.0 > v 2.0 ^ *!* 27.08.2009 CASE pnTip = 10 && transfer ob inv in folosinta - durata *!* as fi vrut doar transferurile de ob inv in folosinta cu durata ramasa **! trebuie sa iau de pe linia cu intrarile noua durata ramasa, nu de pe iesiri lcSql=[select distinct r.*, a.nract from ] + lcRul + [ r left join ] + gcS +[.act a on r.cod=a.cod ] + ; [and a.luna=r.luna and a.an=r.an and NVL(r.id_sucursala,-99) = NVL(a.id_sucursala,-99) ] + ; [where r.luna=] + ALLTRIM(STR(gnLuna)) + [ and r.an=] + ALLTRIM(STR(gnAn)) + [ and r.nnir = ] + ALLTRIM(STR(pnNir)) + [ and r.cante=0 and r.cant<>0 and r.id_set<>229 ] + ; STRTRAN(gcCondSucursala,[id_sucursala],[r.id_sucursala]) + [ ] + ; [order by r.nnir, r.cgest, r.sectie, r.nrord, r.nresp, r.cgestc, r.nrespc, r.id_rul]+; IIF('obinv'$Lower(lcRul), '_obinv', '') *!* 27.08.2009 ^ OTHERWISE lcSql=[select distinct r.*, a.nract from ] + lcRul + [ r left join ] + gcS +[.act a on r.cod=a.cod ] + ; [and a.luna=r.luna and a.an=r.an and NVL(r.id_sucursala,-99) = NVL(a.id_sucursala,-99) ] + ; [where r.luna=] + ALLTRIM(STR(gnLuna)) + [ and r.an=] + ALLTRIM(STR(gnAn)) + [ and r.nnir = ] + ALLTRIM(STR(pnNir)) + [ and r.cant=0 and r.cante<>0 and r.id_set<>229 ] + ; STRTRAN(gcCondSucursala,[id_sucursala],[r.id_sucursala]) + [ ] + ; [order by r.nnir, r.cgest, r.sectie, r.nrord, r.nresp, r.cgestc, r.nrespc, r.id_rul]+; IIF('obinv'$Lower(lcRul), '_obinv', '') ENDCASE lcCursor=[crsrul] lnSucces = goExecutor.oexecute(lcSql,lcCursor) If lnSucces < 0 amessagebox(goExecutor.cEroare,0+16,"Eroare") Return Endif If Reccount('crsrul')=0 amessagebox("Nu a fost inregistrata nici o nota de transfer in luna curenta cu numarul "+Alltrim(Str(pnNir))+" !",0+48,"Atentie") Use In crsrul Return Endif *!* SELECT DISTINCT id_gestiune, nume_gestiune FROM crsrul INTO CURSOR crs_gest_out *!* SELECT crs_gest_out *!* SCAN *!* pcGestout = pcGestout + ',' + ALLTRIM(nume_gestiune) *!* ENDSCAN *!* USE IN crs_gest_out *!* pcGestout = SUBSTR(pcGestout,2) *ptDataOra=get_ora() *!* modificare ROAPRODUCTIE v 2.0.2 : goExport *!* pcDataOra = get_ora(2) Select crsrul Do Case Case pnTip = 7 Private pcgestc, pcnume_gestiunec Select crsrul pcgestc = cgestc pcnume_gestiunec = nume_gestiunec *!* Report Form rap_dif_pret To Printer Prompt Preview goExport.export2frx([crsrul],[rap_dif_pret]) Release pcgestc, pcnume_gestiunec *!* *!* modificare migrare v 1.0 > v 2.0 Case pnTip = 8 * partener/lucrare rezervare Private pcPartRez, pcNrOrdRez, pcPartNrordRez, pcPartNrordRezC Select crsrul pcPartRez = Alltrim(Nvl(part_rez,[])) pcNrOrdRez = Alltrim(Nvl(nrord_rez,[])) pcPartNrordRez = ALLTRIM(nvl(part_rez,'')) + ; iif(!empty(alltrim(nvl(nrord_rez,''))), iif(!empty(nvl(part_rez,'')), ' / ', '') + ALLTRIM(nrord_rez), '') + ; IIF(!EMPTY(NVL(cod_fiscal, '')), ', CUI: ' + ALLTRIM(cod_fiscal) + IIF(!EMPTY(NVL(reg_comert, '')), ', Reg. Com.: ' + ALLTRIM(reg_comert), ''), '') + ; iif(!empty(nvl(adresa,'')), CHR(13) + CHR(10) + 'Adresa: ' + alltrim(adresa), '') pcPartNrordRezC = '' SET STEP ON * articolele se transfera la un singur partener/lucrare, dar pot proveni de la mai multi parteneri/lucrari rezervate * fac o lista partener/lucrare rezervare corespondenti IF !EMPTY(NVL(crsRul.cod,0)) lcSql=[select distinct part_rez, nrord_rez from ] + lcRul + ; [ where luna=?gnLuna and an=?gnAn and cod = ] + ALLTRIM(STR(crsrul.cod)) + [ and nnir = ?pnNir and cant=0 and cante<>0 ] + ; [ and id_set = 229 ] + m.gcCondSucursala llSucces = goExecutor.oexecuta(lcSql,"crsRulC") If m.llSucces SELECT crsRulC SCAN lcPartRezC = ALLTRIM(NVL(part_rez, '')) lcNrordRezC = ALLTRIM(NVL(nrord_rez, '')) pcPartNrordRezC = m.pcPartNrordRezC + IIF(RECNO() > 1, ', ', '') + m.lcPartRezC + ; IIF(!EMPTY(m.lcNrordRezC), IIF(!EMPTY(m.lcPartRezC), '/', '') + m.lcNrordRezC, '') ENDSCAN USE IN (SELECT('crsRulC')) ENDIF ENDIF Select crsrul *!* Report Form rap_nirrezervare To Printer Prompt Preview goExport.export2frx([crsrul],[rap_nirrezervare], , , , , , .T.) Release pcPartRez,pcNrOrdRez,pcPartNrordRez,pcPartNrordRezC, pnIdSet *!* *!* modificare migrare v 1.0 > v 2.0 ^ *!* 27.08.2009 Case pnTip = 10 && obiecte de inventar in folosinta - durata goExport.export2frx([crsrul],[rap_nirtransfer_achi2_durata], , , , , , .T.) *!* 27.08.2009 ^ Case pnTip # 6 *!* Report Form rap_nirtransfer_achi2 To Printer Prompt Preview goExport.export2frx([crsrul],[rap_nirtransfer_achi2], , , , , , .T.) Otherwise *!* Report Form rap_nirtransfer_vanz To Printer Prompt Preview goExport.export2frx([crsrul],[rap_nirtransfer_vanz], , , , , , .T.) Endcase If Used('crsrul') Use In crsrul Endif Endproc *------------------------------------------------------- Procedure LISTARE_RETUR Parameters tnNir,tnTip Private lnCod,pnNir,lnSuma1,lnSuma2,pnTip,pcGestout,pcNrord Store "" To pcGestout,pcNrord Store 0 To lnSuma1,lnSuma2,pnNir pnNir = tnNir If Empty(tnTip) pnTip = 0 Else pnTip = tnTip Endif If Used('crsrul') Use In crsrul Endif *!* modificare v 2.4.4 : am pus select max(marca) ... in loc de sal_personal.marca lcSql=[select distinct r.cod,r.id_articol,r.denumire,r.codmat,r.um,r.dataact,r.pret,r.pretv,-r.cante as cante,]+; [r.id_lucrare,r.nrord,r.id_gestiune,r.nume_gestiune,r.serie,r.lot,r.cgest,r.nnir,a.nract,r.serie_act,r.nresp,] + ; [(select max(marca) from sal_personal where id_part = r.id_responsabil and id_salariat in ] + ; [(select id_persoana from sal_stat where an =?gnAn and luna = ?gnLuna and sters = 0)) as marca, r.id_rul from vrul r ]+; [ left join act a on a.sters=0 and r.cod=a.cod and a.luna=r.luna and a.an=r.an ] + ; [where r.luna=?gnLuna and r.an=?gnAn and r.nnir = ?pnNir and r.cant=0 and r.cante<>0] + ; STRTRAN(gcCondSucursala,[id_sucursala],[r.id_sucursala]) + [ ] + ; [order by r.nnir,r.cgest,r.nrord,r.id_rul] lcCursor=[crsrul] lnSucces = goExecutor.oexecute(lcSql,lcCursor) If lnSucces < 0 amessagebox(goExecutor.cEroare,0+16,"Eroare") Return Endif If Reccount('crsrul')=0 amessagebox("Nu a fost emisa nota cu numarul "+Alltrim(Str(pnNir))+" in luna curenta!",0+48,"Atentie") Use In crsrul Return Endif Select Distinct id_gestiune, nume_gestiune, nrord From crsrul Into Cursor crs_gest_out Select crs_gest_out Scan pcGestout = pcGestout + ',' + Alltrim(nume_gestiune) pcNrord = pcNrord + ',' + Alltrim(nrord) Endscan Use In crs_gest_out pcGestout = Substr(pcGestout,2) pcNrord = Substr(pcNrord,2) *ptDataOra=get_ora() *!* modificare ROAPRODUCTIE v 2.0.2 *!* pcDataOra = get_ora(2) Private pcSemnaturi Store '' To pcSemnaturi Select crsrul If pnTip # 6 param_listari('rap_retur_achi',,@pcSemnaturi,.T.) Select crsrul *!* Report Form rap_retur_achi To Printer Prompt Preview goExport.export2frx([crsrul],[rap_retur_achi], , , , , , .T.) Else *!* Report Form rap_retur_vanz To Printer Prompt Preview goExport.export2frx([crsrul],[rap_retur_vanz], , , , , , .T.) Endif If Used('crsrul') Use In crsrul Endif Return ENDPROC && listare_retur *------------------------------------------------------- *!* Procedure listare_facturi *!* Parameters tcSerieAct,tnNract *!* *!* && object goFirma *!* lcSql = [Select distinct cod, serie_act, nract,id_fact,id_partd,dataact from ] + gcS + [.vact ] + ; *!* [where an = ?gnAn and luna = ?gnLuna and nract = ?tnNract and NVL(serie_act,'+_') = NVL(?tcSerieAct,'+_') ] + ; *!* [and scd = '4111'] *!* lcCursor=[crsact] *!* lnSucces = goExecutor.oExecute(lcSql,lcCursor) *!* If lnSucces < 0 *!* aMESSAGEBOX(goExecutor.cEroare,0+16,"Eroare") *!* Return *!* Endif *!* Select crsact *!* Scatter Name oAct *!* lnIdPart = oAct.id_partd *!* lnIdfact = oAct.id_fact *!* lnCod = oAct.cod *!* pdDataact = Ttod(oAct.dataact) *!* lcSql = [Select * from ] + gcS + [.vnom_parteneri where id_part = ?lnIdPart ] *!* lcCursor=[crspart] *!* lnSucces = goExecutor.oExecute(lcSql,lcCursor) *!* If lnSucces < 0 *!* aMESSAGEBOX(goExecutor.cEroare,0+16,"Eroare") *!* Return *!* Endif *!* Select crspart *!* Scatter Name opart *!* lcSql = [Select * from ] + gcS + [.vrul where an = ?gnAn and luna = ?gnLuna and id_fact=?lnIdFact and cod=?lnCod and cante<>0] *!* lcCursor=[crsrul] *!* lnSucces = goExecutor.oExecute(lcSql,lcCursor) *!* If lnSucces < 0 *!* aMESSAGEBOX(goExecutor.cEroare,0+16,"Eroare") *!* Return *!* Endif *!* Store [] To pcdelegat, pcbi, pceliberatde, pcnrinmat *!* Do Form DATEFACT *!* *!* sele optiuni *!* *!* loca for optiune='FORMAT A4' *!* llA4 = .T. *!* *ptDataOra=get_ora() *!* pcDataOra = get_ora(2) *!* Select crsrul *!* If llA4 *!* Report Form rap_FACTURI_vanzari_A4 To Printer Prompt Preview *!* Else *!* Report Form rap_FACTURI_vanzari_A5 To Printer Prompt Preview *!* Endif *!* If Used('crsact') *!* Use In crsact *!* Endif *!* If Used('crsrul') *!* Use In crsrul *!* Endif *!* If Used('crspart') *!* Use In crspart *!* Endif *!* Endproc && listare_facuri ***************************************************************************************** Procedure fisa_magazie_FIFO_vechi Parameters tcod,tfis1,tfis2,tdata1,tdata2 lcod=Alltrim(tcod) ldata1 = Alltrim(tdata1) If !Empty(tdata2) ldata2 = Alltrim(tdata2) Else ldata2 = ldata1 Endif If Used('fisa_stoc') Use In fisa_stoc Endif Create Cursor fisa_stoc (ldata d,nrdoc c(15),cantin N(12,3),pretin N(12,3),valin N(14,2),; cantout N(12,3),pretout N(12,3),valout N(14,2),cantf N(12,3),pretf N(12,3),valf N(14,2),idf N(3)) && -----------------------&tfis1 = stocul lcSql = [select cants as cantf,pret as pretf,cants*.pret as valf,datain from ] + gcS + [.]+tfis1+[ where id_articol=]+lcod+[ order by datain] lcCursor = [cstoc] lnSucces = goExecutor.oexecute(lcSql,lcCursor) goExecutor.oReset() If lnSucces > 0 Select cstoc Delete All For cantf=0 Select fisa_stoc Append From Dbf('CSTOC') For !Deleted() Select fisa_stoc Go Top If Eof() Append Blank Endif Sum cantf To lnCantf Sum valf To lnValf Go Top Replace cantin With lnCantf, valin With lnValf,nrdoc With 'Stoc initial' Replace All idf With 1 If lnCantf#0 Replace pretin With lnValf/lnCantf Endif &&----------------------&tfis2 = rulajele lcSql = [select * from ] + gcS + [.] + tfis2 + [ where id_articol=]+lcod+; [ and trunc(dataact) between to_date(']+ldata1+[','YYYY-MM-DD') AND TO_DATE(']+ldata2+[','YYYY-MM-DD')]+; [ order by dataact] lcCursor = [trulaj] lnSucces = goExecutor.oexecute(lcSql,lcCursor) goExecutor.oReset() Endif If lnSucces > 0 Select trulaj Scan Scatter Name xrul Select fisa_stoc Calculate Max(idf) To lnMax lnMax=lnMax+1 Append From Dbf('cstoc') For !Deleted() Replace All idf With lnMax For Empty(idf) Do Case Case xrul.cant#0 &&AND !INLIST(xrul.pret,&lista) Locate For pretf=xrul.Pret And idf=lnMax If !Found() Select fisa_stoc Append Blank Replace cantin With xrul.cant,pretin With xrul.Pret,valin With xrul.cant*xrul.Pret Replace cantf With xrul.cant,pretf With xrul.Pret,valf With xrul.cant*xrul.Pret Replace idf With lnMax,ldata With xrul.datain,nrdoc With xrul.nnir Select cstoc Append Blank Replace cantf With xrul.cant,pretf With xrul.Pret,valf With xrul.cant*xrul.Pret Else Replace cantin With xrul.cant,pretin With xrul.Pret,valin With xrul.cant*xrul.Pret Replace cantf With cantf+cantin,valf With valf+valin Replace ldata With xrul.datain,nrdoc With xrul.nnir Select cstoc Locate For pretf=xrul.Pret Replace cantf With cantf+xrul.cant,valf With valf+xrul.cant*xrul.Pret Endif Case xrul.cante#0 Select fisa_stoc Locate For pretf=xrul.Pret And idf=lnMax If !Found() *DO mesaj WITH 'Stoc negativ','' Append Blank Replace idf With lnMax Endif Replace cantout With xrul.cante,pretout With xrul.Pret,valout With xrul.cante*xrul.Pret Replace cantf With cantf-cantout,pretf With xrul.Pret,valf With valf-valout Replace ldata With xrul.dataout,nrdoc With xrul.nnir Select cstoc Locate For pretf=xrul.Pret If !Found() *DO mesaj WITH 'Stoc negativ','' Append Blank Endif Replace cantf With cantf-xrul.cante,pretf With xrul.Pret,valf With valf-xrul.cante*xrul.Pret Endcase Select cstoc Delete All For cantf=0 Release xrul Select trulaj Endscan Endif If Used('trulaj') Use In trulaj Endif If Used('cstoc') Use In cstoc Endif Endproc &&fisa_magazie_FIFO *----------------------------------------------------------------- Procedure list_bon_pe_lucrare Parameters tnTip Private lnCod,lnIdLucrare,lnSuma1,lnSuma2,loact,pnTip,lnLuna1,lnLuna2,lnAn1,lnAn2,pcondper,lnInf ,lnSup,lcCondIdSet Store "" To loact,pcondper Store 0 To lnSuma1,lnSuma2,lnIdLucrare,lnInf,lnSup oper = Createobject('frm_perioada_luni') oper._optiongrup1.Value=1 oper.Show(1) Release oper If Occurs('_',pcondper)>0 lpos = At('_',pcondper) ldata1 = Substr(pcondper,1,lpos-1) ldata2 = Substr(pcondper,lpos+1) lcd1 = Substr(ldata1,1,2)+'.'+Substr(ldata1,3,4) lcd2 = Substr(ldata2,1,2)+'.'+Substr(ldata2,3,4) pcperioada='De la: '+lcd1+' pana la '+lcd2 Else ldata1 = pcondper pcperioada='LUNA: '+Substr(ldata1,1,2)+'.'+Substr(ldata1,3,4) ldata2 = ldata1 Endif lnLuna1 = Val(Substr(ldata1,1,2)) lnAn1 = Val(Substr(ldata1,3,4)) lnLuna2 = Val(Substr(ldata2,1,2)) lnAn2 = Val(Substr(ldata2,3,4)) *pcselect = ['select * from ] + gcS + [.vLucrari_validat where 2=2'] pcselect = [select * from vnom_Lucrari] pcfiltru = [1=2] pcschema = [] pcorder = [nrord] pccoloane = [nrord] pcTitlu = [Lucrare/Comanda] *pcFiltruOriginal = [validat = 0 and inactiv = 0] pcFiltruOriginal = [] locauta = cauta_alfa(pcselect,pcfiltru,pcschema,pcorder,pccoloane,pcTitlu,pcTitlu,'',.T.,pcFiltruOriginal) && 11.07.2007 If Empty(locauta.id_lucrare) And Empty(locauta.nrord) Return Endif lnIdLucrare = locauta.id_lucrare If Empty(tnTip) pnTip = 0 Else pnTip = tnTip Endif If Used('crsrul') Use In crsrul Endif lnInf = lnLuna1+ 12*lnAn1 lnSup = lnLuna2+ 12*lnAn2 *!* modificare 29.03.2013 v 2.2.7: id_set <> 268 in lcCondTipGest - sa nu se listeze bonurile importate din xml cu productia de vopsea pentru ca n-ar fi corect sa apara produsul final pe bon lcCondIdSet = " and id_set <> 268 " lcSql=[select * from ] + gcS + [.vrul where (luna+12*an between ?lnInf and ?lnSup) and cant=0 and cante<>0 ] +; IIF(Alltrim(locauta.nrord)="",[],[and id_lucrare=?lnIdLucrare ]) +; [and id_gestiune in (select distinct id_gestiune from ] + gcS + [.vnom_gestiuni where nr_pag ] + ; IIF(pnTip=6,[=],[<>])+[ 6) ] + gcCondSucursala + lcCondIdSet +; [order by nrord,nnir,cgest,nresp,sectie,id_rul] lcCursor=[crsrul] lnSucces = goExecutor.oexecute(lcSql,lcCursor) If lnSucces < 0 amessagebox(goExecutor.cEroare,0+16,"Eroare") Endif If Reccount('crsrul')=0 amessagebox("Nu exista bonuri pe aceasta lucrare !",0+48,"Atentie") lnSucces = -1 Endif If lnSucces > 0 *!* modificare ROAPRODUCTIE v 2.0.2 *!* pcDataOra = get_ora(2) *!* Select crsrul If pnTip # 6 *!* Report Form rap_bon_lucrare To Printer Prompt Preview goExport.export2frx([crsrul],[rap_bon_lucrare], , , , , , .T.) *!* modificare ROAPRODUCTIE v 2.0.2 ^ Endif Endif Release locauta If Used('crsrul') Use In crsrul Endif Endproc && list_bon_pe_lucrare *------------------------------------------------------------- Procedure list_total_NIR Parameters tnTip pnTip = tnTip *!* modificare ROAGEST v 2.0.6 *!* Do Case *!* Case "-1" $ gcGestPermis *!* pcselect = [select * from vnom_GESTIUNI] *!* pcFiltruOrig = [inactiv = 0 and nr_pag = ?pnTip] *!* pcfiltru = [1=2] *!* pcschema = [''] *!* pcorder = [nume_gestiune] *!* pccoloane = [nume_gestiune,cgest] *!* pcTitlu = [Alegeti gestiunea] *!* pcTitluColoane = [Gestiune,Indicativ] *!* locauta = cauta_alfa(pcselect,pcfiltru,pcschema,pcorder,pccoloane,pcTitlu,pcTitluColoane,"",.T.,pcFiltruOrig) && 11.07.2007 *!* Otherwise pcselect = [select * from vnom_GESTIUNI] pcFiltruOrig = [inactiv = 0 and nr_pag = ?pnTip and id_gestiune in ] + ; [(select g.id_gestiune from vgest_coresp_grupe_gestiuni g join ] + ; [vgest_coresp_util_grupe u on g.id_grupe = u.id_grupe and u.id_util = ?gnIdUtil)] pcfiltru = [1=2] pcschema = [''] pcorder = [nume_gestiune] pccoloane = [nume_gestiune,cgest] pcTitlu = [Alegeti gestiunea] pcTitluColoane = [Gestiune,Indicativ] locauta = cauta_alfa(pcselect,pcfiltru,pcschema,pcorder,pccoloane,pcTitlu,pcTitluColoane,"",.T.,pcFiltruOrig ) && 11.07.2007 *!* Endcase *!* modificare ROAGEST v 2.0.6 ^ If locauta.id_gestiune = 0 And Alltrim(Upper(locauta.nume_gestiune)) # "" Release locauta Return Endif pcNumeGestiune = Alltrim(Upper(locauta.nume_gestiune)) pnIdGest = Iif(pcNumeGestiune # "", locauta.id_gestiune, -1) Release locauta If pnIdGest = -1 lcCond = [ and r.id_gestiune in (select distinct id_gestiune from ] + gcS + [.vnom_gestiuni where nr_pag = ?pnTip) and id_gestiune in ] + ; [(select g.id_gestiune from ] + gcS + [.vgest_coresp_grupe_gestiuni g join ] + ; gcS + [.vgest_coresp_util_grupe u on g.id_grupe = u.id_grupe and u.id_util = ?gnIdUtil) ] Else lcCond = [ and r.id_gestiune = ?pnIdGest ] Endif lcSql = [SELECT r.serie,r.lot,r.codmat,r.denumire,r.um,r.cant,r.pret,r.pretd,r.tva,r.id_gestiune,r.cgest,r.nume_gestiune,r.nnir,r.proc_tva, ]+; [r.gestionar,r.comisie_receptie1,r.comisie_receptie2,r.comisie_receptie3, ] + ; [(select NVL(min(a.id_act), -1) from act a where r.cod = a.cod AND r.cont = a.scd and r.an = a.an and r.luna = a.luna and a.sters = 0 ]+; [and NVL(r.id_sucursala, -99) = NVL(a.id_sucursala, -99)) as id_act, r.nume_val, r.curs ]+ ; [FROM vrul r ] +; [WHERE r.cant<>0 AND r.cante=0 and r.an = ?gnAn and r.luna = ?gnLuna ] + lcCond *STRTOFILE(lcSql, 'c:\Sql.txt') lcCursor=[crsrul] lnSucces = goExecutor.oexecute(lcSql,lcCursor) If lnSucces < 0 amessagebox(goExecutor.cEroare,0+16,"Eroare") Endif If lnSucces > 0 If Reccount('crsrul') > 0 lcListaID = [-1] Select Distinct id_act From crsrul Into Cursor tActuri Select tActuri Scan lcListaID = lcListaID + [,] + Alltrim(Str(id_act)) Endscan *lcListaID = SUBSTR(lcListaID,2) lcSql = [SELECT id_act, partc as nume, serie_act, nract, dataact, dataireg, fdoc from vact where id_act in (] + lcListaID +[)] lcCursor=[crsAct] lnSucces = goExecutor.oexecute(lcSql,lcCursor) If lnSucces < 0 amessagebox(goExecutor.cEroare,0+16,"Eroare") Endif Select r.*, a.*, 0 As discount, 0 As tvaDiscount From crsrul r ; LEFT Join crsact a On r.id_act = a.id_act ; INTO Cursor crslistare ; ORDER By r.nnir *!* modificare ROAPRODUCTIE v 2.0.2 *!* pcDataOra = get_ora(2) *!* Select crslistare *!* modificare 08.11.2007 *!* Report Form rap_nir_toate.frx To Printer Prompt Preview goExport.export2frx([crslistare],[rap_nir_toate], , , , , , .T.) *!* modificare ROAPRODUCTIE v 2.0.2 ^ *!* If pnTip = 6 *!* Report Form rap_nir_toate.frx To Printer Prompt Preview *!* Else *!* Report Form rap_nir_toate.frx To Printer Prompt Preview *!* Endif *!* modificare 08.11.2007 ^ Else amessagebox('Nu a fost inregistrat nici un NIR in luna curenta' + Chr(13) + 'care sa indeplineasca conditiile!',0+48,'Atentie') Endif Endif If Used('crsListare') Use In crslistare Endif If Used('crsAct') Use In crsact Endif If Used('crsRul') Use In crsrul Endif Endproc && list_total_NIR *------------------------------------------------------------- Procedure list_total_BON Parameters tnTip pnTip = tnTip *!* modificare ROAGEST v 2.0.6 *!* Do Case *!* Case "-1" $ gcGestPermis *!* pcselect = [select * from vnom_GESTIUNI] *!* pcFiltruOrig = [inactiv = 0 and nr_pag = ?pnTip] *!* pcfiltru = [1=2] *!* pcschema = [''] *!* pcorder = [nume_gestiune] *!* pccoloane = [nume_gestiune,cgest] *!* pcTitlu = [Alegeti gestiunea] *!* pcTitluColoane = [Gestiune,Indicativ] *!* locauta = cauta_alfa(pcselect,pcfiltru,pcschema,pcorder,pccoloane,pcTitlu,pcTitluColoane,"",.T.,pcFiltruOrig) && 11.07.2007 *!* Otherwise pcselect = [select * from vnom_GESTIUNI] pcFiltruOrig = [inactiv = 0 and nr_pag = ?pnTip and id_gestiune in ] + ; [(select g.id_gestiune from vgest_coresp_grupe_gestiuni g join ] + ; [vgest_coresp_util_grupe u on g.id_grupe = u.id_grupe and u.id_util = ?gnIdUtil)] pcfiltru = [1=2] pcschema = [] pcorder = [nume_gestiune] pccoloane = [nume_gestiune,cgest] pcTitlu = [Alegeti gestiunea] pcTitluColoane = [Gestiune,Indicativ] locauta = cauta_alfa(pcselect,pcfiltru,pcschema,pcorder,pccoloane,pcTitlu,pcTitluColoane,"",.T.,pcFiltruOrig ) && 11.07.2007 *!* Endcase *!* modificare ROAGEST v 2.0.6 ^ If locauta.id_gestiune = 0 And Alltrim(Upper(locauta.nume_gestiune)) # "" Release locauta Return Endif pcNumeGestiune = Alltrim(Upper(locauta.nume_gestiune)) pnIdGest = Iif(pcNumeGestiune # "", locauta.id_gestiune, -1) Release locauta If pnIdGest = -1 lcCond = [ and r.id_gestiune in (select distinct id_gestiune from ] + gcS + [.vnom_gestiuni where nr_pag = ?pnTip) and id_gestiune in ] + ; [(select g.id_gestiune from ] + gcS + [.vgest_coresp_grupe_gestiuni g join ] + ; gcS + [.vgest_coresp_util_grupe u on g.id_grupe = u.id_grupe and u.id_util = ?gnIdUtil) ] Else lcCond = [ and r.id_gestiune = ?pnIdGest ] Endif *!* modificare 29.03.2013 v 2.2.7: id_set <> 268 in lcCondTipGest - sa nu se listeze bonurile importate din xml cu productia de vopsea pentru ca n-ar fi corect sa apara produsul final pe bon lcCondIdSet = " and r.id_set <> 268 " lcSql = [SELECT r.serie,r.lot,r.codmat,r.denumire,r.um,r.cantE,r.pret,r.id_gestiune,r.cgest,r.nume_gestiune,r.nnir,r.dataact, ]+ ; [r.gestionar,r.comisie_receptie1,r.comisie_receptie2,r.comisie_receptie3 ] + ; [FROM vrul r ] +; [WHERE r.cantE<>0 AND r.cant=0 and r.an = ?gnAn and r.luna = ?gnLuna ] + lcCond + ; STRTRAN(gcCondSucursala,[id_sucursala],[r.id_sucursala]) + [ ] +lcCondIdSet + ; [ORDER BY r.nume_gestiune, r.nnir] * [group by r.codmat,r.denumire,r.um,r.cant,r.pret,r.id_gestiune,r.cgest,r.nume_gestiune,r.nnir,r.proc_tva ]+ *STRTOFILE(lcSql, 'c:\Sql.txt') If Used('crsRul') Use In crsrul Endif lcCursor=[crsrul] lnSucces = goExecutor.oexecute(lcSql,lcCursor) If lnSucces < 0 amessagebox(goExecutor.cEroare,0+16,"Eroare") Endif If lnSucces > 0 If Reccount('crsrul') > 0 *!* modificare ROAPRODUCTIE v 2.0.2 *!* pcDataOra = get_ora(2) *!* Select crsrul *!* Report Form rap_BONURI.frx To Printer Prompt Preview goExport.export2frx([crsrul],[rap_bonuri], , , , , , .T.) *!* modificare ROAPRODUCTIE v 2.0.2 ^ Else amessagebox('Nu a fost inregistrat nici un NIR in luna curenta' + Chr(13) + 'care sa indeplineasca conditiile!',0+48,'Atentie') Endif Endif If Used('crsRul') Use In crsrul Endif Endproc && list_total_BON *----------------------------------------------------- Procedure ver_nir_facturi Parameters tnFelFact, tlProductie Local lcSchema, lcSelect, lcOrder, lcFiltru, lcFiltruOriginal, llAfiseaza Local lcCondProductie, lcCondConturi lcCondProductie = "" lcCondConturi = "" Private pnCod, pcCont, pcAcont, pnFel Store '' To pcCont, pcAcont pnCod = 0 Local llProductie llProductie = tlProductie Private poNirBon Store '' To poNirBon If Empty(tnFelFact) pnFel = 1 && de achizitie Else pnFel = tnFelFact Endif *!* VERIFICARE FACTURI - NIR-URI && SELECTEZ DIN ACT FACTURILE DE ACHIZITIE/VANZARE (BAZA, TVA, SUMA - INCLUSIV DISCOUNTUL 667, 767) lcSchema = [] *!* modificare ROAPRODUCTIE v 2.0.2 If tlProductie lcCondProductie = [a.id_set in (26000,26001)] ELSE *!* modificare ROAGEST v 2.0.120 : am adaugat conditia "not like '5%'" lcCondProductie = [2=2] lcCondConturi = Iif(pnFel = 1, [ and ((a.scc in ('401', '404', '408', '462') and a.scd not like '5%') OR (a.scd in ('401', '404', '408', '462') and a.scc not like '5%'))], ; [ and ((a.scc in ('4111','4118','461') and a.scd not like '5%') OR (a.scd in ('4111','4118','461') and a.scc not like '5%'))]) Endif *!* lcCondProductie = Iif(tlProductie, [a.id_set in (26000, 26001) ], [2=2 ]) *!* lcCondConturi = Iif(pnFel = 1, [ and (a.scc in ('401', '404', '408', '462') OR a.scd in ('401', '404', '408', '462'))], ; *!* [ and (a.scc in ('4111','4118','461') OR a.scd in ('4111','4118','461'))]) *!* modificare ROAPRODUCTIE v 2.0.2 ^ TEXT to lcSelect textmerge noshow select a1.cod, a1.nract, a1.serie_act, a1.dataact, b.denumire as part, a1.nnir, a1.id_sectie, s.sectie, a1.suma - a1.tva as baza, a1.tva, a1.suma, a1.disc_baza, a1.disc_tva, a1.an, a1.luna from (select cod, nract, serie_act, dataact, an, luna, decode(exceptie, 1, id_partd, id_partc) as id_partc, nnir, id_sectie, sum(DECODE(EXCEPTIE, 1, -suma, suma)) as suma, sum(CASE WHEN SCD IN ('4426', '4427', '4428') OR SCC IN ('4426', '4427', '4428') then DECODE(EXCEPTIE, 1, -suma, suma) ELSE 0 END) as tva, SUM(case when SCC = '767' THEN SUMA ELSE 0 END) AS disc_baza, SUM(case when SCC = '767' THEN ROUND(SUMA*(proc_tva-1),<>) ELSE 0 END) AS disc_tva from act a LEFT JOIN (SELECT DISTINCT 1 AS EXCEPTIE, DECODE(DEBIT, 1, CONT_C, CONT) AS ESCD, DECODE(DEBIT, 1, CONT, CONT_C) AS ESCC FROM EXCEPTII_IREG WHERE INVERS = 1) E ON A.SCD = E.ESCD AND A.SCC = E.ESCC WHERE <> <> <> and sters = 0 and cod in (select distinct cod from vrul where < 0], [cante <> 0])>> <>) GROUP BY COD, SERIE_ACT, NRACT, DATAACT, AN, LUNA, NNIR, ID_SECTIE, decode(exceptie, 1, id_partd, id_partc)) a1 left join nom_parteneri b on a1.id_partc = b.id_part left join nom_sectii s on a1.id_sectie = s.id_sectie ENDTEXT *!* WHERE NVL(A1.DATAACT,to_date('1900-01-01','YYYY-MM-DD')) *!* between to_date('20080101 00:00:00','YYYY-MM-DD HH24:MI:SS') AND *!* to_date('20080930 23:59:59','YYYY-MM-DD HH24:MI:SS') lcgroup = [] lcFiltruOriginal = [] lcOrder = [A1.DATAACT,A1.SERIE_ACT,A1.NRACT] lcFiltru = [a1.an=?gnAn and a1.luna=?gnLuna] llModParam = .T. llAfiseaza = .F. gencursor('poNirBon','crsAct', lcSelect, lcFiltru, lcSchema, lcOrder, llAfiseaza, lcgroup, llModParam, lcFiltruOriginal) poNirBon.ca_baza1.afisare() && SELECTEZ DIN RUL ARTICOLELE DE PE FACTURA CURENTA DUPA COD Private poRul poRul = '' lcSqlRul = [select cod, nnir, id_articol, codmat, denumire, serie, lot, um, pret, tva, proc_tva, pretv, tvav, proc_tvav, ] + ; IIF(pnFel = 1, [cant], [cante]) + [ as cantitate,] + ; [(case id_set when 234 then Round((PRET+TVA)*CANT, ?gnPC)- Round(Round((PRET+TVA)*CANT, ?gnPC)*(proc_tva-1)/proc_tva, ?gnPC) ] + ; [ else ROUND(pret*] + Iif(pnFel = 1, [cant], [cante]) + [,?gnPc) end) as valoare,] + ; [(case when nr_pag = 6 and proc_tvav <> 0 then + Round(] + Iif(pnFel = 1, [cant], [cante]) + [*(pretv + tvav), ?gnPC) - ] + ; [ Round(Round(] + Iif(pnFel = 1, [cant], [cante]) + [*(pretv+tvav), ?gnPC)*(PROC_TVAV-1)/PROC_TVAV, ?gnPC) else ] + ; [ Round(] + Iif(pnFel = 1, [cant], [cante]) + [*pretv, ?gnPC) end) as valoarev, ] + ; [(case when nr_pag = 6 and proc_tvav <> 0 then Round(] + Iif(pnFel = 1, [cant], [cante]) + [*(pretv + tvav), ?gnPC) else ] + ; [ Round(] + Iif(pnFel = 1, [cant], [cante]) + [*pretv, ?gnPC) + Round(Round(] + Iif(pnFel = 1, [cant], [cante]) + [*pretv, ?gnPC)*(PROC_TVAV-1), ?gnPC) end) as valoarevtva, ] + ; [cont, acont from vrul] *!* pcfiltru = [ an = ?gnAn and luna = ?gnLuna and cod = ?pnCod ] pcfiltru = [ 1=2 ] pcschema = [] pcorder = [dataora] lcFiltruOriginal = Iif(tlProductie,[id_set in (26000,26001) and ],[]) + [id_tip_rulaj = 0] + gcCondSucursala + [ and cod = ?pnCod] llAfiseaza = .F. llModParam = .T. lcGrup = [] gencursor('poRul','crsRul',lcSqlRul,pcfiltru,pcschema,pcorder,llAfiseaza,lcGrup,llModParam,lcFiltruOriginal) poRul.ca_baza1.afisare() *!* VERIFICARE NIR-URI - FACTURI && SELECTEZ DIN RUL NIR-URILE GRUPATE DUPA COD, NNIR, SECTIE, NRORD, DATAACT lcSqlRulCont = [select cod, nnir, sectie, nrord, dataact, ] + ; [SUM(case id_set when 234 then Round((PRET+TVA)*CANT, ?gnPC)- Round(Round((PRET+TVA)*CANT, ?gnPC)*(proc_tva-1)/proc_tva, ?gnPC) ] + ; [ else ROUND(pret*] + Iif(pnFel = 1, [cant], [cante]) + [,?gnPc) end) as valoare,] + ; [SUM(case id_set when 234 then Round(Round((PRET+TVA)*CANT, ?gnPC)*(proc_tva-1)/proc_tva, ?gnPC) ] + ; [ else Round(ROUND(pret*] + Iif(pnFel = 1, [cant], [cante]) + [,?gnPc)*(proc_tva-1), ?gnPC) end) as valtva,] + ; [SUM(case id_set when 234 then Round((PRET+TVA)*CANT, ?gnPC) ] + ; [ else ROUND(pret*] + Iif(pnFel = 1, [cant], [cante]) + [,?gnPc) + Round(Round(] + Iif(pnFel = 1, [cant], [cante]) + [*pret, ?gnPC)*(PROC_TVA-1), ?gnPC) end) as valctva,] + ; [SUM(case when nr_pag in (6,7) and proc_tvav <> 0 then + Round(] + Iif(pnFel = 1, [cant], [cante]) + [*(pretv + tvav), ?gnPC) - ] + ; [ Round(Round(] + Iif(pnFel = 1, [cant], [cante]) + [*(pretv+tvav), ?gnPC)*(PROC_TVAV-1)/PROC_TVAV, ?gnPC) else ] + ; [ Round(] + Iif(pnFel = 1, [cant], [cante]) + [*pretv, ?gnPC) end) as valoarev, ] + ; [SUM(case when nr_pag in (6,7) and proc_tvav <> 0 then Round(] + Iif(pnFel = 1, [cant], [cante]) + [*(pretv + tvav), ?gnPC) else ] + ; [ Round(] + Iif(pnFel = 1, [cant], [cante]) + [*pretv, ?gnPC) + Round(Round(] + Iif(pnFel = 1, [cant], [cante]) + [*pretv, ?gnPC)*(PROC_TVAV-1), ?gnPC) end) as valoarevtva ] + ; [from vrul where an = ?gnAn and luna = ?gnLuna and ]+; IIF(tlProductie, [(id_set=26000 or id_set=26001) and ],[]) + ; [id_tip_rulaj = 0 ] + gcCondSucursala + [ and ] + ; IIF(pnFel = 1, [cant], [cante]) + [ <> 0 ] + ; [group by cod, nnir, dataact, nrord, sectie ORDER BY DATAACT, NNIR] lcCursor = [crsRulCont] lnSucces = goExecutor.oexecute(lcSqlRulCont,lcCursor) If lnSucces < 0 lcmesaj = goExecutor.cEroare ofrm_er = Createobject('frm_mesaj','Eroare','exclam.ico','Avertizare',lcmesaj) ofrm_er.Show(1) Release ofrm_er Endif Private poact poact = '' && selectez din act factura corespunzatoare codului NIR-ului pe care sunt pozitionat lcFiltru = [] lcSchema = [] lcOrder = [] lcgroup = [] llModParam = .T. lcFiltruOriginal = [] TEXT to lcSelect textmerge noshow select a1.cod, a1.nract, a1.serie_act, a1.dataact, b.denumire as part, a1.nnir, a1.id_sectie, s.sectie, a1.suma - a1.tva as baza, a1.tva, a1.suma, a1.an, a1.luna from (select cod, nract, serie_act, dataact, an, luna, decode(exceptie, 1, id_partd, id_partc) as id_partc, nnir, id_sectie, sum(DECODE(EXCEPTIE, 1, -suma, suma)) as suma, sum(CASE WHEN SCD IN ('4426', '4427', '4428') OR SCC IN ('4426', '4427', '4428') then DECODE(EXCEPTIE, 1, -suma, suma) ELSE 0 END) as tva from act a LEFT JOIN (SELECT DISTINCT 1 AS EXCEPTIE, DECODE(DEBIT, 1, CONT_C, CONT) AS ESCD, DECODE(DEBIT, 1, CONT, CONT_C) AS ESCC FROM EXCEPTII_IREG WHERE INVERS = 1) E ON A.SCD = E.ESCD AND A.SCC = E.ESCC WHERE <> <> <> and sters = 0 and cod=?pnCod GROUP BY COD, SERIE_ACT, NRACT, DATAACT, AN, LUNA, NNIR, ID_SECTIE, decode(exceptie, 1, id_partd, id_partc)) a1 left join nom_parteneri b on a1.id_partc = b.id_part left join nom_sectii s on a1.id_sectie = s.id_sectie ENDTEXT gencursor('poAct','crsActCont', lcSelect, lcFiltru, lcSchema, lcOrder, llAfiseaza, lcgroup, llModParam, lcFiltruOriginal) poact.ca_baza1.afisare() *** vizualizare Select crsact Do Form frm_verificare_rulaje With pnFel, llProductie If Used('crsAct') Use In crsact Endif If Used('crsRul') Use In crsrul Endif If Used('crsActCont') Use In crsActCont Endif If Used('crsRulCont') Use In crsRulCont Endif Endproc && ver_nir_facturi ***---------------------------------------------------------------------------------------------------------------------------------- PROCEDURE listare_centralizator_nir_bon LPARAMETERS tnTip, tlProductie, tcFiltruData * tnTip: 1 = NIR (cant <> 0); 2 = BON CONSUM (cante <> 0) * tlProductie: ROAPRODUCTIE * tcFiltruData: dataact >= ... and dataact <=...., apelat din ver_nir_facturi > frm_verificare_rulaje.scx Private poNirBon Store '' To poNirBon Local lcFiltruData, lnTip lcFiltruData=[] lnTip = IIF(TYPE('tnTip') = 'N', m.tnTip, 1) If !EMPTY(m.tcFiltruData) lcFiltruData = lcFiltruData + m.tcFiltruData ENDIF **************************** llUsedAct = USED('crsAct') IF !m.llUsedAct && SELECTEZ DIN ACT FACTURILE DE ACHIZITIE/VANZARE (BAZA, TVA, SUMA - INCLUSIV DISCOUNTUL 667, 767) lcSchema = [] If tlProductie lcCondProductie = [a.id_set in (26000,26001)] ELSE lcCondProductie = [2=2] lcCondConturi = Iif(lnTip = 1, [ and ((a.scc in ('401', '404', '408', '462') and a.scd not like '5%') OR (a.scd in ('401', '404', '408', '462') and a.scc not like '5%'))], ; [ and ((a.scc in ('4111','4118','461') and a.scd not like '5%') OR (a.scd in ('4111','4118','461') and a.scc not like '5%'))]) Endif TEXT to lcSelect textmerge noshow select a1.cod, a1.nract, a1.serie_act, a1.dataact, b.denumire as part, a1.nnir, a1.id_sectie, s.sectie, a1.suma - a1.tva as baza, a1.tva, a1.suma, a1.disc_baza, a1.disc_tva, a1.an, a1.luna from (select cod, nract, serie_act, dataact, an, luna, decode(exceptie, 1, id_partd, id_partc) as id_partc, nnir, id_sectie, sum(DECODE(EXCEPTIE, 1, -suma, suma)) as suma, sum(CASE WHEN SCD IN ('4426', '4427', '4428') OR SCC IN ('4426', '4427', '4428') then DECODE(EXCEPTIE, 1, -suma, suma) ELSE 0 END) as tva, SUM(case when SCC = '767' THEN SUMA ELSE 0 END) AS disc_baza, SUM(case when SCC = '767' THEN ROUND(SUMA*(proc_tva-1),<>) ELSE 0 END) AS disc_tva from act a LEFT JOIN (SELECT DISTINCT 1 AS EXCEPTIE, DECODE(DEBIT, 1, CONT_C, CONT) AS ESCD, DECODE(DEBIT, 1, CONT, CONT_C) AS ESCC FROM EXCEPTII_IREG WHERE INVERS = 1) E ON A.SCD = E.ESCD AND A.SCC = E.ESCC WHERE <> <> <> and sters = 0 and cod in (select distinct cod from vrul where < 0], [cante <> 0])>> <>) GROUP BY COD, SERIE_ACT, NRACT, DATAACT, AN, LUNA, NNIR, ID_SECTIE, decode(exceptie, 1, id_partd, id_partc)) a1 left join nom_parteneri b on a1.id_partc = b.id_part left join nom_sectii s on a1.id_sectie = s.id_sectie ENDTEXT *!* WHERE NVL(A1.DATAACT,to_date('1900-01-01','YYYY-MM-DD')) *!* between to_date('20080101 00:00:00','YYYY-MM-DD HH24:MI:SS') AND *!* to_date('20080930 23:59:59','YYYY-MM-DD HH24:MI:SS') lcgroup = [] lcFiltruOriginal = [] lcOrder = [A1.DATAACT,A1.SERIE_ACT,A1.NRACT] lcFiltru = [a1.an=?gnAn and a1.luna=?gnLuna] llModParam = .T. llAfiseaza = .F. gencursor('poNirBon','crsAct', lcSelect, lcFiltru, lcSchema, lcOrder, llAfiseaza, lcgroup, llModParam, lcFiltruOriginal) poNirBon.ca_baza1.afisare() ENDIF && llUsedAct **************************** *!* 11.06.2015 *!* MARIUS.MUTU *!* ID_SET = 268: bon consum pe lucrari in curs de executie cu import din fisier (pentru import consum vopsea 301 si creare si consum mix vopsea 345) *!* nu am nevoie de iesirea de mix 345 pentru ca se dubleaza iesirea de pe bon. Iese deja 301 *!* 04.02.2009 && SELECTEZ DIN RUL NIR-URILE GRUPATE DUPA COD, NNIR, SECTIE, NRORD, DATAACT lcSqlRulListare = [select cod, nnir, sectie, nrord, dataact, ] + ; [SUM(case id_set when 234 then Round((PRET+TVA)*CANT, ?gnPC)- Round(Round((PRET+TVA)*CANT, ?gnPC)*(proc_tva-1)/proc_tva, ?gnPC) ] + ; [ else ROUND(pret*] + Iif(lnTip = 1, [cant], [cante]) + [,?gnPc) end) as valoare,] + ; [SUM(case id_set when 234 then Round(Round((PRET+TVA)*CANT, ?gnPC)*(proc_tva-1)/proc_tva, ?gnPC) ] + ; [ else Round(ROUND(pret*] + Iif(lnTip = 1, [cant], [cante]) + [,?gnPc)*(proc_tva-1), ?gnPC) end) as valtva,] + ; [SUM(case id_set when 234 then Round((PRET+TVA)*CANT, ?gnPC) ] + ; [ else ROUND(pret*] + Iif(lnTip = 1, [cant], [cante]) + [,?gnPc) + Round(Round(] + Iif(lnTip = 1, [cant], [cante]) + [*pret, ?gnPC)*(PROC_TVA-1), ?gnPC) end) as valctva,] + ; [SUM(case when nr_pag in (6,7) and proc_tvav <> 0 then + Round(] + Iif(lnTip = 1, [cant], [cante]) + [*(pretv + tvav), ?gnPC) - ] + ; [ Round(Round(] + Iif(lnTip = 1, [cant], [cante]) + [*(pretv+tvav), ?gnPC)*(PROC_TVAV-1)/PROC_TVAV, ?gnPC) else ] + ; [ Round(] + Iif(lnTip = 1, [cant], [cante]) + [*pretv, ?gnPC) end) as valoarev, ] + ; [SUM(case when nr_pag in (6,7) and proc_tvav <> 0 then Round(] + Iif(lnTip = 1, [cant], [cante]) + [*(pretv + tvav), ?gnPC) else ] + ; [ Round(] + Iif(lnTip = 1, [cant], [cante]) + [*pretv, ?gnPC) + Round(Round(] + Iif(lnTip = 1, [cant], [cante]) + [*pretv, ?gnPC)*(PROC_TVAV-1), ?gnPC) end) as valoarevtva ] + ; [from vrul where ] + Iif(!EMPTY(lcFiltruData),; [(]+lcFiltruData+[ and ],; [an = ?gnAn and luna = ?gnLuna and ]) +; IIF(tlProductie, [(id_set=26000 or id_set=26001) and ],[]) + ; [id_tip_rulaj = 0 ] + gcCondSucursala + [ and ] + ; IIF(m.lnTip = 1, [cant], [cante]) + [ <> 0 ] + ; IIF(m.lnTip = 2, [ and ((id_set = 268 and cont <> '345') or id_set <> 268)], []) + ; [group by cod, nnir, dataact, nrord, sectie ORDER BY DATAACT, NNIR] * ID_SET = 268: bon consum pe lucrari in curs de executie cu import din fisier (pentru import consum vopsea 301 si creare si consum mix vopsea 345) * nu am nevoie de iesirea de mix 345 pentru ca se dubleaza iesirea de pe bon. Iese deja 301 lcCursor = [crsRulListare] lnSucces = goExecutor.oexecute(lcSqlRulListare,lcCursor) If lnSucces < 0 aMESSAGEBOX(goExecutor.cEroare,0+16,'Eroare') Return Endif *!* 04.02.2009 ^ Use In (SELECT('crsraport')) If m.lnTip = 2 && Bonuri lcRaport=[centralizator_bon.frx] Select nnir,dataact,nrord,sectie,Sum(valoare) As valoare,Sum(valoarev) As valoarev ; FROM crsrullistare Group By nnir,dataact,nrord,sectie ; ORDER By dataact,nnir Into Cursor crsraport Else lcRaport=[centralizator_nir.frx] Use In (SELECT('crstoate')) If Type('crsact.part') <> 'U' Select a.Part As nume,a.serie_act,a.nract,a.dataact,a.baza As valftvacont, a.suma As valctvacont, b.nnir,b.valoare As valftva,b.valtva As valtva,b.valctva As valctva, ; a.disc_baza as valdiscb, a.disc_tva as valdisct, b.valoarev - b.valoare as valadaos ; FROM crsact a Left Join crsrullistare b On a.cod=b.cod ; ORDER By a.dataact,b.nnir Into Cursor crstoate Else Select '' As nume,a.serie_act,a.nract,a.dataact,a.baza As valftvacont, a.suma As valctvacont, b.nnir,b.valoare As valftva,b.valtva,b.valctva ; FROM crsact a Left Join crsrullistare b On a.cod=b.cod ; ORDER By a.dataact,b.nnir Into Cursor crstoate Endif Select nume,nract,serie_act,dataact,nnir,valftvacont, valctvacont, Sum(valftva) As valftva,Sum(valtva) As valtva,Sum(valctva) As valctva ,SUM(valdiscb) as valdiscb,SUM(valdisct) as valdisct,SUM(valadaos) as valadaos; FROM crstoate Group By nume,serie_act,nract,dataact,nnir,valftvacont, valctvacont ; ORDER By dataact,nnir Into Cursor crsraport Use In (SELECT('crstoate')) Endif If Reccount('crsraport')>0 pcDataora=get_ora(2) Select crsraport Report Form (lcRaport) To Printer Prompt Preview Else AMESSAGEBOX("Nu exista inregistrari pentru listare!",0+48,"Atentie") Endif Use In (SELECT('crsraport')) IF m.llUsedAct USE IN (SELECT('crsAct')) ENDIF ENDPROC && listare_centralizator_nir_bon ***---------------------------------------------------------------------------------------------------------------------------------- Procedure list_raport_gestiuni Lparameters tnNr_pag LOCAL lcFile Private pdData1,pdData2,pnId_gestiune, pnNr_pag, pnSoldPrec, pcNumeGest, pcDataOra,pnId_gestiunec,pcNumeGestc,pnGrupezGestc,pcGrupare,pcTitlu,pcSubtitlu,pcSirIdSubgrupArt,pcSirNumeSubgrupArt,pcSirIdArticole,pcSirNumeArticole Store 0 To pnId_gestiune, pnNr_pag, pnSoldPrec,pnId_gestiunec,pnGrupezGestc Store '' To pcGrupare,pcSirIdSubgrupArt,pcSirNumeSubgrupArt,pcSirIdArticole,pcSirNumeArticole,pcSubtitlu lcFile = '' *!* locauta = caut_gestiune(tnNr_pag, gnIdUtil,.t.) *!* pnId_gestiune = locauta.id_gestiune *!* pcNumeGest = locauta.nume_gestiune *!* IF gnbuton = 2 *!* RETURN *!* ENDIF pdData1 = Date(gnAn, gnLuna, 1) pdData2 = Gomonth(pdData1,1) - 1 *!* loid = Createobject("frm_interval_date") *!* loid.Show(1) *!* IF gnbuton = 2 *!* RETURN *!* ENDIF pnNr_pag = tnNr_pag loid = Createobject("frm_raport_gestiuni") loid.Show(1) If gnbuton = 2 Return Endif *!* pnNr_pag = locauta.nr_pag If Empty(pdData1) Or Empty(pdData2) Or Empty(pnNr_pag) Return Endif If Empty(Nvl(pcSirIdSubgrupArt,[])) pcSirIdSubgrupArt = [Null] Else pcSubtitlu = [Subgrupe : ] + pcSirNumeSubgrupArt + CHR(13) + CHR(10) Endif If Empty(Nvl(pcSirIdArticole,[])) pcSirIdArticole = [Null] Else pcSubtitlu = pcSubtitlu + [Articole : ] + pcSirNumeArticole Endif If pnId_gestiunec = 0 pnId_gestiunec = Null Endif If pnGrupezGestc = 0 pcGrupare = [EOF()] Else pcGrupare = [nume_gestiunec] Endif If pnId_gestiune = 0 pnId_gestiune = Null Endif pcTitlu = [RAPORT GESTIUNE] lcSql = [{call pack_gest_rapoarte.raport_gestiune(?pnId_gestiune, ?pdData1, ?pdData2, ?pnNr_pag, ?gnIdSucursala,] + ; [?pnGrupezGestc,?pnId_gestiunec,] + pcSirIdArticole + [,] + pcSirIdSubgrupArt + [,?@pnSoldPrec)}] lcCursor = 'cRulaje' If goExecutor.oExecuta(m.lcSql,m.lcCursor) Select (lcCursor) goExport.export2frx(lcCursor,[rap_gestiune], , , , , , .T.) IF AMESSAGEBOX('Doriti sa salvati raportul in format xls?',4+32,_screen.Caption) = 6 lcFile = PUTFILE('Raport gestiune','raport_gestiune','xls') IF !EMPTY(m.lcFile) SELECT *, CAST(0 as N(18,4)) as sold FROM cRulaje ; WHERE .F. ; INTO CURSOR cRaportXls READWRITE INSERT INTO cRaportXls (fdoc, sold) VALUES ('SOLD INITIAL', m.pnSoldPrec) SELECT cRaportXLS APPEND from DBF('cRulaje') SELECT cRaportXls GO TOP lnSold = sold SCAN lnSold = NVL(m.lnSold, 0) + NVL(deb, 0) - NVL(cred, 0) REPLACE sold WITH m.lnSold ENDSCAN SELECT cRaportXls COPY TO (m.lcFile) TYPE XL5 USE IN (SELECT('cRaportXls')) open_default_app(m.lcFile) ENDIF ENDIF Use In (SELECT(m.lcCursor)) Endif *!* modificare 18.02.2008 *!* If Reccount('cRulaje')>0 *!* pcDataOra = get_ora(2) *!* Select cRulaje *!* Report Form rap_gestiune To Printer Prompt Preview *!* Else *!* amessagebox("Nu exista inregistrari pentru listare!",48,"Atentie") *!* Endif *!* modificare 18.02.2008 ^ Endproc && list_raport_gestiuni ***---------------------------------------------------------------------------------------------------------------------------------- Procedure list_raport_gestiuni_centralizator *!* modificare v 2.0.81 Lparameters tnNr_pag Private pdDataI,pdDataF,pnNr_pag,pnSoldPrec Store {} To pdDataI,pdDataF Store 0 To pnSoldPrec ofrmperioada = Createobject('frm_perioada_zzllaaaa') ofrmperioada.Show(1) If gnbuton = 1 pnNr_pag = tnNr_pag If !Empty(pdDataI) And !Empty(pdDataF) And !Empty(pnNr_pag) lcSel = [{call pack_gest_rapoarte.raport_gestiune_centralizator(?pdDataI, ?pdDataF, ?pnNr_pag, ?gnIdSucursala,?@pnSoldPrec)}] lcCursor = 'cRulaje' lnSucces = goExecutor.oexecute(lcSel, lcCursor) If lnSucces < 0 amessagebox(goExecutor.cEroare,0+16,"Eroare") Else goExport.export2frx([cRulaje],[rap_gestiune_toate], , , , , , .T.) Use In cRulaje Endif Endif Endif *!* modificare v 2.0.81 ^ Endproc && list_raport_gestiuni_centralizator ***---------------------------------------------------------------------------------------------------------------------------------- Procedure list_schimbPret Parameters tnNir, tnTip *!* modificare ROAPRODUCTIE v 2.0.2 *!* Private pcDataOra *!* pcDataOra = get_ora(2) IF TYPE('schimbPret.partener_rezervare') = 'U' Select *, '' as partener_rezervare ; From schimbPret ; Where schimb = 1 ; Into Cursor cList ELSE Select * From schimbPret Where schimb = 1 Into Cursor cList ENDIF *!* Select cList *!* Keyboard "{ctrl+f10}" *!* Report Form rap_schimbPret To Printer Prompt Preview goExport.export2frx([clist],[rap_schimbPret], , , , , , .T.) *!* modificare ROAPRODUCTIE v 2.0.2 ^ If Used("cList") Use In cList Endif Use In (Select("schimbPret")) Endproc && list_schimbPret ***---------------------------------------------------------------------------------------------------------------------------------- ***---------------------------------------------------------------------------------------------------------------------------------- Procedure raport_vanzari Private poVanzari, poDetalii Local llAfiseaza Store .F. To llAfiseaza Store '' To poVanzari, poDetalii If Used('crsVanzari') Use In crsVanzari Endif If Used('crsDetalii') Use In crsDetalii Endif * pcschema1=['id_pol n(10), nume_lista_preturi c(100), datai d, datas d, id_valuta n(10), nume_val c(10), id_nota N(5), notaContab C(30), utilizator c(100),dataora t'] pcschema1=[''] pcselect1=['select * from vvanzari_tot where 2=2'] pcorder1=[dataora] pcfiltru1 = [1 = 2] llAfiseaza = .F. gencursor('poVanzari','crsVanzari',pcselect1,pcfiltru1,pcschema1,pcorder1,llAfiseaza) poVanzari.ca_baza1.afisare() pcschema1=[''] pcselect1=['select * from vvanzari_detalii_tot where 2=2'] pcorder1=[nume_lista_preturi, denumire] pcfiltru1 = [1 = 2] llAfiseaza = .F. gencursor('poDetalii','crsDetalii',pcselect1,pcfiltru1,pcschema1,pcorder1,llAfiseaza) poDetalii.ca_baza1.afisare() lov = Createobject("frm_vanzari") lov.Show(1) Release lov, poVanzari, poDetalii Endproc && raport_vanzari ***---------------------------------------------------------------------------------------------------------------------------------- ***----------------------------------------------------------------------------------------------------------- Procedure listare_imputare Parameters tnNir Private pnOperatie pnOperatie = 3 Private pcTitlu, pcperioada, pcDataOra, pdDataI, pdDataF, pnId_responsabil && pt. raport Store "" To pcTitlu, pcperioada pcDataOra = get_ora(2) Store {//} To pdDataI, pdDataF pnId_responsabil = 0 pcTitlu = "IMPUTARE" ***------------------------------- lcSel = [{call pack_gest_rapoarte.fisa_echip_uzat_pred_imputat(?gnAn, ?gnLuna, ?tnNir, ?pdDataI, ?pdDataF, ?pnId_responsabil, ?pnOperatie, ?gnIdSucursala)}] lcCursor = 'cFisa' lnSucces = goExecutor.oexecute(lcSel,lcCursor) If lnSucces < 0 amessagebox(goExecutor.cEroare,0+16,"Eroare") Return Endif ***------------------------------- Private pcSemnaturi Store '' To pcSemnaturi Local lcRaport lcRaport = "RAP_ECHIP_IMPUTAT" param_listari(lcRaport,,@pcSemnaturi, .T.) *!* modificare ROAPRODUCTIE v 2.0.2 IF TYPE('goExport') = 'O' goExport.export2frx([cFisa],lcRaport, , , , , , .T.) ELSE Select cFisa Report Form &lcRaport To Printer Prompt Preview ENDIF *!* modificare ROAPRODUCTIE v 2.0.2 ^ If Used("cFisa") Use In cFisa Endif Endproc && listare_imputare ***----------------------------------------------------------------------------------------------------------- ***----------------------------------------------------------------------------------------------------------- Procedure listare_casare Parameters tnNir, tnIdSet * tnIdSet default 70 SET STEP ON Private pnOperatie pnOperatie = 1 IF !EMPTY(m.tnIdSet) AND m.tnIdset = 274 pnOperatie = 4 && iesire din gestiune ob. inv. in folosinta ENDIF *!* 26.01.2011 PRIVATE pnNnir pnNnir = tnNir *!* 26.01.2011 ^ Private pcTitlu, pcperioada, pcDataOra, pdDataI, pdDataF, pnId_responsabil && pt. raport Store "" To pcTitlu, pcperioada pcDataOra = get_ora(2) Store {//} To pdDataI, pdDataF pnId_responsabil = 0 pcTitlu = "CASARE (din folosinta)" ***------------------------------- lcSel = [{call pack_gest_rapoarte.fisa_echip_uzat_pred_imputat(?gnAn, ?gnLuna, ?tnNir, ?pdDataI, ?pdDataF, ?pnId_responsabil, ?pnOperatie, ?gnIdSucursala)}] lcCursor = 'cFisa' lnSucces = goExecutor.oexecute(lcSel,lcCursor) If lnSucces < 0 amessagebox(goExecutor.cEroare,0+16,"Eroare") Return Endif ***------------------------------- Private pcSemnaturi Store '' To pcSemnaturi Local lcRaport lcRaport = 'rap_echip_uzat' param_listari(lcRaport,,@pcSemnaturi, .T.) *!* modificare ROAPRODUCTIE v 2.0.2 IF TYPE('goExport') = 'O' goExport.export2frx([cFisa],lcRaport, , , , , , .T.) ELSE Select cFisa Report Form &lcRaport To Printer Prompt Preview ENDIF *!* modificare ROAPRODUCTIE v 2.0.2 ^ If Used("cFisa") Use In cFisa Endif Endproc && listare_casare ***------------------------------------- inceput list_centr_valoric_subgr --------------------------------- Procedure list_centr_valoric_subgr Lparameters tnTip Local lnTip, lcRaport If Type("tnTip")="N" lnTip=tnTip Else lnTip = 1 Endif Local lcSql,lnSucces,lcCursor Private pcperioada,pdDataI,pdDataF,pcTitlu,pnIdGrupa,pcNumeGrupa,pcListaIdGestiuni,pcSeparator Store '' To pcNumeGrupa,pcListaIdGestiuni Store {} To pdDataI,pdDataF lcCursor = [crscentrsubgr] pcSeparator = [,] ofrmperioada=Createobject('frm_perioada_zzllaaaa') ofrmperioada.Show(1) If gnbuton=1 pcperioada = [Perioada ] + Dtoc(pdDataI) + [ - ] + Dtoc(pdDataF) Else Return Endif lcXMLGestiune = caut_gestiune_xml(2) If !Empty(lcXMLGestiune) And gnbuton = 1 Xmltocursor(lcXMLGestiune, "crsGestTemp") If Reccount('crsGestTemp') = 0 amessagebox('Nu ati selectat nici o gestiune!',0+48,'Inventar') Return Endif pcListaIdGestiuni = cursor2lista("crsGestTemp", "id_gestiune", pcSeparator) Use In crsGestTemp Else Return Endif locauta = caut_grupa_gestiune() If !Empty(locauta.id_grupe) And gnbuton = 1 pnIdGrupa = locauta.id_grupe pcNumeGrupa = locauta.nume_grupa Else Return Endif pcTitlu = [CENTRALIZATOR VALORI PE SUBGRUPE DE ARTICOLE] If Used(lcCursor) Use In (lcCursor) Endif If lnTip = 1 lcSql = [{call pack_gest_rapoarte.centr_valoric_subgr (?pcNumeGrupa,?pnIdGrupa,] + ; [?pcListaIdGestiuni,?pcSeparator,?pdDataI,?pdDataF,?gnIdSucursala)}] lcRaport = [rap_gest_val_subgrupe] Else lcSql = [{call pack_gest_rapoarte.centr_valoric_subgr_gestc (?pcNumeGrupa,?pnIdGrupa,] + ; [?pcListaIdGestiuni,?pcSeparator,?pdDataI,?pdDataF,?gnIdSucursala)}] lcRaport = [rap_gest_val_subgrupe_gestc] Endif lnSucces = goExecutor.oexecute(lcSql,lcCursor) If lnSucces < 0 amessagebox(goExecutor.cEroare,16,"Eroare") Else goExport.export2frx(lcCursor,lcRaport, , , , , , .T. ) Endif If Used(lcCursor) Use In (lcCursor) Endif Release lcSql,lnSucces,pcperioada,pdDataI,pdDataF,pcTitlu,pnIdGrupa,pcNumeGrupa,pcListaIdGestiuni,pcSeparator Endproc && list_centr_valoric_subgr ************************************************************************************************************** Procedure list_centr_intrari Lparameters tnTipGest Private pnIdGestiune,pcNumeGestiune,pcDataOra,pnNrRapoarte Local loCauta,loCauta2 loCauta = caut_gestiune(tnTipGest,gnIdUtil) If gnButon = 1 pnIdGestiune = loCauta.id_gestiune pcNumeGestiune = loCauta.nume_gestiune lcSql = [select distinct a.id_subgrupa, b.subgrupa from ] + gcS + [.nom_articole a ] + ; [left join ] + gcS + [.gest_art_sbgr b on a.id_subgrupa = b.id_subgrupa ] + ; [where a.id_articol in (select distinct id_articol from ] + gcS + [.rul where sters = 0 ] + ; [and an = ?gnAn and luna = ?gnLuna ] + gcCondSucursala + [ and cant <> 0 ] + ; [and id_tip_rulaj = 0 and id_gestiune = ?pnIdGestiune) order by subgrupa] lnSucces = goExecutor.oExecute(lcSql,[crssubgrupe]) If lnSucces < 0 amessagebox(goExecutor.cEroare,64,"Eroare") Else lcSql = [{call pack_gest_rapoarte.centr_intrari(?pnIdGestiune,?gnIdSucursala,?gnLuna,?gnAn)}] lnSucces = goExecutor.oExecute(lcSql,[crsraport]) If lnSucces < 0 amessagebox(goExecutor.cEroare,64,"Eroare") Else If Reccount('crsraport') > 0 pcDataOra = get_ora(2) Select subgrupa From crssubgrupe Into Array laNumeColoane If Alen(laNumeColoane) >= 10 pnNrRapoarte = 2 Local ox As ReportListener ox = Createobject('ReportListener') ox.DynamicLineHeight = .F. ox.ListenerType = 1 goExport.export2frx([crsraport],[rap_centralizator_intrari],.F.,2,[],[NOPAGEEJECT],ox) goExport.export2frx([crsraport],[rap_centralizator_intrari2],.F.,2,[],[],ox) Release ox Else pnNrRapoarte = 1 goExport.export2frx([crsraport],[rap_centralizator_intrari], , , , , , .T.) Endif Release laNumeColoane Else amessagebox("Nu exista inregistrari pentru listare!",48,"Atentie") Endif Endif If Used('crsraport') Use In crsraport Endif Endif If Used('crssubgrupe') Use In crssubgrupe Endif Endif Release pnIdGestiune,pcNumeGestiune,pcDataOra,pnNrRapoarte,loCauta,loCauta2 Endproc && list_centr_intrari ************************************************************************************************************** Procedure list_centr_iesiri Lparameters tnTipGest,tnTipCentralizator *!* tnTipCentralizator *!* = 1 - transferuri *!* = 2 - facturi clienti *!* = 3 - protocol si sponsorizari Private pnIdGestiune,pcNumeGestiune,pcDataOra,pnNrRapoarte,pnTipCentralizator,pcTitlu,pnIdGrupaGest,pcNumeGrupaGest,pnIdGestiune,pcNumeGestiune,pdDataI,pdDataF Store {} To pdDataI,pdDataF Local lofrmperioada,loCauta,lcSql,lnSucces lofrmperioada = Createobject('frm_perioada_zzllaaaa') lofrmperioada.Show(1) If !Empty(Nvl(pdDataI,{})) And !Empty(Nvl(pdDataF,{})) pnTipCentralizator = tnTipCentralizator pnIdGrupaGest = Null pcNumeGrupaGest = [] Local loCauta,loCauta2,lcSql loCauta = caut_gestiune(tnTipGest,gnIdUtil) If gnButon = 1 pnIdGestiune = loCauta.id_gestiune pcNumeGestiune = loCauta.nume_gestiune Do Case Case pnTipCentralizator = 1 loCauta = caut_grupa_gestiune() If gnButon = 1 pnIdGrupaGest = loCauta.id_grupe pcNumeGrupaGest = loCauta.nume_grupa Endif pcTitlu = [CENTRALIZATOR IESIRI (TRANSFERURI CATRE ] + Iif(!Empty(pcNumeGrupaGest),[GRUPA ] + Alltrim(pcNumeGrupaGest),[GESTIUNI LA P.V.]) + [) ] + ; [DIN GESTIUNEA ] + Alltrim(pcNumeGestiune) + [ ( ] + Alltrim(Dtoc(pdDataI) + [ - ] + Dtoc(pdDataF)) + [ )] Case pnTipCentralizator = 2 pcTitlu = [CENTRALIZATOR IESIRI (FACTURI) DIN GESTIUNEA ] + Alltrim(pcNumeGestiune) + [ ( ] + Alltrim(Dtoc(pdDataI) + [ - ] + Dtoc(pdDataF)) + [ )] Case pnTipCentralizator = 3 pcTitlu = [CENTRALIZATOR IESIRI (PROTOCOL, SPONSORIZARI) DIN GESTIUNEA ] + Alltrim(pcNumeGestiune) + [ ( ] + Alltrim(Dtoc(pdDataI) + [ - ] + Dtoc(pdDataF)) + [ )] Endcase If aMessagebox("Doriti ca raportul sa cuprinda si statistica privind stocul ( initial, total intrari , total iesiri, final ) ?",4+32,"Statistici stoc")=6 _Screen.MousePointer = 11 lcSql = [{call pack_gest_rapoarte.centralizator_stoc(?pnIdGestiune,?pdDataI,?pdDataF,?gnIdSucursala)}] lnSucces = goExecutor.oExecute(lcSql,[crsStatisticiStoc]) _Screen.MousePointer = 0 If lnSucces < 0 amessagebox(goExecutor.cEroare,64,"Eroare") Endif Endif _Screen.MousePointer = 11 lcSql = [{call pack_gest_rapoarte.cursor_subgrupe(?pnIdGestiune,?gnIdSucursala,?pdDataI,?pdDataF,?pnTipCentralizator,?pnIdGrupaGest)}] lnSucces = goExecutor.oExecute(lcSql,[crssubgrupe]) _Screen.MousePointer = 0 If lnSucces < 0 amessagebox(goExecutor.cEroare,64,"Eroare") Else _Screen.MousePointer = 11 lcSql = [{call pack_gest_rapoarte.centr_iesiri(?pnIdGestiune,?gnIdSucursala,?pdDataI,?pdDataF,?pnTipCentralizator,?pnIdGrupaGest)}] lnSucces = goExecutor.oExecute(lcSql,[crsraport]) _Screen.MousePointer = 0 If lnSucces < 0 amessagebox(goExecutor.cEroare,64,"Eroare") Else If Reccount('crsraport') > 0 pcDataOra = get_ora(2) Select subgrupa From crssubgrupe Into Array laNumeColoane If Alen(laNumeColoane) >= 11 pnNrRapoarte = 2 Local ox As ReportListener ox = Createobject('ReportListener') ox.DynamicLineHeight = .F. ox.ListenerType = 1 goExport.export2frx([crsraport],[rap_centralizator_iesiri],.F.,2,[],[NOPAGEEJECT],ox) goExport.export2frx([crsraport],[rap_centralizator_iesiri2],.F.,2,[],[],ox) Release ox Else pnNrRapoarte = 1 goExport.export2frx([crsraport],[rap_centralizator_iesiri], , , , , , .T.) Endif Release laNumeColoane Else amessagebox("Nu exista inregistrari pentru listare!",48,"Atentie") Endif Endif If Used('crsraport') Use In crsraport Endif Endif If Used('crssubgrupe') Use In crssubgrupe EndIf If Used('crsStatisticiStoc') Use in crsStatisticiStoc EndIf Endif Endif Release pnIdGestiune,pcNumeGestiune,pcDataOra,pnNrRapoarte,loCauta,lcSql,pcTitlu,pnIdGrupaGest,pcNumeGrupaGest,pdDataI,pdDataF,lofrmperioada Endproc && list_centr_iesiri **************************************************************************************************************