*-------------------------------------------------------------------------------------------------------------------------------------------------------- * (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!! *-------------------------------------------------------------------------------------------------------------------------------------------------------- *< FOXBIN2PRG: Version="1.21" SourceFile="onom_retete.vcx" CPID="1252" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries) * * DEFINE CLASS ct_retetar AS _ctfrmbase OF "_ct_base.vcx" *< CLASSDATA: Baseclass="container" Timestamp="" Scale="Pixels" Uniqueid="" /> *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder *< OBJECTDATA: ObjPath="Ct_grid_search1" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Ct_grid_search2" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="But_listare1" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="But_nou1" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="But_sterge1" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="But_nou2" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="But_sterge2" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="But_modifica1" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="But_reset1" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="But_reset2" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="But_copie" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Cb_tx_cautare1" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Lb_cautare" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="But_reset3" UniqueID="" Timestamp="" /> * *m: do_adauga_in_retetar *m: do_cauta_materiale *m: do_reset_cautare *p: cantf *p: canti *p: cfiltruoriginalreteta *p: colf *p: coli *p: nid_produs *p: ntip *p: rowf *p: rowi * * BackStyle = 0 cantf = 0 canti = 0 cfiltruoriginalreteta = colf = 0 coli = 0 Height = 614 Name = "ct_retetar" nid_produs = 0 ntip = 1 rowf = 0 rowi = 0 Width = 644 Gridsort1.Left = 24 Gridsort1.Name = "Gridsort1" Gridsort1.Top = 4 _ct_controller_keypress1.Left = 134 _ct_controller_keypress1.Name = "_ct_controller_keypress1" _ct_controller_keypress1.Top = 127 * ADD OBJECT 'But_copie' AS but_grafic WITH ; Anchor = 9, ; caction = do_copiaza, ; cpicturedown = copy_jos.bmp, ; cpictureup = copy_sus.bmp, ; Left = 605, ; Name = "But_copie", ; Picture = ..\grafice\copy_sus.bmp, ; TabIndex = 9, ; ToolTipText = "Copiere reteta", ; Top = 5, ; ZOrderSet = 13 *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> ADD OBJECT 'But_listare1' AS but_listare WITH ; Anchor = 9, ; Left = 575, ; Name = "But_listare1", ; TabIndex = 7, ; Top = 5 *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> ADD OBJECT 'But_modifica1' AS but_modifica WITH ; Anchor = 9, ; Left = 488, ; Name = "But_modifica1", ; TabIndex = 10, ; Top = 17 *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> ADD OBJECT 'But_nou1' AS but_nou WITH ; Anchor = 9, ; Left = 458, ; Name = "But_nou1", ; TabIndex = 2, ; Top = 17 *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> ADD OBJECT 'But_nou2' AS but_nou WITH ; Anchor = 12, ; Left = 487, ; Name = "But_nou2", ; TabIndex = 6, ; Top = 339 *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> ADD OBJECT 'But_reset1' AS but_reset WITH ; Anchor = 8, ; Left = 575, ; Name = "But_reset1", ; TabIndex = 11, ; Top = 50 *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> ADD OBJECT 'But_reset2' AS but_reset WITH ; Anchor = 12, ; Left = 575, ; Name = "But_reset2", ; TabIndex = 12, ; Top = 373 *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> ADD OBJECT 'But_reset3' AS but_reset WITH ; Anchor = 12, ; caction = do_reset_cautare, ; Left = 454, ; Name = "But_reset3", ; TabIndex = 14, ; Top = 307 *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> ADD OBJECT 'But_sterge1' AS but_sterge WITH ; Anchor = 9, ; Left = 517, ; Name = "But_sterge1", ; TabIndex = 3, ; Top = 17 *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> ADD OBJECT 'But_sterge2' AS but_sterge WITH ; Anchor = 12, ; Left = 517, ; Name = "But_sterge2", ; TabIndex = 8, ; Top = 339, ; Visible = .T. *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> ADD OBJECT 'Cb_tx_cautare1' AS cb_tx_cautare WITH ; Height = 27, ; Left = 175, ; Name = "Cb_tx_cautare1", ; TabIndex = 4, ; Top = 307, ; Width = 277, ; Text.Height = 25, ; Text.Left = 103, ; Text.Name = "Text", ; Text.Top = 1, ; Text.Width = 172, ; Criteriu.Name = "Criteriu" *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> ADD OBJECT 'Ct_grid_search1' AS ct_grid_search WITH ; Anchor = 15, ; Height = 276, ; Left = 12, ; Name = "Ct_grid_search1", ; TabIndex = 1, ; Top = 13, ; Width = 540, ; _GRID1.Height = 228, ; _GRID1.HighlightStyle = 2, ; _GRID1.Left = 6, ; _GRID1.Name = "_GRID1", ; _GRID1.Top = 36, ; _GRID1.Width = 529, ; Titlu.Left = 6, ; Titlu.Name = "Titlu", ; Titlu.Top = 9, ; Cb_tx_cautare1.Anchor = 10, ; Cb_tx_cautare1.criteriu.Name = "criteriu", ; Cb_tx_cautare1.Height = 27, ; Cb_tx_cautare1.Left = 162, ; Cb_tx_cautare1.Name = "Cb_tx_cautare1", ; Cb_tx_cautare1.Text.Name = "Text", ; Cb_tx_cautare1.Text.Width = 173, ; Cb_tx_cautare1.Top = 4, ; Cb_tx_cautare1.Width = 277 *< END OBJECT: ClassLib="ferestre_cere_date.vcx" BaseClass="container" /> ADD OBJECT 'Ct_grid_search2' AS ct_grid_search WITH ; Anchor = 14, ; Height = 268, ; Left = 12, ; Name = "Ct_grid_search2", ; TabIndex = 5, ; Top = 335, ; Width = 539, ; _GRID1.Height = 229, ; _GRID1.Left = 6, ; _GRID1.Name = "_GRID1", ; _GRID1.Top = 37, ; _GRID1.Width = 529, ; Titlu.Left = 6, ; Titlu.Name = "Titlu", ; Titlu.Top = 9, ; Cb_tx_cautare1.criteriu.Name = "criteriu", ; Cb_tx_cautare1.Left = 163, ; Cb_tx_cautare1.Name = "Cb_tx_cautare1", ; Cb_tx_cautare1.Text.Name = "Text", ; Cb_tx_cautare1.Text.Width = 173, ; Cb_tx_cautare1.Top = 4, ; Cb_tx_cautare1.Width = 277 *< END OBJECT: ClassLib="ferestre_cere_date.vcx" BaseClass="container" /> ADD OBJECT 'Lb_cautare' AS lb_simplu WITH ; Caption = "Retete care au in componenta articolele a caror denumire corespunde criteriului :", ; Left = 22, ; Name = "Lb_cautare", ; TabIndex = 13, ; Top = 288 *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> PROCEDURE actualizeaza_cursoare If (!Used('crsRetete') And !Used('crsMateriale')) Or gcS!=This.cSchema This.creeaza_cursoare() This.cSchema=gcS Endif ENDPROC PROCEDURE creeaza_cursoare pnIdReteta = 0 lcSelect1 = ['select id_reteta,id_articol,codmat,denumire,cod,principala,explicatie ] + ; [ from ] + gcS + [.vnom_retetar where 1=2'] lcCursor1 = [crsRetete] lcSchema1 = [''] lcOrder1 = [denumire] lcFiltru1 = [1=1] lcNume_coloane1= [codmat;denumire;cod;principala;explicatie;] lcTitlu_coloane1 = [Cod produs,Denumire,Cod tehnologic,Principala,Explicatie] lcNrColoaneCheck = [5] lcSelect2 = ['select id_reteta_elem,id_reteta,id_articol,codmat,denumire,'+] +; ['um,cont,cantitate from ] + gcS + [.vnom_retetar_elemente where 1=2'] lcCursor2 = [crsMateriale] lcSchema2 = ['id_reteta_elem n(20),id_reteta n(20),id_articol n(20),codmat c(50),' +] +; ['denumire c(100),um c(6),cont c(4),cantitate n(12,4)'] lcOrder2 = [denumire] lcFiltru2 = [id_reteta = ?pnIdReteta ] lcNume_coloane2= [codmat;denumire;um;cont;cantitate] lcTitlu_coloane2 = [Cod material,Denumire,Unitate de masura,Cont,Cantitate] With This.ct_grid_search1 .cSelect = lcSelect1 .cSchema = lcSchema1 .cFiltruOriginal = lcFiltru1 .cFiltru = lcFiltru1 .cTitlu = 'PRODUSE' .corder = lcOrder1 .cnume_coloane = lcNume_coloane1 .ctitlu_coloane = lcTitlu_coloane1 .cnumecursor = lcCursor1 .cnrcoloane_check = lcNrColoaneCheck Endwith *!* modificare ROAGRESTAURANT 0.0.19 This.cfiltruoriginalreteta = This.ct_grid_search1.cFiltruOriginal *!* modificare ROAGRESTAURANT 0.0.19 ^ With This.ct_grid_search2 .cSelect = lcSelect2 .cSchema = lcSchema2 .cFiltruOriginal = lcFiltru2 .cFiltru = [1=1] .cTitlu = 'FISA TEHNOLOGICA' .corder = lcOrder2 .cnume_coloane = lcNume_coloane2 .ctitlu_coloane = lcTitlu_coloane2 .cnumecursor = lcCursor2 Endwith This.ct_grid_search1.initializare(.T.) Select crsRetete Go Top pnIdReteta = crsRetete.id_reteta This.ct_grid_search2.initializare(.T.) This.ct_grid_search2._GRID1.column6.ReadOnly = .F. ENDPROC PROCEDURE do_adauga Local lntip lntip = This.ntip Private pcLista_art Store '' To pcLista_art lcAlias1 = This.ct_grid_search1.cnumecursor lcAlias2 = This.ct_grid_search2.cnumecursor Do Case Case lntip = 1 && Produse Select (lcAlias1) Scatter Name loRec Blank lnIdRetetaTemp = pnIdReteta pnIdReteta = 0 Do Adauga_Modifica_Inregistrare With "reteta",loRec,,"INSERT" lnIdRetetaAdaugare = pnIdReteta pnIdReteta = lnIdRetetaTemp If !Empty(lnIdRetetaAdaugare) pcLista_art = [] *!* lcFiltru = [ SUBSTR(TRIM(cont),1,1) = '3'] pcLista_art = This.do_cauta_materiale() If !Empty(pcLista_art) This.do_adauga_in_retetar(lnIdRetetaAdaugare,pcLista_art) Else This.ct_grid_search1.actualizeaza_grid() Endif Endif Case lntip = 2 && Materiale *!* modificare ROAPRODUCTIE v 2.0.2 If Reccount(lcAlias1) > 0 *!* modificare ROAPRODUCTIE v 2.0.2 ^ *!* lcFiltru = [ SUBSTR(TRIM(cont),1,1) = '3'] *!* DO viz_catalog_articole WITH .f.,.t.,lcFiltru,.t.,[Alegeti materialele] in oproceduri_articole.prg Select (lcAlias1) lnIdReteta = id_reteta lcFiltru = [ and id_articol not in (select id_articol from nom_retetar_elemente where id_reteta=]+Alltrim(Str(lnIdReteta))+; [ and sters=0)] pcLista_art = This.do_cauta_materiale(lcFiltru) If !Empty(pcLista_art) This.do_adauga_in_retetar(lnIdReteta,pcLista_art) Endif *!* modificare ROAPRODUCTIE v 2.0.2 Else amessagebox("Nu ati selectat produsul!",48,"Atentie") Endif *!* modificare ROAPRODUCTIE v 2.0.2 Endcase ENDPROC PROCEDURE do_adauga_in_retetar Parameters tnIdReteta,tcLista_Mat Local lntip lntip = This.ntip lnIdReteta = tnIdReteta lcLista_Mat = tcLista_Mat lnMat = Occurs(',',lcLista_Mat) If Right(lcLista_Mat,1) # ',' lcLista_Mat = lcLista_Mat + ',' Endif If Left(lcLista_Mat,1) # ',' lcLista_Mat = ',' + lcLista_Mat Endif *!* modificare ROAGEST v 2.0. *!* *!* modificare ROAPRODUCTIE v 2.0.2 *!* IF (RECCOUNT(lcAlias1)=0 AND lnTip = 1) OR (RECCOUNT(lcAlias2)=0 AND lnTip=2) IF RECCOUNT(lcAlias1) = 0 AND lnTip = 2 *!* modificare ROAGEST v 2.0. ^ amessagebox("Nu ati selectat reteta!",48,"Atentie") RETURN ENDIF *!* modificare ROAPRODUCTIE v 2.0.2 ^ lcAlias1 = This.ct_grid_search1.cnumecursor lcAlias2 = This.ct_grid_search2.cnumecursor For i=1 To lnMat+1 lcId_material = Strextract(lcLista_Mat,[,],[,],i) lcSql = [begin pack_retete.adauga_material(] + Alltrim(Str(lnIdReteta)) + [,] + ; lcId_material + [,] + ALLTRIM(STR(gnIdUtil)) +[); end;] lnSucces = goExecutor.oExecute(lcSql) If lnSucces < 0 lcTextEroare = goExecutor.oPrelucrareEroare() lcMesaj = "Adaugarea nu s-a realizat!" + Chr(13) + Chr(10) + lcTextEroare AMESSAGEBOX(lcMesaj,0+16,"Atentie") *!* Return Endif Endfor This.ct_grid_search1.actualizeaza_grid This.ct_grid_search2.actualizeaza_grid Select (lcAlias1) Locate For id_reteta = lnIdReteta This.ct_grid_search1.SetFocus If lntip = 2 This.ct_grid_search2.SetFocus Endif ENDPROC PROCEDURE do_cauta *!* modificare ROAGRESTAURANT 0.0.19 Local lcFiltru,lcValoare,lcCriteriu,lnCriteriu lcValoare = Strtran(Alltrim(Upper(This.cb_tx_cautare1.Text.Value)),['],['']) lnCriteriu = VAL(This.cb_tx_cautare1.criteriu.Value) lcFiltru = [ AND ID_RETETA IN (SELECT DISTINCT ID_RETETA FROM VNOM_RETETAR_ELEMENTE WHERE DENUMIRE ] Do Case Case lnCriteriu = 1 And !Empty(lcValoare) lcFiltru = lcFiltru + [ LIKE '] + lcValoare + [%')] Case lnCriteriu = 2 And !Empty(lcValoare) lcFiltru = lcFiltru + [ ='] + lcValoare + [')] Case lnCriteriu = 3 And !Empty(lcValoare) lcFiltru = lcFiltru + [ !='] + lcValoare + [')] Case lnCriteriu = 4 And !Empty(lcValoare) lcFiltru = lcFiltru + [ LIKE '%] + lcValoare + [%')] Case lnCriteriu = 5 And !Empty(lcValoare) lcFiltru = lcFiltru + [ NOT LIKE '%] + lcValoare + [%')] Otherwise lcFiltru = [] Endcase This.ct_grid_search1.cfiltruoriginal = This.cfiltruoriginalreteta + lcFiltru lcCriteriu = This.ct_grid_search1.cb_tx_cautare1.criteriu.Value lcValoare = This.ct_grid_search1.cb_tx_cautare1.Text.Value If lcCriteriu <> "6" And Empty(lcValoare) This.ct_grid_search1.cb_tx_cautare1.criteriu.Value = "6" This.ct_grid_search1.cb_tx_cautare1.Text.Value = "" Endif This.ct_grid_search1.do_cauta() *!* modificare ROAGRESTAURANT 0.0.19 ^ ENDPROC PROCEDURE do_cauta_materiale Lparameters tcFiltru Local lcArticole, lcXMLArticole,lcFiltru lcArticole = "" lcFiltru = Iif(Empty(tcFiltru),[],tcFiltru) lcXMLArticole = cauta_nom_articole([(a.cont='301' or a.cont like '302%' or a.cont like '34%' or a.in_stoc = 0)] + lcFiltru) If !Empty(lcXMLArticole) Xmltocursor(lcXMLArticole, "crsArticoleTemp") lcArticole = cursor2lista("crsArticoleTemp", "id_articol", ",") Use In crsArticoleTemp Endif Return lcArticole ENDPROC PROCEDURE do_copiaza Local lcTabel, lnIdReteta_dest, lcDenumire_Dest, lnIdReteta_Sursa, lcDenumire_sursa, lnRaspuns, lcSql, lnSucces lcTabel = This.ct_grid_search1._GRID1.RecordSource Select (lcTabel) If Recno() = 0 aMESSAGEBOX("Nu ati selectat produsul!",48,"Atentie") Return Endif Select (lcTabel) lnIdReteta_sursa = id_reteta lcDenumire_sursa = Alltrim(denumire) lcCod_sursa = Alltrim(Nvl(cod,[])) If Empty(lnIdReteta_sursa) Return Endif Local lcselect, lcfiltru, lcschema, lcorder, lccoloane, lcTitlu, lcTitluColoane, lcFiltruOriginal, lcNumeProc lcselect = [select id_reteta,id_articol,codmat,denumire,cod,explicatie FROM vnom_retetar] lcfiltru = [2=2] lcschema = [] lcorder = [denumire] lccoloane = [denumire, codmat, explicatie] * lcTitlu = [Alegeti reteta pe care doriti s-o copiati] lcTitlu = [Alegeti produsul pentru care doriti sa inlocuiti fisa cu cea selectata] lcTitluColoane = [Denumire, Cod material ] lcFiltruOriginal = [id_reteta <> ]+Alltrim(Str(lnIdReteta_sursa)) lcNumeProc = "" locauta = cauta_alfa(lcselect, lcfiltru, lcschema, lcorder, lccoloane, lcTitlu, lcTitluColoane, lcNumeProc, .F., lcFiltruOriginal) && 11.07.2007 If !Empty(locauta.id_articol) lnIdReteta_dest = locauta.id_reteta lcDenumire_dest = Alltrim(locauta.denumire) lcCod_dest = Alltrim(Nvl(locauta.cod,[])) lnRaspuns = AMESSAGEBOX([Doriti sa copiati fisa tehnologica a produsului ] + lcDenumire_sursa + ; IIF(!Empty(lcCod_Sursa),[ (cod: ] + lcCod_Sursa + [ ) ],[ ]) + ; [in cea a produsului ] + lcDenumire_Dest + Iif(!Empty(lcCod_Dest),[ (cod: ] + lcCod_Dest + [ ) ],[ ]) + ; [?],4+32,'Copiere fisa tehnologica') If lnRaspuns = 7 Return Endif lcSql = [begin pack_retete.copiaza_reteta(] + Alltrim(Str(lnIdReteta_Sursa)) + [,] + ; Alltrim(Str(lnIdReteta_dest)) + [,] + Alltrim(Str(gnIdUtil)) +[); end;] lnSucces = goExecutor.oExecute(lcSql) If lnSucces < 0 aMessagebox(goExecutor.oPrelucrareEroare(),0+16,"Eroare") Endif This.ct_grid_search2.actualizeaza_grid() Endif ENDPROC PROCEDURE do_listare Private poListRetetar Store '' To poListRetetar pcDataOra = get_ora(2) Local lcCriteriu lcCriteriu = This.ct_grid_search1.ocursor.ca_baza1.cfiltru If Type("lcCriteriu") <> "C" lcCriteriu = [2=2] Endif Local lcSchema1, lcSelect1, lcOrder1, lcFiltru1, llAfiseaza lcSelect1 = [select id_reteta, NVL(denumire,'') as denumire, cod, explicatie, NVL(denumire_mat,'') as denumire_mat,]+; [NVL(codmat_mat,'') as codmat_mat, NVL(um_mat,'') as um_mat, NVL(cantitate,0) as cant_mat from ] + gcS + [.prod_vrap_retetar ] lcOrder1 = [denumire, id_reteta, denumire_mat] lcgroup = [] lcFiltru1 = lcCriteriu lcFiltruOriginal = [] llModParam = .T. llAfiseaza = .F. gencursor('poListRetetar','cListRetetar', lcSelect1, lcFiltru1, lcSchema1, lcOrder1, llAfiseaza, lcgroup, llModParam, lcFiltruOriginal) poListRetetar.ca_baza1.afisare() If Reccount('cListRetetar')>0 If Type('this.parent.alwaysontop')<>'U' This.Parent.AlwaysOnTop=.F. Endif Select cListRetetar Report Form rap_retetar To Printer Prompt Preview If Type('this.parent.alwaysontop')<>'U' This.Parent.AlwaysOnTop=.T. Endif Else amessagebox("Nu exista inregistrari pentru listare!",0+48,"Atentie") Endif If Used("cListRetetar") Use In cListRetetar Endif Release poListRetetar ENDPROC PROCEDURE do_reset Local lntip lntip = This.ntip Do Case Case lntip=1 With This.ct_grid_search1 *!* modificare ROAPRODUCTIE v 2.0.2 *!* .ocursor.ca_baza1.cfiltru=.cfiltruoriginal .cb_tx_cautare1.Text.Value=[] .do_cauta() *!* modificare ROAPRODUCTIE v 2.0.2 ^ Endwith Case lntip=2 With This.ct_grid_search2 *!* modificare ROAPRODUCTIE v 2.0.2 *!* .ocursor.ca_baza1.cfiltru=.cfiltruoriginal .cb_tx_cautare1.Text.Value=[] .do_cauta() *!* modificare ROAPRODUCTIE v 2.0.2 ^ Endwith Endcase ENDPROC PROCEDURE do_reset_cautare *!* modificare ROAGRESTAURANT 0.0.19 This.cb_tx_cautare1.Text.Value = [] This.cb_tx_cautare1.criteriu.Value = "1" *!* modificare ROAGRESTAURANT 0.0.19 ^ ENDPROC PROCEDURE do_sterge Local lntip lntip = This.ntip lcAlias1 = This.ct_grid_search1.cnumecursor lcAlias2 = This.ct_grid_search2.cnumecursor *!* modificare ROAPRODUCTIE v 2.0.2 If (Reccount(lcAlias1)=0 And lntip = 1) Or (Reccount(lcAlias2)=0 And lntip = 2) amessagebox("Nu exista inregistrari pentru stergere!",48,"Atentie") Return Endif *!* modificare ROAPRODUCTIE v 2.0.2 ^ Do Case Case lntip = 1 && Produse Select (lcAlias1) If amessagebox("Sunteti sigur ca doriti sa stergeti fisa tehnologica pentru "+Alltrim(denumire)+" ?",4+32,"Confirmare stergere")= 7 This.ct_grid_search1.SetFocus() Return Endif lcIdReteta = Alltrim(Str(id_reteta)) lcSql = [begin pack_retete.sterge_reteta(] + lcIdReteta + [,] + Alltrim(Str(gnIdUtil)) + [); end;] Case lntip = 2 && Materiale Select (lcAlias2) lcIdRetetaElem = Alltrim(Str(id_reteta_elem)) *!* lcIdMaterial = Alltrim(Str(id_articol)) lcSql = [begin pack_retete.sterge_material(] + lcIdRetetaElem + [,] + ; Alltrim(Str(gnIdUtil)) + [); end;] Endcase lnSucces = goExecutor.oExecute(lcSql) If lnSucces < 0 lcTextEroare = goExecutor.oPrelucrareEroare() lcMesaj = "Stergerea nu s-a realizat!" + Chr(13) + Chr(10) + lcTextEroare ofrm_er =Createobject('frm_mesaj',[Atentie],[exclam.ico],[Avertizare],lcMesaj) ofrm_er.Show() Release ofrm_er Return Endif This.ct_grid_search1.actualizeaza_grid This.ct_grid_search2.actualizeaza_grid This.ct_grid_search1.SetFocus This.ct_grid_search1.Refresh If lntip = 2 This.ct_grid_search2.SetFocus Endif *!* lcFocus = [this.ct_grid_search] + ALLTRIM(STR(lntip)) + [.SetFocus] *!* &lcFocus ENDPROC PROCEDURE inainte_de_do_modifica Local lntip lntip = This.ntip lcAlias1 = This.ct_grid_search1.cnumecursor Do Case Case lntip = 1 && Produse *!* modificare ROAPRODUCTIE v 2.0.2 If Reccount(lcAlias1) > 0 *!* modificare ROAPRODUCTIE v 2.0.2 ^ Select (lcAlias1) Scatter Name loRec lnIdRetetaTemp = pnIdReteta pnIdReteta = 0 Do Adauga_Modifica_Inregistrare With "reteta",loRec,loRec.Id_reteta,"UPDATE" This.ct_grid_search1.actualizeaza_grid() *!* modificare ROAPRODUCTIE v 2.0.2 Else amessagebox("Nu exista inregistrari pentru modificare!",48,"Atentie") Endif *!* modificare ROAPRODUCTIE v 2.0.2 ^ Endcase ENDPROC PROCEDURE Init gcAcces=[1;2;3;4;] DoDefault() This.cb_tx_cautare1.criteriu.Value = [1] This.cb_tx_cautare1.criteriu.Refresh() ENDPROC PROCEDURE But_nou1.Click This.Parent.ntip =1 DoDefault() ENDPROC PROCEDURE But_nou2.Click This.Parent.ntip =2 DoDefault() ENDPROC PROCEDURE But_reset1.Click This.Parent.ntip=1 DoDefault() ENDPROC PROCEDURE But_reset2.Click This.Parent.ntip=2 DoDefault() ENDPROC PROCEDURE But_reset3.Click This.Parent.ntip=2 DoDefault() ENDPROC PROCEDURE But_sterge1.Click This.Parent.ntip =1 DoDefault() ENDPROC PROCEDURE But_sterge2.Click This.Parent.ntip =2 DoDefault() ENDPROC PROCEDURE Cb_tx_cautare1.Text.KeyPress Lparameters nKeyCode, nShiftAltCtrl If nKeyCode = 13 Nodefault This.Parent.Parent.do_cauta() Else DoDefault(nKeyCode, nShiftAltCtrl) Endif ENDPROC PROCEDURE Ct_grid_search1.Cb_tx_cautare1.Text.KeyPress *!* modificare ROAGRESTAURANT v 0.0.19 Lparameters nKeyCode, nShiftAltCtrl If nKeyCode = 13 Nodefault This.Parent.Parent.Parent.do_cauta() Else DoDefault(nKeyCode, nShiftAltCtrl) Endif *!* modificare ROAGRESTAURANT v 0.0.19 ^ ENDPROC PROCEDURE Ct_grid_search1.initializare Parameters tlNumerotare DoDefault(tlNumerotare) Local liColIndex,i For liColIndex=1 To This._grid1.ColumnCount With This._grid1.Columns(liColIndex) .ReadOnly=.T. .FontName='Arial Narrow' Endwith Endfor ENDPROC PROCEDURE Ct_grid_search1._GRID1.AfterRowColChange Lparameters nColIndex If This.RowColChange<>2 pnIdReteta = crsRetete.id_reteta This.Parent.Parent.ct_grid_search2.actualizeaza_grid Endif ENDPROC PROCEDURE Ct_grid_search1._GRID1.SetFocus pnIdReteta = crsRetete.id_reteta This.Parent.Parent.ct_grid_search2.actualizeaza_grid ENDPROC PROCEDURE Ct_grid_search2.initializare Parameters tlNumerotare DoDefault(tlNumerotare) This._GRID1.column6.DynamicBackColor="RGB(217,241,255)" ENDPROC PROCEDURE Ct_grid_search2._GRID1.AfterRowColChange Lparameters nColIndex lcalias2 = This.Parent.cnumecursor Select (lcalias2) With This.Parent.Parent .rowf = This.ActiveRow .colf = This.ActiveColumn If .rowi <> 0 And .coli = 6 Go .rowi .cantf = cantitate If .canti <> .cantf Scatter Fields id_reteta_elem,cantitate Name loMat lcCantitate = Transform(loMat.cantitate) lcIdRetetaElem = Transform(loMat.id_reteta_elem) lcSql = [begin pack_retete.modifica_material_cant(] + lcIdRetetaElem + [,] + ; lcCantitate + [,] + Alltrim(Str(gnIdUtil)) + [); end;] lnSucces = goExecutor.oExecute(lcSql) If lnSucces < 0 lcTextEroare = goExecutor.cEroare lcMesaj = "Modificarea nu s-a realizat!." + Chr(13) + Chr(10) + lcTextEroare ofrm_er =Createobject('frm_mesaj',[Atentie],[exclam.ico],[Avertizare],lcMesaj) ofrm_er.Show() Release ofrm_er Return Endif Endif If .rowf <= Reccount(lcalias2) Go .rowf Endif Endif .rowi = .rowf .coli = .colf If .coli = 6 .canti = cantitate Endif Endwith ENDPROC ENDDEFINE DEFINE CLASS cus_odata_reteta AS _cusodatabase OF "..\..\..\roacomenzi\comun\clase\_cus_odata_base.vcx" *< CLASSDATA: Baseclass="custom" Timestamp="" Scale="Pixels" Uniqueid="" /> * Name = "cus_odata_reteta" * PROCEDURE make_sql Lparameters toRec,tnId lcActiune = Alltrim(This.cActiune) If Inlist(lcActiune, "UPDATE",'INSERT') And Type('toRec') != "O" Return .F. Endif If Inlist(lcActiune, "UPDATE",'DELETE') And Type('tnId') != "N" Return .F. Endif If Inlist(lcActiune, "UPDATE",'DELETE') lcId = Alltrim(Str(tnId)) Endif If Inlist(lcActiune, "UPDATE",'INSERT') lcCod=Alltrim(toRec.cod) lcIdArticol=Alltrim(STR(toRec.id_articol)) lcExplicatie=Alltrim(NVL(toRec.explicatie,[])) lcPrincipala=ALLTRIM(STR(toRec.principala)) Endif Do Case Case lcActiune = "INSERT" lcSql = [begin pack_retete.adauga_reteta('] + STRTRAN(lcCod,['],['']) + [',] + lcIdArticol + [,] +; ['] + STRTRAN(lcExplicatie,['],['']) + [',] + lcPrincipala + [,] + Alltrim(Str(gnIdUtil)) + [,?@pnIdReteta); end;] Case lcActiune = "UPDATE" lcSql = [begin pack_retete.modifica_reteta(] + lcId + [,'] + STRTRAN(lcCod,['],['']) + [',] + lcIdArticol + [,] +; ['] + STRTRAN(lcExplicatie,['],['']) + [',] + lcPrincipala + [,] + Alltrim(Str(gnIdUtil)) + [); end;] Case lcActiune = "DELETE" lcSql = [begin pack_retete.sterge_reteta(] + lcId + [,] + Alltrim(Str(gnIdUtil)) + [); end;] Endcase This.csql = lcSql ENDPROC ENDDEFINE DEFINE CLASS frm_reteta_nou AS _frmbase OF "_frm_base.vcx" *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder *< OBJECTDATA: ObjPath="But_renunt1" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="clb_cod" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="clb_denumire" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Cus_odata_reteta1" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="ck_principala" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Ed_explicatie" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Image1" UniqueID="" Timestamp="" /> * *m: do_cauta_articol *p: nid *p: orec * * DoCreate = .T. Height = 191 Name = "frm_reteta_nou" Width = 348 _shape1.Height = 29 _shape1.Left = 0 _shape1.Name = "_shape1" _shape1.Top = 0 _shape1.Width = 348 _shape2.Height = 29 _shape2.Left = 286 _shape2.Name = "_shape2" _shape2.Top = 0 _shape2.Width = 64 Lb_titlu_alb_b121.Caption = "TEHNOLOGIE" Lb_titlu_alb_b121.FontBold = .T. Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" Lb_titlu_alb_b121.TabIndex = 7 BUT_TERMIN1.Left = 318 BUT_TERMIN1.Name = "BUT_TERMIN1" BUT_TERMIN1.TabIndex = 5 BUT_TERMIN1.Top = 1 GRIDSORT1.Left = 13 GRIDSORT1.Name = "GRIDSORT1" GRIDSORT1.Top = 42 * ADD OBJECT 'But_renunt1' AS but_renunt WITH ; Left = 288, ; Name = "But_renunt1", ; TabIndex = 6, ; Top = 1 *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> ADD OBJECT 'ck_principala' AS _checkbox WITH ; Alignment = 0, ; Caption = "Principala", ; ControlSource = "porec.principala", ; Left = 228, ; Name = "ck_principala", ; TabIndex = 4, ; Top = 164 *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> ADD OBJECT 'clb_cod' AS clb_tx_simplu WITH ; Left = 16, ; Name = "clb_cod", ; TabIndex = 1, ; Top = 44, ; Text_simplu1.ControlSource = "porec.cod", ; Text_simplu1.Name = "Text_simplu1", ; Lb_simplu1.Caption = "Cod tehnologic", ; Lb_simplu1.Name = "Lb_simplu1" *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> ADD OBJECT 'clb_denumire' AS clb_tx_simplu WITH ; Left = 16, ; Name = "clb_denumire", ; TabIndex = 2, ; Top = 72, ; Text_simplu1.ControlSource = "porec.denumire", ; Text_simplu1.Name = "Text_simplu1", ; Text_simplu1.ReadOnly = .T., ; Lb_simplu1.Caption = "Produs", ; Lb_simplu1.Name = "Lb_simplu1" *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> ADD OBJECT 'Cus_odata_reteta1' AS cus_odata_reteta WITH ; Left = 96, ; Name = "Cus_odata_reteta1", ; Top = 164 *< END OBJECT: ClassLib="onom_retete.vcx" BaseClass="custom" /> ADD OBJECT 'Ed_explicatie' AS ed_tx_simplu WITH ; Left = 16, ; Name = "Ed_explicatie", ; TabIndex = 3, ; Top = 100, ; _edbase1.ControlSource = "porec.explicatie", ; _edbase1.Name = "_edbase1", ; _lbbase1.Caption = "Explicatie", ; _lbbase1.Name = "_lbbase1" *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> ADD OBJECT 'Image1' AS image WITH ; Height = 20, ; Left = 315, ; Name = "Image1", ; Picture = ..\grafice\alege.bmp, ; Stretch = 2, ; Top = 76, ; Width = 24, ; ZOrderSet = 31 *< END OBJECT: BaseClass="image" /> PROCEDURE do_cauta_articol locauta=caut_articol_gs(.F., .F., .F., [341,345,371]) If !Isnull(locauta) porec.denumire = locauta.denumire porec.id_articol = locauta.id_articol Thisform.clb_denumire.Refresh() Endif ENDPROC PROCEDURE inainte_de_do_termin Local plReturn lccontrol = Upper(This.ActiveControl.BaseClass ) If Inlist(lccontrol,"TEXTBOX","EDITBOX","COMBOBOX") lcval=This.ActiveControl.ControlSource &lcval=Thisform.ActiveControl.Value Endif Do Case Case Empty(Nvl(porec.cod,[])) amessagebox('Nu ati completat codul tehnologic!',0+48,"Atentie") Thisform.clb_cod.texT_SIMPLU1.SetFocus() plReturn=.F. Case Empty(Nvl(porec.denumire,[])) Or Empty(Nvl(porec.id_articol,0)) amessagebox('Nu ati ales produsul!',0+48,"Atentie") Thisform.clb_produs.texT_SIMPLU1.SetFocus() plReturn=.F. Otherwise plReturn=Thisform.cus_odata_reteta1.salvare(This.OREC,This.NID) Endcase Return plReturn ENDPROC PROCEDURE Init Lparameters toRec, tnId, tcActiune DoDefault() This.orec= toRec This.nid = tnId This.cus_odata_reteta1.cactiune = tcActiune ENDPROC PROCEDURE clb_denumire.Text_simplu1.KeyPress Lparameters nKeyCode, nShiftAltCtrl If Inlist(nKeyCode,9,13) And nShiftAltCtrl=0 And Empty(porec.id_articol) Nodefault Thisform.do_cauta_articol() Endif ENDPROC PROCEDURE Image1.Click Thisform.do_cauta_articol() ENDPROC ENDDEFINE DEFINE CLASS frm_retetar AS _frmbase OF "_frm_base.vcx" *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder *< OBJECTDATA: ObjPath="Ct_retetar1" UniqueID="" Timestamp="" /> * DoCreate = .T. Height = 650 Name = "frm_retetar" Width = 661 _shape1.Anchor = 11 _shape1.Height = 29 _shape1.Left = -1 _shape1.Name = "_shape1" _shape1.Top = 0 _shape1.Width = 661 _shape2.Anchor = 9 _shape2.Height = 29 _shape2.Left = 624 _shape2.Name = "_shape2" _shape2.Top = 0 _shape2.Width = 37 Lb_titlu_alb_b121.Caption = "FISA TEHNOLOGICA" Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" Lb_titlu_alb_b121.TabIndex = 8 BUT_TERMIN1.Anchor = 9 BUT_TERMIN1.Height = 27 BUT_TERMIN1.Left = 628 BUT_TERMIN1.Name = "BUT_TERMIN1" BUT_TERMIN1.TabIndex = 7 BUT_TERMIN1.Top = 1 BUT_TERMIN1.Width = 30 GRIDSORT1.Left = 9 GRIDSORT1.Name = "GRIDSORT1" GRIDSORT1.Top = 48 * ADD OBJECT 'Ct_retetar1' AS ct_retetar WITH ; Left = 5, ; Name = "Ct_retetar1", ; Top = 34, ; Gridsort1.Name = "Gridsort1", ; _ct_controller_keypress1.Name = "_ct_controller_keypress1", ; Ct_grid_search1.Cb_tx_cautare1.Criteriu.Name = "Criteriu", ; Ct_grid_search1.Cb_tx_cautare1.Name = "Cb_tx_cautare1", ; Ct_grid_search1.Cb_tx_cautare1.Text.Name = "Text", ; Ct_grid_search1.Name = "Ct_grid_search1", ; Ct_grid_search1.Titlu.Name = "Titlu", ; Ct_grid_search1._GRID1.Name = "_GRID1", ; Ct_grid_search2.Cb_tx_cautare1.Criteriu.Name = "Criteriu", ; Ct_grid_search2.Cb_tx_cautare1.Name = "Cb_tx_cautare1", ; Ct_grid_search2.Cb_tx_cautare1.Text.Name = "Text", ; Ct_grid_search2.Name = "Ct_grid_search2", ; Ct_grid_search2.Titlu.Name = "Titlu", ; Ct_grid_search2._GRID1.Name = "_GRID1", ; But_listare1.Name = "But_listare1", ; But_nou1.Name = "But_nou1", ; But_sterge1.Name = "But_sterge1", ; But_nou2.Name = "But_nou2", ; But_sterge2.Name = "But_sterge2", ; But_modifica1.Name = "But_modifica1", ; But_reset1.Name = "But_reset1", ; But_reset2.Name = "But_reset2", ; Cb_tx_cautare1.Criteriu.Name = "Criteriu", ; Cb_tx_cautare1.Name = "Cb_tx_cautare1", ; Cb_tx_cautare1.Text.Name = "Text", ; But_copie.Name = "But_copie", ; Lb_cautare.Name = "Lb_cautare", ; But_reset3.Name = "But_reset3" *< END OBJECT: ClassLib="onom_retete.vcx" BaseClass="container" /> PROCEDURE Show Lparameters nStyle This.ct_retetar1.actualizeaza_cursoare() ENDPROC ENDDEFINE