*-------------------------------------------------------------------------------------------------------------------------------------------------------- * (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!! *-------------------------------------------------------------------------------------------------------------------------------------------------------- *< FOXBIN2PRG: Version="1.21" SourceFile="ointroduceri.vcx" CPID="1252" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries) * * DEFINE CLASS container_valoare_decontata AS container *< CLASSDATA: Baseclass="container" Timestamp="" Scale="Pixels" Uniqueid="" /> *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder *< OBJECTDATA: ObjPath="Label1" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Text1" UniqueID="" Timestamp="" /> * BackColor = 255,255,255 BorderColor = 255,255,255 Height = 28 Name = "container_valoare_decontata" Width = 245 * ADD OBJECT 'Label1' AS label WITH ; BackStyle = 0, ; Caption = "Valoare decontatã", ; FontCharSet = 238, ; FontName = "Arial", ; FontSize = 10, ; ForeColor = 7,118,177, ; Height = 17, ; Left = 3, ; Name = "Label1", ; Top = 6, ; Width = 108 *< END OBJECT: BaseClass="label" /> ADD OBJECT 'Text1' AS textbox WITH ; ControlSource = "pnValoareDecontata", ; FontCharSet = 238, ; FontName = "Arial", ; FontSize = 10, ; Format = "rk", ; Height = 23, ; InputMask = (get_mask(12,gnPC)), ; Left = 113, ; Name = "Text1", ; SpecialEffect = 1, ; Top = 3, ; Width = 129 *< END OBJECT: BaseClass="textbox" /> PROCEDURE Text1.LostFocus IF pnValoareDecontata > thisform.nTotal pnValoareDecontata = thisform.nTotal this.Refresh ENDIF pnCheltuieliDirecte = thisform.nTotal - pnValoareDecontata ENDPROC ENDDEFINE DEFINE CLASS facturi_retur 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_grid_order1" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Ct_grid_order1._GRID1.Column1.Header1" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Ct_grid_order1._GRID1.Column1.Text1" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Ct_grid_order1._GRID1.Column2.Header1" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Ct_grid_order1._GRID1.Column2.Check1" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Ct_grid_order1._GRID1.Column3.Header1" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Ct_grid_order1._GRID1.Column3.Text1" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Ct_grid_order1._GRID1.Column4.Header1" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Ct_grid_order1._GRID1.Column4.Text1" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Ct_grid_order1._GRID1.Column5.Header1" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Ct_grid_order1._GRID1.Column5.Text1" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Ct_grid_order1._GRID1.Column6.Header1" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Ct_grid_order1._GRID1.Column6.Text1" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Ct_grid_order1._GRID1.Column7.Header1" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Ct_grid_order1._GRID1.Column7.Text1" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Ct_grid_order1._GRID1.Column8.Header1" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Ct_grid_order1._GRID1.Column8.Text1" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Ct_grid_order1._GRID1.Column9.Header1" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Ct_grid_order1._GRID1.Column9.Text1" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Ct_grid_order1._GRID1.Column10.Header1" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Ct_grid_order1._GRID1.Column10.Text1" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Ct_grid_order1._GRID1.cSerie_act.Header1" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Ct_grid_order1._GRID1.cSerie_act.Text1" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Clb_n1n2_simplu1" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="But_renunt1" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Resizable1" UniqueID="" Timestamp="" /> #INCLUDE "..\include\foxpro.h" * BorderStyle = 1 DoCreate = .T. Height = 460 Name = "facturi_retur" Width = 662 _shape1.Height = 29 _shape1.Left = 0 _shape1.Name = "_shape1" _shape1.Top = 0 _shape1.Width = 662 _shape1.ZOrderSet = 1 _shape2.Height = 29 _shape2.Left = 599 _shape2.Name = "_shape2" _shape2.Top = 0 _shape2.Width = 63 _shape2.ZOrderSet = 2 Lb_titlu_alb_b121.Caption = "Selectati facturile pentru retur" Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" Lb_titlu_alb_b121.TabIndex = 5 Lb_titlu_alb_b121.ZOrderSet = 3 BUT_TERMIN1.Left = 631 BUT_TERMIN1.Name = "BUT_TERMIN1" BUT_TERMIN1.TabIndex = 3 BUT_TERMIN1.Top = 1 BUT_TERMIN1.ZOrderSet = 4 GRIDSORT1.Name = "GRIDSORT1" * ADD OBJECT 'But_renunt1' AS but_renunt WITH ; Left = 601, ; Name = "But_renunt1", ; TabIndex = 4, ; Top = 1, ; ZOrderSet = 6 *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> ADD OBJECT 'Clb_n1n2_simplu1' AS clb_n1n2_simplu WITH ; BorderColor = 7,118,177, ; BorderWidth = 2, ; Height = 30, ; Left = 362, ; Name = "Clb_n1n2_simplu1", ; TabIndex = 1, ; Top = 68, ; Width = 290, ; ZOrderSet = 5, ; tx_n1.ControlSource = "pdDatai", ; tx_n1.Left = 130, ; tx_n1.Name = "tx_n1", ; tx_n1.Top = 3, ; Lb_simplu1.Caption = "Facturi din perioada:", ; Lb_simplu1.Left = 8, ; Lb_simplu1.Name = "Lb_simplu1", ; Lb_simplu1.Top = 7, ; tx_n2.ControlSource = "pdDataf", ; tx_n2.Left = 210, ; tx_n2.Name = "tx_n2", ; tx_n2.Top = 3 *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> ADD OBJECT 'Ct_grid_order1' AS ct_grid_order WITH ; cnumecursor = crs_facturi_emise, ; Height = 418, ; Left = 7, ; Name = "Ct_grid_order1", ; TabIndex = 2, ; Top = 41, ; Width = 648, ; ZOrderSet = 0, ; _GRID1.Column1.ControlSource = "nrcrt()", ; _GRID1.Column1.FontName = "Arial Narrow", ; _GRID1.Column1.Name = "Column1", ; _GRID1.Column1.Width = 24, ; _GRID1.Column10.ColumnOrder = 11, ; _GRID1.Column10.ControlSource = "totdebit-totcredit", ; _GRID1.Column10.FontName = "Arial Narrow", ; _GRID1.Column10.InputMask = (get_mask(12,gnPc)), ; _GRID1.Column10.Name = "Column10", ; _GRID1.Column10.Width = 81, ; _GRID1.Column11.ColumnOrder = 3, ; _GRID1.Column11.ControlSource = "serie_act", ; _GRID1.Column11.FontName = "Arial Narrow", ; _GRID1.Column11.Name = "cSerie_act", ; _GRID1.Column11.Width = 53, ; _GRID1.Column2.Alignment = 2, ; _GRID1.Column2.ControlSource = "ceck", ; _GRID1.Column2.FontName = "Arial Narrow", ; _GRID1.Column2.Name = "Column2", ; _GRID1.Column2.Sparse = .F., ; _GRID1.Column2.Width = 31, ; _GRID1.Column3.ColumnOrder = 4, ; _GRID1.Column3.ControlSource = "nract", ; _GRID1.Column3.FontName = "Arial Narrow", ; _GRID1.Column3.Name = "Column3", ; _GRID1.Column4.ColumnOrder = 5, ; _GRID1.Column4.ControlSource = "dataact", ; _GRID1.Column4.FontName = "Arial Narrow", ; _GRID1.Column4.Name = "Column4", ; _GRID1.Column4.Width = 63, ; _GRID1.Column5.ColumnOrder = 6, ; _GRID1.Column5.ControlSource = "datascad", ; _GRID1.Column5.FontName = "Arial Narrow", ; _GRID1.Column5.Name = "Column5", ; _GRID1.Column5.Width = 70, ; _GRID1.Column6.ColumnOrder = 7, ; _GRID1.Column6.ControlSource = "cont", ; _GRID1.Column6.FontName = "Arial Narrow", ; _GRID1.Column6.Name = "Column6", ; _GRID1.Column6.Width = 31, ; _GRID1.Column7.ColumnOrder = 8, ; _GRID1.Column7.ControlSource = "acont", ; _GRID1.Column7.FontName = "Arial Narrow", ; _GRID1.Column7.Name = "Column7", ; _GRID1.Column7.Width = 33, ; _GRID1.Column8.ColumnOrder = 9, ; _GRID1.Column8.ControlSource = "totdebit", ; _GRID1.Column8.FontName = "Arial Narrow", ; _GRID1.Column8.InputMask = (get_mask(12,gnPc)), ; _GRID1.Column8.Name = "Column8", ; _GRID1.Column8.Width = 89, ; _GRID1.Column9.ColumnOrder = 10, ; _GRID1.Column9.ControlSource = "totcredit", ; _GRID1.Column9.FontName = "Arial Narrow", ; _GRID1.Column9.InputMask = (get_mask(12,gnPc)), ; _GRID1.Column9.Name = "Column9", ; _GRID1.Column9.Width = 88, ; _GRID1.ColumnCount = 11, ; _GRID1.FontName = "Arial Narrow", ; _GRID1.Height = 348, ; _GRID1.Left = 6, ; _GRID1.Name = "_GRID1", ; _GRID1.Panel = 1, ; _GRID1.RecordSource = "crs_facturi_emise", ; _GRID1.Top = 62, ; _GRID1.Width = 639, ; Titlu.Left = 9, ; Titlu.Name = "Titlu", ; Titlu.Top = 3, ; Cb_tx_cautare1.Criteriu.Name = "Criteriu", ; Cb_tx_cautare1.Name = "Cb_tx_cautare1", ; Cb_tx_cautare1.Text.Name = "Text" *< END OBJECT: ClassLib="ferestre_cere_date.vcx" BaseClass="container" /> ADD OBJECT 'Ct_grid_order1._GRID1.Column1.Header1' AS header WITH ; Caption = "Nr.", ; FontName = "Arial Narrow", ; Name = "Header1" *< END OBJECT: BaseClass="header" /> ADD OBJECT 'Ct_grid_order1._GRID1.Column1.Text1' AS textbox WITH ; BackColor = 255,255,255, ; BorderStyle = 0, ; FontName = "Arial Narrow", ; ForeColor = 0,0,0, ; Margin = 0, ; Name = "Text1" *< END OBJECT: BaseClass="textbox" /> ADD OBJECT 'Ct_grid_order1._GRID1.Column10.Header1' AS header WITH ; Alignment = 2, ; Caption = "Sold", ; FontName = "Arial Narrow", ; Name = "Header1" *< END OBJECT: BaseClass="header" /> ADD OBJECT 'Ct_grid_order1._GRID1.Column10.Text1' AS textbox WITH ; BackColor = 255,255,255, ; BorderStyle = 0, ; FontName = "Arial Narrow", ; ForeColor = 0,0,0, ; Margin = 0, ; Name = "Text1" *< END OBJECT: BaseClass="textbox" /> ADD OBJECT 'Ct_grid_order1._GRID1.Column2.Check1' AS checkbox WITH ; Alignment = 0, ; Caption = "", ; Centered = .T., ; FontName = "Arial Narrow", ; Height = 17, ; Left = 9, ; Name = "Check1", ; Top = 40, ; Width = 60 *< END OBJECT: BaseClass="checkbox" /> ADD OBJECT 'Ct_grid_order1._GRID1.Column2.Header1' AS header WITH ; Alignment = 2, ; Caption = "Alege", ; FontName = "Arial Narrow", ; Name = "Header1" *< END OBJECT: BaseClass="header" /> ADD OBJECT 'Ct_grid_order1._GRID1.Column3.Header1' AS header WITH ; Alignment = 2, ; Caption = "Nr.factura", ; FontName = "Arial Narrow", ; Name = "Header1" *< END OBJECT: BaseClass="header" /> ADD OBJECT 'Ct_grid_order1._GRID1.Column3.Text1' AS textbox WITH ; BackColor = 255,255,255, ; BorderStyle = 0, ; FontName = "Arial Narrow", ; ForeColor = 0,0,0, ; Margin = 0, ; Name = "Text1" *< END OBJECT: BaseClass="textbox" /> ADD OBJECT 'Ct_grid_order1._GRID1.Column4.Header1' AS header WITH ; Alignment = 2, ; Caption = "Data factura", ; FontName = "Arial Narrow", ; Name = "Header1" *< END OBJECT: BaseClass="header" /> ADD OBJECT 'Ct_grid_order1._GRID1.Column4.Text1' AS textbox WITH ; BackColor = 255,255,255, ; BorderStyle = 0, ; FontName = "Arial Narrow", ; ForeColor = 0,0,0, ; Margin = 0, ; Name = "Text1" *< END OBJECT: BaseClass="textbox" /> ADD OBJECT 'Ct_grid_order1._GRID1.Column5.Header1' AS header WITH ; Alignment = 2, ; Caption = "Data scadenta", ; FontName = "Arial Narrow", ; Name = "Header1" *< END OBJECT: BaseClass="header" /> ADD OBJECT 'Ct_grid_order1._GRID1.Column5.Text1' AS textbox WITH ; BackColor = 255,255,255, ; BorderStyle = 0, ; FontName = "Arial Narrow", ; ForeColor = 0,0,0, ; Margin = 0, ; Name = "Text1" *< END OBJECT: BaseClass="textbox" /> ADD OBJECT 'Ct_grid_order1._GRID1.Column6.Header1' AS header WITH ; Alignment = 2, ; Caption = "Cont", ; FontName = "Arial Narrow", ; Name = "Header1" *< END OBJECT: BaseClass="header" /> ADD OBJECT 'Ct_grid_order1._GRID1.Column6.Text1' AS textbox WITH ; BackColor = 255,255,255, ; BorderStyle = 0, ; FontName = "Arial Narrow", ; ForeColor = 0,0,0, ; Margin = 0, ; Name = "Text1" *< END OBJECT: BaseClass="textbox" /> ADD OBJECT 'Ct_grid_order1._GRID1.Column7.Header1' AS header WITH ; Alignment = 2, ; Caption = "Analitic", ; FontName = "Arial Narrow", ; Name = "Header1" *< END OBJECT: BaseClass="header" /> ADD OBJECT 'Ct_grid_order1._GRID1.Column7.Text1' AS textbox WITH ; BackColor = 255,255,255, ; BorderStyle = 0, ; FontName = "Arial Narrow", ; ForeColor = 0,0,0, ; Margin = 0, ; Name = "Text1" *< END OBJECT: BaseClass="textbox" /> ADD OBJECT 'Ct_grid_order1._GRID1.Column8.Header1' AS header WITH ; Alignment = 2, ; Caption = "Total factura", ; FontName = "Arial Narrow", ; Name = "Header1" *< END OBJECT: BaseClass="header" /> ADD OBJECT 'Ct_grid_order1._GRID1.Column8.Text1' AS textbox WITH ; BackColor = 255,255,255, ; BorderStyle = 0, ; FontName = "Arial Narrow", ; ForeColor = 0,0,0, ; Margin = 0, ; Name = "Text1" *< END OBJECT: BaseClass="textbox" /> ADD OBJECT 'Ct_grid_order1._GRID1.Column9.Header1' AS header WITH ; Alignment = 2, ; Caption = "Achitat", ; FontName = "Arial Narrow", ; Name = "Header1" *< END OBJECT: BaseClass="header" /> ADD OBJECT 'Ct_grid_order1._GRID1.Column9.Text1' AS textbox WITH ; BackColor = 255,255,255, ; BorderStyle = 0, ; FontName = "Arial Narrow", ; ForeColor = 0,0,0, ; Margin = 0, ; Name = "Text1" *< END OBJECT: BaseClass="textbox" /> ADD OBJECT 'Ct_grid_order1._GRID1.cSerie_act.Header1' AS header WITH ; Alignment = 0, ; Caption = "Serie factura", ; FontName = "Arial Narrow", ; Name = "Header1" *< END OBJECT: BaseClass="header" /> ADD OBJECT 'Ct_grid_order1._GRID1.cSerie_act.Text1' AS textbox WITH ; BackColor = 255,255,255, ; BorderStyle = 0, ; FontName = "Arial Narrow", ; ForeColor = 0,0,0, ; Margin = 0, ; Name = "Text1" *< END OBJECT: BaseClass="textbox" /> ADD OBJECT 'Resizable1' AS resizable_class WITH ; Left = 271, ; Name = "Resizable1", ; repositionlist = _shape Urmator But_termin But_renunt Clb_n1n2_simplu Titlufrumos Ct_grid_order, ; resizelist = _shape Urmator But_termin But_renunt Clb_n1n2_simplu Titlufrumos Ct_grid_order, ; Top = 31 *< END OBJECT: ClassLib="solution.vcx" BaseClass="custom" /> PROCEDURE inainte_de_do_termin lcSel = this.ct_grid_order1.cnumecursor SELECT (lcSel) COUNT FOR ceck = 1 TO lnAlese IF lnAlese = 0 amessagebox('Alegeti o factura!',0+16,'Atentie') RETURN .f. ENDIF ENDPROC PROCEDURE Show LPARAMETERS nStyle this.ct_grid_order1.initializare(.t.) i = 0 For Each loColumn In Thisform.ct_grid_order1._GRID1.Columns i = i + 1 With loColumn If !Empty(loColumn.ControlSource) * Save default caption, color and font lcOldCaption = loColumn.Header1.Caption lcOldFontName = loColumn.Header1.FontName lnOldForeColor = loColumn.Header1.ForeColor llOldFontUnderline = loColumn.Header1.FontUnderline * Name Header Obj after ControlSource lcControlSrc = loColumn.ControlSource lnControlSrc = Rat(".", lcControlSrc) + 1 lcControlSrc = Substr(lcControlSrc, lnControlSrc) * Metoda dupa care se face ordonarea relativa la grid lcMethodName = 'parent.corderby_assign' lcPropColOrder = 'parent.cOrder' lcPropSensOrder = 'parent.cAsc' * Remove old and create new header .RemoveObject("Header1") .AddObject("grh"+ALLTRIM(STR(i)), ; "PSHeader", ; lcOldCaption, lcOldFontName,lnOldForeColor,llOldFontUnderline,lcMethodName,lcControlSrc) If Upper(Alltrim(lcControlSrc)) = Upper(Alltrim(this.ct_grid_order1.corder)) lcCuloare = [locolumn.grh] + ALLTRIM(STR(i)) + [.forecolor = RGB(0,0,255)] &lcCuloare lcUnderline = [locolumn.grh] + ALLTRIM(STR(i)) + [.FontUnderline = .t.] &lcUnderline Endif Endif Endwith ENDFOR ENDPROC PROCEDURE Clb_n1n2_simplu1.tx_n1.Valid IF EMPTY(this.Parent.tx_n2.value) this.Parent.tx_n2.value=this.value this.Parent.tx_n2.Refresh ENDIF ENDPROC PROCEDURE Clb_n1n2_simplu1.tx_n2.LostFocus thisform.LockScreen = .t. thisform.ct_grid_order1.initializare(.t.) thisform.ct_grid_order1.SetFocus thisform.LockScreen = .f. ENDPROC PROCEDURE Ct_grid_order1.initializare PARAMETERS tlNumerotare llNrOrd = tlNumerotare *** CREEZ CURSORUL INITIAL lcTitlu = This.cTitlu lcOrder = this.corder lcNumeCursor = this.cnumecursor lcSql = This.cSelect lnSucces = goExecutor.oExecute(lcSql,'crs_temp') IF lnSucces < 0 amessagebox(goExecutor.cEroare,0+16,"Eroare") RETURN ENDIF save_grid(This._grid1) IF USED(lcNumeCursor) USE IN &lcNumeCursor ENDIF SELECT ceck, serie_act, nract, TTOD(dataact) as dataact,TTOD(datascad) as datascad,cont,acont,totdebit,totcredit,totdebit-totcredit,id_fact ; FROM crs_temp INTO CURSOR (lcNumeCursor) READWRITE USE IN crs_temp IF llNrOrd DO nrord WITH lcNumeCursor this._griD1.LockColumns = 1 ENDIF restore_grid(This._grid1) SELECT (lcNumeCursor) GO TOP ENDPROC PROCEDURE _shape1.DblClick IF thisform.WindowState = 2 thisform.WindowState = 0 ELSE thisform.WindowState = 2 ENDIF ENDPROC ENDDEFINE DEFINE CLASS frm_alege_prod_cant 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="Command1" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="txt_produs" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Label1" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="txtCant" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Ct_clb_gestiune" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Ct_clb_produs" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="But_renunt1" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Label2" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="txtLot" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Label3" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="txtSerie" UniqueID="" Timestamp="" /> * *m: do_cauta_gestiune *m: do_cauta_produs * * BorderStyle = 1 Caption = "Form" DoCreate = .T. Height = 188 Name = "frm_alege_prod_cant" Width = 353 _SHAPE1.Name = "_SHAPE1" _SHAPE2.Height = 29 _SHAPE2.Left = 292 _SHAPE2.Name = "_SHAPE2" _SHAPE2.Top = 0 _SHAPE2.Width = 61 LB_TITLU_ALB_B121.Caption = "Productie" LB_TITLU_ALB_B121.Name = "LB_TITLU_ALB_B121" LB_TITLU_ALB_B121.TabIndex = 8 BUT_TERMIN1.Left = 322 BUT_TERMIN1.Name = "BUT_TERMIN1" BUT_TERMIN1.TabIndex = 6 BUT_TERMIN1.Top = 1 GRIDSORT1.Left = 240 GRIDSORT1.Name = "GRIDSORT1" GRIDSORT1.Top = 12 * ADD OBJECT 'But_renunt1' AS but_renunt WITH ; Left = 292, ; Name = "But_renunt1", ; TabIndex = 7, ; Top = 1 *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> ADD OBJECT 'Command1' AS commandbutton WITH ; Caption = "Cauta articol", ; Height = 27, ; Left = 25, ; Name = "Command1", ; TabIndex = 9, ; Top = 257, ; Width = 84 *< END OBJECT: BaseClass="commandbutton" /> ADD OBJECT 'Ct_clb_gestiune' AS ct_clb_cautare_var WITH ; cconditie = EMPTY(NVL(pnId_gestiune,0)), ; cprocedura = thisform.do_cauta_gestiune, ; cvar_afisata = pcGestiune, ; Height = 31, ; Left = 12, ; Name = "Ct_clb_gestiune", ; TabIndex = 5, ; Top = 150, ; Width = 337, ; shape_cautare.Height = 29, ; shape_cautare.Left = 1, ; shape_cautare.Name = "shape_cautare", ; shape_cautare.Top = 1, ; shape_cautare.Width = 305, ; img_cautare.Left = 310, ; img_cautare.Name = "img_cautare", ; img_cautare.Top = 5, ; lb_cautare.Caption = "Gestiune destinatie", ; lb_cautare.Name = "lb_cautare", ; tx_cautare.Left = 119, ; tx_cautare.Name = "tx_cautare", ; tx_cautare.Top = 4 *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> ADD OBJECT 'Ct_clb_produs' AS ct_clb_cautare_var WITH ; cconditie = EMPTY(NVL(pnId_articol,0)), ; cprocedura = thisform.do_cauta_produs, ; cvar_afisata = pcDenumire, ; Height = 31, ; Left = 11, ; Name = "Ct_clb_produs", ; TabIndex = 1, ; Top = 43, ; Width = 337, ; shape_cautare.Height = 29, ; shape_cautare.Left = 1, ; shape_cautare.Name = "shape_cautare", ; shape_cautare.Top = 1, ; shape_cautare.Width = 305, ; img_cautare.Left = 309, ; img_cautare.Name = "img_cautare", ; img_cautare.Top = 5, ; lb_cautare.Caption = "Produs", ; lb_cautare.Name = "lb_cautare", ; tx_cautare.Left = 119, ; tx_cautare.Name = "tx_cautare", ; tx_cautare.Top = 4 *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> ADD OBJECT 'Label1' AS label WITH ; AutoSize = .T., ; BackStyle = 0, ; Caption = "Cantitate", ; FontSize = 10, ; Height = 18, ; Left = 17, ; Name = "Label1", ; TabIndex = 11, ; Top = 78, ; Width = 54 *< END OBJECT: BaseClass="label" /> ADD OBJECT 'Label2' AS label WITH ; AutoSize = .T., ; BackStyle = 0, ; Caption = "Lot", ; FontSize = 10, ; Height = 18, ; Left = 17, ; Name = "Label2", ; TabIndex = 13, ; Top = 103, ; Width = 20 *< END OBJECT: BaseClass="label" /> ADD OBJECT 'Label3' AS label WITH ; AutoSize = .T., ; BackStyle = 0, ; Caption = "Serie", ; FontSize = 10, ; Height = 18, ; Left = 17, ; Name = "Label3", ; TabIndex = 12, ; Top = 128, ; Width = 32 *< END OBJECT: BaseClass="label" /> ADD OBJECT 'txt_produs' AS textbox WITH ; Height = 23, ; Left = 120, ; Name = "txt_produs", ; TabIndex = 10, ; Top = 259, ; Width = 120 *< END OBJECT: BaseClass="textbox" /> ADD OBJECT 'txtCant' AS textbox WITH ; ControlSource = "pnCant", ; FontSize = 10, ; Format = "rk", ; Height = 23, ; InputMask = (get_mask(10,gnPcant)), ; Left = 84, ; Name = "txtCant", ; TabIndex = 2, ; Top = 75, ; Width = 131 *< END OBJECT: BaseClass="textbox" /> ADD OBJECT 'txtLot' AS textbox WITH ; ControlSource = "pcLot", ; FontSize = 10, ; Format = "!K", ; Height = 23, ; Left = 60, ; Name = "txtLot", ; TabIndex = 3, ; Top = 100, ; Width = 155 *< END OBJECT: BaseClass="textbox" /> ADD OBJECT 'txtSerie' AS textbox WITH ; ControlSource = "pcSerie", ; FontSize = 10, ; Format = "!K", ; Height = 23, ; Left = 60, ; Name = "txtSerie", ; TabIndex = 4, ; Top = 125, ; Width = 155 *< END OBJECT: BaseClass="textbox" /> PROCEDURE do_cauta_gestiune Local loCauta loCauta = caut_gestiune(4,gnidUtil) If !Empty(Nvl(loCauta.id_gestiune,0)) pnid_gestiune = loCauta.id_gestiune pcGestiune = loCauta.nume_gestiune Thisform.but_teRMIN1.SetFocus() Else pnid_gestiune = Null pcGestiune = [] Endif ENDPROC PROCEDURE do_cauta_produs Store "" To loCauta lcFiltru = [] lcSchema = [] lcOrder = [nume_articol] lccoloane = [nume_articol,codmat,um,cont] lcTitlu = [Alegeti produsul] lcTitluColoane = [Denumire,Cod Material,UM,Cont] llMultipleArticles = .F. *lcSelect = [select a.denumire,a.codmat,a.um, a.grupa, a.subgrupa, a.id_grupa, a.id_subgrupa,a.dnf,a.cont, a.acont, a.inactiv, a.id_articol from ] + gcS + [.vnom_articole a ] *!* lcSelect = [select id_articol,id_pol,pret,um,nume_articol,codmat, cont ] + ; *!* [ from com_vpreturi_utilizator where id_util = ?gnIdUtil and id_pol in ] + ; *!* [ (select varvalue as id_pol from optiuni where vartype = 'NUMERIC' AND varname = ?pcOptiune ) ] *!* modificare ROAPRODUCTIE v 2.0.2 *!* pcOptiune = 'ID_LISTA_PRETURI_PV_PRODUCTIE' *!* lcSelect = [select id_articol,id_pol,pret,um,nume_articol,codmat, cont ] + ; *!* [ from com_vpreturi_utilizator ] *!* lcFiltruOriginal = [ id_util = ?gnIdUtil and id_pol in ] + ; *!* [ (select varvalue as id_pol from optiuni where vartype = 'NUMERIC' AND varname = ?pcOptiune ) ] lcSelect = [select id_articol,id_pol,pret,um,nume_articol,codmat, cont, in_crm, in_stoc ] + ; [ from com_vpreturi_utilizator ] lcFiltruOriginal = [ in_stoc = 1 and id_util = ?gnIdUtil and id_pol = ?gnId_lista_preturi_pv ] *!* modificare ROAPRODUCTIE v 2.0.2 ^ lcNumeProc = [] llToateIreg = .F. lcPrimaColoana = [] lnPornire = 1 lnTipReturn = Iif(llMultipleArticles, 1, 0) lcIdColumn = "id_articol" llModParam = .T. loCauta = cauta_alfa(lcSelect, lcFiltru, lcSchema, lcOrder, lccoloane, lcTitlu, lcTitluColoane, lcNumeProc, llToateIreg, lcFiltruOriginal, lcPrimaColoana, lnPornire, lnTipReturn , lcIdColumn,,,,,llModParam) && 11.07.2007 ***------------------------------ pnId_articol = loCauta.id_articol pcDenumire = loCauta.nume_articol pcCont_articol = loCauta.cont *!* modificare ROAPRODUCTIE v 2.0.2 pnInStoc = loCauta.in_stoc pnInCrm = loCauta.in_crm pcUm = loCauta.um *!* modificare ROAPRODUCTIE v 2.0.2 ^ Thisform.txtCant.SetFocus() ENDPROC PROCEDURE inainte_de_do_termin IF EMPTY(pnId_articol) AMESSAGEBOX('Nu ati ales produsul!') RETURN .F. ENDIF IF EMPTY(pnId_gestiune) AMESSAGEBOX('Nu ati ales gestiunea!') RETURN .F. ENDIF ENDPROC PROCEDURE Command1.Click Store "" To loCauta lcFiltru = [1=2] lcSchema = [] lcOrder = [nume_articol] lccoloane = [nume_articol,codmat,um,cont] lcTitlu = [Alegeti produsul (mouse-click pe denumire sau apasati SPACE)] lcTitluColoane = [Denumire,Cod Material,UM,Cont] llMultipleArticles = .T. *lcSelect = [select a.denumire,a.codmat,a.um, a.grupa, a.subgrupa, a.id_grupa, a.id_subgrupa,a.dnf,a.cont, a.acont, a.inactiv, a.id_articol from ] + gcS + [.vnom_articole a ] *!* modificare ROAPRODUCTIE v 2.0.2 *!* pcOptiune = 'ID_LISTA_PRETURI_PV_PRODUCTIE' *!* lcSelect = [select id_articol,id_pol,pret,um,nume_articol,codmat, cont ] + ; *!* [from com_vpreturi_utilizator where id_util = ?gnIdUtil and id_pol in ] + ; *!* [(select varvalue as id_pol from optiuni where varname = ?pcOptiune and vartype = 'NUMERIC') ] lcSelect = [select id_articol,id_pol,pret,um,nume_articol,codmat,cont ] + ; [from com_vpreturi_utilizator where id_util = ?gnIdUtil and id_pol = ?gnID_LISTA_PRETURI_PV ] *!* modificare ROAPRODUCTIE v 2.0.2 ^ lcFiltruOriginal = [] lcNumeProc = [] llToateIreg = .F. lcPrimaColoana = [denumire] lnPornire = 1 lnTipReturn = Iif(llMultipleArticles, 1, 0) lcIdColumn = "id_articol" loCauta = cauta_alfa(lcSelect, lcFiltru, lcSchema, lcOrder, lccoloane, lcTitlu, lcTitluColoane, lcNumeProc, llToateIreg, lcFiltruOriginal, lcPrimaColoana, lnPornire, lnTipReturn , lcIdColumn) && 11.07.2007 ***------------------------------ pnId_articol = loCauta.id_articol pcDenumire = nume_articol pcCont_articol = cont thisform.txt_produs.Value = pcDenumire ENDPROC ENDDEFINE DEFINE CLASS frm_alege_sectie 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_clb_grup" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="But_renunt1" UniqueID="" Timestamp="" /> * *m: do_cauta_sectie * * BorderStyle = 1 DoCreate = .T. Height = 89 Name = "frm_alege_sectie" Width = 352 _shape1.Name = "_shape1" _shape2.Height = 29 _shape2.Left = 291 _shape2.Name = "_shape2" _shape2.Top = 0 _shape2.Width = 62 Lb_titlu_alb_b121.Caption = "Sectia beneficiara" Lb_titlu_alb_b121.Left = 11 Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" Lb_titlu_alb_b121.TabIndex = 5 Lb_titlu_alb_b121.Top = 6 BUT_TERMIN1.Left = 322 BUT_TERMIN1.Name = "BUT_TERMIN1" BUT_TERMIN1.TabIndex = 3 BUT_TERMIN1.Top = 1 Gridsort1.Left = 228 Gridsort1.Name = "Gridsort1" Gridsort1.Top = 7 * ADD OBJECT 'But_renunt1' AS but_renunt WITH ; Left = 292, ; Name = "But_renunt1", ; TabIndex = 4, ; Top = 1 *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> ADD OBJECT 'Ct_clb_grup' AS ct_clb_cautare_var WITH ; cconditie = EMPTY(NVL(pnId_sectie,0)), ; cprocedura = thisform.do_cauta_sectie, ; cvar_afisata = pcSectie, ; Height = 31, ; Left = 11, ; Name = "Ct_clb_grup", ; TabIndex = 1, ; Top = 40, ; Width = 337, ; shape_cautare.Height = 29, ; shape_cautare.Left = 1, ; shape_cautare.Name = "shape_cautare", ; shape_cautare.Top = 1, ; shape_cautare.Width = 305, ; img_cautare.Left = 310, ; img_cautare.Name = "img_cautare", ; img_cautare.Top = 5, ; lb_cautare.Caption = "Sectia beneficiara", ; lb_cautare.Name = "lb_cautare", ; tx_cautare.Left = 119, ; tx_cautare.Name = "tx_cautare", ; tx_cautare.Top = 4 *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> PROCEDURE do_cauta_sectie Local loCauta loCauta = caut_sectie() If !Empty(Nvl(loCauta.id_sectie,0)) pnid_sectie = loCauta.id_sectie pcSectie = loCauta.sectie Thisform.but_TERMIN1.SetFocus() Else pnid_sectie = Null pcSectie = [] Endif ENDPROC PROCEDURE inainte_de_do_termin IF EMPTY(NVL(pnId_sectie,0)) AMESSAGEBOX('Nu ati ales sectia!',48,"Atentie") THISFORM.CT_clb_grup.SetFocus() RETURN .F. ENDIF ENDPROC ENDDEFINE DEFINE CLASS frm_alege_sectie_comanda 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_clb_grup" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Ct_clb_comanda" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="But_renunt1" UniqueID="" Timestamp="" /> * *m: do_cauta_comanda *m: do_cauta_sectie * * BorderStyle = 1 DoCreate = .T. Height = 119 Name = "frm_alege_sectie_comanda" Width = 352 _shape1.Name = "_shape1" _shape2.Height = 29 _shape2.Left = 291 _shape2.Name = "_shape2" _shape2.Top = 0 _shape2.Width = 62 Lb_titlu_alb_b121.Caption = "Sectia - comanda" Lb_titlu_alb_b121.Left = 11 Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" Lb_titlu_alb_b121.TabIndex = 5 Lb_titlu_alb_b121.Top = 6 BUT_TERMIN1.Left = 322 BUT_TERMIN1.Name = "BUT_TERMIN1" BUT_TERMIN1.TabIndex = 3 BUT_TERMIN1.Top = 1 Gridsort1.Left = 228 Gridsort1.Name = "Gridsort1" Gridsort1.Top = 7 * ADD OBJECT 'But_renunt1' AS but_renunt WITH ; Left = 292, ; Name = "But_renunt1", ; TabIndex = 4, ; Top = 1 *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> ADD OBJECT 'Ct_clb_comanda' AS ct_clb_cautare_var WITH ; cconditie = EMPTY(NVL(pnId_comanda,0)), ; cprocedura = thisform.do_cauta_comanda, ; cvar_afisata = pcNr_comanda, ; Height = 31, ; Left = 11, ; Name = "Ct_clb_comanda", ; TabIndex = 2, ; Top = 68, ; Width = 337, ; shape_cautare.Height = 29, ; shape_cautare.Left = 1, ; shape_cautare.Name = "shape_cautare", ; shape_cautare.Top = 1, ; shape_cautare.Width = 305, ; img_cautare.Left = 310, ; img_cautare.Name = "img_cautare", ; img_cautare.Top = 5, ; lb_cautare.Caption = "Comanda", ; lb_cautare.Name = "lb_cautare", ; tx_cautare.Left = 119, ; tx_cautare.Name = "tx_cautare", ; tx_cautare.Top = 4 *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> ADD OBJECT 'Ct_clb_grup' AS ct_clb_cautare_var WITH ; cconditie = EMPTY(NVL(pnId_sectie,0)), ; cprocedura = thisform.do_cauta_sectie, ; cvar_afisata = pcSectie, ; Height = 31, ; Left = 11, ; Name = "Ct_clb_grup", ; TabIndex = 1, ; Top = 40, ; Width = 337, ; shape_cautare.Height = 29, ; shape_cautare.Left = 1, ; shape_cautare.Name = "shape_cautare", ; shape_cautare.Top = 1, ; shape_cautare.Width = 305, ; img_cautare.Left = 310, ; img_cautare.Name = "img_cautare", ; img_cautare.Top = 5, ; lb_cautare.Caption = "Sectia beneficiara", ; lb_cautare.Name = "lb_cautare", ; tx_cautare.Left = 119, ; tx_cautare.Name = "tx_cautare", ; tx_cautare.Top = 4 *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> PROCEDURE do_cauta_comanda Local lcSelect, lcFiltru, lcSchema, lcOrder, lccoloane, lcTitlu, lcTitluColoane, lcNumeProc, llToateIreg, lcFiltruOriginal, lcPrimaColoana, lnPornire, lnTipReturn , lcIdColumn, llModParam Store "" To loCauta lcSchema = [] lcOrder = [nr_comanda] lccoloane = [nr_comanda,data_comanda] lcTitlu = [Alegeti comanda] lcTitluColoane = [Nr comanda,Data comanda] llMultipleArticles = .F. *!* lcSelect = [select id_comanda,nr_comanda,data_comanda ] + ; *!* [ from vcomenzi where id_sectie2= ] + ALLTRIM(STR(pnId_sectie)) lcSelect = [select id_comanda,nr_comanda,data_comanda from vcomenzi ] lcFiltru = [] lcFiltruOriginal = [data_livrat is null and inchisa = 0 and id_sectie2= ] + Alltrim(Str(pnId_sectie)) lcNumeProc = [] llToateIreg = .F. lcPrimaColoana = [] lnPornire = 1 lnTipReturn = Iif(llMultipleArticles, 1, 0) lcIdColumn = "id_comanda" llModParam = .F. loCauta = cauta_alfa(lcSelect, lcFiltru, lcSchema, lcOrder, lccoloane, lcTitlu, lcTitluColoane, lcNumeProc, llToateIreg, lcFiltruOriginal, lcPrimaColoana, lnPornire, lnTipReturn , lcIdColumn,,,,,llModParam) && 11.07.2007 ***------------------------------ If !Empty(Nvl(loCauta.id_comanda,0)) pnId_comanda = loCauta.id_comanda pcNr_comanda = loCauta.nr_comanda Thisform.but_TERMIN1.SetFocus() Else pnId_comanda = 0 pcNr_comanda = [] Endif ENDPROC PROCEDURE do_cauta_sectie Local loCauta loCauta = caut_sectie() If !Empty(Nvl(loCauta.id_sectie,0)) pnid_sectie = loCauta.id_sectie pcSectie = loCauta.sectie Thisform.ct_clb_comanda.SetFocus() Else pnid_sectie = Null pcSectie = [] Endif ENDPROC PROCEDURE inainte_de_do_termin IF EMPTY(NVL(pnId_sectie,0)) AMESSAGEBOX('Nu ati ales sectia!',48,"Atentie") THISFORM.CT_clb_grup.SetFocus() RETURN .F. ENDIF IF EMPTY(NVL(pnId_comanda,0)) AMESSAGEBOX('Nu ati ales comanda!',48,"Atentie") thisform.ct_clb_comanda.SetFocus() RETURN .F. ENDIF ENDPROC ENDDEFINE DEFINE CLASS frm_conversie 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="_pgfrmbase1" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="_pgfrmbase1.Page1.Clb_volum" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="_pgfrmbase1.Page1.Clb_densitate" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="_pgfrmbase1.Page1.Clb_masa" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="_pgfrmbase1.Page1.cb_um_volum" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="_pgfrmbase1.Page1.cb_um_masa_d" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="_pgfrmbase1.Page1.cb_um_volum_d" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="_pgfrmbase1.Page1.cb_um_masa" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="_pgfrmbase1.Page1.LB_SIMPLU1" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="_pgfrmbase1.Page1.Clb_pret" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="_pgfrmbase1.Page1.Clb_prettr" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="_pgfrmbase1.Page2.Clb_pret" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="_pgfrmbase1.Page2.Clb_pret_tr" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="_pgfrmbase1.Page2.Clb_cantitate" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="_pgfrmbase1.Page2.cb_um" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="_pgfrmbase1.Page2.cb_um_orig" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="_pgfrmbase1.Page2.Clb_cantitate_tr" UniqueID="" Timestamp="" /> * *m: do_actualizeaza_um *m: do_calculeaza_pret *m: do_conversie *p: calias *p: ccursor *p: cum *p: ncantitate *p: npret *p: ntip * * BorderStyle = 1 calias = ccursor = cum = DoCreate = .T. Height = 270 Name = "frm_conversie" ncantitate = 0 npret = 0 ntip = 0 Width = 480 _memberdata = _shape1.Height = 29 _shape1.Left = 0 _shape1.Name = "_shape1" _shape1.Top = 0 _shape1.Width = 480 _shape2.Height = 29 _shape2.Left = 443 _shape2.Name = "_shape2" _shape2.Top = 0 _shape2.Width = 39 Lb_titlu_alb_b121.Caption = "Conversie" Lb_titlu_alb_b121.FontName = "Comic Sans MS" Lb_titlu_alb_b121.FontSize = 10 Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" Lb_titlu_alb_b121.TabIndex = 2 BUT_TERMIN1.Left = 448 BUT_TERMIN1.Name = "BUT_TERMIN1" BUT_TERMIN1.TabIndex = 3 BUT_TERMIN1.Top = 1 Gridsort1.Name = "Gridsort1" * ADD OBJECT '_pgfrmbase1' AS _pgfrmbase WITH ; ErasePage = .T., ; Height = 215, ; Left = 14, ; Name = "_pgfrmbase1", ; PageCount = 2, ; TabIndex = 1, ; Top = 43, ; Width = 454, ; Page1.BackColor = 255,255,255, ; Page1.Caption = "\ masa", ; Page1.Name = "Page1", ; Page1.PageOrder = 2, ; Page2.BackColor = 255,255,255, ; Page2.Caption = "\ ADD OBJECT '_pgfrmbase1.Page1.cb_um_masa' AS _cbbase WITH ; Height = 24, ; Left = 351, ; Name = "cb_um_masa", ; TabIndex = 6, ; Top = 121, ; Width = 60 *< END OBJECT: ClassLib="_cb_base.vcx" BaseClass="combobox" /> ADD OBJECT '_pgfrmbase1.Page1.cb_um_masa_d' AS _cbbase WITH ; Height = 24, ; Left = 325, ; Name = "cb_um_masa_d", ; TabIndex = 4, ; Top = 54, ; Width = 48 *< END OBJECT: ClassLib="_cb_base.vcx" BaseClass="combobox" /> ADD OBJECT '_pgfrmbase1.Page1.cb_um_volum' AS _cbbase WITH ; Height = 24, ; Left = 351, ; Name = "cb_um_volum", ; TabIndex = 2, ; Top = 26, ; Width = 60 *< END OBJECT: ClassLib="_cb_base.vcx" BaseClass="combobox" /> ADD OBJECT '_pgfrmbase1.Page1.cb_um_volum_d' AS _cbbase WITH ; Height = 24, ; Left = 390, ; Name = "cb_um_volum_d", ; TabIndex = 5, ; Top = 54, ; Width = 48 *< END OBJECT: ClassLib="_cb_base.vcx" BaseClass="combobox" /> ADD OBJECT '_pgfrmbase1.Page1.Clb_densitate' AS clb_tx_simplu WITH ; Left = 18, ; Name = "Clb_densitate", ; TabIndex = 3, ; Top = 52, ; TEXT_SIMPLU1.Alignment = 3, ; TEXT_SIMPLU1.Height = 23, ; TEXT_SIMPLU1.InputMask = "999 999.999", ; TEXT_SIMPLU1.Left = 131, ; TEXT_SIMPLU1.Name = "TEXT_SIMPLU1", ; TEXT_SIMPLU1.Top = 3, ; TEXT_SIMPLU1.Value = 0, ; TEXT_SIMPLU1.Width = 154, ; LB_SIMPLU1.Caption = "Densitate", ; LB_SIMPLU1.Name = "LB_SIMPLU1" *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> ADD OBJECT '_pgfrmbase1.Page1.Clb_masa' AS clb_tx_simplu WITH ; Enabled = .F., ; Left = 18, ; Name = "Clb_masa", ; TabIndex = 8, ; Top = 119, ; TEXT_SIMPLU1.Alignment = 3, ; TEXT_SIMPLU1.Enabled = .F., ; TEXT_SIMPLU1.InputMask = "999 999 999.999", ; TEXT_SIMPLU1.Name = "TEXT_SIMPLU1", ; TEXT_SIMPLU1.Value = 0, ; LB_SIMPLU1.Caption = "Masa", ; LB_SIMPLU1.Name = "LB_SIMPLU1" *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> ADD OBJECT '_pgfrmbase1.Page1.Clb_pret' AS clb_tx_simplu WITH ; Left = 18, ; Name = "Clb_pret", ; TabIndex = 7, ; Top = 80, ; Text_simplu1.Alignment = 3, ; Text_simplu1.ControlSource = "Thisform.npret", ; Text_simplu1.Height = 23, ; Text_simplu1.InputMask = (get_mask(12,gnPpret)), ; Text_simplu1.Left = 131, ; Text_simplu1.Name = "Text_simplu1", ; Text_simplu1.Top = 3, ; Text_simplu1.Value = 0, ; Text_simplu1.Width = 154, ; Lb_simplu1.Caption = "Pret", ; Lb_simplu1.Name = "Lb_simplu1" *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> ADD OBJECT '_pgfrmbase1.Page1.Clb_prettr' AS clb_tx_simplu WITH ; Enabled = .F., ; Left = 18, ; Name = "Clb_prettr", ; TabIndex = 9, ; Top = 147, ; Text_simplu1.Alignment = 3, ; Text_simplu1.Enabled = .F., ; Text_simplu1.Format = "rK", ; Text_simplu1.InputMask = (get_mask(12,gnPpret)), ; Text_simplu1.Name = "Text_simplu1", ; Text_simplu1.Value = 0, ; Lb_simplu1.Caption = "Pret transformat", ; Lb_simplu1.Name = "Lb_simplu1" *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> ADD OBJECT '_pgfrmbase1.Page1.Clb_volum' AS clb_tx_simplu WITH ; Left = 18, ; Name = "Clb_volum", ; TabIndex = 1, ; Top = 24, ; TEXT_SIMPLU1.Alignment = 3, ; TEXT_SIMPLU1.InputMask = "999 999 999.999", ; TEXT_SIMPLU1.Name = "TEXT_SIMPLU1", ; TEXT_SIMPLU1.Value = 0, ; LB_SIMPLU1.Caption = "Volum", ; LB_SIMPLU1.Name = "LB_SIMPLU1" *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> ADD OBJECT '_pgfrmbase1.Page1.LB_SIMPLU1' AS lb_simplu WITH ; Caption = "/", ; Left = 379, ; Name = "LB_SIMPLU1", ; TabIndex = 10, ; Top = 57 *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> ADD OBJECT '_pgfrmbase1.Page2.cb_um' AS _cbbase WITH ; Height = 24, ; Left = 331, ; Name = "cb_um", ; TabIndex = 4, ; Top = 99, ; Width = 84 *< END OBJECT: ClassLib="_cb_base.vcx" BaseClass="combobox" /> ADD OBJECT '_pgfrmbase1.Page2.cb_um_orig' AS _cbbase WITH ; Height = 24, ; Left = 331, ; Name = "cb_um_orig", ; TabIndex = 2, ; Top = 26, ; Width = 84 *< END OBJECT: ClassLib="_cb_base.vcx" BaseClass="combobox" /> ADD OBJECT '_pgfrmbase1.Page2.Clb_cantitate' AS clb_tx_simplu WITH ; Left = 18, ; Name = "Clb_cantitate", ; TabIndex = 1, ; Top = 24, ; Text_simplu1.Alignment = 3, ; Text_simplu1.Height = 23, ; Text_simplu1.InputMask = (get_mask(14,gnPCant)), ; Text_simplu1.Left = 123, ; Text_simplu1.Name = "Text_simplu1", ; Text_simplu1.Top = 3, ; Text_simplu1.Value = 0, ; Text_simplu1.Width = 162, ; Lb_simplu1.Caption = "Cantitate impach.", ; Lb_simplu1.Name = "Lb_simplu1" *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> ADD OBJECT '_pgfrmbase1.Page2.Clb_cantitate_tr' AS clb_tx_simplu WITH ; Enabled = .F., ; Left = 18, ; Name = "Clb_cantitate_tr", ; TabIndex = 6, ; Top = 97, ; Text_simplu1.Alignment = 3, ; Text_simplu1.Enabled = .F., ; Text_simplu1.InputMask = "999 999 999.999", ; Text_simplu1.Name = "Text_simplu1", ; Text_simplu1.Value = 0, ; Lb_simplu1.Caption = "Cantitate transf.", ; Lb_simplu1.Name = "Lb_simplu1" *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> ADD OBJECT '_pgfrmbase1.Page2.Clb_pret' AS clb_tx_simplu WITH ; Left = 18, ; Name = "Clb_pret", ; TabIndex = 3, ; Top = 52, ; Text_simplu1.Alignment = 3, ; Text_simplu1.ControlSource = "Thisform.npret", ; Text_simplu1.Height = 23, ; Text_simplu1.InputMask = (get_mask(12,gnPpret)), ; Text_simplu1.Left = 123, ; Text_simplu1.Name = "Text_simplu1", ; Text_simplu1.Top = 3, ; Text_simplu1.Value = 0, ; Text_simplu1.Width = 162, ; Lb_simplu1.Caption = "Pret", ; Lb_simplu1.Name = "Lb_simplu1" *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> ADD OBJECT '_pgfrmbase1.Page2.Clb_pret_tr' AS clb_tx_simplu WITH ; Enabled = .F., ; Left = 18, ; Name = "Clb_pret_tr", ; TabIndex = 5, ; Top = 125, ; Text_simplu1.Alignment = 3, ; Text_simplu1.Enabled = .F., ; Text_simplu1.Format = "rK", ; Text_simplu1.InputMask = (get_mask(12,gnPpret)), ; Text_simplu1.Name = "Text_simplu1", ; Text_simplu1.Value = 0, ; Lb_simplu1.Caption = "Pret transformat", ; Lb_simplu1.Name = "Lb_simplu1" *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> PROCEDURE Destroy If Used(This.cCursor) Use In (This.cCursor) Endif Select (This.cAlias) ENDPROC PROCEDURE do_actualizeaza_um Lparameters tcIdUm Local lnIdUm lnIdUm = Val(tcIdUm) Select (This.cCursor) Set Filter To Locate For id_um = lnIdUm If Found() lnTip = tip Else lnTip = 0 Endif If This.nTip <> lnTip With Thisform._pgfrmbase1.page2.cb_um .Clear() .Refresh() This.nTip = lnTip Select (This.cCursor) Set Filter To tip = lnTip Scan .AddItem(um) .List[.NewIndex,2] = Alltrim(Str(id_um)) Endscan .ListIndex = 1 Endwith Endif ENDPROC PROCEDURE do_calculeaza_pret lnPaginaActiva = Thisform._pgfrmbase1.ActivePage With Thisform._pgfrmbase1 Do Case Case lnPaginaActiva = 1 With .page2 lnCantitateTr = .clb_cantitate_tr.text_simplu1.Value lnPret = .clb_pret.text_simplu1.Value If lnCantitateTr <> 0 lnPretTr = Round(lnPret / lnCantitateTr,gnPPret) Else lnPretTr = 0 Endif .clb_pret_tr.text_simplu1.Value = lnPretTr .clb_pret_tr.text_simplu1.Refresh() Endwith *!* Case lnPaginaActiva = 2 *!* With .page3 *!* lnCantitateTr = .clb_cantitate.text_simplu1.Value *!* lnPret = .clb_pret.text_simplu1.Value *!* If lnCantitateTr <> 0 *!* lnPretTr = Round(lnPret / lnCantitateTr,gnPPret) *!* Else *!* lnPretTr = 0 *!* Endif *!* .clb_pret_tr.text_simplu1.Value = lnPretTr *!* .clb_pret_tr.text_simplu1.Refresh() *!* Endwith Case lnPaginaActiva = 2 With .page1 lnVolum=.clb_volum.text_simplu1.Value lnDensitate=.clb_densitate.text_simplu1.Value lnUmVolum=Val(.cb_um_volum.List[.cb_um_volum.listindex,2]) lnUmVolumD=Val(.cb_um_volum_d.List[.cb_um_volum_d.listindex,2]) lnUmMasaD=Val(.cb_um_masa_d.List[.cb_um_masa_d.listindex,2]) lnUmMasa=Val(.cb_um_masa.List[.cb_um_masa.listindex,2]) lnMasa=Round(lnVolum*lnUmVolum*lnDensitate*lnUmMasaD/(lnUmVolumD*lnUmMasa),3) .clb_masa.text_simplu1.Value=lnMasa .clb_masa.text_simplu1.Refresh() lnPret = .clb_pret.text_simplu1.Value lnValoare = lnPret * lnVolum lnPretTr = 0 If lnMasa <> 0 lnPretTr = Round(lnValoare/lnMasa,gnPPret) Endif .clb_prettr.text_simplu1.Value=lnPretTr .clb_prettr.text_simplu1.Refresh() Endwith Endcase Endwith ENDPROC PROCEDURE do_conversie lnPaginaActiva = Thisform._pgfrmbase1.ActivePage llDespachetare = .F. With Thisform._pgfrmbase1 Do Case Case lnPaginaActiva = 1 With .page2 lnIdUM = Val(.cb_um_orig.List[.cb_um_orig.listindex,2]) lnIdUM2 = Val(.cb_um.List[.cb_um.listindex,2]) lnCantitate = .Clb_cantitate.text_simplu1.Value Select (This.cCursor) Set Filter To Locate For id_um = lnIdUM If Found() If tip <> -1 llDespachetare = .T. Else lnCantitate = (Nvl(multiplicator,1) ^ Nvl(putere,1)) * lnCantitate Endif Else lnCantitate = 0 Endif If !llDespachetare Locate For id_um = lnIdUM2 If Found() lnCantitate = lnCantitate / (Nvl(multiplicator,1) ^ Nvl(putere,1)) Else lnCantitate = 0 Endif Endif .Clb_cantitate_tr.text_simplu1.Value = lnCantitate .Clb_cantitate_tr.text_simplu1.Refresh() Endwith Thisform.do_calculeaza_pret() Case lnPaginaActiva = 2 With .page1 lnVolum=.clb_volum.text_simplu1.Value lnDensitate=.clb_densitate.text_simplu1.Value lnUmVolum=Val(.cb_um_volum.List[.cb_um_volum.listindex,2]) lnUmVolumD=Val(.cb_um_volum_d.List[.cb_um_volum_d.listindex,2]) lnUmMasaD=Val(.cb_um_masa_d.List[.cb_um_masa_d.listindex,2]) lnUmMasa=Val(.cb_um_masa.List[.cb_um_masa.listindex,2]) lnMasa=Round(lnVolum*lnUmVolum*lnDensitate*lnUmMasaD/(lnUmVolumD*lnUmMasa),3) .clb_masa.text_simplu1.Value=lnMasa .clb_masa.text_simplu1.Refresh() Endwith Endcase Endwith ENDPROC PROCEDURE inainte_de_do_termin lnPaginaActiva = Thisform._pgfrmbase1.ActivePage With Thisform._pgfrmbase1 Do Case Case lnPaginaActiva = 1 pnTransformat = .page2.clb_cantitate_tr.text_simplu1.Value * Thisform.ncantitate pnPretTr = .page2.clb_pret_tr.text_simplu1.Value *!* Case lnPaginaActiva = 2 *!* pnTransformat = .page3.clb_cantitate.text_simplu1.Value * Thisform.ncantitate *!* pnPretTr = .page3.clb_pret_tr.text_simplu1.Value Case lnPaginaActiva = 2 pnTransformat = .page1.clb_masa.text_simplu1.Value pnPretTr = .page1.clb_prettr.text_simplu1.Value Endcase Endwith ENDPROC PROCEDURE Init Lparameters tnPret,tcUm,tnCantitate && ,tnCantImpach DoDefault() Thisform.cum = UPPER(Alltrim(Nvl(tcUm,[]))) Thisform.npret = tnPret Thisform.ncantitate = tnCantitate && Thisform._pgfrmbase1.page3.clb_cantitate.text_simplu1.Value = tnCantImpach This.cAlias = Alias() This.cCursor = Sys(2015) Create Cursor (This.cCursor) (id_um N(1),tip N(1),um c(100),multiplicator N(10,4) Null,putere N(2) Null,id_um_fund N(1) Null) Insert Into (This.cCursor) (id_um,tip,um,multiplicator,putere,id_um_fund) ; VALUES (1,-1,'BUC',Null,Null,Null) Insert Into (This.cCursor) (id_um,tip,um,multiplicator,putere,id_um_fund) ; VALUES (2,1,'KG',Null,Null,Null) Insert Into (This.cCursor) (id_um,tip,um,multiplicator,putere,id_um_fund) ; VALUES (3,1,'G',10,-3,2) Insert Into (This.cCursor) (id_um,tip,um,multiplicator,putere,id_um_fund) ; VALUES (4,1,'T',10,3,2) Insert Into (This.cCursor) (id_um,tip,um,multiplicator,putere,id_um_fund) ; VALUES (5,2,'L',Null,Null,Null) Insert Into (This.cCursor) (id_um,tip,um,multiplicator,putere,id_um_fund) ; VALUES (6,2,'ML',10,-3,5) Insert Into (This.cCursor) (id_um,tip,um,multiplicator,putere,id_um_fund) ; VALUES (7,2,'CL',10,-2,5) Select (This.cCursor) Locate For um = This.cum If Found() lnTip = tip This.nTip = lnTip With Thisform._pgfrmbase1.page2.Cb_um .AddItem(This.cum) .List[.NewIndex,2] = Alltrim(Str(id_um)) .ListIndex = 1 Endwith Select (This.cCursor) Set Filter To tip = lnTip Else This.nTip = 0 Endif Select (This.cCursor) With Thisform._pgfrmbase1.page2.cb_um_orig Scan .AddItem(um) .List[.NewIndex,2] = Alltrim(Str(id_um)) Endscan .ListIndex = 1 Endwith Thisform._pgfrmbase1.page2.Clb_cantitate.SetFocus() ENDPROC PROCEDURE _pgfrmbase1.Page1.cb_um_masa.Init This.AddItem([g]) This.List[1,2]=[0.001] This.AddItem([kg]) This.List[2,2]=[1] This.ListIndex=1 ENDPROC PROCEDURE _pgfrmbase1.Page1.cb_um_masa.InteractiveChange Thisform.do_conversie() ENDPROC PROCEDURE _pgfrmbase1.Page1.cb_um_masa_d.Init This.AddItem([g]) This.List[1,2]=[0.001] This.AddItem([kg]) This.List[2,2]=[1] This.ListIndex=2 ENDPROC PROCEDURE _pgfrmbase1.Page1.cb_um_masa_d.InteractiveChange Thisform.do_conversie() ENDPROC PROCEDURE _pgfrmbase1.Page1.cb_um_volum.Init This.AddItem([l]) This.List[1,2]=[0.001] This.AddItem([cl]) This.List[2,2]=[0.00001] This.AddItem([ml]) This.List[3,2]=[0.000001] This.AddItem([m^3]) This.List[4,2]=[1] This.ListIndex=1 ENDPROC PROCEDURE _pgfrmbase1.Page1.cb_um_volum.InteractiveChange Thisform.do_conversie() ENDPROC PROCEDURE _pgfrmbase1.Page1.cb_um_volum_d.Init This.AddItem([l]) This.List[1,2]=[0.001] This.AddItem([cl]) This.List[2,2]=[0.00001] This.AddItem([ml]) This.List[3,2]=[0.000001] This.AddItem([m^3]) This.List[4,2]=[1] This.ListIndex=4 ENDPROC PROCEDURE _pgfrmbase1.Page1.cb_um_volum_d.InteractiveChange Thisform.do_conversie() ENDPROC PROCEDURE _pgfrmbase1.Page1.Clb_densitate.TEXT_SIMPLU1.InteractiveChange Thisform.do_conversie() ENDPROC PROCEDURE _pgfrmbase1.Page1.Clb_pret.Text_simplu1.InteractiveChange Thisform.do_calculeaza_pret() ENDPROC PROCEDURE _pgfrmbase1.Page1.Clb_pret.Text_simplu1.Valid Thisform.do_calculeaza_pret() ENDPROC PROCEDURE _pgfrmbase1.Page1.Clb_volum.TEXT_SIMPLU1.InteractiveChange Thisform.do_conversie() ENDPROC PROCEDURE _pgfrmbase1.Page2.cb_um.InteractiveChange Thisform.do_conversie() ENDPROC PROCEDURE _pgfrmbase1.Page2.cb_um_orig.InteractiveChange Thisform.do_actualizeaza_um(This.List[This.ListIndex,2]) Thisform.do_conversie() ENDPROC PROCEDURE _pgfrmbase1.Page2.Clb_cantitate.Text_simplu1.InteractiveChange Thisform.do_conversie() ENDPROC PROCEDURE _pgfrmbase1.Page2.Clb_pret.Text_simplu1.InteractiveChange Thisform.do_calculeaza_pret() ENDPROC PROCEDURE _pgfrmbase1.Page2.Clb_pret.Text_simplu1.Valid Thisform.do_calculeaza_pret() ENDPROC ENDDEFINE DEFINE CLASS frm_introd8039 AS frm_introdnir OF "ointroduceri.vcx" *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder *< OBJECTDATA: ObjPath="Shape3" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Shape2" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Shape1" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Item12" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Item13" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="ItemGradUzura" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Item14" UniqueID="" Timestamp="" /> * *p: nprocentuzura * * BorderStyle = 1 DoCreate = .T. Height = 354 Name = "frm_introd8039" nprocentuzura = 0 Width = 670 Item2.Label_item1.Name = "Label_item1" Item2.Left = 17 Item2.Lineo1.Name = "Lineo1" Item2.Lineo2.Name = "Lineo2" Item2.Lineo3.Name = "Lineo3" Item2.Lineo4.Name = "Lineo4" Item2.Lineo5.Name = "Lineo5" Item2.Name = "Item2" Item2.TabIndex = 2 Item2.Text_item1.Name = "Text_item1" Item2.Top = 87 Item2.ZOrderSet = 3 Item14.Label_item1.Name = "Label_item1" Item14.Lineo1.Name = "Lineo1" Item14.Lineo2.Name = "Lineo2" Item14.Lineo3.Name = "Lineo3" Item14.Lineo4.Name = "Lineo4" Item14.Lineo5.Name = "Lineo5" Item14.Name = "Item14" Item14.Text_item1.Name = "Text_item1" Item14.Text_item2.Name = "Text_item2" Item13.Label_item1.Name = "Label_item1" Item13.Left = 17 Item13.Lineo1.Name = "Lineo1" Item13.Lineo2.Name = "Lineo2" Item13.Lineo3.Name = "Lineo3" Item13.Lineo4.Name = "Lineo4" Item13.Lineo5.Name = "Lineo5" Item13.Name = "Item13" Item13.Text_item1.Name = "Text_item1" Item13.Top = 40 Item1.Label_item1.Name = "Label_item1" Item1.Left = 17 Item1.Lineo1.Name = "Lineo1" Item1.Lineo2.Name = "Lineo2" Item1.Lineo3.Name = "Lineo3" Item1.Lineo4.Name = "Lineo4" Item1.Lineo5.Name = "Lineo5" Item1.Name = "Item1" Item1.TabIndex = 1 Item1.Text_item1.Name = "Text_item1" Item1.Top = 64 Item1.ZOrderSet = 6 Item15.Label_item1.Name = "Label_item1" Item15.Lineo1.Name = "Lineo1" Item15.Lineo2.Name = "Lineo2" Item15.Lineo3.Name = "Lineo3" Item15.Lineo4.Name = "Lineo4" Item15.Lineo5.Name = "Lineo5" Item15.Name = "Item15" Item15.Text_item1.Name = "Text_item1" Item16.Label_item1.Name = "Label_item1" Item16.Lineo1.Name = "Lineo1" Item16.Lineo2.Name = "Lineo2" Item16.Lineo3.Name = "Lineo3" Item16.Lineo4.Name = "Lineo4" Item16.Lineo5.Name = "Lineo5" Item16.Name = "Item16" Item16.Text_item1.Name = "Text_item1" But_renunt1.Left = 570 But_renunt1.Name = "But_renunt1" But_renunt1.TabIndex = 13 But_renunt1.Top = 1 But_renunt1.ZOrderSet = 11 Item3.Label_item1.Name = "Label_item1" Item3.Left = 17 Item3.Lineo1.Name = "Lineo1" Item3.Lineo2.Name = "Lineo2" Item3.Lineo3.Name = "Lineo3" Item3.Lineo4.Name = "Lineo4" Item3.Lineo5.Name = "Lineo5" Item3.Name = "Item3" Item3.TabIndex = 3 Item3.Text_item1.Name = "Text_item1" Item3.Top = 111 Item3.ZOrderSet = 12 Item4.Label_item1.Name = "Label_item1" Item4.Left = 17 Item4.Lineo1.Name = "Lineo1" Item4.Lineo2.Name = "Lineo2" Item4.Lineo3.Name = "Lineo3" Item4.Lineo4.Name = "Lineo4" Item4.Lineo5.Name = "Lineo5" Item4.Name = "Item4" Item4.TabIndex = 4 Item4.Text_item1.Name = "Text_item1" Item4.Top = 135 Item4.ZOrderSet = 13 Item5.Label_item1.Name = "Label_item1" Item5.Left = 17 Item5.Lineo1.Name = "Lineo1" Item5.Lineo2.Name = "Lineo2" Item5.Lineo3.Name = "Lineo3" Item5.Lineo4.Name = "Lineo4" Item5.Lineo5.Name = "Lineo5" Item5.Name = "Item5" Item5.TabIndex = 5 Item5.Text_item1.Name = "Text_item1" Item5.Top = 159 Item5.ZOrderSet = 14 Item6.Label_item1.Name = "Label_item1" Item6.Left = 16 Item6.Lineo1.Name = "Lineo1" Item6.Lineo2.Name = "Lineo2" Item6.Lineo3.Name = "Lineo3" Item6.Lineo4.Name = "Lineo4" Item6.Lineo5.Name = "Lineo5" Item6.Name = "Item6" Item6.TabIndex = 14 Item6.Text_item1.Name = "Text_item1" Item6.Top = 357 Item6.ZOrderSet = 15 Item7.Comment = "" Item7.Label_item1.Name = "Label_item1" Item7.Left = 14 Item7.Lineo1.Name = "Lineo1" Item7.Lineo2.Name = "Lineo2" Item7.Lineo3.Name = "Lineo3" Item7.Lineo4.Name = "Lineo4" Item7.Lineo5.Name = "Lineo5" Item7.Name = "Item7" Item7.TabIndex = 16 Item7.Text_item1.Name = "Text_item1" Item7.Top = 377 Item7.Visible = .F. Item7.ZOrderSet = 16 Item8.Comment = "" Item8.Label_item1.Name = "Label_item1" Item8.Left = 14 Item8.Lineo1.Name = "Lineo1" Item8.Lineo2.Name = "Lineo2" Item8.Lineo3.Name = "Lineo3" Item8.Lineo4.Name = "Lineo4" Item8.Lineo5.Name = "Lineo5" Item8.Name = "Item8" Item8.TabIndex = 17 Item8.Text_item1.Name = "Text_item1" Item8.Top = 400 Item8.Visible = .F. Item8.ZOrderSet = 17 Item9.Comment = "" Item9.Label_item1.Name = "Label_item1" Item9.Left = 14 Item9.Lineo1.Name = "Lineo1" Item9.Lineo2.Name = "Lineo2" Item9.Lineo3.Name = "Lineo3" Item9.Lineo4.Name = "Lineo4" Item9.Lineo5.Name = "Lineo5" Item9.Name = "Item9" Item9.TabIndex = 18 Item9.Text_item1.Name = "Text_item1" Item9.Top = 423 Item9.Visible = .F. Item9.ZOrderSet = 18 Item17.Label_item1.Name = "Label_item1" Item17.Left = 17 Item17.Lineo1.Name = "Lineo1" Item17.Lineo2.Name = "Lineo2" Item17.Lineo3.Name = "Lineo3" Item17.Lineo4.Name = "Lineo4" Item17.Lineo5.Name = "Lineo5" Item17.Name = "Item17" Item17.Text_item1.Name = "Text_item1" Item17.Top = 324 Item12.Label_item1.Name = "Label_item1" Item12.Left = 5 Item12.Lineo1.Name = "Lineo1" Item12.Lineo2.Name = "Lineo2" Item12.Lineo3.Name = "Lineo3" Item12.Lineo4.Name = "Lineo4" Item12.Lineo5.Name = "Lineo5" Item12.Name = "Item12" Item12.Text_item1.Name = "Text_item1" Item12.Top = 230 Item10.camp_lista = nume Item10.Comment = "B" Item10.fis_lista = Vnom_responsabili Item10.id_fisier = id_responsabil Item10.label_item = Nume responsabil Item10.Label_item1.Caption = "Responsabil" Item10.Label_item1.Name = "Label_item1" Item10.Left = 17 Item10.Lineo1.Name = "Lineo1" Item10.Lineo2.Name = "Lineo2" Item10.Lineo3.Name = "Lineo3" Item10.Lineo4.Name = "Lineo4" Item10.Lineo5.Name = "Lineo5" Item10.Name = "Item10" Item10.TabIndex = 11 Item10.TabStop = .T. Item10.Text_item1.Comment = "thisform.cobj.nresp" Item10.Text_item1.Name = "Text_item1" Item10.Text_item1.ReadOnly = .T. Item10.Top = 299 Item10.ZOrderSet = 20 Item11.Label_item1.Name = "Label_item1" Item11.Left = 17 Item11.Lineo1.Name = "Lineo1" Item11.Lineo2.Name = "Lineo2" Item11.Lineo3.Name = "Lineo3" Item11.Lineo4.Name = "Lineo4" Item11.Lineo5.Name = "Lineo5" Item11.Name = "Item11" Item11.TabIndex = 10 Item11.TabStop = .F. Item11.Text_item1.Name = "Text_item1" Item11.Text_item1.ReadOnly = .T. Item11.Top = 324 Item11.ZOrderSet = 19 lb_modparam.Left = 486 lb_modparam.Name = "lb_modparam" lb_modparam.Top = 139 _shape1.Name = "_shape1" _shape1.ZOrderSet = 7 _shape2.Name = "_shape2" _shape2.ZOrderSet = 8 Gridsort1.Left = 1 Gridsort1.Name = "Gridsort1" Gridsort1.Top = 42 Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" Lb_titlu_alb_b121.TabIndex = 19 Lb_titlu_alb_b121.ZOrderSet = 10 BUT_TERMIN1.Left = 639 BUT_TERMIN1.Name = "BUT_TERMIN1" BUT_TERMIN1.TabIndex = 12 BUT_TERMIN1.Top = 1 BUT_TERMIN1.ZOrderSet = 25 Clb_ITEM_adaos.Comment = "" Clb_ITEM_adaos.Lb_simplu1.Name = "Lb_simplu1" Clb_ITEM_adaos.Left = 472 Clb_ITEM_adaos.Name = "Clb_ITEM_adaos" Clb_ITEM_adaos.TabIndex = 15 Clb_ITEM_adaos.Text_simplu1.Name = "Text_simplu1" Clb_ITEM_adaos.Top = 379 Clb_ITEM_adaos.Visible = .F. Clb_ITEM_adaos.ZOrderSet = 26 But_modiparam1.Left = 492 But_modiparam1.Name = "But_modiparam1" But_modiparam1.Top = 156 Image1.Height = 16 Image1.Left = 461 Image1.Name = "Image1" Image1.Top = 232 Image1.Width = 16 Opt_imputare.Left = 483 Opt_imputare.Name = "Opt_imputare" Opt_imputare.Option1.Left = 5 Opt_imputare.Option1.Name = "Option1" Opt_imputare.Option1.Top = 5 Opt_imputare.Option2.Left = 5 Opt_imputare.Option2.Name = "Option2" Opt_imputare.Option2.Top = 20 Opt_imputare.Top = 265 lb_imputare.Left = 489 lb_imputare.Name = "lb_imputare" lb_imputare.Top = 255 cbo_tva_achizitie.Left = 480 cbo_tva_achizitie.Name = "cbo_tva_achizitie" cbo_tva_achizitie.Top = 112 lb_tva_achizitie.Name = "lb_tva_achizitie" cbo_tva_vanzare.Left = 475 cbo_tva_vanzare.Name = "cbo_tva_vanzare" cbo_tva_vanzare.Top = 371 lb_tva_vanzare.Left = 480 lb_tva_vanzare.Name = "lb_tva_vanzare" lb_tva_vanzare.Top = 354 But_renunt2.Name = "But_renunt2" cmdTVA1.Name = "cmdTVA1" cmdTVA2.Name = "cmdTVA2" cmdTVA3.Name = "cmdTVA3" cmdTVA4.Name = "cmdTVA4" cmdTVA5.Name = "cmdTVA5" cbo_saft.Name = "cbo_saft" lb_saft.Name = "lb_saft" * ADD OBJECT 'Item12' AS item WITH ; Comment = "T", ; Left = 17, ; Name = "Item12", ; TabIndex = 9, ; tip = F, ; Top = 265, ; ZOrderSet = 4, ; Label_item1.Caption = "Durata de folosinta ramasa(luni)", ; Label_item1.Name = "Label_item1", ; Text_item1.Comment = "thisform.cobj.DNS_LUNI", ; Text_item1.InputMask = (get_mask(4,0)), ; Text_item1.Name = "Text_item1", ; Lineo1.Name = "Lineo1", ; Lineo3.Name = "Lineo3", ; Lineo4.Name = "Lineo4", ; Lineo5.Name = "Lineo5", ; Lineo2.Name = "Lineo2" *< END OBJECT: ClassLib="baza.vcx" BaseClass="container" /> ADD OBJECT 'Item13' AS item WITH ; Comment = "T", ; Left = 17, ; Name = "Item13", ; TabIndex = 6, ; tip = F, ; Top = 198, ; ZOrderSet = 5, ; Label_item1.Caption = "Data trecerii in folosinta", ; Label_item1.Name = "Label_item1", ; Text_item1.Alignment = 3, ; Text_item1.Comment = "thisform.cobj.DATAPIF", ; Text_item1.Format = "k", ; Text_item1.Name = "Text_item1", ; Lineo1.Name = "Lineo1", ; Lineo3.Name = "Lineo3", ; Lineo4.Name = "Lineo4", ; Lineo5.Name = "Lineo5", ; Lineo2.Name = "Lineo2" *< END OBJECT: ClassLib="baza.vcx" BaseClass="container" /> ADD OBJECT 'Item14' AS item WITH ; Comment = "T", ; Left = 17, ; Name = "Item14", ; TabIndex = 8, ; tip = F, ; Top = 243, ; ZOrderSet = 27, ; Label_item1.Caption = "Durata normata de folosinta", ; Label_item1.Name = "Label_item1", ; Label_item1.TabIndex = 2, ; Text_item1.Comment = "thisform.cobj.DNF", ; Text_item1.InputMask = (get_mask(3,0)), ; Text_item1.Name = "Text_item1", ; Text_item1.ReadOnly = .T., ; Text_item1.TabIndex = 1, ; Lineo1.Name = "Lineo1", ; Lineo3.Name = "Lineo3", ; Lineo4.Name = "Lineo4", ; Lineo5.Name = "Lineo5", ; Lineo2.Name = "Lineo2" *< END OBJECT: ClassLib="baza.vcx" BaseClass="container" /> ADD OBJECT 'ItemGradUzura' AS item WITH ; Comment = "T", ; Left = 17, ; Name = "ItemGradUzura", ; TabIndex = 7, ; tip = F, ; Top = 220, ; ZOrderSet = 27, ; LABEL_ITEM1.Caption = "Grad uzura (%)", ; LABEL_ITEM1.Name = "LABEL_ITEM1", ; LABEL_ITEM1.TabIndex = 2, ; TEXT_ITEM1.Comment = "thisform.nProcentUzura", ; TEXT_ITEM1.ControlSource = "thisform.nProcentUzura", ; TEXT_ITEM1.InputMask = (get_mask(3,0)), ; TEXT_ITEM1.Name = "TEXT_ITEM1", ; TEXT_ITEM1.TabIndex = 1, ; LINEO1.Name = "LINEO1", ; LINEO3.Name = "LINEO3", ; LINEO4.Name = "LINEO4", ; LINEO5.Name = "LINEO5", ; LINEO2.Name = "LINEO2" *< END OBJECT: ClassLib="baza.vcx" BaseClass="container" /> ADD OBJECT 'Shape1' AS shape WITH ; BackColor = 255,255,255, ; BorderColor = 128,128,128, ; Height = 154, ; Left = 13, ; Name = "Shape1", ; Top = 38, ; Width = 464, ; ZOrderSet = 2 *< END OBJECT: BaseClass="shape" /> ADD OBJECT 'Shape2' AS shape WITH ; BackColor = 255,255,255, ; BorderColor = 128,128,128, ; Height = 101, ; Left = 13, ; Name = "Shape2", ; Top = 190, ; Width = 464, ; ZOrderSet = 1 *< END OBJECT: BaseClass="shape" /> ADD OBJECT 'Shape3' AS shape WITH ; BackColor = 255,255,255, ; BorderColor = 128,128,128, ; Height = 60, ; Left = 13, ; Name = "Shape3", ; Top = 290, ; Width = 464, ; ZOrderSet = 0 *< END OBJECT: BaseClass="shape" /> PROCEDURE Show Lparameters nStyle thisform.cobj.DATAPIF = thisform.cobj.DATAACT lnDNF = thisform.cobj.DNF IF thisform.cobj.DNS_LUNI = 0 thisform.cobj.DNS_LUNI = thisform.cobj.DNF ENDIF lnDNSRamas = thisform.cobj.DNS_LUNI IF lnDNF = 0 THISFORM.nProcentuzura = 0 ELSE THISFORM.nProcentuzura = ROUND((lnDNF - lnDNSRamas)/lnDNF*100,0) ENDIF this.itemgradUzura.text_item1.ControlSource = "thisform.nProcentUzura" DODEFAULT(nStyle) ENDPROC PROCEDURE Item12.Text_item1.Valid DODEFAULT() lnDNF = thisform.cobj.DNF lnDNSRamas = thisform.cobj.DNS_LUNI IF lnDNF = 0 THISFORM.nProcentuzura = 0 ELSE THISFORM.nProcentuzura = ROUND((lnDNF - lnDNSRamas)/lnDNF*100,0) ENDIF thisform.Refresh ENDPROC PROCEDURE Item14.Init IF INLIST(oset.id_set, 55, 273) && dare in folosinta this.tEXT_ITEM1.ReadOnly = .f. ENDIF ENDPROC PROCEDURE ItemGradUzura.TEXT_ITEM1.Valid DODEFAULT() thisform.cobj.DNS_LUNI = ROUND(thisform.cobj.DNF*(100 - thisform.nprocentuzura)/100,0) thisform.Refresh() ENDPROC ENDDEFINE DEFINE CLASS frm_introdnir 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="Item2" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Item14" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Item14.Text_item2" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Item13" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Item1" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Item15" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Item16" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="But_renunt1" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Item3" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Item4" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Item5" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Item6" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Item7" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Item8" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Item9" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Item17" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Item12" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Item10" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Item11" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="lb_modparam" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Clb_ITEM_adaos" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="But_modiparam1" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Image1" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Opt_imputare" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="lb_imputare" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="cbo_tva_achizitie" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="lb_tva_achizitie" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="cbo_tva_vanzare" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="lb_tva_vanzare" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="But_renunt2" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="cmdTVA1" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="cmdTVA2" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="cmdTVA3" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="cmdTVA4" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="cmdTVA5" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="cbo_saft" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="lb_saft" UniqueID="" Timestamp="" /> #INCLUDE "..\include\foxpro.h" * *m: actualizeaza_explicatie_saft *m: aplicatva *m: calculeaza_tva_ach *m: calculeaza_valori_ach *m: do_alege_reteta *m: do_alege_tvaach *m: do_alege_tvavanz *m: do_modiparam *m: updateexplicatiesaft *m: updatelabelsaft *m: updatepaymentsaft *p: blochezpretv *p: cobj *p: cparentobj *p: cpaymentcode && Cod Taxa SAFT *p: ctitlu *p: lmonedanationala && .T. - daca id_valuta este moneda nationala *p: ncant_iesita *p: ncant_stoc *p: ncurs *p: npretvoriginal *p: npretv_nat *p: npretv_val *p: npret_nat *p: npret_val *p: ntaxcodeachizitie && Cod taxa SAFT achizitie *p: ntaxcodevanzare && Cod taxa SAFT vanzare *p: omemopref && Obiect in care se memoreaza datele care sa fie folosite ca implicite cand se apeleaza formularul. *p: pretu_factura *p: pretvtva *p: proc_adaos *p: proc_discount *p: proc_tvav *p: valoare *p: valoaretva * * BorderStyle = 1 bvizualizare = cobj = cpaymentcode = ctitlu = DoCreate = .T. FontCharSet = 238 Height = 466 lmonedanationala = .T. Name = "frm_introdnir" ncant_iesita = .F. ncant_stoc = .F. ncurs = 0 npretvoriginal = 0 npretv_nat = 0 npretv_val = 0 npret_nat = 0 npret_val = 0 ntaxcodeachizitie = NULL ntaxcodevanzare = NULL omemopref = .NULL. pretu_factura = 0 pretvtva = 0 proc_adaos = 0 proc_discount = 0 proc_tvav = 0 valoare = 0 valoaretva = 0 Width = 670 WindowType = 1 _memberdata = _shape1.Height = 30 _shape1.Left = 0 _shape1.Name = "_shape1" _shape1.Top = -1 _shape1.Width = 676 _shape1.ZOrderSet = 2 _shape2.Height = 29 _shape2.Left = 601 _shape2.Name = "_shape2" _shape2.Top = 0 _shape2.Width = 70 _shape2.ZOrderSet = 3 Lb_titlu_alb_b121.FontName = "Comic Sans MS" Lb_titlu_alb_b121.FontSize = 10 Lb_titlu_alb_b121.Left = 8 Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" Lb_titlu_alb_b121.TabIndex = 21 Lb_titlu_alb_b121.Top = 4 Lb_titlu_alb_b121.ZOrderSet = 4 BUT_TERMIN1.Left = 640 BUT_TERMIN1.Name = "BUT_TERMIN1" BUT_TERMIN1.TabIndex = 17 BUT_TERMIN1.Top = 1 BUT_TERMIN1.ZOrderSet = 5 Gridsort1.Name = "Gridsort1" * ADD OBJECT 'But_modiparam1' AS but_modiparam WITH ; Left = 532, ; Name = "But_modiparam1", ; TabIndex = 22, ; TabStop = .F., ; ToolTipText = "Conversie", ; Top = 233 *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> ADD OBJECT 'But_renunt1' AS but_renunt WITH ; Left = 571, ; Name = "But_renunt1", ; TabIndex = 18, ; Top = 1, ; ZOrderSet = 6 *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> ADD OBJECT 'But_renunt2' AS but_renunt WITH ; Left = 608, ; Name = "But_renunt2", ; Top = 1 *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> ADD OBJECT 'cbo_saft' AS combobox WITH ; BorderColor = 128,128,128, ; BorderStyle = 1, ; ColumnLines = .F., ; FontName = "Arial", ; FontSize = 10, ; Height = 20, ; InputMask = "", ; Left = 475, ; Name = "cbo_saft", ; RowSourceType = 3, ; SpecialEffect = 1, ; Style = 2, ; TabIndex = 27, ; TabStop = .F., ; Top = 207, ; Visible = .F., ; Width = 190 *< END OBJECT: BaseClass="combobox" /> ADD OBJECT 'cbo_tva_achizitie' AS _combobox WITH ; BorderColor = 128,128,128, ; BorderStyle = 1, ; Comment = "F", ; ControlSource = "", ; FontSize = 10, ; Height = 24, ; InputMask = "", ; Left = 475, ; Name = "cbo_tva_achizitie", ; SpecialEffect = 1, ; Style = 2, ; TabIndex = 28, ; TabStop = .F., ; Top = 164, ; Visible = .T., ; Width = 190 *< END OBJECT: ClassLib="_baza.vcx" BaseClass="combobox" /> ADD OBJECT 'cbo_tva_vanzare' AS _combobox WITH ; BorderColor = 128,128,128, ; BorderStyle = 1, ; Comment = "A", ; ControlSource = "", ; Left = 475, ; Name = "cbo_tva_vanzare", ; SpecialEffect = 1, ; Style = 2, ; TabIndex = 27, ; TabStop = .F., ; Top = 378, ; Visible = .T., ; Width = 190 *< END OBJECT: ClassLib="_baza.vcx" BaseClass="combobox" /> ADD OBJECT 'Clb_ITEM_adaos' AS clb_tx_simplu WITH ; BorderColor = 255,255,255, ; Comment = "A", ; Height = 23, ; Left = 472, ; Name = "Clb_ITEM_adaos", ; TabIndex = 13, ; Top = 333, ; Width = 77, ; TEXT_SIMPLU1.Alignment = 1, ; TEXT_SIMPLU1.BackColor = 224,224,224, ; TEXT_SIMPLU1.BorderStyle = 0, ; TEXT_SIMPLU1.Comment = "thisform.cobj.procent", ; TEXT_SIMPLU1.Height = 23, ; TEXT_SIMPLU1.InputMask = (get_mask(12,2)), ; TEXT_SIMPLU1.Left = 2, ; TEXT_SIMPLU1.Name = "TEXT_SIMPLU1", ; TEXT_SIMPLU1.SpecialEffect = 1, ; TEXT_SIMPLU1.Top = 2, ; TEXT_SIMPLU1.Width = 53, ; LB_SIMPLU1.Caption = "%", ; LB_SIMPLU1.Left = 61, ; LB_SIMPLU1.Name = "LB_SIMPLU1", ; LB_SIMPLU1.Top = 5 *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> ADD OBJECT 'cmdTVA1' AS cmd_executa WITH ; Caption = "19%", ; Left = 471, ; Name = "cmdTVA1", ; Top = 115, ; Visible = .F., ; Width = 30 *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> ADD OBJECT 'cmdTVA2' AS cmd_executa WITH ; Caption = "9%", ; Left = 501, ; Name = "cmdTVA2", ; Top = 115, ; Visible = .F., ; Width = 30 *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> ADD OBJECT 'cmdTVA3' AS cmd_executa WITH ; Caption = "5%", ; Left = 531, ; Name = "cmdTVA3", ; Top = 115, ; Visible = .F., ; Width = 30 *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> ADD OBJECT 'cmdTVA4' AS cmd_executa WITH ; Caption = "5%", ; Left = 561, ; Name = "cmdTVA4", ; Top = 115, ; Visible = .F., ; Width = 30 *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> ADD OBJECT 'cmdTVA5' AS cmd_executa WITH ; Caption = "5%", ; Left = 591, ; Name = "cmdTVA5", ; Top = 115, ; Visible = .F., ; Width = 30 *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> ADD OBJECT 'Image1' AS image WITH ; Height = 16, ; Left = 472, ; Name = "Image1", ; Picture = ..\grafice\alege.bmp, ; ToolTipText = "Alege fisa tehnologica alternativa (R)", ; Top = 263, ; Width = 16 *< END OBJECT: BaseClass="image" /> ADD OBJECT 'Item1' AS item WITH ; Comment = "F", ; Left = 14, ; Name = "Item1", ; TabIndex = 4, ; tip = F, ; Top = 117, ; ZOrderSet = 1, ; Label_item1.Caption = "Pret unitar pe factura", ; Label_item1.FontCharSet = 238, ; Label_item1.Name = "Label_item1", ; Text_item1.Comment = "thisform.pretu_factura", ; Text_item1.InputMask = (get_mask(12,gnPpret)), ; Text_item1.Name = "Text_item1", ; Lineo1.Name = "Lineo1", ; Lineo3.Name = "Lineo3", ; Lineo4.Name = "Lineo4", ; Lineo5.Name = "Lineo5", ; Lineo2.Name = "Lineo2" *< END OBJECT: ClassLib="baza.vcx" BaseClass="container" /> ADD OBJECT 'Item10' AS item WITH ; camp_lista = nume_gestiune,cgest, ; Comment = "N", ; fis_lista = Vnom_gestiuni , ; id_fisier = id_gestiune, ; label_item = Nume gestiune destinatie, ; Left = 14, ; Name = "Item10", ; pcobj = orul, ; TabIndex = 11, ; TabStop = .F., ; tip = N, ; Top = 286, ; ZOrderSet = 14, ; Label_item1.Caption = "Gestiunea", ; Label_item1.Name = "Label_item1", ; Text_item1.Comment = "thisform.cobj.gestin", ; Text_item1.ControlSource = "", ; Text_item1.Name = "Text_item1", ; Text_item1.ReadOnly = .T., ; Lineo1.Name = "Lineo1", ; Lineo3.Name = "Lineo3", ; Lineo4.Name = "Lineo4", ; Lineo5.Name = "Lineo5", ; Lineo2.Name = "Lineo2" *< END OBJECT: ClassLib="baza.vcx" BaseClass="container" /> ADD OBJECT 'Item11' AS item WITH ; camp_lista = sectie, ; Comment = "T", ; fis_lista = Vnom_sectii, ; id_fisier = id_sectie, ; label_item = Denumire sectie, ; Left = 14, ; Name = "Item11", ; pcobj = orul, ; TabIndex = 12, ; TabStop = .F., ; tip = , ; Top = 309, ; ZOrderSet = 14, ; Label_item1.Caption = "Sectia", ; Label_item1.Name = "Label_item1", ; Text_item1.Comment = "thisform.cobj.sectie", ; Text_item1.ControlSource = "", ; Text_item1.Name = "Text_item1", ; Text_item1.ReadOnly = .T., ; Lineo1.Name = "Lineo1", ; Lineo3.Name = "Lineo3", ; Lineo4.Name = "Lineo4", ; Lineo5.Name = "Lineo5", ; Lineo2.Name = "Lineo2" *< END OBJECT: ClassLib="baza.vcx" BaseClass="container" /> ADD OBJECT 'Item12' AS item WITH ; camp_lista = reteta, ; Comment = "N", ; fis_lista = , ; id_fisier = id_reteta, ; label_item = Fisa tehnologica, ; Left = 13, ; Name = "Item12", ; pcobj = orul, ; TabIndex = 10, ; TabStop = .T., ; tip = N, ; Top = 261, ; ZOrderSet = 14, ; Label_item1.Caption = "Fiºa tehnologica", ; Label_item1.Name = "Label_item1", ; Text_item1.Comment = "thisform.cobj.reteta", ; Text_item1.ControlSource = "", ; Text_item1.Name = "Text_item1", ; Text_item1.ReadOnly = .T., ; Lineo1.Name = "Lineo1", ; Lineo3.Name = "Lineo3", ; Lineo4.Name = "Lineo4", ; Lineo5.Name = "Lineo5", ; Lineo2.Name = "Lineo2" *< END OBJECT: ClassLib="baza.vcx" BaseClass="container" /> ADD OBJECT 'Item13' AS item WITH ; Comment = "T", ; Left = 14, ; Name = "Item13", ; TabIndex = 1, ; tip = T, ; Top = 40, ; ZOrderSet = 1, ; Label_item1.Caption = "Serie", ; Label_item1.Name = "Label_item1", ; Text_item1.Comment = "thisform.cobj.serie", ; Text_item1.Format = "K!", ; Text_item1.Name = "Text_item1", ; Text_item1.ReadOnly = .T., ; Lineo1.Name = "Lineo1", ; Lineo3.Name = "Lineo3", ; Lineo4.Name = "Lineo4", ; Lineo5.Name = "Lineo5", ; Lineo2.Name = "Lineo2" *< END OBJECT: ClassLib="baza.vcx" BaseClass="container" /> ADD OBJECT 'Item14' AS item WITH ; Comment = "T", ; Height = 21, ; Left = 478, ; Name = "Item14", ; TabIndex = 19, ; TabStop = .F., ; tip = T, ; Top = 40, ; Width = 136, ; ZOrderSet = 1, ; LABEL_ITEM1.Caption = "Cont", ; LABEL_ITEM1.Height = 18, ; LABEL_ITEM1.Left = 3, ; LABEL_ITEM1.Name = "LABEL_ITEM1", ; LABEL_ITEM1.Top = 2, ; LABEL_ITEM1.Width = 45, ; TEXT_ITEM1.Comment = "thisform.cobj.cont", ; TEXT_ITEM1.Format = "K!", ; TEXT_ITEM1.Height = 18, ; TEXT_ITEM1.Left = 52, ; TEXT_ITEM1.MaxLength = 4, ; TEXT_ITEM1.Name = "TEXT_ITEM1", ; TEXT_ITEM1.ReadOnly = .T., ; TEXT_ITEM1.Top = 1, ; TEXT_ITEM1.Width = 35, ; LINEO1.Name = "LINEO1", ; LINEO3.Name = "LINEO3", ; LINEO4.Name = "LINEO4", ; LINEO5.Name = "LINEO5", ; LINEO2.Name = "LINEO2" *< END OBJECT: ClassLib="baza.vcx" BaseClass="container" /> ADD OBJECT 'Item14.Text_item2' AS text_item WITH ; BackStyle = 1, ; BorderColor = 226,226,226, ; BorderStyle = 1, ; Comment = "thisform.cobj.acont", ; FontName = "Arial", ; Format = "K!", ; Height = 18, ; Left = 92, ; MaxLength = 4, ; Name = "Text_item2", ; ReadOnly = .T., ; Top = 1, ; Width = 35 *< END OBJECT: ClassLib="baza.vcx" BaseClass="textbox" /> ADD OBJECT 'Item15' AS item WITH ; Comment = "T", ; Left = 14, ; Name = "Item15", ; TabIndex = 2, ; tip = T, ; Top = 63, ; ZOrderSet = 1, ; Label_item1.Caption = "Numar lot", ; Label_item1.Name = "Label_item1", ; Text_item1.Comment = "thisform.cobj.lot", ; Text_item1.Format = "K!", ; Text_item1.Name = "Text_item1", ; Text_item1.ReadOnly = .T., ; Lineo1.Name = "Lineo1", ; Lineo3.Name = "Lineo3", ; Lineo4.Name = "Lineo4", ; Lineo5.Name = "Lineo5", ; Lineo2.Name = "Lineo2" *< END OBJECT: ClassLib="baza.vcx" BaseClass="container" /> ADD OBJECT 'Item16' AS item WITH ; Comment = "T", ; Left = 14, ; Name = "Item16", ; TabIndex = 3, ; tip = T, ; Top = 88, ; ZOrderSet = 1, ; Label_item1.Caption = "Data expirare", ; Label_item1.Name = "Label_item1", ; Text_item1.Comment = "thisform.cobj.adata_expirare", ; Text_item1.Format = "K!", ; Text_item1.Name = "Text_item1", ; Text_item1.ReadOnly = .T., ; Lineo1.Name = "Lineo1", ; Lineo3.Name = "Lineo3", ; Lineo4.Name = "Lineo4", ; Lineo5.Name = "Lineo5", ; Lineo2.Name = "Lineo2" *< END OBJECT: ClassLib="baza.vcx" BaseClass="container" /> ADD OBJECT 'Item17' AS item WITH ; camp_lista = nrord, ; Comment = "T", ; fis_lista = Vnom_lucrari, ; id_fisier = id_lucrare, ; label_item = Lucrarea/Comanda, ; Left = 14, ; Name = "Item17", ; pcobj = orul, ; TabIndex = 13, ; TabStop = .F., ; tip = , ; Top = 333, ; ZOrderSet = 14, ; Label_item1.Caption = "Lucrare", ; Label_item1.Name = "Label_item1", ; Text_item1.Comment = "thisform.cobj.nrord", ; Text_item1.ControlSource = "", ; Text_item1.Name = "Text_item1", ; Text_item1.ReadOnly = .T., ; Lineo1.Name = "Lineo1", ; Lineo3.Name = "Lineo3", ; Lineo4.Name = "Lineo4", ; Lineo5.Name = "Lineo5", ; Lineo2.Name = "Lineo2" *< END OBJECT: ClassLib="baza.vcx" BaseClass="container" /> ADD OBJECT 'Item2' AS item WITH ; Comment = "T", ; Left = 14, ; Name = "Item2", ; TabIndex = 5, ; tip = , ; Top = 140, ; ZOrderSet = 0, ; Label_item1.Caption = "Pret unitar de intrare NIR", ; Label_item1.Name = "Label_item1", ; Text_item1.Comment = "thisform.cobj.pret", ; Text_item1.InputMask = (get_mask(12,gnPpret)), ; Text_item1.Name = "Text_item1", ; Lineo1.Name = "Lineo1", ; Lineo3.Name = "Lineo3", ; Lineo4.Name = "Lineo4", ; Lineo5.Name = "Lineo5", ; Lineo2.Name = "Lineo2" *< END OBJECT: ClassLib="baza.vcx" BaseClass="container" /> ADD OBJECT 'Item3' AS item WITH ; Comment = "F", ; Left = 14, ; Name = "Item3", ; TabIndex = 6, ; tip = F, ; Top = 164, ; ZOrderSet = 7, ; Label_item1.Caption = "TVA (unitara)", ; Label_item1.Name = "Label_item1", ; Text_item1.Comment = "thisform.cobj.tva", ; Text_item1.InputMask = (get_mask(12,gnPpret)), ; Text_item1.Name = "Text_item1", ; Lineo1.Name = "Lineo1", ; Lineo3.Name = "Lineo3", ; Lineo4.Name = "Lineo4", ; Lineo5.Name = "Lineo5", ; Lineo2.Name = "Lineo2" *< END OBJECT: ClassLib="baza.vcx" BaseClass="container" /> ADD OBJECT 'Item4' AS item WITH ; Comment = "T", ; Left = 14, ; Name = "Item4", ; TabIndex = 7, ; tip = , ; Top = 188, ; ZOrderSet = 8, ; Label_item1.Caption = "Cantitate", ; Label_item1.Name = "Label_item1", ; Text_item1.Comment = "thisform.cobj.cant", ; Text_item1.InputMask = (get_mask(12,gnPcant)), ; Text_item1.Name = "Text_item1", ; Lineo1.Name = "Lineo1", ; Lineo3.Name = "Lineo3", ; Lineo4.Name = "Lineo4", ; Lineo5.Name = "Lineo5", ; Lineo2.Name = "Lineo2" *< END OBJECT: ClassLib="baza.vcx" BaseClass="container" /> ADD OBJECT 'Item5' AS item WITH ; Comment = "T", ; Left = 14, ; Name = "Item5", ; TabIndex = 8, ; tip = , ; Top = 212, ; ZOrderSet = 9, ; Label_item1.Caption = "Valoare ", ; Label_item1.Name = "Label_item1", ; Text_item1.Comment = "thisform.valoare", ; Text_item1.InputMask = (get_mask(12,gnPc)), ; Text_item1.Name = "Text_item1", ; Text_item1.ReadOnly = .T., ; Lineo1.Name = "Lineo1", ; Lineo3.Name = "Lineo3", ; Lineo4.Name = "Lineo4", ; Lineo5.Name = "Lineo5", ; Lineo2.Name = "Lineo2" *< END OBJECT: ClassLib="baza.vcx" BaseClass="container" /> ADD OBJECT 'Item6' AS item WITH ; Comment = "F", ; Left = 14, ; Name = "Item6", ; TabIndex = 9, ; tip = F, ; Top = 236, ; ZOrderSet = 10, ; Label_item1.Caption = "Valoare TVA", ; Label_item1.Name = "Label_item1", ; Text_item1.Comment = "thisform.valoaretva", ; Text_item1.InputMask = (get_mask(12,gnPc)), ; Text_item1.Name = "Text_item1", ; Text_item1.ReadOnly = .T., ; Lineo1.Name = "Lineo1", ; Lineo3.Name = "Lineo3", ; Lineo4.Name = "Lineo4", ; Lineo5.Name = "Lineo5", ; Lineo2.Name = "Lineo2" *< END OBJECT: ClassLib="baza.vcx" BaseClass="container" /> ADD OBJECT 'Item7' AS item WITH ; Comment = "A", ; Left = 14, ; Name = "Item7", ; TabIndex = 14, ; tip = A, ; Top = 355, ; ZOrderSet = 11, ; Label_item1.Caption = "Pret de vânzare cu TVA", ; Label_item1.Name = "Label_item1", ; Text_item1.Comment = "thisform.PretvTva", ; Text_item1.InputMask = (get_mask(12,gnPPretV)), ; Text_item1.Name = "Text_item1", ; Lineo1.Name = "Lineo1", ; Lineo3.Name = "Lineo3", ; Lineo4.Name = "Lineo4", ; Lineo5.Name = "Lineo5", ; Lineo2.Name = "Lineo2" *< END OBJECT: ClassLib="baza.vcx" BaseClass="container" /> ADD OBJECT 'Item8' AS item WITH ; Comment = "A", ; Left = 14, ; Name = "Item8", ; TabIndex = 15, ; tip = A, ; Top = 378, ; ZOrderSet = 12, ; Label_item1.Caption = "TVA vânzare", ; Label_item1.Name = "Label_item1", ; Text_item1.Comment = "thisform.cobj.tvav", ; Text_item1.InputMask = (get_mask(12,gnPPretV)), ; Text_item1.Name = "Text_item1", ; Text_item1.ReadOnly = .T., ; Lineo1.Name = "Lineo1", ; Lineo3.Name = "Lineo3", ; Lineo4.Name = "Lineo4", ; Lineo5.Name = "Lineo5", ; Lineo2.Name = "Lineo2" *< END OBJECT: ClassLib="baza.vcx" BaseClass="container" /> ADD OBJECT 'Item9' AS item WITH ; Comment = "X", ; Left = 14, ; Name = "Item9", ; TabIndex = 16, ; tip = A, ; Top = 401, ; ZOrderSet = 13, ; Label_item1.Caption = "Pret de vânzare fara TVA", ; Label_item1.Name = "Label_item1", ; Text_item1.Comment = "thisform.cobj.pretv", ; Text_item1.InputMask = (get_mask(12,gnPPretV)), ; Text_item1.Name = "Text_item1", ; Lineo1.Name = "Lineo1", ; Lineo3.Name = "Lineo3", ; Lineo4.Name = "Lineo4", ; Lineo5.Name = "Lineo5", ; Lineo2.Name = "Lineo2" *< END OBJECT: ClassLib="baza.vcx" BaseClass="container" /> ADD OBJECT 'lb_imputare' AS _label WITH ; BackStyle = 0, ; Caption = "Se imputa:", ; FontCharSet = 238, ; FontSize = 10, ; Height = 18, ; Left = 480, ; Name = "lb_imputare", ; TabIndex = 26, ; ToolTipText = "Se imputa", ; Top = 285, ; Width = 65 *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> ADD OBJECT 'lb_modparam' AS _label WITH ; AutoSize = .T., ; BackStyle = 0, ; Caption = "Conversie", ; Comment = "F", ; FontCharSet = 238, ; FontName = "Arial", ; Height = 18, ; Left = 475, ; Name = "lb_modparam", ; TabIndex = 23, ; Top = 238, ; Width = 58, ; ZOrderSet = 16 *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> ADD OBJECT 'lb_saft' AS label WITH ; AutoSize = .T., ; BackStyle = 0, ; Caption = "Cod taxa", ; FontName = "Arial", ; FontSize = 10, ; Height = 18, ; Left = 475, ; Name = "lb_saft", ; TabIndex = 25, ; Top = 191, ; Visible = .F., ; Width = 54 *< END OBJECT: BaseClass="label" /> ADD OBJECT 'lb_tva_achizitie' AS _label WITH ; AutoSize = .T., ; BackStyle = 0, ; Caption = "TVA achizitie", ; Comment = "F", ; FontCharSet = 238, ; FontName = "Arial", ; Height = 18, ; Left = 475, ; Name = "lb_tva_achizitie", ; TabIndex = 25, ; Top = 147, ; Visible = .T., ; Width = 79 *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> ADD OBJECT 'lb_tva_vanzare' AS _label WITH ; AutoSize = .T., ; BackStyle = 0, ; Caption = "TVA vânzare", ; Comment = "A", ; FontCharSet = 238, ; Height = 18, ; Left = 475, ; Name = "lb_tva_vanzare", ; TabIndex = 24, ; Top = 361, ; Visible = .T., ; Width = 75 *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> ADD OBJECT 'Opt_imputare' AS optiongroup WITH ; AutoSize = .T., ; BackStyle = 0, ; BorderStyle = 0, ; ButtonCount = 2, ; Height = 43, ; Left = 474, ; Name = "Opt_imputare", ; TabIndex = 20, ; Top = 295, ; Value = 1, ; Width = 72, ; Option1.AutoSize = .T., ; Option1.BackStyle = 0, ; Option1.Caption = "procent", ; Option1.FontCharSet = 238, ; Option1.FontName = "Arial", ; Option1.FontSize = 10, ; Option1.Height = 18, ; Option1.Left = 5, ; Option1.Name = "Option1", ; Option1.ToolTipText = "procentul de durata ramasa din durata de folosinta", ; Option1.Top = 5, ; Option1.Value = 1, ; Option1.Width = 62, ; Option2.AutoSize = .T., ; Option2.BackStyle = 0, ; Option2.Caption = "integral", ; Option2.FontCharSet = 238, ; Option2.FontName = "Arial", ; Option2.FontSize = 10, ; Option2.Height = 18, ; Option2.Left = 5, ; Option2.Name = "Option2", ; Option2.ToolTipText = "integral", ; Option2.Top = 20, ; Option2.Width = 61 *< END OBJECT: BaseClass="optiongroup" /> PROCEDURE actualizeaza_explicatie_saft Local lcWhere, llAchizitie, llVisible If !m.gl406 Return Endif llAchizitie = (oset.model = 2) && 2 = NIR lcWhere = [.T.] IF m.llAchizitie lcWhere = [tva_achizitii=1] IF this.cbo_tva_achizitie.Visible lcWhere = lcWhere + [ and procent_taxa = jtva_achizitie.cota_tva] ENDIF ELSE lcWhere = [tva_livrari=1] IF this.cbo_Tva_vanzare.Visible lcWhere = lcWhere + [ and procent_taxa = jtva_vanzare.cota_tva] ENDIF ENDIF * Pentru o factura de vanzare mut cbo_Saft sub cbo_tva_vanzare * Daca cbo_tva_vanzare este vizibil (ex: la vanzarea en-gros, cbo_tva_vanzare nu este vizibil) IF !m.llAchizitie AND This.cbo_tva_vanzare.Visible this.lb_saft.Top = this.cbo_tva_vanzare.Top + this.cbo_tva_vanzare.Height + 5 this.cbo_saft.Top = this.lb_saft.Top + this.lb_saft.Height ENDIF With This llVisible = .cbo_saft.Visible * Cod taxa SAFT .cbo_saft.RowSourceType = 3 && sql .cbo_saft.RowSource = [Select descriere, taxcode, procent_taxa From saft_taxtable where ] + m.lcWhere + [ Order by taxcode Into Cursor crsTaxTableX] .cbo_saft.ControlSource = [Thisform.cobj.taxcode] .cbo_saft.BoundColumn = 2 .cbo_saft.BoundTo = .T. .cbo_saft.ColumnCount = 3 .cbo_saft.ColumnWidths = "500,50,50" .cbo_saft.Visible = m.llVisible && se pune Visible = .T. cand se face BoundTo = .T. Endwith This.UpdateExplicatieSAFT() ENDPROC PROCEDURE aplicatva LPARAMETERS tcButonCaption && 24% Local lcCaption, lnCotaTva, lnPretCuTVA, lnPretFaraTVA, lnPretTVA lcCaption = m.tcButonCaption && 24% lnCotaTva = Val(Left(m.lcCaption, Len(m.lcCaption) - 1)) && 24 If m.gnNeplatitoare_tva = 1 lnPretFaraTVA = Thisform.item1.text_item1.Value lnPretTVA = 0 lnPretCuTVA = Round(m.lnPretFaraTVA * (100 + m.lnCotaTva) / 100, m.gnPpret) * firma neplatitoare TVA. Presupun ca este pretul fara TVA si aplic TVA unitar la pretul fara TVA Thisform.item1.text_item1.Value = m.lnPretCuTVA Thisform.item2.text_item1.Value = m.lnPretCuTVA Thisform.item3.text_item1.Value = m.lnPretTVA Else * firma platitoare TVA. Presupun ca este pretul cu TVA si scad TVA unitar din pretul cu TVA lnPretCuTVA = Thisform.item1.text_item1.Value lnPretTVA = Round(lnPretCuTVA * m.lnCotaTva / (100 + m.lnCotaTva), m.gnPpret) lnPretFaraTVA = lnPretCuTVA - lnPretTVA Thisform.item1.text_item1.Value = m.lnPretFaraTVA Thisform.item2.text_item1.Value = m.lnPretFaraTVA Thisform.item3.text_item1.Value = m.lnPretTVA Endif * Schimb cota de TVA din cbo_tva_achizitie si cbo_tva_vanzare doar daca firma este platitoare TVA If m.gnNeplatitoare_tva = 0 * Daca cota TVA achizitie <> cota TVA apasat, schimb TVA achizitie If Thisform.cbo_tva_achizitie.Visible Select jtva_achizitie lcColoanaAch = LEFT(coloana_jc,2) && RO[19NB] lnCotaTVAAch = cota_tva && 19 lnIdJtvaAch = id_jtva_coloana IF m.lnCotaTVAAch <> m.lnCotaTVA LOCATE FOR cota_tva = m.lnCotaTVA AND LEFT(coloana_jc,2) = m.lcColoanaAch IF !FOUND() LOCATE FOR id_jtva_coloana = m.lnIdJtvaAch ENDIF ENDIF lnIdJtvaAch = id_jtva_coloana thisform.cbo_tva_achizitie.Value = m.lnIdJtvaAch Thisform.do_alege_tvaach() ENDIF * Daca cota TVA vz <> cota TVA apasat, schimb TVA vz If Thisform.cbo_tva_vanzare.Visible Select jtva_vanzare lcColoanaVz = LEFT(coloana_jc,2) && RO[19NB] lnCotaTVAVz = cota_tva && 19 lnIdJtvaVz = id_jtva_coloana IF m.lnCotaTVAVz <> m.lnCotaTVA LOCATE FOR cota_tva = m.lnCotaTVA AND LEFT(coloana_jv,2) = m.lcColoanaVz IF !FOUND() LOCATE FOR id_jtva_coloana = m.lnIdJtvaVz ENDIF ENDIF lnIdJtvaVz = id_jtva_coloana Thisform.cbo_tva_vanzare.Value = m.lnIdJtvaVz Thisform.do_alege_tvavanz() ENDIF ENDIF && m.gnNeplatitoare_tva Thisform.item1.text_item1.Refresh() Thisform.item2.text_item1.Refresh() Thisform.item3.text_item1.Refresh() Thisform.item1.text_item1.SetFocus() ENDPROC PROCEDURE calculeaza_tva_ach Thisform.cobj.tva = Round(Thisform.cobj.Pret * (Thisform.cobj.proc_tva - 1),gnPpret) Thisform.item3.Refresh() ENDPROC PROCEDURE calculeaza_valori_ach Lparameters tnCantitate Local lnCantitate, lnPret, lnTva, lnProcTva, lnValoareACTva, lnValoareATva, lnValoareACTva lnCantitate = tnCantitate If !Thisform.blochezPretV And poact.id_set <> 104 && (la imputare, sa ma lase sa pun cu mana pretv) Thisform.cobj.TVAV = Round(Thisform.PRETVTVA * (Thisform.cobj.proc_tvav-1)/Iif(Thisform.cobj.proc_tvav <> 0, Thisform.cobj.proc_tvav,1), gnPPretV) Thisform.cobj.PRETV = Thisform.PRETVTVA - Thisform.cobj.TVAV Endif If !Empty(Thisform.cobj.Pret) And !Empty(Thisform.cobj.PRETV) Thisform.cobj.procent=Round((Thisform.cobj.PRETV/Thisform.cobj.Pret-1)*100, gnPc) Endif Thisform.item8.Refresh Thisform.item9.Refresh Thisform.clb_item_adaos.Refresh *!* v 2.0.24 lnPret = Thisform.cobj.Pret lnTva = Thisform.cobj.TVA lnProcTva = Iif(Thisform.cobj.PROC_TVA <> 0, Thisform.cobj.PROC_TVA, TVA2PROCTVA(lnTva, lnPret)) *!* in stoc nu exista coloana proc_tva !!! o calculez si o pun in rulaj Thisform.cobj.PROC_TVA = lnProcTva If !plNIRBONPretCuTVA lnValoareAFTva = Round(lnCantitate*lnPret, gnPc) lnValoareATva = Round(lnValoareAFTva * (lnProcTva-1), gnPc) lnValoareACTva = lnValoareAFTva + lnValoareATva Else lnValoareACTva = Round(lnCantitate*(lnPret+lnTva), gnPc) lnValoareATva = Round(lnValoareACTva * (lnProcTva - 1) / lnProcTva, gnPc) lnValoareAFTva = lnValoareACTva - lnValoareATva Endif Thisform.valoare = lnValoareAFTva Thisform.VALOAREtva = lnValoareATva *!* v 2.0.24 ^ Thisform.item5.Refresh Thisform.item6.Refresh ENDPROC PROCEDURE do_alege_reteta LOCAL lcselect,lcFiltru,lcSchema,lcOrder,lccoloane,lcTitlu,lcTitluColoane, lcNumeProc, llToateIreg, lcFiltruOriginal, lnPornire, llDesktop lcselect = [select id_reteta, reteta from vnom_retetar] lcSchema = [] lcOrder = [reteta] lccoloane = [reteta] lcTitlu = [Alegeti fisa tehnologica] lcTitluColoane = [Fisa tehnologica] lcFiltru = [] lcFiltruOriginal = [principala=0 and id_articol=]+ALLTRIM(STR(thisform.cobj.id_articol)) lcNumeProc = [] llToateIreg = .F. lnPornire = 1 llDesktop = .F. locauta = cauta_alfa(lcselect,lcFiltru,lcSchema,lcOrder,lccoloane,lcTitlu,lcTitluColoane, lcNumeProc, llToateIreg, lcFiltruOriginal,,lnPornire,,,llDesktop) && 11.07.2007 IF buton = 2 RETURN ENDIF thisform.cobj.id_reteta = locauta.id_reteta thisform.cobj.reteta = locauta.reteta ENDPROC PROCEDURE do_alege_tvaach Thisform.COBJ.PROC_TVA = (jtva_achizitie.cota_tva + 100 ) / 100 Thisform.COBJ.id_jtva_coloana = jtva_achizitie.id_jtva_coloana This.actualizeaza_explicatie_saft() *!* modificare ROAFACTURARE v 2.2.20 *!* Thisform.item1.teXT_ITEM1.Valid Thisform.calculeaza_tva_ach() Thisform.calculeaza_valori_ach(Thisform.item4.text_item1.Value) *!* modificare ROAFACTURARE v 2.2.20 ^ ENDPROC PROCEDURE do_alege_tvavanz If !('F' $ Thisform.bVizualizare) Thisform.COBJ.id_jtva_coloana = jtva_vanzare.id_jtva_coloana Endif If !Thisform.blochezPretV Thisform.COBJ.PROC_TVAv = (jtva_vanzare.cota_tva + 100)/100 Thisform.PROC_TVAv = (jtva_vanzare.cota_tva + 100)/100 Thisform.item7.teXT_ITEM1.InteractiveChange ENDIF This.actualizeaza_explicatie_saft() ENDPROC PROCEDURE do_executa *!* this.cobj.pretv = ROUND(this.cobj.pret * (1 + this.cobj.procent/100), gnPpret) *!* this.cobj.TVAV = ROUND(this.cobj.PRETV*(this.cobj.proC_TVAV-1), gnPpret) If !plNIRBONPretCuTVA This.cobj.pretv = Round(This.cobj.Pret * (1 + This.cobj.procent/100), gnPPretV) This.cobj.TVAV = Round(This.cobj.pretv*(This.cobj.proC_TVAV-1), gnPPretV) This.PRETVTVA = This.cobj.pretv + This.cobj.TVAV Else This.cobj.pretv = Round(This.cobj.Pret * (1 + This.cobj.procent/100), gnPPretV) thisform.pretvtva = Round((This.cobj.Pret + This.cobj.Tva) * (1 + This.cobj.procent/100), gnPPretV) This.cobj.TVAV = thisform.pretvtva - This.cobj.pretv EndIf This.item7.Refresh This.item8.Refresh This.item9.Refresh ENDPROC PROCEDURE do_modiparam Private pnTransformat, pnPretTr, ofrmconversie Store 0 To pnTransformat, pnPretTr ofrmconversie=Createobject('frm_conversie',Thisform.cobj.Pret,Thisform.cobj.um,Thisform.cobj.cant) ofrmconversie.Show(1) Release ofrmconversie If gnButon=1 *!* modificare v 2.0.150 *!* Thisform.pretu_factura = pnPretTr *!* Thisform.cobj.Pret = pnPretTr *!* Thisform.item1.Refresh() *!* Thisform.item1.SetFocus() *!* Thisform.item2.Refresh() *!* Thisform.item2.SetFocus() *!* Thisform.cobj.cant = pnTransformat *!* Thisform.item4.Refresh() *!* Thisform.item4.SetFocus() Thisform.item1.text_item1.Value = pnPretTr Thisform.item2.text_item1.Value = pnPretTr Thisform.item4.text_item1.Value = pnTransformat Thisform.item1.Refresh() Thisform.item1.SetFocus() Thisform.item2.Refresh() Thisform.item2.SetFocus() Thisform.item4.Refresh() Thisform.item4.SetFocus() *!* modificare v 2.0.150 ^ Endif ENDPROC PROCEDURE inainte_de_do_termin Local llReturn Store .T. To llReturn If oset.model = 2 Thisform.cobj.Cont = Thisform.item14.text_item1.Value lcCont = Thisform.cobj.Cont If Empty(Nvl(lcCont,[])) amessagebox("Nu ati completat contul!",48,"Atentie") Thisform.item14.SetFocus() llReturn = .F. Else lcSql = [begin ] + gcS + [.verifica_plcont_sintetic(?gnAn,'] + Alltrim(lcCont) + ['); end;] lnSucces = goExecutor.oExecute(lcSql) If lnSucces < 0 amessagebox(goExecutor.oPrelucrareEroare(),16,"Eroare") Thisform.item14.SetFocus() llReturn = .F. Endif Endif ENDIF *!* 27.05.2009 - cantitatea introdusa plus cantitatea iesita nu trebuie sa depaseasca cantitatea din stoc. *!* marius.felecanu IF thisform.ncant_stoc <> 0 IF thisform.ncant_iesita + thisform.item4.text_item1.Value > thisform.ncant_stoc AMESSAGEBOX("Cantitatea maxima existenta este: " + ALLTRIM(STR(thisform.ncant_stoc - thisform.ncant_iesita,18,4)),0+48,_screen.Caption) llReturn = .F. thisform.item4.SetFocus() ENDIF ENDIF *!* 27.05.2009 ^ *!* 09.06.2008 *!* id_set = 231 nir mf la pv cu modificarea listei de preturi If Type('poPreturi') = 'O' poPreturi.pretv = this.cobj.pretv poPreturi.tvav = this.cobj.tvav poPreturi.pretvtva = this.PretvTva EndIf *!* 09.06.2008 ^ *!* modificare ROAGEST v 2.0.53 If InList(oset.id_set,238,239,259,260,267) Thisform.COBJ.id_jtva_coloana = jtva_vanzare.id_jtva_coloana EndIf *!* modificare ROAGEST v 2.0.53 ^ *!* modificare ROAGEST v 2.2.29 If llReturn And !Isnull(Thisform.omemopref) Thisform.omemopref.id_jtva_ach = jtva_achizitie.id_jtva_coloana Thisform.omemopref.proc_tva = (jtva_achizitie.cota_tva + 100)/100 Thisform.omemopref.id_jtva_vanz = jtva_vanzare.id_jtva_coloana Thisform.omemopref.proc_tvav = (jtva_vanzare.cota_tva + 100)/100 Endif *!* modificare ROAGEST v 2.2.29 ^ Return llReturn ENDPROC PROCEDURE Init *!* modificare ROAGEST v 2.2.29 LPARAMETERS toDatePref DODEFAULT() Thisform.omemopref = IIF(TYPE("toDatePref")="O",toDatePref,NULL) *!* modificare ROAGEST v 2.2.29 ^ ENDPROC PROCEDURE KeyPress Lparameters nKeyCode, nShiftAltCtrl Do Case Case nKeyCode = 19 And nShiftAltCtrl = 4 And Thisform.item12.Visible && ALT + R Nodefault Thisform.do_alege_reteta() Case nKeyCode=13 And nShiftAltCtrl=2 Nodefault If Pemstatus(This,"do_modiparam",5) This.do_modiparam() Endif Otherwise DoDefault(nKeyCode, nShiftAltCtrl) Endcase ENDPROC PROCEDURE Load If !Used('saft_taxtable') update_saft_taxtable() Endif ENDPROC PROCEDURE Show *!* 01.07.2010 *!* MARIUS.MUTU *!* folosesc GetIdJtvaStandard - este relativa la luna contabila *!* 09.03.2014 *!* marius.mutu *!* Fac vizibile maxim 4 butoane cmdCotaTVA - pentru aplicarea cotei tva la pretul unitar de achizitie fara TVA *!* In cazul firmelor neplatitoare de TVA, pretul unitar de achizite fara TVA include si TVA unitar *!* 12.06.2015 *!* marius.mutu *!* setare explicatie tva 24% sau 9% pentru fct. achizitie cu politica de preturi, dupa cota de tva din politica de preturi *!* 03.01.2016 *!* marius.mutu *!* jtva_achizitie - setare TVA achizitie independent de xsets.id_jtax *!* 20.11.2017 *!* marius.mutu *!* jtva_achizitie - setare TVA achizitie preluand id_jtva de la articolul anterior Lparameters nStyle lnHeight = 0 * DARE IN FOLOSINTA OBIECTE DE INVENTAR. POT SA COMPLETEZ SERIA (NR INVENTAR) PENTRU CA INTRA IN RUL_OBINV CA INTRARE NOUA * schimb thisform.cobj.serie in thisform.cobj_serie_obinv, ca sa o pot modifica IF INLIST(oset.id_set , 55, 273) && dare in folosinta thisform.item13.text_item1.Comment = 'thisform.cobj.serie_obinv' * In caz ca este deja completata seria, o preiau pe serie_obinv thisform.cobj.serie_obinv = thisform.cobj.serie thisform.item13.text_item1.ReadOnly = .F. ENDIF For Each loControl In This.Controls With loControl If !Empty(loControl.Comment) If .Comment $ This.bVizualizare .Visible = .T. If 'ITEM' $ Upper(.Name) For Each loCtrSecund In loControl.Controls If 'TEXT' $ Upper(loCtrSecund.Name) lcControlSource = Alltrim(loCtrSecund.Comment) loCtrSecund.ControlSource = lcControlSource Endif Endfor *!* lcControlSource = ALLTRIM(.text_item1.comment) *!* .text_item1.controlsource = lcControlSource .pcobj = 'orul' Endif lnTop = .Top If lnTop > lnHeight lnHeight = lnTop Endif Else .Visible = .F. Endif Endif Endwith Endfor SET STEP ON IF m.gnNeplatitoare_tva <> 1 AND this.cbo_tva_achizitie.Visible *!* modificare 21.02.2007 *** Daca sunt la al doilea articol, preiau id_jtva_coloana de la articolul anterior llFound = .F. If !Empty(Thisform.cobj.id_jtva_coloana) Select jtva_achizitie Locate For id_jtva_coloana = Thisform.cobj.id_jtva_coloana llFound = Found() Endif If !m.llFound Select jtva_achizitie Do Case *!* modificare ROAGEST v 2.0.53 Case Inlist(oset.id_set,238,239,259,260,267) && Mf pv - Aviz retur marfa (valoric);Mf pv - Factura retur marfa (valorica);Mf pv - Factura retur marfa (valorica);Aviz retur marfa (valoric) *!* 01.07.2010 Locate For id_jtva_coloana = GetIdJtvaStandard('ACHIZITIE') Or id_jtva_ex = GetIdJtvaStandard('ACHIZITIE') && modificare v 2.2.0 : conditia de dupa or && 103 *!* 01.07.2010 ^ *!* modificare ROAGEST v 2.0.53 ^ Case Type('poAct.id_pol') = 'N' And Type('poAct.proc_tvav') = 'N' And !Empty(Nvl(poAct.id_pol,0)) And !Empty(Nvl(poAct.PROC_TVAv,0)) Locate For id_jtva_coloana = GetIdJtvaStandard('ACHIZITIE_VANZARE', poAct.PROC_TVAv) Or id_jtva_ex = GetIdJtvaStandard('ACHIZITIE_VANZARE', poAct.PROC_TVAv) Or id_jtva_ex = GetIdJtvaStandard('ACHIZITIE_MATERII', poAct.PROC_TVAv) Case Alltrim(This.cobj.Cont) = '371' And Inlist(oset.id_jtax, 137, 139, 141, 162, 186,216) && taxare inversa 19%, 162 = 24%, 186 = 20%, 216=21% Locate For id_jtva_coloana = GetIdJtvaStandard('ACHIZITIE_TI_VANZARE') Or id_jtva_ex = GetIdJtvaStandard('ACHIZITIE_TI_VANZARE') && 139 Case Alltrim(This.cobj.Cont) = '371' And Inlist(oset.id_jtax, 101, 103,105, 156, 176,208) && marfa 19 %, 156 = 24%, 176 = 20%, 208=21% Locate For id_jtva_coloana = GetIdJtvaStandard('ACHIZITIE_VANZARE') Or id_jtva_ex = GetIdJtvaStandard('ACHIZITIE_VANZARE') && 103 If !Found() Locate For id_jtva_coloana = GetIdJtvaStandard('ACHIZITIE_MATERII') Or id_jtva_ex = GetIdJtvaStandard('ACHIZITIE_MATERII') && 105 Endif Case Alltrim(This.cobj.Cont) = '371' Locate For id_jtva_coloana = GetIdJtvaStandard('ACHIZITIE_VANZARE') Or id_jtva_ex = GetIdJtvaStandard('ACHIZITIE_VANZARE') If !Found() Locate For id_jtva_coloana = GetIdJtvaStandard('ACHIZITIE_MATERII') Or id_jtva_ex = GetIdJtvaStandard('ACHIZITIE_MATERII') && 105 Endif Case Inlist(Left(Alltrim(This.cobj.Cont),2), '30', '31', '32') Locate For id_jtva_coloana = GetIdJtvaStandard('ACHIZITIE') Or id_jtva_ex = GetIdJtvaStandard('ACHIZITIE') If !Found() Locate For id_jtva_coloana = GetIdJtvaStandard('ACHIZITIE_VANZARE') Or id_jtva_ex = GetIdJtvaStandard('ACHIZITIE_VANZARE') && 103 Endif Otherwise Locate For id_jtva_coloana = oset.id_jtax Or id_jtva_ex = oset.id_jtax && modificare v 2.2.0 : conditia de dupa or Endcase ENDIF && !m.llFound If Found() *!* This.cbo_tva_achizitie.Value = Alltrim(denumire) v 2.2.29 Thisform.cobj.id_jtva_coloana = id_jtva_coloana This.cobj.proc_tva = (COTA_TVA + 100)/100 Endif *!* SELECT cote_tva *!* GO TOP *!* modificare 21.02.2007 ^ Endif SET STEP ON If 'F' $ This.bVizualizare And Empty(This.cobj.proc_tva) AND this.cbo_tva_achizitie.Visible *!* modificare 21.02.2007 Select jtva_achizitie Do Case Case Type('poAct.id_pol') = 'N' And Type('poAct.proc_tvav') = 'N' And !Empty(Nvl(poAct.id_pol,0)) And !Empty(Nvl(poAct.PROC_TVAv,0)) Locate For id_jtva_coloana = GetIdJtvaStandard('ACHIZITIE_VANZARE', poAct.PROC_TVAv) Or id_jtva_ex = GetIdJtvaStandard('ACHIZITIE_VANZARE', poAct.PROC_TVAv) Or id_jtva_ex = GetIdJtvaStandard('ACHIZITIE_MATERII', poAct.PROC_TVAv) Case Alltrim(This.cobj.Cont) = '371' And Inlist(oset.id_jtax, 137, 139, 141, 162, 186,216) && taxare inversa 19%, 162 = 24%, 186 = 20% Locate For id_jtva_coloana = GetIdJtvaStandard('ACHIZITIE_TI_VANZARE') Or id_jtva_ex = GetIdJtvaStandard('ACHIZITIE_TI_VANZARE') && 139 Case Alltrim(This.cobj.Cont) = '371' And Inlist(oset.id_jtax, 101,103,105, 156, 176,208) && marfa 19 %, 156 = 24%, 176 = 20% Locate For id_jtva_coloana = GetIdJtvaStandard('ACHIZITIE_VANZARE') Or id_jtva_ex = GetIdJtvaStandard('ACHIZITIE_VANZARE') && 103 Case Alltrim(This.cobj.Cont) = '371' Locate For id_jtva_coloana = GetIdJtvaStandard('ACHIZITIE_VANZARE') Or id_jtva_ex = GetIdJtvaStandard('ACHIZITIE_VANZARE') Case Inlist(Left(Alltrim(This.cobj.Cont),2), '30', '31', '32') Locate For id_jtva_coloana = GetIdJtvaStandard('ACHIZITIE') Or id_jtva_ex = GetIdJtvaStandard('ACHIZITIE') Otherwise Locate For id_jtva_coloana = oset.id_jtax Or id_jtva_ex = oset.id_jtax && modificare v 2.2.0 : conditia de dupa or Endcase If Found() *!* This.cbo_tva_achizitie.Value = Alltrim(denumire) v 2.2.29 Thisform.cobj.id_jtva_coloana = id_jtva_coloana This.cobj.proc_tva = (COTA_TVA + 100)/100 Endif *!* SELECT cote_tva *!* * GO top *!* lnProc_tva = proc_tva *!* lnproc = procent *!* THIS.cotaTVA_achizitie.VALUE = ALLTRIM(STR(lnproc)) *!* THIS.cobj.proc_tva = lnProc_tva *!* modificare 21.02.2007 ^ Endif SET STEP ON If 'A' $ This.bVizualizare If This.blochezPretV This.item7.Enabled = .F. This.item8.Enabled = .F. This.item9.Enabled = .F. This.Clb_ITEM_adaos.Visible = .F. *!* modificare 21.02.2007 lcFiltru = [cota_tva = ] + Alltrim(Str(Thisform.cobj.PROC_TVAv * 100 - 100)) Select jtva_vanzare Set Filter To &lcFiltru Go Top *!* This.cbo_tva_VANZARE.Value = Alltrim(denumire) v 2.2.29 If !('F' $ This.bVizualizare) This.cobj.id_jtva_coloana = id_jtva_coloana Endif *!* THIS.CotaTVA_vanzare.ENABLED = .F. *!* THIS.CotaTVA_vanzare.VALUE = ALLTRIM(STR(THIS.proc_tvav *100 - 100)) *!* modificare 21.02.2007 ^ Else *!* modificare 21.02.2007 Select jtva_vanzare Go Top *!* 01.07.2010 If Type('poAct.id_pol') = 'N' And Type('poAct.proc_tvav') = 'N' And !Empty(Nvl(poAct.id_pol,0)) And !Empty(Nvl(poAct.PROC_TVAv,0)) Locate For id_jtva_coloana = GetIdJtvaStandard('VANZARE', poAct.PROC_TVAv) Or id_jtva_ex = GetIdJtvaStandard('VANZARE', poAct.PROC_TVAv) Else *!* Locate For id_jtva_coloana = Iif(oset.tipjurnal=[JV],oset.id_jtax,1) Locate For id_jtva_coloana = Iif(oset.tipjurnal=[JV],oset.id_jtax,GetIdJtvaStandard('VANZARE')) Or id_jtva_ex = Iif(oset.tipjurnal=[JV],oset.id_jtax,GetIdJtvaStandard('VANZARE')) && modificare v 2.2.0 : conditia de dupa or Endif *!* 01.07.2010 ^ If Found() *!* This.cbo_tva_VANZARE.Value = id_jtva_coloana v 2.2.29 This.cobj.PROC_TVAv = (COTA_TVA + 100)/100 If !('F' $ This.bVizualizare) This.cobj.id_jtva_coloana = id_jtva_coloana Endif Endif *!* SELECT cote_tva *!* * GO top *!* lnProc_tva = proc_tva *!* lnproc = procent *!* THIS.CotaTVA_vanzare.VALUE = ALLTRIM(STR(lnproc)) *!* THIS.cobj.proc_tvav = lnProc_tva *!* modificare 21.02.2007 ^ Endif This.cobj.procent = Thisform.proc_adaos Endif *!* modificare ROAGEST v 2.2.29 Local lnIdJtvaAles If Inlist(oxset.id_set, 232, 235, 244, 262) && protocol fara TVA, sponsorizare Select jtva_vanzare lnIdJtvaAles = id_jtva_coloana Set Filter To COTA_TVA = 0 Locate For id_jtva_coloana = lnIdJtvaAles If !Found() Go Top Endif Endif * se tine cont de cota de la ultimul articol ales, dar nu si pentru achizitiile cu lista preturi de vanzare, la care am luat cota de tva din lista de preturi If !Isnull(Thisform.omemopref) And !(Type('poAct.id_pol') = 'N' And Type('poAct.proc_tvav') = 'N' And !Empty(Nvl(poAct.id_pol,0)) And !Empty(Nvl(poAct.PROC_TVAv,0))) Select jtva_achizitie lnIdJtvaAles = id_jtva_coloana Locate For id_jtva_coloana = Evl(Thisform.omemopref.id_jtva_ach,lnIdJtvaAles) If !Found() Locate For id_jtva_coloana = lnIdJtvaAles Endif If Thisform.cbo_tva_achizitie.Visible Thisform.do_alege_tvaach() Endif Select jtva_vanzare lnIdJtvaAles = id_jtva_coloana Locate For id_jtva_coloana = Evl(Thisform.omemopref.id_jtva_vanz,lnIdJtvaAles) If !Found() Locate For id_jtva_coloana = lnIdJtvaAles Endif If Thisform.cbo_tva_vanzare.Visible Thisform.do_alege_tvavanz() Endif Endif Release lnIdJtvaAles *!* modificare ROAGEST v 2.2.29 ^ * 31.08.2020 * Fac vizibile maxim 4 butoane cmdCotaTVA - pentru aplicarea/scaderea cotei tva la pretul unitar de achizitie fara/cu TVA * In cazul firmelor neplatitoare de TVA, se scrie pretul fara TVA, iar cand se apasa butonul se va include si TVA unitar * In cazul firmelor platitoare de TVA, se scrie pretul cu TVA de pe bonul fiscal, iar cand se apasa butonul se defalca in pret fara TVA si TVA unitar IF this.item1.Visible && pret unitar pe factura Select Distinct COTA_TVA From jtva_achizitie Where COTA_TVA <> 0 Order By COTA_TVA Desc Into Array laCoteTVA lnCoteTVA = _Tally For lnCotaIdx = 1 To Min(m.lnCoteTVA, 5) && 5 cote maxim lcControl = 'thisform.cmdTVA' + Alltrim(Str(m.lnCotaIdx)) lnCotaTVA = laCoteTVA[m.lnCotaIdx] lcCaption = Alltrim(Str(m.lnCotaTVA)) + '%' &lcControl..Caption = m.lcCaption &lcControl..ToolTipText = IIF(m.gnNeplatitoare_tva = 1, 'Aplica TVA la pretul fara TVA', 'Scade TVA din pretul cu TVA') &lcControl..Visible = .T. && este deja vizibil ENDFOR ENDIF *!* firmele neplatitoare de TVA sunt intitializate cu cota TVA 0% If m.gnNeplatitoare_tva = 1 *!* modificare 21.02.2007 Select jtva_achizitie Locate For id_jtva_coloana = 113 If Found() *!* This.cbo_tva_achizitie.Value = Alltrim(denumire) v 2.2.29 Thisform.cobj.id_jtva_coloana = id_jtva_coloana This.cobj.proc_tva = (COTA_TVA + 100)/100 Endif Select jtva_vanzare Locate For id_jtva_coloana = 11 If Found() *!* This.cbo_tva_VANZARE.Value = Alltrim(denumire) v 2.2.29 Thisform.cobj.PROC_TVAv = (jtva_vanzare.COTA_TVA + 100)/100 Thisform.PROC_TVAv = (jtva_vanzare.COTA_TVA + 100)/100 If !('F' $ This.bVizualizare) This.cobj.id_jtva_coloana = id_jtva_coloana Endif Endif ENDIF *!* modificare 21.02.2007 ^ * Factura vanzare si nu este vizibil cbo_tva_vanzare llAchizitie = (oset.model = 2) && 2 = NIR IF oset.factura AND !m.llAchizitie AND !this.cbo_tva_vanzare.Visible AND TYPE('poAct.id_jtva_coloana') = 'N' SELECT jtva_vanzare LOCATE FOR id_jtva_coloana = poAct.id_jtva_coloana IF FOUND() Thisform.cobj.id_jtva_coloana = id_jtva_coloana This.cobj.proc_tva = (COTA_TVA + 100)/100 ENDIF ENDIF If 'B' $ This.bVizualizare This.item4.SetFocus ENDIF * 55,273 Dare in folosinta, ma pozitionez pe serie IF INLIST(oset.id_set, 55,273) this.item13.SetFocus ENDIF *!* 29.09.2006 *!* MARIUS.MUTU *!* RETETA VIZIBILA DOAR IN ROAPRODUCTIE.pv_productie (FOARTE POSIBIL SI IN ROAGEST - PV PRODUCTIE) If Inlist(poAct.id_set,26001) This.ITEM12.Visible = .T. This.IMAGE1.Visible = .T. Else This.ITEM12.Visible = .F. This.IMAGE1.Visible = .F. Endif && opt_imputare If Inlist(poAct.id_set,104) And gnImputare = 1 This.lb_imputare.Visible = .T. This.opt_imputare.Visible= .T. Else This.lb_imputare.Visible = .F. This.opt_imputare.Visible = .F. Endif If poAct.id_set = 105 && NIR de marfa la pret de vanzare This.item7.text_item1.ReadOnly = .T. This.item9.text_item1.ReadOnly = .T. This.Clb_ITEM_adaos.text_simplu1.ReadOnly = .T. Endif *!* modificare 22.06 This.but_modiparam1.Visible=This.item4.Visible This.lb_modparam.Visible=This.item4.Visible *!* ^ This.Height = lnHeight + 90 && ultimul item + 90 (pentru lbs_saft si cbo_saft) This.lb_titlu_alb_b121.Caption = This.cTitlu *!* modificare 20.08.2007 If oset.model = 2 This.item13.text_item1.ReadOnly = .F. This.item14.text_item1.ReadOnly = .F. this.item14.text_item2.ReadOnly = .F. *!* modificare 18.01.2008 This.item15.text_item1.ReadOnly = .F. This.item16.text_item1.ReadOnly = .F. *!* modificare 18.01.2008 ^ Endif *!* modificare 20.08.2007 ^ *!* modificare v 2.2.29 : le-am initializat aici pentru ca s-a intamplat uneori sa imi apara formularul, *!* dar sa nu am selectata nicio valoare in combo, iar daca inchideam fereastra si o lansam din nou, *!* de abia atunci imi aparea valoarea selectata With Thisform.cbo_tva_achizitie If .Visible .ColumnCount = 3 .ColumnLines = .F. .ColumnWidths = [200,10,0] .RowSource = [jtva_achizitie.denumire,cota_tva,id_jtva_coloana] .RowSourceType = 6 .BoundColumn = 3 .BoundTo = .T. .Value = jtva_achizitie.id_jtva_coloana && Substr(jtva_achizitie.denumire,1,200) Endif Endwith With Thisform.cbo_tva_vanzare If .Visible .ColumnCount = 3 .ColumnLines = .F. .ColumnWidths = [200,10,0] .RowSource = [jtva_vanzare.denumire,cota_tva,id_jtva_coloana] .RowSourceType = 6 .BoundColumn = 3 .BoundTo = .T. .Value = jtva_vanzare.id_jtva_coloana && Substr(jtva_achizitie.denumire,1,200) Endif ENDWITH IF m.gl406 AND oset.factura AND (this.cbo_tva_achizitie.Visible OR this.cbo_tva_vanzare.Visible) * FACTURA + MODEL = 2 (NIR) * Factura vanzare en-gros nu are vizibila cbo_tva_vanzare This.cbo_saft.Visible = .T. this.lb_saft.Visible = .T. This.actualizeaza_explicatie_saft() ELSE IF m.gl406 AND oset.factura * Daca este factura , dar nu este vizibil cbo_saft (ex: vanzare en-gros) This.UpdateExplicatieSAFT() ENDIF ENDIF *!* modificare v 2.2.29 ^ If oset.id_set = 85 && MATERIALE RECUPERATE Thisform.cobj.PROC_TVA = 1 && ORUL.PROC_TVA = 1 nu are procent TVA ENDIF DoDefault() ENDPROC PROCEDURE updateexplicatiesaft LOCAL llAchizitie, laNesosit[1] Local llN100, llN50, llNeexigibil * tlAchizitie: .T. = factura achizitie Local ldDataAct, lnIdJtva, lnIdPart, llFurnizorRTVAI, lcProcentTaxa, lnTaxCode If !m.gl406 Return ENDIF llAchizitie = (oset.model = 2) && 2 = NIR ldDataAct = poAct.dataact If m.llAchizitie lnIdJtva = jtva_achizitie.id_jtva_coloana Else lnIdJtva = jtva_vanzare.id_jtva_coloana ENDIF llFurnizorRTVAI = .F. IF TYPE('pcobj.oPartenerRTVAI') = 'O' llFurnizorRTVAI = IIF(m.llAchizitie, IIF(PEMSTATUS(pcobj.oPartenerRTVAI, 'leinRtvai',5), pcobj.oPartenerRTVAI.leinRtvai, .F.), .F.) && poAct ENDIF * llN50/llN100 = .T. doar pentru linia cu Explicatie TVA = "Limitare deducere TVA" llN50 = .F. && (m.lnIdSet = 10609) && limitare deducere 50% llN100 = .F. && (m.lnIdSet = 10647) && limitare deducere 100% SELECT COUNT(*) as nr FROM xnote WHERE id_set = oset.id_set AND (LEFT(xscd,3) = '418' OR LEFT(xscc,3) = '408') INTO ARRAY laNesosit llNeexigibil = (laNesosit[1] > 0) && factura neintocmita/nesosita lnTaxCode = GetTaxCode(m.gnAn, m.gnLuna, m.ldDataAct, m.lnIdJtva, m.llFurnizorRTVAI, m.llN50, m.llN100, m.llNeexigibil) Thisform.cobj.taxcode = m.lnTaxCode This.UpdateLabelSaft(m.lnTaxCode) This.cbo_saft.Refresh() ENDPROC PROCEDURE updatelabelsaft LPARAMETERS lnTaxCode Local lcProcentTaxa lcProcentTaxa = '' IF SEEK(m.lnTaxCode, 'saft_taxtable', 'taxcode') lcProcentTaxa = Alltrim(Transform(saft_taxtable.procent_taxa)) + '%' ENDIF This.lb_saft.Caption = 'Taxa SAFT' + Iif(!Empty(NVL(m.lnTaxCode,0)), ' (' + Alltrim(Transform(m.lnTaxCode)) + ' ' + m.lcProcentTaxa + ')', '') * Schimb in culoarea rosie pentru a atentiona utilizatorul ca valoarea a fost schimbata This.lb_saft.ForeColor = Rgb(255, 0, 0) This.lb_saft.Refresh() ENDPROC PROCEDURE updatepaymentsaft If !m.gl406 Return Endif lnIdFdoc = Nvl(poAct.id_fdoc,0) If !Empty(m.lnIdFdoc) This.cPaymentCode = GetPaymentCode(m.lnIdFdoc) Else This.cPaymentCode = '' Endif This.cbo_plata_saft.Refresh() ENDPROC PROCEDURE cbo_saft.LostFocus This.ForeColor = Rgb(0, 0, 0) ENDPROC PROCEDURE cbo_saft.Valid Thisform.UpdateLabelSaft(Thisform.cobj.taxcode) ENDPROC PROCEDURE cbo_tva_achizitie.Valid Thisform.do_alege_tvaach() ENDPROC PROCEDURE cbo_tva_vanzare.Valid Thisform.do_alege_tvavanz() ENDPROC PROCEDURE Clb_ITEM_adaos.TEXT_SIMPLU1.InteractiveChange lcAtribuieValoare = This.ControlSource + [ = ] + Alltrim(Str(This.Value,12,2)) &lcAtribuieValoare Thisform.do_executa() ENDPROC PROCEDURE Clb_ITEM_adaos.TEXT_SIMPLU1.Valid *!* modificare ROAGEST v 2.0.53 *!* If Val(This.Text)=0 If Val(This.Text) = 0 Or Thisform.pretvtva = 0 *!* modificare ROAGEST v 2.0.53 ^ Thisform.do_executa() Endif ENDPROC PROCEDURE cmdTVA1.Click Thisform.AplicaTVA(this.Caption) ENDPROC PROCEDURE cmdTVA2.Click Thisform.AplicaTVA(this.Caption) ENDPROC PROCEDURE cmdTVA3.Click Thisform.AplicaTVA(this.Caption) ENDPROC PROCEDURE cmdTVA4.Click Thisform.AplicaTVA(this.Caption) ENDPROC PROCEDURE cmdTVA5.Click Thisform.AplicaTVA(this.Caption) ENDPROC PROCEDURE Image1.Click thisform.do_alege_reteta() ENDPROC PROCEDURE Item1.Text_item1.InteractiveChange If Thisform.proc_discount <> 0 Thisform.cobj.Pret = Round(This.Value*(100-Thisform.proc_discount)/100,gnPpret) Else Thisform.cobj.Pret = This.Value Endif *!* modificare ROAFACTURARE v 2.2.20 *!* *!* *!* CALCULEZ tva doar pentru seturile in afara de 231,234 (NIR mf pret de lista, NIR RATC) *!* *!* *!* la 231, 234 se ia pretul de pe ultimul NIR *!* *!* If !((poact.id_set = 231 or plNIRBONPretCuTVA) AND !Empty(Thisform.cobj.tva)) *!* Thisform.cobj.tva = Round(Thisform.cobj.Pret * (Thisform.cobj.proc_tva - 1),gnPpret) *!* *!* EndIf *!* Thisform.item3.Refresh Thisform.calculeaza_tva_ach() *!* modificare ROAFACTURARE v 2.2.20 ^ ENDPROC PROCEDURE Item1.Text_item1.ProgrammaticChange If Thisform.proc_discount <> 0 Thisform.cobj.Pret = Round(This.Value*(100-Thisform.proc_discount)/100,gnPpret) Else Thisform.cobj.Pret = This.Value Endif *!* *!* CALCULEZ tva doar pentru seturile in afara de 231,234 (NIR mf pret de lista, NIR RATC) *!* *!* la 231, 234 se ia pretul de pe ultimul NIR *!* If !((poact.id_set = 231 or plNIRBONPretCuTVA) AND !Empty(Thisform.cobj.tva)) *Thisform.cobj.tva = Round(Thisform.cobj.Pret * (Thisform.cobj.proc_tva - 1),gnPpret) *!* EndIf Thisform.item3.Refresh ENDPROC PROCEDURE Item1.Text_item1.Valid *!* modificare ROAFACTURARE v 2.2.20 *!* Thisform.item4.text_item1.Valid() Thisform.calculeaza_valori_ach(Thisform.item4.text_item1.Value) *!* modificare ROAFACTURARE v 2.2.20 ^ ENDPROC PROCEDURE Item2.Text_item1.InteractiveChange If 'F' $ Thisform.bvizualizare *!* modificare ROAFACTURARE v 2.2.20 *!* *!* If !((poact.id_set = 231 or plNIRBONPretCuTVA) AND !Empty(Thisform.cobj.tva)) *!* Thisform.cobj.tva = Round(Thisform.cobj.Pret * (Thisform.cobj.proc_tva - 1),gnPpret) *!* *!* EndIf *!* Thisform.item3.Refresh Thisform.calculeaza_tva_ach() *!* modificare ROAFACTURARE v 2.2.20 ^ Endif If Thisform.cobj.procent <> 0 And !INLIST(oset.id_set, 105, 231, 247, 266) && procent adaos - Achizitie fact. neplatita- marfa la pret de vanzare/achizitie Thisform.do_executa && calculeaza pretul de vanzare inclusiv Tva Endif ENDPROC PROCEDURE Item2.Text_item1.ProgrammaticChange If 'F' $ Thisform.bvizualizare *!* modificare ROAFACTURARE v 2.2.20 *!* *!* If !((poact.id_set = 231 or plNIRBONPretCuTVA) AND !Empty(Thisform.cobj.tva)) *!* Thisform.cobj.tva = Round(Thisform.cobj.Pret * (Thisform.cobj.proc_tva - 1),gnPpret) *!* *!* EndIf *!* Thisform.item3.Refresh Thisform.calculeaza_tva_ach() *!* modificare ROAFACTURARE v 2.2.20 ^ Endif If Thisform.cobj.procent <> 0 And !INLIST(oset.id_set, 105, 231, 247, 266) && procent adaos - Achizitie fact. neplatita- marfa la pret de vanzare/achizitie Thisform.do_executa && calculeaza pretul de vanzare inclusiv Tva Endif ENDPROC PROCEDURE Item2.Text_item1.Valid If 'F' $ Thisform.bvizualizare *!* modificare ROAFACTURARE v 2.2.20 *!* Thisform.item4.text_item1.Valid() Thisform.calculeaza_valori_ach(Thisform.item4.text_item1.Value) *!* modificare ROAFACTURARE v 2.2.20 ^ EndIf ENDPROC PROCEDURE Item4.Text_item1.Valid *!* modificare ROAFACTURARE v 2.2.20 *!* Local lnCantitate, lnPret, lnTva, lnProcTva, lnValoareACTva, lnValoareATva, lnValoareACTva *!* If !Thisform.blochezPretV AND poact.id_set <> 104 && (la imputare, sa ma lase sa pun cu mana pretv) *!* Thisform.cobj.TVAV = Round(Thisform.PRETVTVA * (Thisform.cobj.proc_tvav-1)/Iif(Thisform.cobj.proc_tvav <> 0, Thisform.cobj.proc_tvav,1), gnPPretV) *!* Thisform.cobj.PRETV = Thisform.PRETVTVA - Thisform.cobj.TVAV *!* Endif *!* If !Empty(Thisform.cobj.Pret) And !Empty(Thisform.cobj.PRETV) *!* Thisform.cobj.procent=Round((Thisform.cobj.PRETV/Thisform.cobj.Pret-1)*100, gnPc) *!* Endif *!* Thisform.item8.Refresh *!* Thisform.item9.Refresh *!* Thisform.clb_item_adaos.Refresh *!* *!* v 2.0.24 *!* *!* lnCantitate = this.Value *!* lnPret = thisform.cobj.PRET *!* lnTVA = thisform.cobj.TVA *!* lnProcTVA = Iif(Thisform.cobj.PROC_TVA <> 0, Thisform.cobj.PROC_TVA, TVA2PROCTVA(lnTVA, lnPret)) *!* *!* in stoc nu exista coloana proc_tva !!! o calculez si o pun in rulaj *!* Thisform.cobj.PROC_TVA = lnProcTva *!* If !plNIRBONPretCuTVA *!* lnValoareAFTva = Round(lnCantitate*lnPret, gnPC) *!* lnValoareATva = Round(lnValoareAFTva * (lnProcTVA-1), gnPC) *!* lnValoareACTva = lnValoareAFTva + lnValoareATva *!* Else *!* lnValoareACTva = Round(lnCantitate*(lnPret+lnTVA), gnPC) *!* lnValoareATva = Round(lnValoareACTva * (lnProcTva - 1) / lnProcTva, gnPC) *!* lnValoareAFTva = lnValoareACTva - lnValoareATva *!* EndIf *!* Thisform.valoare = lnValoareAFTva *!* Thisform.VALOAREtva = lnValoareATva *!* *!* v 2.0.24 ^ *!* Thisform.item5.Refresh *!* Thisform.item6.Refresh Thisform.calculeaza_valori_ach(This.Value) *!* modificare ROAFACTURARE v 2.2.20 ^ ENDPROC PROCEDURE Item7.Text_item1.InteractiveChange Thisform.PRETVTVA = This.Value Thisform.cobj.PRETV = Round(Thisform.PRETVTVA / Thisform.cobj.proc_tvav, gnPPretV) Thisform.cobj.TVAV = Thisform.PRETVTVA - Thisform.cobj.PRETV If !Empty(Thisform.cobj.Pret) And !Empty(Thisform.cobj.PRETV) Thisform.cobj.procent=Round((Thisform.cobj.PRETV/Thisform.cobj.Pret-1)*100, gnPc) Endif Thisform.item8.Refresh Thisform.item9.Refresh Thisform.clb_item_adaos.Refresh ENDPROC PROCEDURE Item7.Text_item1.Valid *!* thisform.cobj.TVAV = ROUND(thisform.PRETVTVA * (thisform.cobj.proc_tvav-1)/thisform.cobj.proc_tvav, gnPpret) *!* thisform.cobj.PRETV = thisform.PRETVTVA - thisform.cobj.TVAV ENDPROC PROCEDURE Item8.Text_item1.Valid *!* *!* thisform.cobj.TVAV = ROUND(thisform.cobj.PRETV*(thisform.cobj.proc_tvaV-1), gnPpret) *!* Thisform.cobj.TVAV = Round(Thisform.cobj.PRETV*(Thisform.cobj.proc_tvaV-1), gnPc) *!* Thisform.PRETVTVA = Thisform.cobj.PRETV + Thisform.cobj.TVAV *!* If !Empty(Thisform.cobj.Pret) And !Empty(Thisform.cobj.PRETV) *!* Thisform.cobj.procent=Round((Thisform.cobj.PRETV/Thisform.cobj.Pret-1)*100, gnPc) *!* Endif ENDPROC PROCEDURE Item9.Text_item1.InteractiveChange *!* nu stiu de ce atunci cand mai trec prin cantitate si apoi in pret vanzare fara tva intra in interactivechange fara sa modific valoare If thisform.nPretvOriginal = This.Value Return EndIf Thisform.cobj.PRETV = This.Value Thisform.cobj.TVAV = Round(Thisform.cobj.PRETV*(Thisform.cobj.proc_TVAV-1), gnPPretV) Thisform.PRETVTVA = Thisform.cobj.PRETV + Thisform.cobj.TVAV If !Empty(Thisform.cobj.Pret) And !Empty(Thisform.cobj.PRETV) Thisform.cobj.procent = Round((Thisform.cobj.PRETV/Thisform.cobj.Pret-1)*100, gnPc) Endif Thisform.item7.Refresh Thisform.item8.Refresh Thisform.clb_item_adaos.Refresh ENDPROC PROCEDURE Item9.Text_item1.Valid *!* thisform.cobj.TVAV = ROUND(thisform.cobj.PRETV*(thisform.cobj.proc_TVAV-1), gnPpret) ENDPROC PROCEDURE Item9.Text_item1.When thisform.nPretvOriginal = This.Value ENDPROC PROCEDURE Opt_imputare.Init pnImputare = this.Value ENDPROC PROCEDURE Opt_imputare.InteractiveChange pnImputare = this.Value ENDPROC PROCEDURE Opt_imputare.Valid pnImputare = this.Value ENDPROC ENDDEFINE DEFINE CLASS frm_introdnir_val 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="Item2" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Item13" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Item1" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="But_renunt1" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Item3" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Item4" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Item5" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Item7" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Item8" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Item9" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Item11" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Item6" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="lb_valuta_ach" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="lb_explicatie_curs" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Item10" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Item12" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="lb_valuta_vanz1" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="lb_valuta_vanz2" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="lb_valuta_vanz3" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="lb_valuta_ach_c" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="lb_valuta_vanz_c" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Clb_ITEM_adaos" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="cbo_tva_vanzare" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="lb_tva_vanzare" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="tx_curs_ach" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="tx_curs_vanz" UniqueID="" Timestamp="" /> #INCLUDE "..\include\foxpro.h" * *m: do_modiparam *p: blochezpretv *p: cobj *p: cparentobj *p: ctitlu *p: ncant_iesita *p: ncant_stoc *p: ncursach *p: ncursvanz *p: omemopref *p: pretvtva *p: pretvtvaval *p: proc_adaos *p: proc_discount *p: proc_tvav *p: valoare *p: valoaretva * * bvizualizare = cobj = ctitlu = DoCreate = .T. Height = 371 Name = "frm_introdnir_val" ncant_iesita = .F. ncant_stoc = .F. ncursach = 0 ncursvanz = 0 omemopref = NULL pretvtva = 0 pretvtvaval = 0 proc_adaos = 0 proc_discount = 0 proc_tvav = 0 valoare = 0 valoaretva = 0 Width = 634 WindowType = 1 _shape1.Height = 30 _shape1.Left = 0 _shape1.Name = "_shape1" _shape1.Top = -1 _shape1.Width = 636 _shape1.ZOrderSet = 2 _shape2.Height = 29 _shape2.Left = 567 _shape2.Name = "_shape2" _shape2.Top = 0 _shape2.Width = 67 _shape2.ZOrderSet = 3 Lb_titlu_alb_b121.FontName = "Comic Sans MS" Lb_titlu_alb_b121.FontSize = 10 Lb_titlu_alb_b121.Left = 8 Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" Lb_titlu_alb_b121.TabIndex = 17 Lb_titlu_alb_b121.Top = 4 Lb_titlu_alb_b121.ZOrderSet = 4 BUT_TERMIN1.Left = 601 BUT_TERMIN1.Name = "BUT_TERMIN1" BUT_TERMIN1.TabIndex = 15 BUT_TERMIN1.Top = 1 BUT_TERMIN1.ZOrderSet = 5 Gridsort1.Name = "Gridsort1" * ADD OBJECT 'But_renunt1' AS but_renunt WITH ; Left = 571, ; Name = "But_renunt1", ; TabIndex = 16, ; Top = 1, ; ZOrderSet = 6 *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> ADD OBJECT 'cbo_tva_vanzare' AS _combobox WITH ; BorderColor = 128,128,128, ; BorderStyle = 1, ; ColumnCount = 3, ; ColumnLines = .F., ; ColumnWidths = "200,10,0", ; Comment = "A", ; ControlSource = "", ; InputMask = "", ; Left = 475, ; Name = "cbo_tva_vanzare", ; RowSource = "jtva_vanzare.denumire,cota_tva,id_jtva_coloana", ; RowSourceType = 6, ; SpecialEffect = 1, ; Style = 2, ; TabIndex = 26, ; TabStop = .F., ; Top = 261, ; Visible = .T., ; Width = 149 *< END OBJECT: ClassLib="_baza.vcx" BaseClass="combobox" /> ADD OBJECT 'Clb_ITEM_adaos' AS clb_tx_simplu WITH ; BorderColor = 255,255,255, ; Comment = "A", ; Height = 29, ; Left = 472, ; Name = "Clb_ITEM_adaos", ; TabIndex = 8, ; Top = 216, ; Width = 83, ; TEXT_SIMPLU1.Alignment = 1, ; TEXT_SIMPLU1.BackColor = 224,224,224, ; TEXT_SIMPLU1.BorderStyle = 0, ; TEXT_SIMPLU1.Comment = "thisform.cobj.procent", ; TEXT_SIMPLU1.ControlSource = "", ; TEXT_SIMPLU1.Height = 23, ; TEXT_SIMPLU1.InputMask = (get_mask(12,2)), ; TEXT_SIMPLU1.Left = 2, ; TEXT_SIMPLU1.Name = "TEXT_SIMPLU1", ; TEXT_SIMPLU1.SpecialEffect = 1, ; TEXT_SIMPLU1.Top = 2, ; TEXT_SIMPLU1.Width = 58, ; LB_SIMPLU1.Caption = "%", ; LB_SIMPLU1.FontName = "Comic Sans MS", ; LB_SIMPLU1.Left = 66, ; LB_SIMPLU1.Name = "LB_SIMPLU1", ; LB_SIMPLU1.Top = 5 *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> ADD OBJECT 'Item1' AS item WITH ; Comment = "T", ; Left = 13, ; Name = "Item1", ; TabIndex = 2, ; tip = F, ; Top = 67, ; ZOrderSet = 1, ; Label_item1.Caption = "Pret achizitie in valuta", ; Label_item1.Name = "Label_item1", ; Text_item1.Comment = "thisform.cobj.pretd", ; Text_item1.InputMask = (get_mask(12,gnPpretVal)), ; Text_item1.Name = "Text_item1", ; Text_item1.ReadOnly = .T., ; Lineo1.Name = "Lineo1", ; Lineo3.Name = "Lineo3", ; Lineo4.Name = "Lineo4", ; Lineo5.Name = "Lineo5", ; Lineo2.Name = "Lineo2" *< END OBJECT: ClassLib="baza.vcx" BaseClass="container" /> ADD OBJECT 'Item10' AS item WITH ; Comment = "A", ; Left = 13, ; Name = "Item10", ; TabIndex = 13, ; TabStop = .F., ; tip = A, ; Top = 309, ; ZOrderSet = 12, ; LABEL_ITEM1.Caption = "TVA vanzare in valuta", ; LABEL_ITEM1.Name = "LABEL_ITEM1", ; TEXT_ITEM1.Comment = "thisform.cobj.tvaval", ; TEXT_ITEM1.InputMask = (get_mask(12,gnPVal)), ; TEXT_ITEM1.Name = "TEXT_ITEM1", ; TEXT_ITEM1.ReadOnly = .T., ; LINEO1.Name = "LINEO1", ; LINEO3.Name = "LINEO3", ; LINEO4.Name = "LINEO4", ; LINEO5.Name = "LINEO5", ; LINEO2.Name = "LINEO2" *< END OBJECT: ClassLib="baza.vcx" BaseClass="container" /> ADD OBJECT 'Item11' AS item WITH ; camp_lista = sectie, ; Comment = "T", ; fis_lista = Vnom_sectii, ; id_fisier = id_sectie, ; label_item = Denumire sectie, ; Left = 13, ; Name = "Item11", ; pcobj = orul, ; TabIndex = 7, ; TabStop = .F., ; tip = , ; Top = 189, ; ZOrderSet = 14, ; Label_item1.Caption = "Sectie", ; Label_item1.Name = "Label_item1", ; Text_item1.Comment = "thisform.cobj.sectie", ; Text_item1.ControlSource = "", ; Text_item1.Name = "Text_item1", ; Text_item1.ReadOnly = .T., ; Lineo1.Name = "Lineo1", ; Lineo3.Name = "Lineo3", ; Lineo4.Name = "Lineo4", ; Lineo5.Name = "Lineo5", ; Lineo2.Name = "Lineo2" *< END OBJECT: ClassLib="baza.vcx" BaseClass="container" /> ADD OBJECT 'Item12' AS item WITH ; Comment = "X", ; Left = 13, ; Name = "Item12", ; TabIndex = 14, ; tip = A, ; Top = 332, ; ZOrderSet = 13, ; LABEL_ITEM1.Caption = "Pret de vanzare fara TVA", ; LABEL_ITEM1.Name = "LABEL_ITEM1", ; TEXT_ITEM1.Comment = "thisform.cobj.pretvval", ; TEXT_ITEM1.InputMask = (get_mask(14,gnPVal)), ; TEXT_ITEM1.Name = "TEXT_ITEM1", ; LINEO1.Name = "LINEO1", ; LINEO3.Name = "LINEO3", ; LINEO4.Name = "LINEO4", ; LINEO5.Name = "LINEO5", ; LINEO2.Name = "LINEO2" *< END OBJECT: ClassLib="baza.vcx" BaseClass="container" /> ADD OBJECT 'Item13' AS item WITH ; Comment = "T", ; Left = 13, ; Name = "Item13", ; TabIndex = 1, ; tip = T, ; Top = 40, ; ZOrderSet = 1, ; Label_item1.Caption = "Serie", ; Label_item1.Name = "Label_item1", ; Text_item1.Comment = "thisform.cobj.serie", ; Text_item1.Format = "K!", ; Text_item1.Name = "Text_item1", ; Text_item1.ReadOnly = .T., ; Lineo1.Name = "Lineo1", ; Lineo3.Name = "Lineo3", ; Lineo4.Name = "Lineo4", ; Lineo5.Name = "Lineo5", ; Lineo2.Name = "Lineo2" *< END OBJECT: ClassLib="baza.vcx" BaseClass="container" /> ADD OBJECT 'Item2' AS item WITH ; Comment = "T", ; Left = 13, ; Name = "Item2", ; TabIndex = 3, ; tip = , ; Top = 90, ; ZOrderSet = 0, ; Label_item1.Caption = "Pret achizitie", ; Label_item1.Name = "Label_item1", ; Text_item1.Comment = "thisform.cobj.pret", ; Text_item1.InputMask = (get_mask(12,gnPpret)), ; Text_item1.Name = "Text_item1", ; Text_item1.ReadOnly = .T., ; Lineo1.Name = "Lineo1", ; Lineo3.Name = "Lineo3", ; Lineo4.Name = "Lineo4", ; Lineo5.Name = "Lineo5", ; Lineo2.Name = "Lineo2" *< END OBJECT: ClassLib="baza.vcx" BaseClass="container" /> ADD OBJECT 'Item3' AS item WITH ; Left = 13, ; Name = "Item3", ; TabIndex = 4, ; tip = F, ; Top = 114, ; ZOrderSet = 7, ; Label_item1.Caption = "Pret achizitie la cursul zilei", ; Label_item1.Name = "Label_item1", ; Text_item1.InputMask = (get_mask(12,gnPpret)), ; Text_item1.Name = "Text_item1", ; Text_item1.ReadOnly = .T., ; Lineo1.Name = "Lineo1", ; Lineo3.Name = "Lineo3", ; Lineo4.Name = "Lineo4", ; Lineo5.Name = "Lineo5", ; Lineo2.Name = "Lineo2" *< END OBJECT: ClassLib="baza.vcx" BaseClass="container" /> ADD OBJECT 'Item4' AS item WITH ; Comment = "T", ; Left = 13, ; Name = "Item4", ; TabIndex = 5, ; tip = , ; Top = 138, ; ZOrderSet = 8, ; Label_item1.Caption = "Cantitate", ; Label_item1.Name = "Label_item1", ; Text_item1.Comment = "thisform.cobj.cant", ; Text_item1.InputMask = (get_mask(12,gnPcant)), ; Text_item1.Name = "Text_item1", ; Lineo1.Name = "Lineo1", ; Lineo3.Name = "Lineo3", ; Lineo4.Name = "Lineo4", ; Lineo5.Name = "Lineo5", ; Lineo2.Name = "Lineo2" *< END OBJECT: ClassLib="baza.vcx" BaseClass="container" /> ADD OBJECT 'Item5' AS item WITH ; Comment = "T", ; Left = 13, ; Name = "Item5", ; TabIndex = 6, ; tip = , ; Top = 162, ; ZOrderSet = 9, ; Label_item1.Caption = "Valoare ", ; Label_item1.Name = "Label_item1", ; Text_item1.Comment = "thisform.valoare", ; Text_item1.InputMask = (get_mask(12,gnPc)), ; Text_item1.Name = "Text_item1", ; Text_item1.ReadOnly = .T., ; Lineo1.Name = "Lineo1", ; Lineo3.Name = "Lineo3", ; Lineo4.Name = "Lineo4", ; Lineo5.Name = "Lineo5", ; Lineo2.Name = "Lineo2" *< END OBJECT: ClassLib="baza.vcx" BaseClass="container" /> ADD OBJECT 'Item6' AS item WITH ; Comment = "A", ; Left = 13, ; Name = "Item6", ; TabIndex = 12, ; tip = A, ; Top = 286, ; ZOrderSet = 11, ; LABEL_ITEM1.Caption = "Pret de vanzare cu TVA in valuta", ; LABEL_ITEM1.Name = "LABEL_ITEM1", ; TEXT_ITEM1.Comment = "thisform.Pretvtvaval", ; TEXT_ITEM1.InputMask = (get_mask(14,gnPVal)), ; TEXT_ITEM1.Name = "TEXT_ITEM1", ; LINEO1.Name = "LINEO1", ; LINEO3.Name = "LINEO3", ; LINEO4.Name = "LINEO4", ; LINEO5.Name = "LINEO5", ; LINEO2.Name = "LINEO2" *< END OBJECT: ClassLib="baza.vcx" BaseClass="container" /> ADD OBJECT 'Item7' AS item WITH ; Comment = "A", ; Left = 13, ; Name = "Item7", ; TabIndex = 9, ; TabStop = .F., ; tip = A, ; Top = 216, ; ZOrderSet = 11, ; Label_item1.Caption = "Pret de vanzare cu TVA", ; Label_item1.Name = "Label_item1", ; Text_item1.Comment = "thisform.PretvTva", ; Text_item1.InputMask = (get_mask(12,gnPPretV)), ; Text_item1.Name = "Text_item1", ; Text_item1.ReadOnly = .T., ; Lineo1.Name = "Lineo1", ; Lineo3.Name = "Lineo3", ; Lineo4.Name = "Lineo4", ; Lineo5.Name = "Lineo5", ; Lineo2.Name = "Lineo2" *< END OBJECT: ClassLib="baza.vcx" BaseClass="container" /> ADD OBJECT 'Item8' AS item WITH ; Comment = "A", ; Left = 13, ; Name = "Item8", ; TabIndex = 10, ; TabStop = .F., ; tip = A, ; Top = 239, ; ZOrderSet = 12, ; Label_item1.Caption = "TVA vanzare", ; Label_item1.Name = "Label_item1", ; Text_item1.Comment = "thisform.cobj.tvav", ; Text_item1.InputMask = (get_mask(12,gnPPretV)), ; Text_item1.Name = "Text_item1", ; Text_item1.ReadOnly = .T., ; Lineo1.Name = "Lineo1", ; Lineo3.Name = "Lineo3", ; Lineo4.Name = "Lineo4", ; Lineo5.Name = "Lineo5", ; Lineo2.Name = "Lineo2" *< END OBJECT: ClassLib="baza.vcx" BaseClass="container" /> ADD OBJECT 'Item9' AS item WITH ; Comment = "X", ; Left = 13, ; Name = "Item9", ; TabIndex = 11, ; TabStop = .F., ; tip = A, ; Top = 262, ; ZOrderSet = 13, ; Label_item1.Caption = "Pret de vanzare fara TVA", ; Label_item1.Name = "Label_item1", ; Text_item1.Comment = "thisform.cobj.pretv", ; Text_item1.InputMask = (get_mask(12,gnPPretV)), ; Text_item1.Name = "Text_item1", ; Text_item1.ReadOnly = .T., ; Lineo1.Name = "Lineo1", ; Lineo3.Name = "Lineo3", ; Lineo4.Name = "Lineo4", ; Lineo5.Name = "Lineo5", ; Lineo2.Name = "Lineo2" *< END OBJECT: ClassLib="baza.vcx" BaseClass="container" /> ADD OBJECT 'lb_explicatie_curs' AS _label WITH ; AutoSize = .T., ; BackStyle = 0, ; Caption = "Curs valutar", ; FontName = "Comic Sans MS", ; ForeColor = 0,0,128, ; Height = 20, ; Left = 488, ; Name = "lb_explicatie_curs", ; TabIndex = 18, ; Top = 107, ; Width = 75, ; ZOrderSet = 16 *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> ADD OBJECT 'lb_tva_vanzare' AS _label WITH ; AutoSize = .T., ; BackStyle = 0, ; Caption = "TVA vanzare", ; Comment = "A", ; Height = 18, ; Left = 477, ; Name = "lb_tva_vanzare", ; TabIndex = 25, ; Top = 244, ; Visible = .T., ; Width = 75 *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> ADD OBJECT 'lb_valuta_ach' AS _label WITH ; AutoSize = .T., ; BackStyle = 0, ; Caption = "[Valuta]", ; Height = 18, ; Left = 474, ; Name = "lb_valuta_ach", ; TabIndex = 20, ; Top = 68, ; Width = 47, ; ZOrderSet = 16 *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> ADD OBJECT 'lb_valuta_ach_c' AS _label WITH ; AutoSize = .T., ; BackStyle = 0, ; Caption = "[Valuta]", ; FontName = "Comic Sans MS", ; ForeColor = 0,0,128, ; Height = 20, ; Left = 482, ; Name = "lb_valuta_ach_c", ; TabIndex = 24, ; Top = 132, ; Width = 50, ; ZOrderSet = 16 *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> ADD OBJECT 'lb_valuta_vanz1' AS _label WITH ; AutoSize = .T., ; BackStyle = 0, ; Caption = "[Valuta]", ; Left = 479, ; Name = "lb_valuta_vanz1", ; TabIndex = 21, ; Top = 287, ; Width = 47, ; ZOrderSet = 16 *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> ADD OBJECT 'lb_valuta_vanz2' AS _label WITH ; AutoSize = .T., ; BackStyle = 0, ; Caption = "[Valuta]", ; Left = 479, ; Name = "lb_valuta_vanz2", ; TabIndex = 19, ; Top = 310, ; Width = 47, ; ZOrderSet = 16 *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> ADD OBJECT 'lb_valuta_vanz3' AS _label WITH ; AutoSize = .T., ; BackStyle = 0, ; Caption = "[Valuta]", ; Left = 479, ; Name = "lb_valuta_vanz3", ; TabIndex = 23, ; Top = 333, ; Width = 47, ; ZOrderSet = 16 *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> ADD OBJECT 'lb_valuta_vanz_c' AS _label WITH ; AutoSize = .T., ; BackStyle = 0, ; Caption = "[Valuta]", ; FontName = "Comic Sans MS", ; ForeColor = 0,0,128, ; Height = 20, ; Left = 482, ; Name = "lb_valuta_vanz_c", ; TabIndex = 22, ; Top = 156, ; Width = 50, ; ZOrderSet = 16 *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> ADD OBJECT 'tx_curs_ach' AS _txbase WITH ; Alignment = 0, ; BorderStyle = 0, ; ControlSource = "thisform.ncursach", ; FontName = "Comic Sans MS", ; Height = 18, ; InputMask = (get_mask(6,4)), ; Left = 540, ; Name = "tx_curs_ach", ; ReadOnly = .T., ; SpecialEffect = 1, ; TabIndex = 27, ; TabStop = .F., ; Top = 132, ; Value = 0, ; Width = 84 *< END OBJECT: ClassLib="_tx_base.vcx" BaseClass="textbox" /> ADD OBJECT 'tx_curs_vanz' AS _txbase WITH ; Alignment = 0, ; BorderStyle = 0, ; ControlSource = "thisform.ncursvanz", ; FontName = "Comic Sans MS", ; Height = 18, ; InputMask = (get_mask(6,4)), ; Left = 540, ; Name = "tx_curs_vanz", ; ReadOnly = .T., ; SpecialEffect = 1, ; TabIndex = 28, ; TabStop = .F., ; Top = 156, ; Value = 0, ; Width = 84 *< END OBJECT: ClassLib="_tx_base.vcx" BaseClass="textbox" /> PROCEDURE do_executa This.cobj.pretv = Round(This.cobj.Pret * (1 + This.cobj.procent/100), gnPPretV) This.cobj.TVAV = Round(This.cobj.pretv*(This.cobj.proC_TVAV-1), gnPPretV) This.PRETVTVA = This.cobj.pretv + This.cobj.TVAV This.item7.Refresh This.item8.Refresh This.item9.Refresh thisform.cobj.pretvval = Round(Thisform.cobj.pretv / thisform.cobj.curs,gnPVal) thisform.cobj.tvaval = Round(Thisform.cobj.TVAV / thisform.cobj.curs,gnPVal) Thisform.pretvtvaval = thisform.cobj.pretvval + thisform.cobj.tvaval Thisform.item6.Refresh Thisform.item10.Refresh Thisform.item12.Refresh ENDPROC PROCEDURE do_modiparam ENDPROC PROCEDURE inainte_de_do_termin *!* 27.05.2009 - cantitatea introdusa plus cantitatea iesita nu trebuie sa depaseasca cantitatea din stoc. *!* marius.felecanu Local llReturn Store .T. To llReturn IF thisform.ncant_stoc <> 0 IF thisform.ncant_iesita + thisform.item4.text_item1.Value > thisform.ncant_stoc AMESSAGEBOX("Cantitatea maxima existenta este: " + ALLTRIM(STR(thisform.ncant_stoc - thisform.ncant_iesita,18,4)),0+48,_screen.Caption) llReturn = .F. thisform.item4.SetFocus() ENDIF ENDIF RETURN llReturn *!* 27.05.2009 ^ ENDPROC PROCEDURE Init LPARAMETERS toDatePref DODEFAULT() Thisform.omemopref = IIF(TYPE("toDatePref")="O",toDatePref,NULL) ENDPROC PROCEDURE Show Lparameters nStyle lnHeight = 0 With Thisform.lb_explicatie_curs .Caption = [Curs valutar ] + Dtoc(poAct.v8) .AutoSize = .T. Endwith Select crscursuri If !Empty(Nvl(Thisform.cobj.id_valuta,0)) Locate For id_valuta = Thisform.cobj.id_valuta If Found() Thisform.ncursach = Curs / multiplicator lcNumeValuta = Upper(Alltrim(nume_val)) With Thisform.lb_valuta_ach .Caption = lcNumeValuta .AutoSize = .T. Endwith With Thisform.lb_valuta_ach_c .Caption = lcNumeValuta .AutoSize = .T. Endwith Endif Thisform.item3.text_item1.Value = Round(Thisform.cobj.pretd*Thisform.ncursach,gnPPret) Else Thisform.ncursach = 0 Thisform.lb_valuta_ach.Visible = .F. Thisform.lb_valuta_ach_c.Visible = .F. Thisform.tx_curs_ach.Visible = .F. Thisform.item1.Visible = .F. Thisform.item3.Visible = .F. Thisform.lb_valuta_vanz_c.Top = Thisform.lb_valuta_ach_c.Top Thisform.tx_curs_vanz.Top = Thisform.tx_curs_ach.Top Endif If Nvl(Thisform.cobj.id_valuta,0) <> poAct.id_valuta_vanz *!* Locate For id_valuta = poAct.id_valuta_vanz *!* If Found() *!* Thisform.ncursvanz = Curs *!* lcNumeValuta = Upper(Alltrim(nume_val)) Thisform.ncursvanz = Thisform.cobj.Curs lcNumeValuta = poAct.nume_val_vanz *!* Endif Else Thisform.lb_valuta_vanz_c.Visible = .F. Thisform.tx_curs_vanz.Visible = .F. Endif With Thisform.lb_valuta_vanz1 .Caption = lcNumeValuta .AutoSize = .T. Endwith With Thisform.lb_valuta_vanz2 .Caption = lcNumeValuta .AutoSize = .T. Endwith With Thisform.lb_valuta_vanz3 .Caption = lcNumeValuta .AutoSize = .T. Endwith With Thisform.lb_valuta_vanz_c .Caption = lcNumeValuta .AutoSize = .T. Endwith Thisform.proc_adaos = 0 For Each loControl In This.Controls With loControl If !Empty(loControl.Comment) If .Comment $ This.bVizualizare .Visible = .T. If 'ITEM' $ Upper(.Name) For Each loCtrSecund In loControl.Controls If 'TEXT' $ Upper(loCtrSecund.Name) lcControlSource = Alltrim(loCtrSecund.Comment) loCtrSecund.ControlSource = lcControlSource Endif Endfor *!* lcControlSource = ALLTRIM(.text_item1.comment) *!* .text_item1.controlsource = lcControlSource .pcobj = 'orul' Endif lnTop = .Top If lnTop > lnHeight lnHeight = lnTop Endif Else .Visible = .F. Endif Endif Endwith Endfor If gnNeplatitoare_tva = 1 *!* modificare 21.02.2007 Select jtva_achizitie Locate For id_jtva_coloana = 113 If Found() This.cbo_tva_achizitie.Value = Alltrim(denumire) Thisform.cobj.id_jtva_coloana = id_jtva_coloana This.cobj.proc_tva = (cota_tva + 100)/100 Endif Select jtva_vanzare Locate For id_jtva_coloana = 11 If Found() This.cbo_tva_VANZARE.Value = Alltrim(denumire) Thisform.cobj.PROC_TVAv = (jtva_vanzare.cota_tva + 100)/100 Thisform.PROC_TVAv = (jtva_vanzare.cota_tva + 100)/100 If !('F' $ This.bVizualizare) This.cobj.id_jtva_coloana = id_jtva_coloana Endif Endif *!* SELECT cote_tva *!* LOCATE FOR proc_tva = 1.00 *!* IF !FOUND() *!* SELECT cote_tva *!* GO TOP *!* ENDIF *!* modificare 21.02.2007 ^ Else *!* modificare 21.02.2007 Select jtva_achizitie Do Case Case This.cobj.Cont = '371' And oset.id_jtax = 141 && taxare inversa 19 % Locate For id_jtva_coloana = 139 Case This.cobj.Cont = '371' And oset.id_jtax = 105 && marfa 19 % Locate For id_jtva_coloana = 103 Otherwise Locate For id_jtva_coloana = oset.id_jtax or id_jtva_ex = oset.id_jtax && modificare v 2.2.0 : conditia de dupa or Endcase If Found() This.cbo_tva_achizitie.Value = Alltrim(denumire) Thisform.cobj.id_jtva_coloana = id_jtva_coloana This.cobj.proc_tva = (cota_tva + 100)/100 Endif *!* SELECT cote_tva *!* GO TOP *!* modificare 21.02.2007 ^ Endif If 'F' $ This.bVizualizare And Empty(This.cobj.proc_tva) *!* modificare 21.02.2007 Select jtva_achizitie Do Case Case This.cobj.Cont = '371' And oset.id_jtax = 141 && taxare inversa 19 % Locate For id_jtva_coloana = 139 Case This.cobj.Cont = '371' And oset.id_jtax = 105 && marfa 19 % Locate For id_jtva_coloana = 103 Otherwise Locate For id_jtva_coloana = oset.id_jtax or id_jtva_ex = oset.id_jtax && modificare v 2.2.0 : conditia de dupa or Endcase If Found() This.cbo_tva_achizitie.Value = Alltrim(denumire) Thisform.cobj.id_jtva_coloana = id_jtva_coloana This.cobj.proc_tva = (cota_tva + 100)/100 Endif *!* SELECT cote_tva *!* * GO top *!* lnProc_tva = proc_tva *!* lnproc = procent *!* THIS.cotaTVA_achizitie.VALUE = ALLTRIM(STR(lnproc)) *!* THIS.cobj.proc_tva = lnProc_tva *!* modificare 21.02.2007 ^ Endif If 'A' $ This.bVizualizare If This.blochezPretV This.item7.Enabled = .F. This.item8.Enabled = .F. This.item9.Enabled = .F. This.Clb_ITEM_adaos.Visible = .F. *!* modificare 21.02.2007 lcFiltru = [cota_tva = ] + Alltrim(Str(Thisform.cobj.PROC_TVAv * 100 - 100)) Select jtva_vanzare Set Filter To &lcFiltru Go Top This.cbo_tva_VANZARE.Value = Alltrim(denumire) If !('F' $ This.bVizualizare) This.cobj.id_jtva_coloana = id_jtva_coloana Endif *!* THIS.CotaTVA_vanzare.ENABLED = .F. *!* THIS.CotaTVA_vanzare.VALUE = ALLTRIM(STR(THIS.proc_tvav *100 - 100)) *!* modificare 21.02.2007 ^ Else *!* modificare 21.02.2007 Select jtva_vanzare Locate For id_jtva_coloana = Iif(oset.tipjurnal=[JV],oset.id_jtax,GetIdJtvaStandard('VANZARE')) or id_jtva_ex = Iif(oset.tipjurnal=[JV],oset.id_jtax,GetIdJtvaStandard('VANZARE')) && modificare v 2.2.0 : conditia de dupa or If Found() This.cbo_tva_VANZARE.Value = Alltrim(denumire) This.cobj.PROC_TVAv = (cota_tva + 100)/100 If !('F' $ This.bVizualizare) This.cobj.id_jtva_coloana = id_jtva_coloana Endif Endif *!* SELECT cote_tva *!* * GO top *!* lnProc_tva = proc_tva *!* lnproc = procent *!* THIS.CotaTVA_vanzare.VALUE = ALLTRIM(STR(lnproc)) *!* THIS.cobj.proc_tvav = lnProc_tva *!* modificare 21.02.2007 ^ Endif This.cobj.procent = Thisform.proc_adaos Endif This.lb_titlu_alb_b121.Caption = This.cTitlu This.item4.SetFocus *!* modificare ROAFACTURARE v 2.0.90 If Thisform.ncursach <> Round(Thisform.ncursach,4) Thisform.tx_curs_ach.InputMask = get_mask(8,6) Endif If Thisform.ncursvanz <> Round(Thisform.ncursvanz,4) Thisform.tx_curs_vanz.InputMask = get_mask(8,6) Endif *!* modificare ROAFACTURARE v 2.0.90 ^ DoDefault() ENDPROC PROCEDURE cbo_tva_vanzare.Valid If !('F' $ Thisform.bVizualizare) Thisform.COBJ.id_jtva_coloana = jtva_vanzare.id_jtva_coloana Endif If !Thisform.blochezPretV Thisform.COBJ.PROC_TVAv = (jtva_vanzare.cota_tva + 100)/100 Thisform.PROC_TVAv = (jtva_vanzare.cota_tva + 100)/100 Thisform.item7.teXT_ITEM1.InteractiveChange Endif ENDPROC PROCEDURE Clb_ITEM_adaos.TEXT_SIMPLU1.Valid thisform.do_executa ENDPROC PROCEDURE Item12.TEXT_ITEM1.InteractiveChange thisform.cobj.pretvval = This.Value thisform.cobj.tvaval = Round(thisform.cobj.pretvval * (Thisform.cobj.proc_tvav-1),gnPVal) Thisform.pretvtvaval = thisform.cobj.pretvval + thisform.cobj.tvaval Thisform.item6.Refresh Thisform.item10.Refresh Thisform.cobj.PRETV = Round(thisform.cobj.pretvval * thisform.cobj.curs , gnPPretV) Thisform.cobj.TVAV = Round(thisform.cobj.tvaval * thisform.cobj.curs, gnPPretV) Thisform.PRETVTVA = Thisform.cobj.PRETV + Thisform.cobj.TVAV If !Empty(Thisform.cobj.Pret) And !Empty(Thisform.cobj.PRETV) Thisform.cobj.procent = Round((Thisform.cobj.PRETV/Thisform.cobj.Pret-1)*100, gnPc) Endif Thisform.item7.Refresh Thisform.item8.Refresh Thisform.item9.Refresh Thisform.clb_item_adaos.Refresh ENDPROC PROCEDURE Item4.Text_item1.Valid If !Thisform.blochezPretV AND poact.id_set <> 104 && (la imputare, sa ma lase sa pun cu mana pretv) *!* thisform.cobj.TVAV = ROUND(thisform.PRETVTVA * (thisform.cobj.proc_tvav-1)/IIF(thisform.cobj.proc_tvav <> 0, thisform.cobj.proc_tvav,1), gnPpret) Thisform.cobj.TVAV = Round(Thisform.PRETVTVA * (Thisform.cobj.proc_tvav-1)/Iif(Thisform.cobj.proc_tvav <> 0, Thisform.cobj.proc_tvav,1), gnPPretV) Thisform.cobj.PRETV = Thisform.PRETVTVA - Thisform.cobj.TVAV Endif If !Empty(Thisform.cobj.Pret) And !Empty(Thisform.cobj.PRETV) Thisform.cobj.procent=Round((Thisform.cobj.PRETV/Thisform.cobj.Pret-1)*100, gnPc) Endif Thisform.item8.Refresh Thisform.item9.Refresh Thisform.clb_item_adaos.Refresh Thisform.valoare = Round(This.Value * Thisform.cobj.Pret,gnPc) Thisform.VALOAREtva = Round(Thisform.valoare*(Thisform.cobj.PROC_TVA-1),gnPc) Thisform.item5.Refresh Thisform.item6.Refresh ENDPROC PROCEDURE Item6.TEXT_ITEM1.InteractiveChange Thisform.pretvtvaval = This.Value thisform.cobj.pretvval = Round(Thisform.pretvtvaval / Thisform.cobj.proc_tvav,gnPVal) thisform.cobj.tvaval = Thisform.pretvtvaval - thisform.cobj.pretvval Thisform.item10.Refresh Thisform.item12.Refresh Thisform.PRETVTVA = Round(Thisform.pretvtvaval * thisform.cobj.curs, gnPPretV) Thisform.cobj.PRETV = Round(thisform.cobj.pretvval * thisform.cobj.curs, gnPPretV) Thisform.cobj.TVAV = Thisform.PRETVTVA - Thisform.cobj.PRETV If !Empty(Thisform.cobj.Pret) And !Empty(Thisform.cobj.PRETV) Thisform.cobj.procent=Round((Thisform.cobj.PRETV/Thisform.cobj.Pret-1)*100, gnPc) Endif Thisform.item7.Refresh Thisform.item8.Refresh Thisform.item9.Refresh Thisform.clb_item_adaos.Refresh ENDPROC PROCEDURE Item6.TEXT_ITEM1.Valid *!* thisform.cobj.TVAV = ROUND(thisform.PRETVTVA * (thisform.cobj.proc_tvav-1)/thisform.cobj.proc_tvav, gnPpret) *!* thisform.cobj.PRETV = thisform.PRETVTVA - thisform.cobj.TVAV ENDPROC PROCEDURE Item7.Text_item1.InteractiveChange Thisform.PRETVTVA = This.Value Thisform.cobj.PRETV = Round(Thisform.PRETVTVA / Thisform.cobj.proc_tvav, gnPPretV) Thisform.cobj.TVAV = Thisform.PRETVTVA - Thisform.cobj.PRETV If !Empty(Thisform.cobj.Pret) And !Empty(Thisform.cobj.PRETV) Thisform.cobj.procent=Round((Thisform.cobj.PRETV/Thisform.cobj.Pret-1)*100, gnPc) Endif Thisform.item8.Refresh Thisform.item9.Refresh Thisform.clb_item_adaos.Refresh Thisform.pretvtvaval = Round(Thisform.PRETVTVA / thisform.cobj.curs,gnPVal) thisform.cobj.pretvval = Round(Thisform.cobj.PRETV / thisform.cobj.curs,gnPVal) thisform.cobj.tvaval = Thisform.pretvtvaval - thisform.cobj.pretvval Thisform.item6.Refresh Thisform.item10.Refresh Thisform.item12.Refresh ENDPROC PROCEDURE Item9.Text_item1.InteractiveChange Thisform.cobj.PRETV = This.Value Thisform.cobj.TVAV = Round(Thisform.cobj.PRETV*(Thisform.cobj.proc_TVAV-1), gnPPretV) Thisform.PRETVTVA = Thisform.cobj.PRETV + Thisform.cobj.TVAV If !Empty(Thisform.cobj.Pret) And !Empty(Thisform.cobj.PRETV) Thisform.cobj.procent = Round((Thisform.cobj.PRETV/Thisform.cobj.Pret-1)*100, gnPc) Endif Thisform.item7.Refresh Thisform.item8.Refresh Thisform.clb_item_adaos.Refresh thisform.cobj.pretvval = Round(Thisform.cobj.PRETV / thisform.cobj.curs,gnPVal) thisform.cobj.tvaval = Round(Thisform.cobj.TVAV / thisform.cobj.curs,gnPVal) Thisform.pretvtvaval = thisform.cobj.pretvval + thisform.cobj.tvaval Thisform.item6.Refresh Thisform.item10.Refresh Thisform.item12.Refresh ENDPROC ENDDEFINE DEFINE CLASS import_adauga_factura 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="shpDvi" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="_shape3" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="_shape4" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="lblFelDoc" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="txtFelDoc" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="cmdFelDoc" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="lblSerie" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="txtSerie" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="lblNr" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="txtNr" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="lblData" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="txtData" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="lblPartener" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="txtPartener" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="cmdPartener" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="_label1" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="txtFelDocDVI" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="lblSuma" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="txtSuma" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="lblValuta" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="txtValuta" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="cmdValuta" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="lblCurs" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="txtCurs" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="chkParticipaValuta" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="chkInValutaCont" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="optTipTva" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="_label2" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="lblExplicatieTva" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="txtExplicatieTva" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="cmdExplicatieTva" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="lblPedagogieDvi" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="lblDviNr" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="txtDviNr" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="lblDviData" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="txtDviData" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="lblDviPartener" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="txtDviPartener" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="cmdDviPartener" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="lblDviTvaVal" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="txtDviTvaVal" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="lblDviTvaLei" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="txtDviTvaLei" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="But_renunt1" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="lblProcentTva" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="txtProcentTva" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="cmdFelDocDVI" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="txtSumaLei" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="lblSumaLei" UniqueID="" Timestamp="" /> * *m: actualizeaza_stare_dvi *m: actualizeaza_stare_valuta *m: actualizeaza_tabstop *m: arata_valuta_curs *m: construieste_todlg *m: recalc_tva *m: seteaza_masti *m: valideaza *p: cdvipartener *p: cdviserie *p: cexplicatia *p: cexplicatietva *p: cfeldoc *p: cfeldocdvi *p: cpartener *p: cserieact *p: cseriedvi *p: cvaluta *p: ddata *p: ddataact *p: ddvidata *p: lcursdirty *p: linvalutadirty && bifa "in valuta" schimbata explicit de utilizator - nu o mai fortez *p: lsumaleidirty && suma in lei a fost editata manual - recalc_tva nu o mai suprascrie *p: lsuprimadirty *p: ncurs *p: ndviidpartener *p: ndvitvalei *p: ndvitvaval *p: nidexplicatietva *p: nidfdoc *p: nidfdocdvi *p: nidpartener *p: nidvaluta *p: nnract *p: nnractdvi *p: nprocenttva *p: nsuma *p: nsumalei && suma fara TVA in lei (calculata, doar afisare) *p: oparinte && referinta catre import_nota care a deschis dialogul * * BorderStyle = 1 cdvipartener = "" cdviserie = "" cexplicatia = "" cexplicatietva = "" cfeldoc = "" cfeldocdvi = "" cpartener = "" cserieact = "" cseriedvi = "" cvaluta = "" ddata = {} ddataact = {} ddvidata = {} DoCreate = .T. Height = 406 lcursdirty = .F. linvalutadirty = .F. lsumaleidirty = .F. lsuprimadirty = .F. Name = "import_adauga_factura" ncurs = 0 ndviidpartener = 0 ndvitvalei = 0 ndvitvaval = 0 nidexplicatietva = 0 nidfdoc = 0 nidfdocdvi = 0 nidpartener = 0 nidvaluta = 0 nnract = 0 nnractdvi = 0 nprocenttva = 0 nsuma = 0 nsumalei = 0 oparinte = Width = 616 _shape1.Height = 29 _shape1.Left = 0 _shape1.Name = "_shape1" _shape1.Top = 0 _shape1.Width = 642 _shape1.ZOrderSet = 3 _shape2.Left = 549 _shape2.Name = "_shape2" _shape2.Top = 0 _shape2.ZOrderSet = 4 Lb_titlu_alb_b121.Caption = "Adauga factura" Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" Lb_titlu_alb_b121.ZOrderSet = 5 BUT_TERMIN1.Left = 586 BUT_TERMIN1.Name = "BUT_TERMIN1" BUT_TERMIN1.TabIndex = 27 BUT_TERMIN1.Top = 1 BUT_TERMIN1.Visible = .T. BUT_TERMIN1.ZOrderSet = 6 Gridsort1.Left = 5 Gridsort1.Name = "Gridsort1" Gridsort1.Top = 31 * ADD OBJECT '_label1' AS _label WITH ; AutoSize = .F., ; BackStyle = 0, ; Caption = "Fel doc", ; FontBold = .T., ; Height = 17, ; Left = 25, ; Name = "_label1", ; Top = 305, ; Width = 50, ; ZOrderSet = 8 *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> ADD OBJECT '_label2' AS _label WITH ; AutoSize = .T., ; BackStyle = 0, ; Caption = "completati TVA% si apoi alegeti Explicatie TVA", ; FontBold = .F., ; FontItalic = .T., ; FontSize = 9, ; Height = 17, ; Left = 20, ; Name = "_label2", ; Top = 252, ; Width = 257, ; ZOrderSet = 32 *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> ADD OBJECT '_shape3' AS _shape WITH ; BackColor = 240,225,255, ; BackStyle = 0, ; Height = 157, ; Left = 12, ; Name = "_shape3", ; SpecialEffect = 0, ; Top = 36, ; Width = 592, ; ZOrderSet = 1 *< END OBJECT: ClassLib="_baza.vcx" BaseClass="shape" /> ADD OBJECT '_shape4' AS _shape WITH ; BackColor = 197,197,226, ; BackStyle = 0, ; Height = 83, ; Left = 12, ; Name = "_shape4", ; SpecialEffect = 0, ; Top = 191, ; Width = 592, ; ZOrderSet = 2 *< END OBJECT: ClassLib="_baza.vcx" BaseClass="shape" /> ADD OBJECT 'But_renunt1' AS but_renunt WITH ; Left = 556, ; Name = "But_renunt1", ; TabIndex = 28, ; Top = 1, ; ZOrderSet = 47 *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> ADD OBJECT 'chkInValutaCont' AS _checkbox WITH ; Alignment = 0, ; AutoSize = .F., ; BackStyle = 0, ; Caption = "Suma in valuta in contabilitate", ; Height = 31, ; Left = 491, ; Name = "chkInValutaCont", ; TabIndex = 14, ; TabStop = .F., ; Top = 117, ; Value = 1, ; Width = 102, ; WordWrap = .T., ; ZOrderSet = 30 *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> ADD OBJECT 'chkParticipaValuta' AS _checkbox WITH ; Alignment = 0, ; AutoSize = .F., ; BackStyle = 0, ; Caption = "Participa la pretul de intrare", ; Height = 34, ; Left = 491, ; Name = "chkParticipaValuta", ; TabIndex = 13, ; TabStop = .F., ; Top = 150, ; Value = 1, ; Width = 107, ; WordWrap = .T., ; ZOrderSet = 29 *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> ADD OBJECT 'cmdDviPartener' AS _commandbutton WITH ; Caption = "...", ; Enabled = .F., ; FontBold = .T., ; FontName = "Arial", ; Left = 558, ; Name = "cmdDviPartener", ; TabIndex = 24, ; Top = 332, ; Width = 24, ; ZOrderSet = 42 *< END OBJECT: ClassLib="_baza.vcx" BaseClass="commandbutton" /> ADD OBJECT 'cmdExplicatieTva' AS _commandbutton WITH ; Caption = "...", ; FontBold = .T., ; FontName = "Arial", ; Left = 475, ; Name = "cmdExplicatieTva", ; TabIndex = 18, ; Top = 225, ; Width = 24, ; ZOrderSet = 34 *< END OBJECT: ClassLib="_baza.vcx" BaseClass="commandbutton" /> ADD OBJECT 'cmdFelDoc' AS _commandbutton WITH ; Caption = "...", ; FontBold = .T., ; Left = 228, ; Name = "cmdFelDoc", ; TabIndex = 2, ; Top = 38, ; Width = 24, ; ZOrderSet = 10 *< END OBJECT: ClassLib="_baza.vcx" BaseClass="commandbutton" /> ADD OBJECT 'cmdFelDocDVI' AS _commandbutton WITH ; Caption = "...", ; FontBold = .T., ; Left = 235, ; Name = "cmdFelDocDVI", ; TabIndex = 20, ; Top = 300, ; Width = 24, ; ZOrderSet = 10 *< END OBJECT: ClassLib="_baza.vcx" BaseClass="commandbutton" /> ADD OBJECT 'cmdPartener' AS _commandbutton WITH ; Caption = "...", ; FontBold = .T., ; Height = 21, ; Left = 558, ; Name = "cmdPartener", ; TabIndex = 7, ; Top = 70, ; Width = 24, ; ZOrderSet = 19 *< END OBJECT: ClassLib="_baza.vcx" BaseClass="commandbutton" /> ADD OBJECT 'cmdValuta' AS _commandbutton WITH ; Caption = "...", ; FontBold = .T., ; Left = 339, ; Name = "cmdValuta", ; TabIndex = 11, ; Top = 120, ; Width = 24, ; ZOrderSet = 26 *< END OBJECT: ClassLib="_baza.vcx" BaseClass="commandbutton" /> ADD OBJECT 'lblCurs' AS _label WITH ; AutoSize = .F., ; BackStyle = 0, ; Caption = "Curs", ; FontBold = .T., ; Height = 17, ; Left = 368, ; Name = "lblCurs", ; Top = 125, ; Width = 30, ; ZOrderSet = 27 *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> ADD OBJECT 'lblData' AS _label WITH ; AutoSize = .F., ; BackStyle = 0, ; Caption = "Data", ; FontBold = .T., ; Height = 17, ; Left = 456, ; Name = "lblData", ; Top = 43, ; Width = 30, ; ZOrderSet = 15 *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> ADD OBJECT 'lblDviData' AS _label WITH ; AutoSize = .T., ; BackStyle = 0, ; Caption = "Data", ; FontBold = .T., ; Height = 18, ; Left = 445, ; Name = "lblDviData", ; Top = 304, ; Width = 31, ; ZOrderSet = 38 *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> ADD OBJECT 'lblDviNr' AS _label WITH ; AutoSize = .T., ; BackStyle = 0, ; Caption = "Nr", ; FontBold = .T., ; Height = 18, ; Left = 287, ; Name = "lblDviNr", ; Top = 304, ; Width = 16, ; ZOrderSet = 36 *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> ADD OBJECT 'lblDviPartener' AS _label WITH ; AutoSize = .T., ; BackStyle = 0, ; Caption = "Partener", ; FontBold = .T., ; Height = 18, ; Left = 25, ; Name = "lblDviPartener", ; Top = 335, ; Width = 57, ; ZOrderSet = 40 *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> ADD OBJECT 'lblDviTvaLei' AS _label WITH ; AutoSize = .T., ; BackStyle = 0, ; Caption = "TVA lei", ; FontBold = .T., ; Height = 18, ; Left = 206, ; Name = "lblDviTvaLei", ; Top = 365, ; Width = 48, ; ZOrderSet = 45 *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> ADD OBJECT 'lblDviTvaVal' AS _label WITH ; AutoSize = .T., ; BackStyle = 0, ; Caption = "TVA valuta", ; FontBold = .T., ; Height = 18, ; Left = 25, ; Name = "lblDviTvaVal", ; Top = 365, ; Width = 71, ; ZOrderSet = 43 *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> ADD OBJECT 'lblExplicatieTva' AS _label WITH ; AutoSize = .T., ; BackStyle = 0, ; Caption = "Explicatie TVA", ; FontBold = .T., ; Height = 18, ; Left = 118, ; Name = "lblExplicatieTva", ; Top = 230, ; Width = 95, ; ZOrderSet = 32 *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> ADD OBJECT 'lblFelDoc' AS _label WITH ; AutoSize = .F., ; BackStyle = 0, ; Caption = "Fel doc", ; FontBold = .T., ; Height = 17, ; Left = 20, ; Name = "lblFelDoc", ; Top = 43, ; Width = 50, ; ZOrderSet = 8 *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> ADD OBJECT 'lblNr' AS _label WITH ; AutoSize = .F., ; BackStyle = 0, ; Caption = "Nr", ; FontBold = .T., ; Height = 17, ; Left = 350, ; Name = "lblNr", ; Top = 43, ; Width = 20, ; ZOrderSet = 13 *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> ADD OBJECT 'lblPartener' AS _label WITH ; AutoSize = .F., ; BackStyle = 0, ; Caption = "Partener", ; FontBold = .T., ; Height = 17, ; Left = 20, ; Name = "lblPartener", ; Top = 73, ; Width = 60, ; ZOrderSet = 17 *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> ADD OBJECT 'lblPedagogieDvi' AS _label WITH ; AutoSize = .T., ; BackStyle = 0, ; Caption = "DVI", ; FontBold = .T., ; ForeColor = 0,0,25, ; Height = 18, ; Left = 25, ; Name = "lblPedagogieDvi", ; Top = 279, ; Width = 24, ; ZOrderSet = 35 *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> ADD OBJECT 'lblProcentTva' AS _label WITH ; AutoSize = .T., ; BackStyle = 0, ; Caption = "TVA %", ; FontBold = .T., ; Height = 18, ; Left = 18, ; Name = "lblProcentTva", ; Top = 230, ; Width = 42, ; ZOrderSet = 48 *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> ADD OBJECT 'lblSerie' AS _label WITH ; AutoSize = .F., ; BackStyle = 0, ; Caption = "Serie", ; FontBold = .T., ; Height = 17, ; Left = 260, ; Name = "lblSerie", ; Top = 43, ; Width = 34, ; ZOrderSet = 11 *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> ADD OBJECT 'lblSuma' AS _label WITH ; AutoSize = .T., ; BackStyle = 0, ; Caption = "Suma fara TVA", ; FontBold = .T., ; Height = 18, ; Left = 20, ; Name = "lblSuma", ; Top = 125, ; Width = 98, ; ZOrderSet = 22 *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> ADD OBJECT 'lblSumaLei' AS _label WITH ; AutoSize = .T., ; BackStyle = 0, ; Caption = "Suma lei", ; FontBold = .T., ; Height = 18, ; Left = 59, ; Name = "lblSumaLei", ; Top = 154, ; Width = 59, ; ZOrderSet = 50 *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> ADD OBJECT 'lblValuta' AS _label WITH ; AutoSize = .F., ; BackStyle = 0, ; Caption = "Valuta", ; FontBold = .T., ; Height = 17, ; Left = 221, ; Name = "lblValuta", ; Top = 125, ; Width = 40, ; ZOrderSet = 24 *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> ADD OBJECT 'optTipTva' AS _optiongrup WITH ; AutoSize = .T., ; BackStyle = 0, ; ButtonCount = 3, ; Height = 28, ; Left = 16, ; Name = "optTipTva", ; TabIndex = 15, ; Top = 196, ; Value = 1, ; Width = 289, ; ZOrderSet = 31, ; Option1.AutoSize = .T., ; Option1.BackStyle = 0, ; Option1.Caption = "TVA Furnizor", ; Option1.FontBold = .T., ; Option1.FontSize = 10, ; Option1.Height = 18, ; Option1.Left = 5, ; Option1.Name = "Option1", ; Option1.Top = 5, ; Option1.Width = 102, ; Option2.AutoSize = .T., ; Option2.BackStyle = 0, ; Option2.Caption = "TVA DVI", ; Option2.FontBold = .T., ; Option2.FontSize = 10, ; Option2.Height = 18, ; Option2.Left = 116, ; Option2.Name = "Option2", ; Option2.Top = 5, ; Option2.Width = 71, ; Option3.AutoSize = .T., ; Option3.BackStyle = 0, ; Option3.Caption = "Fara TVA", ; Option3.FontBold = .T., ; Option3.FontSize = 10, ; Option3.Height = 18, ; Option3.Left = 206, ; Option3.Name = "Option3", ; Option3.Top = 5, ; Option3.Width = 78 *< END OBJECT: ClassLib="_baza.vcx" BaseClass="optiongroup" /> ADD OBJECT 'shpDvi' AS _shape WITH ; BackColor = 217,217,236, ; BackStyle = 1, ; Height = 121, ; Left = 12, ; Name = "shpDvi", ; SpecialEffect = 0, ; Top = 273, ; Width = 592, ; ZOrderSet = 0 *< END OBJECT: ClassLib="_baza.vcx" BaseClass="shape" /> ADD OBJECT 'txtCurs' AS _textbox WITH ; Alignment = 1, ; ControlSource = "Thisform.nCurs", ; Format = "RK", ; InputMask = "9999.9999", ; Left = 402, ; Name = "txtCurs", ; TabIndex = 12, ; Top = 122, ; Width = 80, ; ZOrderSet = 28 *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> ADD OBJECT 'txtData' AS _textbox WITH ; ControlSource = "Thisform.dDataAct", ; Format = "K", ; Left = 490, ; Name = "txtData", ; TabIndex = 5, ; Top = 40, ; Width = 94, ; ZOrderSet = 16 *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> ADD OBJECT 'txtDviData' AS _textbox WITH ; ControlSource = "Thisform.dDviData", ; Enabled = .F., ; Format = "K", ; Left = 485, ; Name = "txtDviData", ; TabIndex = 22, ; Top = 302, ; Width = 90, ; ZOrderSet = 39 *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> ADD OBJECT 'txtDviNr' AS _textbox WITH ; ControlSource = "Thisform.nNractDvi", ; Enabled = .F., ; Format = "RK", ; Height = 23, ; InputMask = "9999999999", ; Left = 312, ; Name = "txtDviNr", ; TabIndex = 21, ; Top = 302, ; Width = 112, ; ZOrderSet = 37 *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> ADD OBJECT 'txtDviPartener' AS _textbox WITH ; ControlSource = "Thisform.cDviPartener", ; Enabled = .F., ; Format = "K", ; Height = 23, ; Left = 98, ; Name = "txtDviPartener", ; TabIndex = 23, ; Top = 332, ; Width = 452, ; ZOrderSet = 41 *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> ADD OBJECT 'txtDviTvaLei' AS _textbox WITH ; Alignment = 1, ; ControlSource = "Thisform.nDviTvaLei", ; Enabled = .F., ; Format = "RK", ; InputMask = "9999999.9999", ; Left = 260, ; Name = "txtDviTvaLei", ; TabIndex = 26, ; Top = 362, ; Width = 90, ; ZOrderSet = 46 *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> ADD OBJECT 'txtDviTvaVal' AS _textbox WITH ; Alignment = 1, ; ControlSource = "Thisform.nDviTvaVal", ; Enabled = .F., ; Format = "RK", ; InputMask = "9999999.9999", ; Left = 98, ; Name = "txtDviTvaVal", ; TabIndex = 25, ; Top = 362, ; Width = 90, ; ZOrderSet = 44 *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> ADD OBJECT 'txtExplicatieTva' AS _textbox WITH ; ControlSource = "Thisform.cExplicatieTva", ; Enabled = .T., ; Format = "K", ; Left = 215, ; Name = "txtExplicatieTva", ; ReadOnly = .T., ; TabIndex = 17, ; Top = 227, ; Width = 254, ; ZOrderSet = 33 *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> ADD OBJECT 'txtFelDoc' AS _textbox WITH ; ControlSource = "Thisform.cFelDoc", ; Enabled = .T., ; Format = "K", ; Left = 74, ; Name = "txtFelDoc", ; ReadOnly = .T., ; TabIndex = 1, ; Top = 40, ; Width = 150, ; ZOrderSet = 9 *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> ADD OBJECT 'txtFelDocDVI' AS _textbox WITH ; ControlSource = "Thisform.cFelDocDVI", ; Enabled = .T., ; Format = "K", ; Left = 81, ; Name = "txtFelDocDVI", ; ReadOnly = .T., ; TabIndex = 19, ; Top = 302, ; Width = 150, ; ZOrderSet = 9 *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> ADD OBJECT 'txtNr' AS _textbox WITH ; ControlSource = "Thisform.nNract", ; Format = "RK", ; Height = 23, ; InputMask = "9999999999", ; Left = 371, ; Name = "txtNr", ; TabIndex = 4, ; Top = 40, ; Width = 79, ; ZOrderSet = 14 *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> ADD OBJECT 'txtPartener' AS _textbox WITH ; ControlSource = "Thisform.cPartener", ; Enabled = .T., ; Format = "K", ; Height = 23, ; Left = 92, ; Name = "txtPartener", ; ReadOnly = .T., ; TabIndex = 6, ; Top = 70, ; Width = 462, ; ZOrderSet = 18 *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> ADD OBJECT 'txtProcentTva' AS _textbox WITH ; Alignment = 1, ; ControlSource = "Thisform.nProcentTva", ; Format = "RK", ; InputMask = "999.99", ; Left = 62, ; Name = "txtProcentTva", ; TabIndex = 16, ; Top = 227, ; Width = 44, ; ZOrderSet = 49 *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> ADD OBJECT 'txtSerie' AS _textbox WITH ; ControlSource = "Thisform.cSerieAct", ; Format = "K", ; Height = 23, ; Left = 298, ; Name = "txtSerie", ; TabIndex = 3, ; Top = 40, ; Width = 44, ; ZOrderSet = 12 *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> ADD OBJECT 'txtSuma' AS _textbox WITH ; Alignment = 1, ; ControlSource = "Thisform.nSuma", ; Format = "RK", ; Height = 23, ; InputMask = "9999999999.9999", ; Left = 125, ; Name = "txtSuma", ; TabIndex = 9, ; Top = 122, ; Width = 80, ; ZOrderSet = 23 *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> ADD OBJECT 'txtSumaLei' AS _textbox WITH ; Alignment = 1, ; ControlSource = "Thisform.nSumaLei", ; Format = "RK", ; InputMask = "9999999999.99", ; Left = 125, ; Name = "txtSumaLei", ; TabIndex = 29, ; Top = 151, ; Width = 80, ; ZOrderSet = 51 *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> ADD OBJECT 'txtValuta' AS _textbox WITH ; ControlSource = "Thisform.cValuta", ; Enabled = .T., ; Format = "K", ; Left = 265, ; Name = "txtValuta", ; ReadOnly = .T., ; TabIndex = 10, ; Top = 122, ; Width = 70, ; ZOrderSet = 25 *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> PROCEDURE actualizeaza_stare_dvi *!* Arata/ascunde subrandul DVI dupa radio-ul TVA; pre-completeaza din memoria DVI *!* a lui import_nota si pune data DVI = data facturii principale daca lipseste. Local llDvi, loCtl llDvi = (This.optTipTva.Value = 2) For Each loCtl In This.Controls If At('DVI', Upper(loCtl.Name)) > 0 loCtl.Visible = llDvi If Pemstatus(loCtl, 'Enabled', 5) loCtl.Enabled = llDvi Endif Endif Endfor This._label1.Visible = llDvi If llDvi If !Empty(This.oParinte.cDviSerie) Or This.oParinte.nDviIdPartener <> 0 Or !Empty(Nvl(This.oParinte.nDviIdFdoc, 0)) Or Val(Nvl(This.oParinte.cDviNr, '0')) <> 0 This.cDviSerie = This.oParinte.cDviSerie This.cDviPartener = This.oParinte.cDviPartener This.dDviData = This.oParinte.dDviData This.nDviIdPartener = This.oParinte.nDviIdPartener This.nNractDvi = Val(Nvl(This.oParinte.cDviNr, '0')) This.cFelDocDvi = Nvl(This.oParinte.cDviFelDoc, '') This.nIdFdocDVI = Nvl(This.oParinte.nDviIdFdoc, 0) Endif If Vartype(This.dDviData) <> 'D' Or Empty(This.dDviData) This.dDviData = This.dDataAct Endif This.txtDviNr.Value = This.nNractDvi This.txtDviData.Value = This.dDviData This.txtDviPartener.Value = This.cDviPartener Endif This.Refresh() ENDPROC PROCEDURE actualizeaza_stare_valuta *!* Propune cursul BNR (onom_curs.vc2 / clasa "curs") pentru valuta si data curente. *!* Daca valuta e RON, cursul e fixat la 1 si nu se mai cere suma in valuta. *!* Daca utilizatorul a editat manual cursul (lCursDirty), nu il mai suprascriu. Local loCurs, lnCurs If Empty(This.cValuta) Or Upper(Alltrim(This.cValuta)) == 'RON' This.nCurs = 1 This.txtCurs.Value = 1 This.txtCurs.Enabled = .F. This.chkInValutaCont.Value = 0 This.chkInValutaCont.Enabled = .F. This.arata_valuta_curs(.T.) Else This.txtCurs.Enabled = .T. This.chkInValutaCont.Enabled = .T. If !This.lInValutaDirty This.chkInValutaCont.Value = 1 Endif This.arata_valuta_curs(This.chkInValutaCont.Value = 1) Endif This.seteaza_masti() This.Refresh() ENDPROC PROCEDURE actualizeaza_tabstop *!* Butoanele "..." ies din ordinea de tab cand valoarea lor e deja completata, *!* ca Tab/Enter sa nu se mai opreasca pe ele (cautarea ramane pe dublu-click/GotFocus). This.cmdFelDoc.TabStop = Empty(Nvl(This.nIdFdoc, 0)) And Empty(Alltrim(Nvl(This.cFelDoc, ''))) This.cmdPartener.TabStop = Empty(Nvl(This.nIdPartener, 0)) This.cmdExplicatieTva.TabStop = Empty(Nvl(This.nIdExplicatieTva, 0)) This.cmdFelDocDVI.TabStop = Empty(Nvl(This.nIdFdocDVI, 0)) And Empty(Alltrim(Nvl(This.cFelDocDvi, ''))) This.cmdDviPartener.TabStop = Empty(Nvl(This.nDviIdPartener, 0)) This.cmdValuta.TabStop = Empty(Nvl(This.nIdValuta, 0)) And Empty(Alltrim(Nvl(This.cValuta, ''))) ENDPROC PROCEDURE arata_valuta_curs *!* Arata/ascunde selectorul de valuta si cursul (bifa "Suma in valuta in contabilitate"). Lparameters tlArata This.lblValuta.Visible = tlArata This.txtValuta.Visible = tlArata This.cmdValuta.Visible = tlArata This.lblCurs.Visible = tlArata This.txtCurs.Visible = tlArata ENDPROC PROCEDURE construieste_todlg *!* Construieste obiectul toDlg pentru import_nota.do_adauga_factura(). *!* Contract populabil programatic (nu doar din UI) - vezi docs M2. Local loT loT = Createobject('Empty') Addproperty(loT, 'serie_act', Alltrim(Nvl(This.cSerieAct, ''))) Addproperty(loT, 'nract', This.nNract) Addproperty(loT, 'dataact', This.dDataAct) Addproperty(loT, 'fdoc', This.cFelDoc) Addproperty(loT, 'id_fdoc', This.nIdFdoc) Addproperty(loT, 'id_partc', This.nIdPartener) Addproperty(loT, 'partc', This.cPartener) Addproperty(loT, 'explicatia', Alltrim(Nvl(This.cExplicatia, ''))) Addproperty(loT, 'suma', Iif(This.chkInValutaCont.Value = 1 And This.nCurs <> 0, Iif(This.nSumaLei <> 0, This.nSumaLei, Round(This.nSuma * This.nCurs, m.gnPC)), This.nSuma)) Addproperty(loT, 'suma_val', Iif(This.chkInValutaCont.Value = 1 And This.nCurs <> 0, This.nSuma, 0)) Addproperty(loT, 'in_valuta', This.chkInValutaCont.Value) Addproperty(loT, 'participa_valuta', (This.chkParticipaValuta.Value = 1)) Addproperty(loT, 'id_valuta', Iif(This.chkInValutaCont.Value = 1, This.nIdValuta, 0)) Addproperty(loT, 'curs', Iif(This.chkInValutaCont.Value = 1, This.nCurs, 0)) Addproperty(loT, 'nume_val', Iif(This.chkInValutaCont.Value = 1, Alltrim(Nvl(This.cValuta, '')), '')) Addproperty(loT, 'cTipTva', Iif(This.optTipTva.Value = 1, 'F', Iif(This.optTipTva.Value = 2, 'D', 'N'))) Addproperty(loT, 'id_jtva_coloana', This.nIdExplicatieTva) If This.optTipTva.Value = 2 Addproperty(loT, 'dvi_serie', Chrtran(Alltrim(Nvl(This.cSerieDvi, '')), Chr(34), '')) Addproperty(loT, 'dvi_nract', This.nNractDvi) Addproperty(loT, 'dvi_dataact', This.dDviData) Addproperty(loT, 'dvi_id_fdoc', This.nIdFdocDVI) Addproperty(loT, 'dvi_fdoc', This.cFelDocDvi) Addproperty(loT, 'dvi_id_partc', This.nDviIdPartener) Addproperty(loT, 'dvi_partc', This.cDviPartener) Addproperty(loT, 'dvi_scc', '401') Addproperty(loT, 'dvi_tva_lei', This.nDviTvaLei) Addproperty(loT, 'dvi_tva_val', This.nDviTvaVal) Endif Return loT ENDPROC PROCEDURE inainte_de_do_termin *!* Hook standard _frmbase (apelat de do_termin, _frm_base.vc2:363): valideaza + adauga *!* perechea (baza+TVA) prin import_nota.do_adauga_factura() +, daca reuseste, permite *!* inchiderea dialogului (Return .T.). Return .F. tine dialogul deschis pentru corectare. Local loFelDviCauta, llOk If !Thisform.valideaza() Return .F. Endif * la prima trecere pe "prin DVI" in aceasta sesiune, cer felul documentului DVI * (devine cheia sesiunii pentru M1/memoria DVI - docs M2, autoplan #37) If Thisform.optTipTva.Value = 2 And Empty(Nvl(Thisform.nIdFdocDVI, 0)) And Empty(Alltrim(Nvl(Thisform.cFelDocDvi, ''))) loFelDviCauta = caut_fdoc(.F., .T.) If Vartype(loFelDviCauta) <> 'O' Or Empty(Nvl(loFelDviCauta.id_fdoc, 0)) Amessagebox('Alegeti felul documentului pentru DVI.', 0 + 48, 'Adauga factura') Return .F. Endif Thisform.oParinte.nDviIdFdoc = loFelDviCauta.id_fdoc Thisform.nIdFdocDVI = loFelDviCauta.id_fdoc Thisform.cFelDocDvi = loFelDviCauta.fel_document Thisform.oParinte.cDviFelDoc = loFelDviCauta.fel_document Endif Thisform.LockScreen = .T. Wait Window 'Se adauga factura...' Nowait llOk = Thisform.oParinte.do_adauga_factura(Thisform.construieste_todlg()) Wait Clear If llOk And Thisform.optTipTva.Value = 2 * memoria DVI (identitate document) traieste pe import_nota Thisform.oParinte.cDviSerie = Chrtran(Alltrim(Nvl(Thisform.cSerieDvi, '')), Chr(34), '') Thisform.oParinte.cDviNr = Alltrim(Str(Thisform.nNractDvi, 14)) Thisform.oParinte.dDviData = Thisform.dDviData Thisform.oParinte.nDviIdPartener = Thisform.nDviIdPartener Thisform.oParinte.cDviPartener = Thisform.cDviPartener Thisform.oParinte.cDviFelDoc = Thisform.cFelDocDvi Thisform.oParinte.nDviIdFdoc = Thisform.nIdFdocDVI Endif Thisform.LockScreen = .F. Return llOk ENDPROC PROCEDURE Init Lparameters toParinte DoDefault() This.oParinte = toParinte This.dData = Iif(Vartype(toParinte.oact.dataact) = 'D' And !Empty(toParinte.oact.dataact), toParinte.oact.dataact, Date()) This.dDataAct = This.dData This.nIdValuta = Nvl(toParinte.oact.id_valuta, 0) This.cValuta = Alltrim(Nvl(toParinte.oact.nume_val, '')) This.nCurs = Nvl(toParinte.oact.curs, 1) This.cExplicatia = '' * pre-completare din antetul notei (toParinte.oact = Scatter din vact) - Marius alege * felul documentului, furnizorul si cursul la deschiderea notei; dialogul le mosteneste, * editabile. Guard Type() ca sa nu crape Init daca vreun camp lipseste din vact. If Type('toParinte.oact.id_fdoc') <> 'U' This.nIdFdoc = Nvl(toParinte.oact.id_fdoc, 0) This.cFelDoc = Alltrim(Nvl(toParinte.oact.fdoc, '')) Endif If Type('toParinte.oact.id_partc') <> 'U' This.nIdPartener = Nvl(toParinte.oact.id_partc, 0) This.cPartener = Alltrim(Nvl(toParinte.oact.partc, '')) Endif If Type('toParinte.oact.serie_act') <> 'U' This.cSerieAct = Alltrim(Nvl(toParinte.oact.serie_act, '')) Endif * memoria DVI, daca a mai fost folosita in aceasta sesiune a formularului import_nota This.cDviSerie = toParinte.cDviSerie This.cDviPartener = toParinte.cDviPartener This.dDviData = toParinte.dDviData This.nDviIdPartener = toParinte.nDviIdPartener This.cFelDocDvi = Nvl(toParinte.cDviFelDoc, '') This.nIdFdocDVI = Nvl(toParinte.nDviIdFdoc, 0) This.nNractDvi = Val(Nvl(toParinte.cDviNr, '0')) * explicatia TVA default: iau din randul 1 (baza) al perechii - baza defineste * documentul (ex. "Ach. CE"); randul 2 e TVA ("TVA Ach. CE"). Daca introdc e goala * (prima factura) iau din introdc_sablon, altfel din prima pereche din introdc. Local lnSelIni lnSelIni = Select() This.nIdExplicatieTva = 0 This.cExplicatieTva = '' This.nProcentTva = 0 If Used('introdc') And Reccount('introdc') >= 2 Select introdc Go TOP This.nIdExplicatieTva = Nvl(id_jtva_coloana, 0) This.cExplicatieTva = Alltrim(Nvl(explicatie_tva, '')) This.nProcentTva = Nvl(ptva, 0) Else If Used('introdc_sablon') And Reccount('introdc_sablon') >= 2 Select introdc_sablon Go TOP This.nIdExplicatieTva = Nvl(id_jtva_coloana, 0) This.cExplicatieTva = Alltrim(Nvl(explicatie_tva, '')) This.nProcentTva = Nvl(ptva, 0) Endif Endif Select (lnSelIni) This.optTipTva.Value = 1 This.actualizeaza_stare_valuta() This.actualizeaza_stare_dvi() This.actualizeaza_tabstop() This.Refresh() ENDPROC PROCEDURE recalc_tva *!* Precompleteaza TVA-ul DVI din baza facturii si cota (This.nProcentTva): *!* in valuta: TVA_val = baza_val * cota/100, TVA_lei = TVA_val * curs; *!* in lei (RON): TVA_lei = baza_lei * cota/100. Utilizatorul poate corecta. Local lnCota, lnBazaVal, lnTvaVal, lnTvaLei lnCota = Nvl(This.nProcentTva, 0) * suma fara TVA in lei (editabila): o recalculez doar daca nu a fost editata manual If !This.lSumaLeiDirty If This.chkInValutaCont.Value = 1 And This.nCurs <> 0 This.nSumaLei = Round(This.nSuma * This.nCurs, m.gnPC) Else This.nSumaLei = Round(This.nSuma, m.gnPC) Endif This.txtSumaLei.Refresh() Endif If This.optTipTva.Value = 2 And lnCota > 0 And This.nSuma <> 0 If This.chkInValutaCont.Value = 1 And This.nCurs <> 0 lnBazaVal = This.nSuma lnTvaVal = Round(lnBazaVal * lnCota / 100, m.gnPval) lnTvaLei = Round(lnTvaVal * This.nCurs, m.gnPC) Else lnTvaVal = 0 lnTvaLei = Round(This.nSuma * lnCota / 100, m.gnPC) Endif This.nDviTvaVal = lnTvaVal This.nDviTvaLei = lnTvaLei This.txtDviTvaVal.Value = lnTvaVal This.txtDviTvaLei.Value = lnTvaLei Endif ENDPROC PROCEDURE seteaza_masti *!* Masti de precizie pe sumele din dialog: valorile in valuta cu m.gnPval, *!* valorile in lei cu m.gnPC - acelasi mecanism ca in grid (get_mask). Local llValuta llValuta = (This.chkInValutaCont.Value = 1 And This.nCurs <> 0) This.txtSuma.InputMask = get_mask(12, Iif(llValuta, m.gnPval, m.gnPC)) This.txtSumaLei.InputMask = get_mask(12, m.gnPC) This.txtDviTvaVal.InputMask = get_mask(12, m.gnPval) This.txtDviTvaLei.InputMask = get_mask(12, m.gnPC) ENDPROC PROCEDURE valideaza *!* Validari la "Termin", numite explicit, fara crash (docs/propuneri_ergonomie_import.md, M2). If Empty(Nvl(This.nIdFdoc, 0)) And Empty(Alltrim(Nvl(This.cFelDoc, ''))) Amessagebox('Alegeti felul documentului.', 0 + 48, 'Adauga factura') Return .F. Endif If This.nNract = 0 Amessagebox('Completati numarul actului.', 0 + 48, 'Adauga factura') Return .F. Endif If Vartype(This.dDataAct) <> 'D' Or Empty(This.dDataAct) Amessagebox('Completati data documentului.', 0 + 48, 'Adauga factura') Return .F. Endif If Year(This.dDataAct) <> m.gnAn Or Month(This.dDataAct) <> m.gnLuna Amessagebox('Data documentului nu este in perioada de lucru (' + Alltrim(Str(m.gnLuna)) + '/' + Alltrim(Str(m.gnAn)) + ').', 0 + 48, 'Adauga factura') Return .F. Endif If Empty(Nvl(This.nIdPartener, 0)) Amessagebox('Alegeti partenerul.', 0 + 48, 'Adauga factura') Return .F. Endif If This.nSuma = 0 Amessagebox('Suma nu poate fi zero.', 0 + 48, 'Adauga factura') Return .F. Endif If This.optTipTva.Value = 1 And Empty(Nvl(This.nIdExplicatieTva, 0)) Amessagebox('Alegeti explicatia TVA.', 0 + 48, 'Adauga factura') Return .F. Endif If This.optTipTva.Value = 2 If This.nNractDvi = 0 Or Vartype(This.dDviData) <> 'D' Or Empty(This.dDviData) Amessagebox('Completati numarul si data DVI-ului.', 0 + 48, 'Adauga factura') Return .F. Endif If Empty(Nvl(This.nDviIdPartener, 0)) Amessagebox('Alegeti partenerul vamal (DVI).', 0 + 48, 'Adauga factura') Return .F. Endif If This.nDviTvaLei = 0 Amessagebox('TVA in lei (DVI) trebuie sa fie mai mare decat zero.', 0 + 48, 'Adauga factura') Return .F. Endif Endif Return .T. ENDPROC PROCEDURE chkInValutaCont.InteractiveChange *!* bifa scoasa = suma NU se inregistreaza in valuta: valuta si cursul nu au sens, *!* le ascund; valorile raman memorate pe forma si revin la re-bifare. Thisform.lInValutaDirty = .T. Thisform.arata_valuta_curs(This.Value = 1) Thisform.seteaza_masti() Thisform.recalc_tva() ENDPROC PROCEDURE cmdDviPartener.Click Local loCauta loCauta = caut_partener(-2, 'Alegeti partenerul DVI', .F., .T.) If Vartype(loCauta) = 'O' And !Empty(Nvl(loCauta.id_part, 0)) Thisform.nDviIdPartener = loCauta.id_part Thisform.cDviPartener = Alltrim(loCauta.denumire) Thisform.txtDviPartener.Refresh() Endif Thisform.actualizeaza_tabstop() ENDPROC PROCEDURE cmdExplicatieTva.Click *!* Cauta explicatia TVA filtrata dupa procentul ales (Thisform.nProcentTva) - acelasi *!* mecanism ca in grid (do_modifica_explicatie_tva): cauta_alfa direct pe vjtva_coloane *!* cu filtru pe cota_tva. Procent 0/gol => toate cotele. Local loCauta, lnCota, lcFiltru lnCota = Nvl(Thisform.nProcentTva, 0) lcFiltru = [id_jtva_coloana > 0] If lnCota > 0 lcFiltru = lcFiltru + [ and cota_tva = ] + Alltrim(Str(lnCota, 10, 2)) Endif loCauta = cauta_alfa([select id_jtva_coloana, denumire, cota_tva FROM vjtva_coloane], [1=2], [], ; [denumire], [denumire,cota_tva], [Alegeti explicatia TVA], [Explicatie TVA,Cota TVA], ; [], .F., lcFiltru) If Vartype(loCauta) <> 'O' Or Empty(Nvl(loCauta.id_jtva_coloana, 0)) Return Endif Thisform.nIdExplicatieTva = loCauta.id_jtva_coloana Thisform.cExplicatieTva = Alltrim(loCauta.denumire) Thisform.nProcentTva = Nvl(loCauta.cota_tva, 0) Thisform.txtExplicatieTva.Refresh() If Pemstatus(Thisform, 'txtProcentTva', 5) Thisform.txtProcentTva.Refresh() Endif Thisform.recalc_tva() Thisform.actualizeaza_tabstop() ENDPROC PROCEDURE cmdFelDoc.Click Local loCauta loCauta = caut_fdoc(.F., .T.) If Vartype(loCauta) = 'O' And !Empty(Nvl(loCauta.id_fdoc, 0)) Thisform.nIdFdoc = loCauta.id_fdoc Thisform.cFelDoc = loCauta.fel_document Thisform.txtFelDoc.Refresh() Thisform.txtSerie.SetFocus() Endif Thisform.actualizeaza_tabstop() ENDPROC PROCEDURE cmdFelDocDVI.Click Local loCauta loCauta = caut_fdoc(.F., .T.) If Vartype(loCauta) = 'O' And !Empty(Nvl(loCauta.id_fdoc, 0)) Thisform.nIdFdocDVI = loCauta.id_fdoc Thisform.cFelDocDVI = loCauta.fel_document Thisform.txtFelDocDVI.Refresh() Thisform.txtDVINr.SetFocus() Endif Thisform.actualizeaza_tabstop() ENDPROC PROCEDURE cmdPartener.Click Local loCauta loCauta = caut_partener(-2, 'Alegeti furnizorul', .F., .T.) If Vartype(loCauta) = 'O' And !Empty(Nvl(loCauta.id_part, 0)) Thisform.nIdPartener = loCauta.id_part Thisform.cPartener = Alltrim(loCauta.denumire) Thisform.txtPartener.Refresh() Thisform.txtSuma.SetFocus() Endif Thisform.actualizeaza_tabstop() ENDPROC PROCEDURE cmdValuta.Click Local loCauta loCauta = caut_valuta(, .F., .F.) If Vartype(loCauta) = 'O' And !Empty(Nvl(loCauta.id_valuta, 0)) Thisform.nIdValuta = loCauta.id_valuta Thisform.cValuta = Alltrim(loCauta.nume_val) Thisform.txtValuta.Refresh() Thisform.lCursDirty = .F. Thisform.lInValutaDirty = .F. Thisform.actualizeaza_stare_valuta() Thisform.recalc_tva() Endif Thisform.actualizeaza_tabstop() ENDPROC PROCEDURE optTipTva.InteractiveChange Thisform.actualizeaza_stare_dvi() Thisform.recalc_tva() ENDPROC PROCEDURE txtCurs.Valid If !Thisform.lSuprimaDirty Thisform.lCursDirty = .T. Endif Thisform.nCurs = This.Value Thisform.recalc_tva() ENDPROC PROCEDURE txtData.Valid This.Parent.dDataAct = This.Value This.Parent.actualizeaza_stare_valuta() ENDPROC PROCEDURE txtDviPartener.DblClick Thisform.cmddviPartener.Click() ENDPROC PROCEDURE txtDviPartener.GotFocus If This.Tag == 'SKIP' This.Tag = '' Return Endif If Thisform.optTipTva.Value = 2 And Empty(Nvl(Thisform.nDviIdPartener, 0)) This.Tag = 'SKIP' Thisform.cmdDviPartener.Click() Endif ENDPROC PROCEDURE txtDviPartener.InteractiveChange Thisform.cmddviPartener.Click() This.Value = Thisform.cDviPartener ENDPROC PROCEDURE txtExplicatieTva.DblClick Thisform.cmdExplicatieTva.Click() ENDPROC PROCEDURE txtExplicatieTva.InteractiveChange Thisform.cmdExplicatieTva.Click() this.Value = Thisform.cExplicatieTva ENDPROC PROCEDURE txtFelDoc.DblClick thisform.cmdfelDoc.Click() ENDPROC PROCEDURE txtFelDoc.GotFocus If This.Tag == 'SKIP' This.Tag = '' Return Endif If Empty(Nvl(Thisform.nIdFdoc, 0)) And Empty(Alltrim(Nvl(Thisform.cFelDoc, ''))) This.Tag = 'SKIP' Thisform.cmdFelDoc.Click() Endif ENDPROC PROCEDURE txtFelDoc.InteractiveChange thisform.cmdfelDoc.Click() This.Value = Thisform.cFelDoc ENDPROC PROCEDURE txtFelDocDVI.DblClick thisform.cmdfelDocDVI.Click() ENDPROC PROCEDURE txtFelDocDVI.GotFocus If This.Tag == 'SKIP' This.Tag = '' Return Endif If Thisform.optTipTva.Value = 2 And Empty(Nvl(Thisform.nIdFdocDVI, 0)) And Empty(Alltrim(Nvl(Thisform.cFelDocDvi, ''))) This.Tag = 'SKIP' Thisform.cmdFelDocDVI.Click() Endif ENDPROC PROCEDURE txtFelDocDVI.InteractiveChange Thisform.cmdFelDocDVI.Click() This.Value = Thisform.cFelDocDVI ENDPROC PROCEDURE txtPartener.DblClick Thisform.cmdPartener.Click() ENDPROC PROCEDURE txtPartener.GotFocus If This.Tag == 'SKIP' This.Tag = '' Return Endif If Empty(Nvl(Thisform.nIdPartener, 0)) This.Tag = 'SKIP' Thisform.cmdPartener.Click() Endif ENDPROC PROCEDURE txtPartener.InteractiveChange Thisform.cmdPartener.Click() This.Value = Thisform.cPartener ENDPROC PROCEDURE txtProcentTva.Valid Thisform.nProcentTva = This.Value Thisform.recalc_tva() ENDPROC PROCEDURE txtSuma.Valid If This.Value <> Thisform.nSuma * suma s-a schimbat: reiau calculul automat al sumei in lei Thisform.lSumaLeiDirty = .F. Endif Thisform.nSuma = This.Value Thisform.recalc_tva() ENDPROC PROCEDURE txtSumaLei.Valid If This.Value <> Thisform.nSumaLei Thisform.nSumaLei = This.Value Thisform.lSumaLeiDirty = .T. Endif ENDPROC PROCEDURE txtValuta.DblClick Thisform.cmdvaluta.Click() ENDPROC ENDDEFINE DEFINE CLASS import_nir AS frm_termin_renunt OF "_frm_child.vcx" *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder *< OBJECTDATA: ObjPath="Label3" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Cmd_executa1" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Clb_leiftva" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Clb_leiadaos" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Clb_leitva" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Clb_valftva" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Clb_valadaos" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Clb_valtva" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="lblLei" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="lblValuta" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Grid1" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Grid1.cDenumire.Header1" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Grid1.cDenumire.Text1" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Grid1.cCodMat.Header1" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Grid1.cCodMat.Text1" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Grid1.cCant.Header1" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Grid1.cCant.Text1" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Grid1.cPretFactura.Header1" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Grid1.cPretFactura.Text1" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Grid1.cPretValutaCalculat.Header1" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Grid1.cPretValutaCalculat.Text1" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Grid1.cPretLeiCalculat.Header1" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Grid1.cPretLeiCalculat.Text1" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Grid1.cValoareValutaFactura.Header1" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Grid1.cValoareValutaFactura.Text1" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Grid1.cValoareValutaCalculat.Header1" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Grid1.cValoareValutaCalculat.Text1" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Grid1.cValoareLeiCalculat.Header1" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Grid1.cValoareLeiCalculat.Text1" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Grid1.cCont.Header1" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Grid1.cCont.Text1" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Grid1.cAcont.Header1" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Grid1.cAcont.Text1" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Grid1.cSerie.Header1" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Grid1.cSerie.Text1" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Grid1.cLot.Header1" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Grid1.cLot.Text1" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Grid1.cAdata_expirare.Header1" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Grid1.cAdata_expirare.Text1" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Grid1.Column1.Header1" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Grid1.Column1.Text1" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Clb_diferente_lei" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="clb_diferente_valuta" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Cmd_adauga1" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Cmd_adauga2" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="But_modiparam1" UniqueID="" Timestamp="" /> * *m: assign_analitic *m: do_calculeaza_diferente *m: do_modiparam *p: lintern && Achizitie din import (.F.) / din intern (.T.) *p: nbaza_lei *p: nbaza_val *p: ncurs *p: ndif_lei *p: ndif_val *p: ntva_lei *p: ntva_val *p: oact *p: procent_lei *p: procent_val * * BorderStyle = 1 DoCreate = .T. FontCharSet = 238 Height = 432 lintern = .F. Name = "import_nir" nbaza_lei = 0 nbaza_val = 0 ncurs = 0 ndif_lei = 0 ndif_val = 0 ntva_lei = 0 ntva_val = 0 oact = .F. procent_lei = 0 procent_val = 0 Width = 768 _shape1.Anchor = 10 _shape1.Height = 29 _shape1.Left = -12 _shape1.Name = "_shape1" _shape1.Top = 0 _shape1.Width = 797 _shape2.Height = 29 _shape2.Left = 673 _shape2.Name = "_shape2" _shape2.Top = 0 _shape2.Visible = .F. _shape2.Width = 194 Lb_titlu_alb_b121.Caption = "INTRARE IN GESTIUNE MARFÃ/MATERIALE IMPORT" Lb_titlu_alb_b121.FontSize = 11 Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" Lb_titlu_alb_b121.TabIndex = 1 BUT_TERMIN1.Anchor = 8 BUT_TERMIN1.Left = 738 BUT_TERMIN1.Name = "BUT_TERMIN1" BUT_TERMIN1.TabIndex = 2 BUT_TERMIN1.Top = 1 Gridsort1.Name = "Gridsort1" But_renunt1.Anchor = 8 But_renunt1.Left = 707 But_renunt1.Name = "But_renunt1" But_renunt1.TabIndex = 3 But_renunt1.Top = 1 * ADD OBJECT 'But_modiparam1' AS but_modiparam WITH ; Anchor = 8, ; Left = 677, ; Name = "But_modiparam1", ; ToolTipText = "Import fisier XLS", ; Top = 1 *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> ADD OBJECT 'Clb_diferente_lei' AS clb_tx_simplu WITH ; Anchor = 12, ; Height = 29, ; Left = 543, ; Name = "Clb_diferente_lei", ; TabIndex = 15, ; TabStop = .F., ; Top = 392, ; Width = 219, ; Text_simplu1.ControlSource = "thisform.ndif_lei", ; Text_simplu1.DisabledBackColor = 230,242,255, ; Text_simplu1.FontName = "Arial Narrow", ; Text_simplu1.FontSize = 10, ; Text_simplu1.Height = 23, ; Text_simplu1.InputMask = (get_mask(10,gnPc)), ; Text_simplu1.Left = 79, ; Text_simplu1.Name = "Text_simplu1", ; Text_simplu1.ReadOnly = .T., ; Text_simplu1.Top = 3, ; Text_simplu1.Width = 135, ; Lb_simplu1.Caption = "Diferenþe lei", ; Lb_simplu1.Comment = "", ; Lb_simplu1.Name = "Lb_simplu1" *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> ADD OBJECT 'clb_diferente_valuta' AS clb_tx_simplu WITH ; Anchor = 12, ; Height = 29, ; Left = 318, ; Name = "clb_diferente_valuta", ; TabIndex = 16, ; TabStop = .F., ; Top = 392, ; Width = 226, ; Text_simplu1.ControlSource = "thisform.ndif_val", ; Text_simplu1.DisabledBackColor = 240,248,255, ; Text_simplu1.FontName = "Arial Narrow", ; Text_simplu1.FontSize = 10, ; Text_simplu1.Height = 23, ; Text_simplu1.InputMask = (get_mask(10,gnPval)), ; Text_simplu1.Left = 98, ; Text_simplu1.Name = "Text_simplu1", ; Text_simplu1.ReadOnly = .T., ; Text_simplu1.Top = 3, ; Text_simplu1.Width = 125, ; Lb_simplu1.Caption = "Diferenþe valutã", ; Lb_simplu1.Comment = "", ; Lb_simplu1.Name = "Lb_simplu1" *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> ADD OBJECT 'Clb_leiadaos' AS clb_tx_simplu WITH ; Height = 29, ; Left = 615, ; Name = "Clb_leiadaos", ; TabIndex = 7, ; TabStop = .F., ; Top = 51, ; Width = 146, ; Text_simplu1.ControlSource = "thisform.procent_lei", ; Text_simplu1.FontName = "Arial Narrow", ; Text_simplu1.FontSize = 10, ; Text_simplu1.Height = 23, ; Text_simplu1.InputMask = "9999.99", ; Text_simplu1.Left = 93, ; Text_simplu1.Name = "Text_simplu1", ; Text_simplu1.ReadOnly = .T., ; Text_simplu1.Top = 3, ; Text_simplu1.Width = 49, ; Lb_simplu1.Caption = "Procent adaos", ; Lb_simplu1.Name = "Lb_simplu1" *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> ADD OBJECT 'Clb_leiftva' AS clb_tx_simplu WITH ; Height = 29, ; Left = 69, ; Name = "Clb_leiftva", ; TabIndex = 6, ; TabStop = .F., ; Top = 51, ; Width = 270, ; Text_simplu1.ControlSource = "thisform.nbaza_lei", ; Text_simplu1.FontName = "Arial Narrow", ; Text_simplu1.FontSize = 10, ; Text_simplu1.Height = 23, ; Text_simplu1.InputMask = (get_mask(10,gnPc)), ; Text_simplu1.Left = 131, ; Text_simplu1.Name = "Text_simplu1", ; Text_simplu1.ReadOnly = .T., ; Text_simplu1.Top = 3, ; Text_simplu1.Width = 135, ; Lb_simplu1.Caption = "Total facturat fãrã TVA", ; Lb_simplu1.Comment = "", ; Lb_simplu1.Name = "Lb_simplu1" *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> ADD OBJECT 'Clb_leitva' AS clb_tx_simplu WITH ; Height = 29, ; Left = 342, ; Name = "Clb_leitva", ; TabIndex = 8, ; TabStop = .F., ; Top = 51, ; Width = 270, ; Text_simplu1.ControlSource = "thisform.ntva_lei", ; Text_simplu1.FontName = "Arial Narrow", ; Text_simplu1.FontSize = 10, ; Text_simplu1.Height = 23, ; Text_simplu1.InputMask = (get_mask(10,gnPc)), ; Text_simplu1.Left = 131, ; Text_simplu1.Name = "Text_simplu1", ; Text_simplu1.ReadOnly = .T., ; Text_simplu1.Top = 3, ; Text_simplu1.Width = 135, ; Lb_simplu1.Caption = "Total facturat TVA", ; Lb_simplu1.Comment = "", ; Lb_simplu1.Name = "Lb_simplu1" *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> ADD OBJECT 'Clb_valadaos' AS clb_tx_simplu WITH ; Height = 29, ; Left = 615, ; Name = "Clb_valadaos", ; TabIndex = 10, ; TabStop = .F., ; Top = 79, ; Width = 146, ; Text_simplu1.ControlSource = "thisform.procent_val", ; Text_simplu1.FontName = "Arial Narrow", ; Text_simplu1.FontSize = 10, ; Text_simplu1.Height = 23, ; Text_simplu1.InputMask = "9999.99", ; Text_simplu1.Left = 93, ; Text_simplu1.Name = "Text_simplu1", ; Text_simplu1.ReadOnly = .T., ; Text_simplu1.Top = 3, ; Text_simplu1.Width = 49, ; Lb_simplu1.Caption = "Procent adaos", ; Lb_simplu1.Name = "Lb_simplu1" *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> ADD OBJECT 'Clb_valftva' AS clb_tx_simplu WITH ; Height = 29, ; Left = 69, ; Name = "Clb_valftva", ; TabIndex = 9, ; TabStop = .F., ; Top = 79, ; Width = 270, ; Text_simplu1.ControlSource = "thisform.nbaza_val", ; Text_simplu1.FontName = "Arial Narrow", ; Text_simplu1.FontSize = 10, ; Text_simplu1.Height = 23, ; Text_simplu1.InputMask = (get_mask(10,gnPval)), ; Text_simplu1.Left = 131, ; Text_simplu1.Name = "Text_simplu1", ; Text_simplu1.ReadOnly = .T., ; Text_simplu1.Top = 3, ; Text_simplu1.Width = 135, ; Lb_simplu1.Caption = "Total facturat fãrã TVA", ; Lb_simplu1.Comment = "", ; Lb_simplu1.Name = "Lb_simplu1" *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> ADD OBJECT 'Clb_valtva' AS clb_tx_simplu WITH ; Height = 29, ; Left = 342, ; Name = "Clb_valtva", ; TabIndex = 11, ; TabStop = .F., ; Top = 79, ; Width = 270, ; Text_simplu1.ControlSource = "thisform.ntva_val", ; Text_simplu1.FontName = "Arial Narrow", ; Text_simplu1.FontSize = 10, ; Text_simplu1.Height = 23, ; Text_simplu1.InputMask = (get_mask(10,gnPval)), ; Text_simplu1.Left = 131, ; Text_simplu1.Name = "Text_simplu1", ; Text_simplu1.ReadOnly = .T., ; Text_simplu1.Top = 3, ; Text_simplu1.Width = 135, ; Lb_simplu1.Caption = "Total facturat TVA", ; Lb_simplu1.Comment = "", ; Lb_simplu1.Name = "Lb_simplu1" *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> ADD OBJECT 'Cmd_adauga1' AS cmd_adauga WITH ; Anchor = 4, ; Caption = "\ ADD OBJECT 'Cmd_adauga2' AS cmd_adauga WITH ; Anchor = 4, ; caction = do_copie, ; Caption = "\ ADD OBJECT 'Cmd_executa1' AS cmd_executa WITH ; Anchor = 4, ; caction = do_Reface, ; Caption = "\ ADD OBJECT 'Grid1' AS grid WITH ; Anchor = 15, ; ColumnCount = 15, ; FontSize = 10, ; Height = 273, ; Left = 7, ; Name = "Grid1", ; Panel = 1, ; RecordSource = "rul_temp", ; RowHeight = 19, ; TabIndex = 14, ; Top = 115, ; Width = 756, ; Column1.ControlSource = "denumire", ; Column1.FontName = "Arial", ; Column1.FontSize = 10, ; Column1.Name = "cDenumire", ; Column1.ReadOnly = .T., ; Column1.Width = 181, ; Column2.ControlSource = "codmat", ; Column2.FontName = "Arial", ; Column2.FontSize = 10, ; Column2.Name = "cCodMat", ; Column2.ReadOnly = .T., ; Column2.Width = 84, ; Column3.BackColor = 240,248,255, ; Column3.ColumnOrder = 6, ; Column3.ControlSource = "cant", ; Column3.FontName = "Arial", ; Column3.FontSize = 10, ; Column3.InputMask = (get_mask(10,gnPcant)), ; Column3.Name = "cCant", ; Column3.Width = 67, ; Column4.BackColor = 230,242,255, ; Column4.ColumnOrder = 7, ; Column4.ControlSource = "pret_val", ; Column4.FontName = "Arial", ; Column4.FontSize = 10, ; Column4.InputMask = (get_mask(10,gnPpretval)), ; Column4.Name = "cPretFactura", ; Column4.Width = 108, ; Column5.BackColor = 240,248,255, ; Column5.ColumnOrder = 9, ; Column5.ControlSource = "pretd", ; Column5.FontName = "Arial", ; Column5.FontSize = 10, ; Column5.InputMask = (get_mask(10,gnPPretval)), ; Column5.Name = "cPretValutaCalculat", ; Column5.Width = 114, ; Column6.BackColor = 230,242,255, ; Column6.ColumnOrder = 10, ; Column6.ControlSource = "pret", ; Column6.FontName = "Arial", ; Column6.FontSize = 10, ; Column6.InputMask = (get_mask(10,gnPpret)), ; Column6.Name = "cPretLeiCalculat", ; Column6.Width = 83, ; Column7.ColumnOrder = 11, ; Column7.ControlSource = "round(pret_val*cant, gnPval)", ; Column7.FontName = "Arial", ; Column7.FontSize = 10, ; Column7.InputMask = (get_mask(16,gnPval)), ; Column7.Name = "cValoareValutaFactura", ; Column7.Width = 128, ; Column8.ColumnOrder = 12, ; Column8.ControlSource = "round(pretd*cant, gnPval)", ; Column8.FontName = "Arial", ; Column8.FontSize = 10, ; Column8.InputMask = (get_mask(16,gnPval)), ; Column8.Name = "cValoareValutaCalculat", ; Column8.Width = 97, ; Column9.ColumnOrder = 13, ; Column9.ControlSource = "round(pret*cant, gnPc)", ; Column9.FontName = "Arial", ; Column9.FontSize = 10, ; Column9.InputMask = (get_mask(10,gnPc)), ; Column9.Name = "cValoareLeiCalculat", ; Column9.Width = 104, ; Column10.BackColor = 240,248,255, ; Column10.ColumnOrder = 4, ; Column10.ControlSource = "cont", ; Column10.FontName = "Arial", ; Column10.FontSize = 10, ; Column10.Name = "cCont", ; Column10.ReadOnly = .F., ; Column10.Width = 43, ; Column11.BackColor = 240,248,255, ; Column11.ColumnOrder = 5, ; Column11.ControlSource = "acont", ; Column11.FontName = "Arial", ; Column11.FontSize = 10, ; Column11.Name = "cAcont", ; Column11.ReadOnly = .F., ; Column11.Width = 47, ; Column12.BackColor = 240,248,255, ; Column12.ColumnOrder = 3, ; Column12.ControlSource = "serie", ; Column12.FontName = "Arial", ; Column12.FontSize = 10, ; Column12.Format = "!K", ; Column12.Name = "cSerie", ; Column12.Width = 123, ; Column13.BackColor = 240,248,255, ; Column13.ColumnOrder = 14, ; Column13.ControlSource = "lot", ; Column13.FontName = "Arial", ; Column13.FontSize = 10, ; Column13.Name = "cLot", ; Column14.BackColor = 240,248,255, ; Column14.ColumnOrder = 15, ; Column14.ControlSource = "adata_expirare", ; Column14.FontName = "Arial", ; Column14.FontSize = 10, ; Column14.Name = "cAdata_expirare", ; Column14.Width = 79, ; Column15.BackColor = 240,248,255, ; Column15.ColumnOrder = 8, ; Column15.ControlSource = "proc_disc", ; Column15.FontName = "Arial", ; Column15.FontSize = 10, ; Column15.InputMask = (get_mask(3,2)), ; Column15.Name = "Column1", ; Column15.Width = 50 *< END OBJECT: BaseClass="grid" /> ADD OBJECT 'Grid1.cAcont.Header1' AS header WITH ; Alignment = 2, ; Caption = "Analitic", ; FontName = "Arial", ; FontSize = 10, ; Name = "Header1" *< END OBJECT: BaseClass="header" /> ADD OBJECT 'Grid1.cAcont.Text1' AS textbox WITH ; BackColor = 240,248,255, ; BorderStyle = 0, ; FontName = "Arial", ; FontSize = 10, ; ForeColor = 0,0,0, ; Margin = 0, ; Name = "Text1", ; ReadOnly = .F. *< END OBJECT: BaseClass="textbox" /> ADD OBJECT 'Grid1.cAdata_expirare.Header1' AS header WITH ; Alignment = 2, ; Caption = "Data expirare", ; FontName = "Arial", ; FontSize = 10, ; Name = "Header1" *< END OBJECT: BaseClass="header" /> ADD OBJECT 'Grid1.cAdata_expirare.Text1' AS textbox WITH ; BackColor = 240,248,255, ; BorderStyle = 0, ; FontName = "Arial", ; FontSize = 10, ; ForeColor = 0,0,0, ; Margin = 0, ; Name = "Text1" *< END OBJECT: BaseClass="textbox" /> ADD OBJECT 'Grid1.cCant.Header1' AS header WITH ; Alignment = 2, ; Caption = "Cantitate", ; FontName = "Arial", ; FontSize = 10, ; Name = "Header1" *< END OBJECT: BaseClass="header" /> ADD OBJECT 'Grid1.cCant.Text1' AS textbox WITH ; BackColor = 240,248,255, ; BorderStyle = 0, ; FontName = "Arial", ; FontSize = 10, ; ForeColor = 0,0,0, ; Margin = 0, ; Name = "Text1" *< END OBJECT: BaseClass="textbox" /> ADD OBJECT 'Grid1.cCodMat.Header1' AS header WITH ; Alignment = 2, ; Caption = "Cod material", ; FontName = "Arial", ; FontSize = 10, ; Name = "Header1" *< END OBJECT: BaseClass="header" /> ADD OBJECT 'Grid1.cCodMat.Text1' AS textbox WITH ; BackColor = 255,255,255, ; BorderStyle = 0, ; FontName = "Arial", ; FontSize = 10, ; ForeColor = 0,0,0, ; Margin = 0, ; Name = "Text1", ; ReadOnly = .T. *< END OBJECT: BaseClass="textbox" /> ADD OBJECT 'Grid1.cCont.Header1' AS header WITH ; Alignment = 2, ; Caption = "Cont", ; FontName = "Arial", ; FontSize = 10, ; Name = "Header1" *< END OBJECT: BaseClass="header" /> ADD OBJECT 'Grid1.cCont.Text1' AS textbox WITH ; BackColor = 240,248,255, ; BorderStyle = 0, ; FontName = "Arial", ; FontSize = 10, ; ForeColor = 0,0,0, ; Margin = 0, ; Name = "Text1", ; ReadOnly = .F. *< END OBJECT: BaseClass="textbox" /> ADD OBJECT 'Grid1.cDenumire.Header1' AS header WITH ; Alignment = 2, ; Caption = "Denumire", ; FontName = "Arial", ; FontSize = 10, ; Name = "Header1" *< END OBJECT: BaseClass="header" /> ADD OBJECT 'Grid1.cDenumire.Text1' AS textbox WITH ; BackColor = 255,255,255, ; BorderStyle = 0, ; FontName = "Arial", ; FontSize = 10, ; ForeColor = 0,0,0, ; Margin = 0, ; Name = "Text1", ; ReadOnly = .T. *< END OBJECT: BaseClass="textbox" /> ADD OBJECT 'Grid1.cLot.Header1' AS header WITH ; Alignment = 2, ; Caption = "Lot", ; FontName = "Arial", ; FontSize = 10, ; Name = "Header1" *< END OBJECT: BaseClass="header" /> ADD OBJECT 'Grid1.cLot.Text1' AS textbox WITH ; BackColor = 240,248,255, ; BorderStyle = 0, ; FontName = "Arial", ; FontSize = 10, ; ForeColor = 0,0,0, ; Margin = 0, ; Name = "Text1" *< END OBJECT: BaseClass="textbox" /> ADD OBJECT 'Grid1.Column1.Header1' AS header WITH ; Caption = "Disc. %", ; FontName = "Arial", ; FontSize = 10, ; Name = "Header1" *< END OBJECT: BaseClass="header" /> ADD OBJECT 'Grid1.Column1.Text1' AS textbox WITH ; BackColor = 240,248,255, ; BorderStyle = 0, ; FontName = "Arial", ; FontSize = 10, ; ForeColor = 0,0,0, ; Margin = 0, ; Name = "Text1" *< END OBJECT: BaseClass="textbox" /> ADD OBJECT 'Grid1.cPretFactura.Header1' AS header WITH ; Alignment = 2, ; Caption = "Pret valuta factura", ; FontName = "Arial", ; FontSize = 10, ; Name = "Header1" *< END OBJECT: BaseClass="header" /> ADD OBJECT 'Grid1.cPretFactura.Text1' AS textbox WITH ; BackColor = 230,242,255, ; BorderStyle = 0, ; FontName = "Arial", ; FontSize = 10, ; ForeColor = 0,0,0, ; Margin = 0, ; Name = "Text1" *< END OBJECT: BaseClass="textbox" /> ADD OBJECT 'Grid1.cPretLeiCalculat.Header1' AS header WITH ; Alignment = 2, ; Caption = "Pret unitar", ; FontName = "Arial", ; FontSize = 10, ; Name = "Header1" *< END OBJECT: BaseClass="header" /> ADD OBJECT 'Grid1.cPretLeiCalculat.Text1' AS textbox WITH ; BackColor = 230,242,255, ; BorderStyle = 0, ; FontName = "Arial", ; FontSize = 10, ; ForeColor = 0,0,0, ; Margin = 0, ; Name = "Text1" *< END OBJECT: BaseClass="textbox" /> ADD OBJECT 'Grid1.cPretValutaCalculat.Header1' AS header WITH ; Alignment = 2, ; Caption = "Pret valuta calculat", ; FontName = "Arial", ; FontSize = 10, ; Name = "Header1" *< END OBJECT: BaseClass="header" /> ADD OBJECT 'Grid1.cPretValutaCalculat.Text1' AS textbox WITH ; BackColor = 240,248,255, ; BorderStyle = 0, ; FontName = "Arial", ; FontSize = 10, ; ForeColor = 0,0,0, ; Margin = 0, ; Name = "Text1" *< END OBJECT: BaseClass="textbox" /> ADD OBJECT 'Grid1.cSerie.Header1' AS header WITH ; Alignment = 2, ; Caption = "Serie", ; FontName = "Arial", ; FontSize = 10, ; Name = "Header1" *< END OBJECT: BaseClass="header" /> ADD OBJECT 'Grid1.cSerie.Text1' AS textbox WITH ; BackColor = 240,248,255, ; BorderStyle = 0, ; FontName = "Arial", ; FontSize = 10, ; ForeColor = 0,0,0, ; Margin = 0, ; Name = "Text1" *< END OBJECT: BaseClass="textbox" /> ADD OBJECT 'Grid1.cValoareLeiCalculat.Header1' AS header WITH ; Alignment = 2, ; Caption = "Valoare", ; FontName = "Arial", ; FontSize = 10, ; Name = "Header1" *< END OBJECT: BaseClass="header" /> ADD OBJECT 'Grid1.cValoareLeiCalculat.Text1' AS textbox WITH ; BackColor = 255,255,255, ; BorderStyle = 0, ; FontName = "Arial", ; FontSize = 10, ; ForeColor = 0,0,0, ; Margin = 0, ; Name = "Text1" *< END OBJECT: BaseClass="textbox" /> ADD OBJECT 'Grid1.cValoareValutaCalculat.Header1' AS header WITH ; Alignment = 2, ; Caption = "Valoare valuta", ; FontName = "Arial", ; FontSize = 10, ; Name = "Header1" *< END OBJECT: BaseClass="header" /> ADD OBJECT 'Grid1.cValoareValutaCalculat.Text1' AS textbox WITH ; BackColor = 255,255,255, ; BorderStyle = 0, ; FontName = "Arial", ; FontSize = 10, ; ForeColor = 0,0,0, ; Margin = 0, ; Name = "Text1" *< END OBJECT: BaseClass="textbox" /> ADD OBJECT 'Grid1.cValoareValutaFactura.Header1' AS header WITH ; Alignment = 2, ; Caption = "Valoare valuta factura", ; FontName = "Arial", ; FontSize = 10, ; Name = "Header1" *< END OBJECT: BaseClass="header" /> ADD OBJECT 'Grid1.cValoareValutaFactura.Text1' AS textbox WITH ; BackColor = 255,255,255, ; BorderStyle = 0, ; FontName = "Arial", ; FontSize = 10, ; ForeColor = 0,0,0, ; Margin = 0, ; Name = "Text1" *< END OBJECT: BaseClass="textbox" /> ADD OBJECT 'Label3' AS label WITH ; AutoSize = .T., ; BackStyle = 0, ; Caption = "Moneda", ; FontBold = .T., ; Height = 17, ; Left = 7, ; Name = "Label3", ; TabIndex = 4, ; Top = 35, ; Width = 45, ; WordWrap = .T. *< END OBJECT: BaseClass="label" /> ADD OBJECT 'lblLei' AS label WITH ; AutoSize = .T., ; BackStyle = 0, ; Caption = "Naþionalã", ; FontCharSet = 238, ; Height = 17, ; Left = 12, ; Name = "lblLei", ; TabIndex = 12, ; Top = 57, ; Width = 53, ; WordWrap = .T. *< END OBJECT: BaseClass="label" /> ADD OBJECT 'lblValuta' AS label WITH ; AutoSize = .T., ; BackStyle = 0, ; Caption = "Valutã", ; FontCharSet = 238, ; Height = 17, ; Left = 12, ; Name = "lblValuta", ; TabIndex = 13, ; Top = 85, ; Width = 33, ; WordWrap = .T. *< END OBJECT: BaseClass="label" /> PROCEDURE assign_analitic PARAMETERS tcCont,pcAct,pcRul PRIVATE pcCont,pcAct,pcRul,pParamP,pParamS STORE 0 TO pParamP,pParamS lcAnalitic = '' lcAlias = ALIAS() pcCont = ALLTRIM(tcCont) lcSel = [SELECT * from ] + gcs + [.config_analitice WHERE cont = ?pcCont] lcCursor = 'crs_cfg_ana' lnSucces = goExecutor.oExecute(lcSel,lcCursor) IF lnSucces < 0 aMESSAGEBOX(goExecutor.cEroare,0+16,"Eroare") RETURN ENDIF IF lnSucces > 0 IF RECCOUNT('crs_cfg_ana')=0 USE IN crs_cfg_ana lnSucces = -1 ENDIF ENDIF IF lnSucces > 0 SELECT crs_cfg_ana SCATTER NAME ocfg lcCampPrefix = NVL(ALLTRIM(ocfg.camp_leg_prefix),'') lcCampSufix = NVL(ALLTRIM(ocfg.camp_leg_sufix),'') IF !EMPTY(lcCampPrefix) IF TYPE('&pcRul..'+lcCampPrefix) # 'U' pParamP = &pcRul..&lcCampPrefix ELSE IF TYPE('&pcAct..'+lcCampPrefix) # 'U' pParamP = &pcAct..&lcCampPrefix ENDIF ENDIF ENDIF IF !EMPTY(lcCampSufix) IF TYPE('&pcRul..'+lcCampSufix) # 'U' pParamS = &pcRul..&lcCampSufix ELSE IF TYPE('&pcAct..'+lcCampSufix) # 'U' pParamS = &pcAct..&lcCampSufix ENDIF ENDIF ENDIF lcSel = [{call fconturi_analitice(?gcs,?pcCont,0,?pParamP,?pParamS)}] lcCursor = 'crs_analitice' lnSucces = goExecutor.oExecute(lcSel,lcCursor) IF lnSucces < 0 amessagebox(goExecutor.cEroare,0+16,"Eroare") ENDIF ENDIF && iau Primul Simbol Analitic din Tabel - ordonat pt ca e selectat cu Distinct IF lnSucces > 0 SELECT crs_analitice GO top lcAnalitic = ALLTRIM(acont) ENDIF && verificare analiticului cu Planul de Conturi IF lnSucces > 0 lcSel = [SELECT cont,acont from ] + gcs + [.vplcont_analitic WHERE cont = ?pcCont and acont = ?lcAnalitic and an = ?gnAn ] lcCursor = 'crs_verific' lnSucces = goExecutor.oExecute(lcSel,lcCursor) IF lnSucces < 0 amessagebox(goExecutor.cEroare,0+16,"Eroare") ENDIF ENDIF IF lnSucces > 0 IF RECCOUNT('crs_verific')=0 lnSucces = -1 ENDIF ENDIF IF USED('crs_cfg_ana') USE IN crs_cfg_ana ENDIF IF USED('crs_verific') USE IN crs_verific ENDIF IF USED('crs_analitice') USE IN crs_analitice ENDIF IF USED('crs_verific') USE IN crs_verific ENDIF IF lnSucces < 0 lcAnalitic = '' ENDIF SELECT (lcAlias) RETURN lcAnalitic **** ENDPROC PROCEDURE do_adauga lcLista = ['-1'] SELECT DISTINCT scd FROM actactan WHERE suma <> 0 INTO CURSOR tconturi SELECT tconturi SCAN lcLista = lcLista + [,'] + ALLTRIM(scd) + ['] ENDSCAN LOCAL lcXMLArticole, lcFiltru, lcCrsArt, lcCrsNir lcFiltru = [a.cont in (] + lcLista + [)] lcXMLArticole = cauta_nom_articole(lcFiltru) && ocautare.prg - selectie multipla (click/SPACE); adauga singura a.inactiv = 0 IF gnButon = 1 AND !EMPTY(lcXMLArticole) lcCrsArt = [crsArtAlese] XMLTOCURSOR(lcXMLArticole, lcCrsArt) lcCrsNir = THIS.grid1.RECORDSOURCE loAct = THIS.oact SELECT (lcCrsArt) SCAN SCATTER NAME loArt SELECT (lcCrsNir) APPEND BLANK GATHER NAME loAct GATHER NAME loArt REPLACE id_gestiune WITH loAct.id_gestin SCATTER NAME lorul && pentru id_gestiune lcAcont = THISFORM.assign_analitic(lorul.CONT,THISFORM.oact,'lorul') SELECT (lcCrsNir) REPLACE acont WITH lcAcont, tva WITH ROUND(pret * (proc_tva-1), gnPpret) SELECT (lcCrsArt) ENDSCAN USE IN (lcCrsArt) THIS.grid1.REFRESH ENDIF THIS.GRid1.cserie.SetFocus() ENDPROC PROCEDURE do_calculeaza_diferente PARAMETERS tnRecNo, tcCursor && modificare v 2.1.3 : am adaugat tcCursor *!* modificare v 2.1.3 *!* lcSel = Thisform.grid1.RecordSource If Empty(tcCursor) lcSel = Thisform.grid1.RecordSource Else lcSel = tcCursor Endif *!* modificare v 2.1.3 ^ SELECT (lcSel) SUM ROUND(Pret*cant,gnPc) TO lnLeiTot SUM ROUND(Pretd*cant,gnPval) TO lnValTot thisform.ndif_lei = thisform.nbaza_lei - lnLeiTot thisform.ndif_val = thisform.nbaza_val - lnValTot thisform.clb_diferente_lei.Refresh thisform.clb_diferente_valuta.Refresh SELECT (lcSel) IF tnRecNo = 1 LOCATE ELSE GO tnRecNo ENDIF ENDPROC PROCEDURE do_copie lcSelect = this.grid1.RecordSource SELECT (lcSelect) SCATTER NAME loRec INSERT INTO (lcSelect) FROM NAME loRec this.do_reface() this.grid1.SetFocus() ENDPROC PROCEDURE do_executa PARAMETERS tnNivel, tRecNo, tnValue, tcCursor && modificare v 2.1.3 : am adaugat tcCursor *!* DEBUG *!* SUSPEND *!* modificare v 2.1.3 *!* lcSel = Thisform.grid1.RecordSource If Empty(tcCursor) lcSel = Thisform.grid1.RecordSource Else lcSel = tcCursor Endif *!* modificare v 2.1.3 ^ SELECT (lcSel) IF tnNivel <= 2 *WAIT WINDOW STR(tnValue,16,4) IF this.lIntern IF tnNivel <= 1 lnPretLei = ROUND(tnValue*thisform.procent_lei/100,gnPPret) && modificare v 2.1.39 : gnPPret in loc de gnPVal ELSE lnPretLei = tnValue ENDIF && modificare v 2.1.39 : gnPPret in loc de gnPVal lnPretLei = ROUND(lnPretLei - (lnPretLei * proc_disc/100 ),gnPPret) && modificare v 2.1.37 REPLACE pret WITH lnPretLei ELSE IF tnNivel <= 1 lnPretVal = ROUND(tnValue*thisform.procent_val/100,gnPPretval) && modificare v 2.1.39 : gnPPretval in loc de gnPVal ELSE lnPretval = tnValue ENDIF lnPretVal = ROUND(lnPretVal - (lnPretVal * proc_disc/100 ),gnPPretval) && modificare v 2.1.39 : gnPPretval in loc de gnPVal REPLACE pretd WITH lnPretval lnPretLei = ROUND(ROUND(lnPretval*thisform.ncurs,gnPpret)*thisform.procent_lei/100,gnPpret) REPLACE pret WITH lnPretLei ENDIF ENDIF this.do_calculeaza_diferente(tRecNo,tcCursor) && modificare v 2.1.3 : am adaugat tcCursor ENDPROC PROCEDURE do_modiparam Local lcSelect, lcFisier, lnIdArticol, lcCursor, lcCont, loAct, lnInregistrari LOCAL loEx as Exception Local lcAcont, lcDenumire, lcSelect2, lcSql, llSucces, lnSucces, loArticol Local lcMesaj Local lnRec Local lnInStoc Private pnIdArticol, lorul loAct = This.oact CALCULATE CNT() FOR !DELETED() TO lnInregistrari IN rul_temp If m.lnInregistrari > 0 IF AMESSAGEBOX('Doriti sa stergeti reperele deja existente?',4+32,_screen.Caption) = 6 SELECT rul_temp DELETE ALL ENDIF *!* amessagebox("Nu puteti face import daca ati adaugat deja repere pe nir!",48,"Atentie") *!* Return Endif amessagebox("Fisierul XLS trebuie sa contina campurile (in aceasta ordine si fara capul de tabel): " + CHR(13) + CHR(10) + ; [COD PRODUS, DENUMIRE, UM, CANTITATE, PRET IN VALUTA FARA TVA (de pe factura)] + Chr(13) + Chr(10) + Chr(13) + Chr(10) + ; [Fisierul trebuie sa fie salvat cu formatul "Microsoft Excel 5.0/95 Workbook (*.xls)"] ,48,"Atentie") lcFisier = Getfile("xls","Fisier factura","Alegeti",0,"Import fisier factura - format XLS") If Empty(m.lcFisier) Or !File(m.lcFisier) Return ENDIF lcSelect = "rul_temp" llSucces = .F. TRY SELECT 0 Import From (lcFisier) Type Xls lcSelect2 = Alias() SELECT ALLTRIM(UPPER(TRANSFORM(a))) as codmat, UPPER(ALLTRIM(TRANSFORM(b))) as denumire, UPPER(ALLTRIM(TRANSFORM(c))) as um, ROUND(d,6) as cant, ROUND(e,6) as pret_val ; FROM &lcSelect2 ; INTO CURSOR crsImport llSucces = .T. Catch To loEx lcMesaj = 'Fisierul ' + m.lcFisier + ' nu a putut fi importat.' + Chr(13) + Chr(10) + TRANSFORM(loEx.ErrorNo) + " " IF loEx.ErrorNo = 1661 lcMesaj = m.lcMesaj + [Salvati fisierul in formatul "Microsoft Excel 5.0/95 Workbook (*.xls)"] ELSE lcMesaj = m.lcMesaj + loEx.Message ENDIF amessagebox(m.lcMesaj, 0+48, _Screen.Caption) ENDTRY IF !m.llSucces RETURN ENDIF USE IN (SELECT(m.lcSelect2)) lcSelect2 = "crsImport" *!* A = codmat *!* B = denumire *!* C = um *!* D = cantitate *!* E = pret achizitie in valuta save_grid_tag(Thisform.grid1) Select Distinct scd From actactan Where Inlist(Left(Alltrim(scd),1),'2','3') And suma <> 0 Into Cursor tconturi If Reccount('tconturi') = 1 Select tconturi lcCont = Alltrim(scd) Else lcCont = [] Endif Use In tconturi If Reccount(m.lcSelect2) > 0 lcCursor = [crstmpimpart] Select (lcSelect2) Scan Scatter Name loArticol If !Empty(Nvl(loArticol.cant,0)) pnIdArticol = 0 lcSql = [select id_articol,denumire,in_stoc,cont from nom_articole where UPPER(codmat) = '] + loArticol.codmat + [' and sters = 0] If !goExecutor.oExecuta(lcSql,lcCursor) amessagebox("A fost inregistrata o eroare la cautarea articolului " + loArticol.denumire + " pe nir!" + crlf + ; "Iesiti din acest nir si reincercati operatia de preluare a fisierului!",48,"Atentie") Exit Else Select (lcCursor) If Reccount(lcCursor) > 0 Locate For Upper(Alltrim(denumire)) = loArticol.denumire If !Found() Go Top Endif lcDenumire = Upper(Alltrim(denumire)) If lcDenumire <> loArticol.denumire If amessagebox("Articolul " + loArticol.denumire + " a fost gasit in baza de date dupa cod material, dar are denumirea de "+; lcDenumire + ".Doriti sa pastrati denumirea din baza de date?" + crlf + ; "( Daca apasati nu, atunci se va crea un articol nou cu denumirea din fisier )",4+32,"Denumire diferita") = 6 lnIdArticol = id_articol lnInStoc = Nvl(in_stoc,1) loArticol.denumire = m.lcDenumire Else *!*adauga_articol If Empty(m.lcCont) lcCont = Inputbox("Introduceti contul pentru articolul " + loArticol.denumire, "Cont articol ", m.lcCont, 5000,[371],[371]) Endif lcSql = [begin pack_preturi.adauga_articol(?gnAn,'] + loArticol.codmat + [',NULL,NULL,] + ; ['] + loArticol.denumire + [','] + loArticol.um + [',] + ; ['] + Upper(Alltrim(m.lcCont)) + [',Null,0,0,NULL,NULL,0,NULL,1,0,0,?gnIdUtil,] + ; ALLTRIM(Str(loAct.id_partc)) + [,0,0,?@pnIdArticol); end;] goExecutor.oExecuta(lcSql) lnIdArticol = m.pnIdArticol lnInStoc = 1 Endif Else lnIdArticol = id_articol lnInStoc = Nvl(in_stoc,1) Endif Else *!* adauga articol If Empty(m.lcCont) lcCont = Inputbox("Introduceti contul pentru articolul " + loArticol.denumire, "Cont articol ", m.lcCont, 5000,[371],[371]) Endif lcSql = [begin pack_preturi.adauga_articol(?gnAn,'] + loArticol.codmat + [',NULL,NULL,] + ; ['] + loArticol.denumire + [','] + loArticol.um + [',] + ; ['] + Upper(Alltrim(m.lcCont)) + [',Null,0,0,NULL,NULL,0,NULL,1,0,0,?gnIdUtil,] + ; ALLTRIM(Str(loAct.id_partc)) + [,0,0,?@pnIdArticol); end;] goExecutor.oExecuta(lcSql) lnIdArticol = m.pnIdArticol lnInStoc = 1 Endif If lnIdArticol = 0 amessagebox("A fost inregistrata o eroare la adaugarea articolului " + loArticol.denumire + " pe NIR!" + crlf + ; "Iesiti din acest nir si reincercati operatia de preluare a fisierului!",48,"Atentie") Exit Use In (lcCursor) Else *!* completez in rul_temp Select (lcSelect) Append Blank Gather Name loAct Replace Cont With m.lcCont, id_gestiune With loAct.id_gestin, id_articol With m.lnIdArticol,; denumire With loArticol.denumire, codmat With loArticol.codmat,; um With loArticol.um, cant With loArticol.cant, pret_val With loArticol.pret_val,; in_stoc With m.lnInStoc Scatter Name lorul lcAcont = Thisform.assign_analitic(lorul.Cont, Thisform.oact, 'lorul') Select (m.lcSelect) Replace acont With m.lcAcont, tva With Round(Pret * (proc_tva-1), m.gnPpret) Thisform.do_executa(1, Recno(), pret_val, m.lcSelect) Use In (m.lcCursor) Endif Endif Endif Select (m.lcSelect2) Endscan Endif Use In (select(lcSelect2)) Select (lcSelect) GO TOP lnRec = RECNO() thisform.Do_calculeaza_diferente(m.lnRec, m.lcSelect) restore_grid_tag(Thisform.grid1) this.grid1.SetFocus() ENDPROC PROCEDURE do_reface lcSel = Thisform.grid1.RecordSource Select (lcSel) lnNrIreg = Reccount(lcSel) lnRec = Recno() lnLeiTot = 0 lnValTot = 0 i = 0 Scan i = i + 1 Scatter Name orul *!* modificare v 2.1.37 *!* lnPretval = Round(orul.pret_val*Thisform.procent_val/100,gnPval) *!* lnPretval = Round(lnPretval - (lnPretval * orul.proc_disc/100 ),gnPval) *!* lnPretLei = Round(Round(lnPretval*Thisform.ncurs,gnPpret)*Thisform.procent_lei/100,gnPpret) If Thisform.lIntern lnPretlei = Round(orul.pret_lei*Thisform.procent_lei/100,gnPPret) && modificare v 2.1.39 : gnPPret in loc de gnPVal lnPretlei = Round(lnPretlei - (lnPretlei * orul.proc_disc/100 ),gnPPret) && modificare v 2.1.39 : gnPPret in loc de gnPVal lnPretval = 0 Else lnPretval = Round(orul.pret_val*Thisform.procent_val/100,gnPPretVal) && modificare v 2.1.39 : gnPPretVal in loc de gnPVal lnPretval = Round(lnPretval - (lnPretval * orul.proc_disc/100 ),gnPPretVal) && modificare v 2.1.39 : gnPPretVal in loc de gnPVal lnPretlei = Round(Round(lnPretval*Thisform.ncurs,gnPpret)*Thisform.procent_lei/100,gnPpret) Endif *!* modificare v 2.1.37 ^ Replace pretd With lnPretval Replace Pret With lnPretlei lnLeiTot = lnLeiTot + Round(lnPretlei*cant,gnPc) lnValTot = lnValTot + Round(lnPretval*cant,gnPval) *!* IF i = lnNrIreg *!* REPLACE pret WITH pret + (thisform.nbaza_lei - lnPretTot) *!* ENDIF Endscan Thisform.Do_calculeaza_diferente(lnRec) *GO lnRec ENDPROC PROCEDURE inainte_de_do_termin *** copiez actactan sa pot sa il restaurez pentru cazul in care se apasa butonul in formularul de verificare Local lcScd, lcScd1, lcSerieAct, lnIdpartd, lnNnir, lnNract, lnSucces, lnDiferenta Local lnRec SELECT rul_temp lnRec = RECNO() thisform.Do_calculeaza_diferente(m.lnRec, "rul_temp") && calcularea diferentelor Select * From actactan Into Cursor crsActactanTemp READWRITE NOFILTER lnDiferenta = This.ndif_lei If lnDiferenta <> 0 Select actactan locate lcScd = scd lnIdpartd = actactan.id_partd Append Blank *!* modificare migrare v 1.0 > v 2.0 *!* Gather Name poact Fields Except Curs, pretd, nume_val, id_valuta, nnir, proc_tva Gather Name poAct Fields Except Curs, pretd, nume_val, id_valuta, nnir, proc_tva *!* modificare migrare v 1.0 > v 2.0 ^ If Substr(lcScd,1,2)='34' *!* modificare migrare v 1.0 > v 2.0 *!* Replace suma With lnDiferenta, ; *!* scd With '711', scc With lcScd, explicatia With 'DIFERENTE' Replace suma With lnDiferenta, ; scd With '711', scc With lcScd, explicatia With 'DIFERENTE',ID_JTVA_coloana With Null *!* modificare migrare v 1.0 > v 2.0 ^ Else lcScd = Alltrim(lcScd) Do Case Case lcScd = "371" lcScd1 = "607" Case Inlist(lcScd, "381", "388") lcScd1 = "608" Otherwise lcScd1 = '60' + Substr(lcScd,3,2) Endcase *!* modificare migrare v 1.0 > v 2.0 *!* Replace suma With lnDiferenta, ; *!* scd With lcScd1, scc With lcScd, explicatia With 'DIFERENTE' Replace suma With lnDiferenta, ; scd With lcScd1, scc With lcScd,id_partc With lnIdpartd, explicatia With 'DIFERENTE',ID_JTVA_coloana With Null *!* modificare migrare v 1.0 > v 2.0 ^ Endif Endif Select actactan Locate Do Form verificare With .T. , .T. If gnButon = 2 Use In (Select('actactan')) Select * From crsActactanTemp Into Cursor actactan READWRITE NOFILTER Use In (Select('crsActactanTemp')) RETURN .F. Else Use In (Select('crsActactanTemp')) *!* modificare v 2.1.41 Select actactan Go Top lnNrAct = nract lcSerieAct = serie_act * completex TVA si TAXCODE cu datele de pe prima factura lnIdJtvaColoana = id_jtva_coloana lnTaxCode = taxcode If Used('rul_temp') Select rul_temp Replace ALL nract With lnNrAct,serie_act With lcSerieAct, id_jtva_coloana WITH m.lnIdJtvaColoana, taxcode WITH m.lnTaxCode Endif If Used('rul_temp_obinv') Select rul_temp_obinv Replace ALL nract With lnNrAct,serie_act With lcSerieAct Endif *!* Select Distinct serie_Act,nract,nnir From actactan Where nract <> nnir Into Cursor crsRulComplet *!* If Used('rul_temp') *!* Select crsRulComplet *!* Scan *!* lnNnir = nnir *!* lnNract = nract *!* lcSerieAct = serie_Act *!* Select rul_temp *!* Replace nract With lnNract,serie_Act With lcSerieAct For nnir = lnNnir *!* Select crsRulComplet *!* Endscan *!* Endif *!* If Used('rul_temp_obinv') *!* Select crsRulComplet *!* Scan *!* lnNnir = nnir *!* lnNract = nract *!* lcSerieAct = serie_Act *!* Select rul_temp_obinv *!* Replace nract With lnNract,serie_Act With lcSerieAct For nnir = lnNnir *!* Select crsRulComplet *!* Endscan *!* Endif *!* If Used('crsRulComplet') *!* Use In crsRulComplet *!* Endif *!* modificare v 2.1.41 ^ *!* modificare 13.08.2007 ^ ***** articolele negestionabile nu intra in rulaje/stoc (acelasi model ca la NIR normal) * le pastrez intr-un cursor temporar ca sa le pot readauga daca scrierea esueaza Select * From rul_temp Where Nvl(in_stoc,1) = 0 And !Deleted() Into Cursor crsNegest NOFILTER Readwrite Delete From rul_temp Where Nvl(in_stoc,1) = 0 lnSucces = oscrie_in_fisiere(0,.F.,.T.) If lnSucces > 0 Use In (Select('crsNegest')) this.AlwaysOnTop = .F. Do listare_nir With poAct.nnir, gnTipGest In oproceduri_listari this.AlwaysOnTop = .T. RETURN .T. Else * scrierea a esuat - readaug articolele negestionabile, ca grila sa ramana completa la reincercare Select rul_temp Append From Dbf('crsNegest') Use In (Select('crsNegest')) Endif Endif ENDPROC PROCEDURE Init Lparameters tlIntern This.lIntern = tlIntern If This.lIntern This.grid1.cPretFactura.ControlSource = "pret_lei" This.grid1.cPretFactura.Header1.Caption = "Pret lei factura" *!* modificare v 2.1.39 This.grid1.cPretFactura.InputMask = get_mask(10,gnPPret) *!* modificare v 2.1.39 ^ This.grid1.cPretValutaCalculat.Visible = .F. This.grid1.cValoareValutaFactura.Visible = .F. This.grid1.cValoareValutaCalculat.Visible = .F. This.clb_diferente_valuta.Visible = .F. *!* modificare v 2.1.3 Thisform.but_modiparam1.Visible = .F. Thisform._shape2.Left = Thisform.but_renunt1.Left - (Thisform.but_modiparam1.Left - Thisform._shape2.Left) *!* modificare v 2.1.3 ^ ENDIF this.WindowState = 2 DoDefault() ENDPROC PROCEDURE Show LPARAMETERS nStyle this.do_reface ENDPROC PROCEDURE Grid1.cCant.Text1.InteractiveChange DODEFAULT() this.LostFocus(.T.) ENDPROC PROCEDURE Grid1.cCant.Text1.LostFocus PARAMETERS tlCalcul IF tlCalcul REPLACE cant WITH this.Value lnRec = RECNO() thisform.do_executa(3,lnRec,this.value) ENDIF ENDPROC PROCEDURE Grid1.Column1.Text1.LostFocus Parameters tlCalcul *IF tlCalcul * REPLACE pret_val WITH this.Value lnRec = Recno() *!* thisform.do_executa(3,lnRec,this.Value) *!* modificare v 2.1.37 *!* thisform.do_executa(1,lnRec,pret_val) If Thisform.lIntern Thisform.do_executa(1,lnRec,pret_lei) Else Thisform.do_executa(1,lnRec,pret_val) Endif *!* modificare v 2.1.37 ^ *ENDIF ENDPROC PROCEDURE Grid1.cPretFactura.Text1.InteractiveChange *!* DODEFAULT() *!* this.LostFocus(.t.) ENDPROC PROCEDURE Grid1.cPretFactura.Text1.LostFocus PARAMETERS tlCalcul *IF tlCalcul * REPLACE pret_val WITH this.Value lnRec = RECNO() thisform.do_executa(1,lnRec,this.Value) *ENDIF ENDPROC PROCEDURE Grid1.cPretLeiCalculat.Text1.InteractiveChange DODEFAULT() this.LostFocus(.t.) ENDPROC PROCEDURE Grid1.cPretLeiCalculat.Text1.LostFocus PARAMETERS tlCalcul IF tlCalcul REPLACE pret WITH this.Value lnRec = RECNO() thisform.do_executa(3,lnRec,this.Value) ENDIF ENDPROC PROCEDURE Grid1.cPretValutaCalculat.Text1.InteractiveChange DODEFAULT() this.LostFocus(.t.) ENDPROC PROCEDURE Grid1.cPretValutaCalculat.Text1.LostFocus PARAMETERS tlCalcul IF tlCalcul lnRec = RECNO() thisform.do_executa(2,lnRec,this.value) ENDIF ENDPROC ENDDEFINE DEFINE CLASS import_nota AS frm_termin_renunt OF "_frm_child.vcx" *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder *< OBJECTDATA: ObjPath="Grid1" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Grid1.cNract.Header1" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Grid1.cNract.Text1" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Grid1.cPartC.Header1" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Grid1.cPartC.Text1" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Grid1.cExplicatie.Header1" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Grid1.cExplicatie.Text1" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Grid1.cExplicatieTva.Header1" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Grid1.cExplicatieTva.Combo1" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Grid1.cExplicatieTva.Text1" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Grid1.cExplicatia4.Header1" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Grid1.cExplicatia4.Text1" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Grid1.cScd.Header1" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Grid1.cScd.Text1" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Grid1.cScc.Header1" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Grid1.cScc.Text1" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Grid1.cSuma.Header1" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Grid1.cSuma.Text1" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Grid1.cSumaVal.Header1" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Grid1.cSumaVal.Text1" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Grid1.cInValuta.Header1" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Grid1.cInValuta.Check1" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Grid1.cExplicatia5.Header1" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Grid1.cExplicatia5.Text1" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Grid1.cPartD.Header1" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Grid1.cPartD.Text1" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Grid1.cAscd.Header1" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Grid1.cAscd.Text1" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Grid1.cAscc.Header1" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Grid1.cAscc.Text1" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Grid1.cPtva.Header1" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Grid1.cPtva.Text1" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Grid1.cParticipaValuta.Header1" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Grid1.cParticipaValuta.Check1" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Grid1.cSerie_act.Header1" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Grid1.cSerie_act.Text1" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Grid1.cDataAct.Header1" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Grid1.cDataAct.Text1" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Grid1.cFDoc.Header1" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Grid1.cFDoc.Text1" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Grid1.cSe_scrie.Header1" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Grid1.cSe_scrie._checkbox1" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Grid1.cTaxCode.Header1" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Grid1.cTaxCode.Text1" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Grid1.cTaxCode._combobox1" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Text1" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Text2" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Text3" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Label1" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Label2" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Label3" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Label4" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="lb_curs" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Cmd_executa1" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Lb_pas_flux" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="But_nou1" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="But_sterge1" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Grid1.cCurs.Header1" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Grid1.cCurs.Text1" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Grid1.cValuta.Header1" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Grid1.cValuta.Text1" UniqueID="" Timestamp="" /> * *m: aplica_explicatie_tva *m: copiaza_valoare *m: do_adauga *m: do_adauga_factura *m: do_calculeaza_suma *m: do_modifica_explicatie_tva *m: do_modifica_fdoc *m: refac_culori_documente *m: updateexplicatiesaft *p: cdvifeldoc && memoria DVI: textul felului de document al DVI (pt. redeschidere dialog) *p: cdvinr && memoria DVI (M2): numarul DVI, ca sir - vezi contract mai jos *p: cdvipartener && memoria DVI: denumirea partenerului vamal *p: cdviserie && memoria DVI: seria DVI (de regula goala) *p: ddvidata && memoria DVI: data DVI *p: ldialogaratat && dialogul "Adauga factura" a fost deschis automat la Activate (o singura data) *p: lintern && Formularul este folosit pentru Import (.T.) sau pentru achizitii interne (.F.) *p: ndviidfdoc && memoria DVI: id_fdoc ales prima data prin caut_fdoc - cheia sesiunii DVI *p: ndviidpartener && memoria DVI: id_part al partenerului vamal *p: nid_part_finalizarenir *p: oact *p: tprocente *p: tsuma * * cdvifeldoc = "" cdvinr = "" cdvipartener = "" cdviserie = "" ddvidata = {} DoCreate = .T. Height = 405 ldialogaratat = .F. lintern = .F. Name = "import_nota" ndviidfdoc = 0 ndviidpartener = 0 nid_part_finalizarenir = oact = tprocente = 0 tsuma = 0 Width = 794 _memberdata = _shape1.Anchor = 10 _shape1.Height = 29 _shape1.Left = 0 _shape1.Name = "_shape1" _shape1.Top = 0 _shape1.Width = 800 _shape2.Anchor = 8 _shape2.Left = 734 _shape2.Name = "_shape2" _shape2.Top = 0 _shape2.Width = 60 Lb_titlu_alb_b121.Caption = "ACHIZIÞIE DIN IMPORT MARFÃ/MATERIALE" Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" BUT_TERMIN1.Anchor = 8 BUT_TERMIN1.cpicturedown = urmator2.bmp BUT_TERMIN1.cpictureup = urmator1.bmp BUT_TERMIN1.Left = 765 BUT_TERMIN1.Name = "BUT_TERMIN1" BUT_TERMIN1.Picture = ..\grafice\urmator1.bmp BUT_TERMIN1.ToolTipText = "Urmator (CTRL+F)" BUT_TERMIN1.Top = 1 Gridsort1.Name = "Gridsort1" But_renunt1.Anchor = 8 But_renunt1.Left = 736 But_renunt1.Name = "But_renunt1" But_renunt1.Top = 1 * ADD OBJECT 'But_nou1' AS but_nou WITH ; Anchor = 8, ; Left = 704, ; Name = "But_nou1", ; Top = 1 *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> ADD OBJECT 'But_sterge1' AS but_sterge WITH ; Anchor = 8, ; Left = 672, ; Name = "But_sterge1", ; ToolTipText = "Stergere nota curenta (baza + TVA)", ; Top = 1, ; Visible = .T. *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> ADD OBJECT 'Cmd_executa1' AS cmd_executa WITH ; Anchor = 12, ; Caption = "\ ADD OBJECT 'Grid1' AS grid WITH ; Anchor = 15, ; BackColor = 255,255,255, ; ColumnCount = 23, ; DeleteMark = .F., ; FontName = "Arial", ; FontSize = 10, ; HeaderHeight = 49, ; Height = 302, ; Left = 4, ; Name = "Grid1", ; Panel = 1, ; RecordSource = "introdc", ; RecordSourceType = 1, ; RowHeight = 19, ; TabIndex = 2, ; Top = 60, ; Width = 776, ; ZOrderSet = 5, ; Column1.BackColor = 255,255,255, ; Column1.ColumnOrder = 4, ; Column1.ControlSource = "nract", ; Column1.FontName = "Arial", ; Column1.FontSize = 10, ; Column1.Name = "cNract", ; Column1.Visible = .T., ; Column1.Width = 71, ; Column2.BackColor = 255,255,255, ; Column2.ColumnOrder = 5, ; Column2.ControlSource = "partc", ; Column2.CurrentControl = "Text1", ; Column2.FontName = "Arial", ; Column2.FontSize = 10, ; Column2.Name = "cPartC", ; Column2.Sparse = .T., ; Column2.Visible = .T., ; Column2.Width = 109, ; Column3.BackColor = 255,255,255, ; Column3.ColumnOrder = 6, ; Column3.ControlSource = "explicatia", ; Column3.FontName = "Arial", ; Column3.FontSize = 10, ; Column3.Name = "cExplicatie", ; Column3.Visible = .T., ; Column3.Width = 92, ; Column4.BackColor = 255,255,255, ; Column4.ColumnOrder = 8, ; Column4.ControlSource = "explicatie_tva", ; Column4.CurrentControl = "Text1", ; Column4.FontName = "Arial", ; Column4.FontSize = 10, ; Column4.Name = "cExplicatieTva", ; Column4.ReadOnly = .F., ; Column4.Sparse = .F., ; Column4.Width = 134, ; Column5.BackColor = 255,255,255, ; Column5.ColumnOrder = 21, ; Column5.ControlSource = "explicatia4", ; Column5.FontName = "Arial", ; Column5.FontSize = 10, ; Column5.Name = "cExplicatia4", ; Column5.Visible = .T., ; Column5.Width = 46, ; Column6.BackColor = 255,255,255, ; Column6.ColumnOrder = 9, ; Column6.ControlSource = "scd", ; Column6.FontName = "Arial", ; Column6.FontSize = 10, ; Column6.Name = "cScd", ; Column6.Visible = .T., ; Column6.Width = 46, ; Column7.BackColor = 255,255,255, ; Column7.ColumnOrder = 11, ; Column7.ControlSource = "scc", ; Column7.FontName = "Arial", ; Column7.FontSize = 10, ; Column7.Name = "cScc", ; Column7.Visible = .T., ; Column7.Width = 41, ; Column8.Alignment = 1, ; Column8.BackColor = 255,255,255, ; Column8.ColumnOrder = 14, ; Column8.ControlSource = "suma", ; Column8.FontName = "Arial", ; Column8.FontSize = 10, ; Column8.Format = "R", ; Column8.InputMask = (get_mask(12,gnPc)), ; Column8.Name = "cSuma", ; Column8.Visible = .T., ; Column8.Width = 75, ; Column9.BackColor = 255,255,255, ; Column9.ColumnOrder = 15, ; Column9.ControlSource = "suma_val", ; Column9.FontName = "Arial", ; Column9.FontSize = 10, ; Column9.InputMask = (get_mask(12,gnPval)), ; Column9.Name = "cSumaVal", ; Column9.Width = 76, ; Column10.BackColor = 255,255,255, ; Column10.ColumnOrder = 18, ; Column10.ControlSource = "in_valuta", ; Column10.FontName = "Arial", ; Column10.FontSize = 10, ; Column10.Name = "cInValuta", ; Column10.Sparse = .F., ; Column10.Width = 84, ; Column11.BackColor = 255,255,255, ; Column11.ColumnOrder = 22, ; Column11.ControlSource = "explicatia5", ; Column11.FontName = "Arial", ; Column11.FontSize = 10, ; Column11.Name = "cExplicatia5", ; Column11.Visible = .T., ; Column11.Width = 45, ; Column12.BackColor = 255,255,255, ; Column12.ColumnOrder = 20, ; Column12.ControlSource = "PARTD", ; Column12.FontName = "Arial", ; Column12.FontSize = 10, ; Column12.Name = "cPartD", ; Column12.Visible = .T., ; Column12.Width = 91, ; Column13.BackColor = 255,255,255, ; Column13.ColumnOrder = 10, ; Column13.ControlSource = "ascd", ; Column13.FontName = "Arial", ; Column13.FontSize = 10, ; Column13.Name = "cAscd", ; Column13.Width = 40, ; Column14.BackColor = 255,255,255, ; Column14.ColumnOrder = 12, ; Column14.ControlSource = "ascc", ; Column14.FontName = "Arial", ; Column14.FontSize = 10, ; Column14.Name = "cAscc", ; Column14.Width = 44, ; Column15.BackColor = 255,255,255, ; Column15.ColumnOrder = 7, ; Column15.ControlSource = "ptva", ; Column15.FontName = "Arial", ; Column15.FontSize = 10, ; Column15.InputMask = "999", ; Column15.Name = "cPtva", ; Column15.Width = 41, ; Column16.BackColor = 255,255,255, ; Column16.ColumnOrder = 19, ; Column16.ControlSource = "participa_valuta", ; Column16.CurrentControl = "Check1", ; Column16.FontName = "Arial", ; Column16.FontSize = 10, ; Column16.Name = "cParticipaValuta", ; Column16.Sparse = .F., ; Column16.Width = 76, ; Column17.BackColor = 255,255,255, ; Column17.ColumnOrder = 3, ; Column17.ControlSource = "serie_act", ; Column17.FontName = "Arial", ; Column17.FontSize = 10, ; Column17.Name = "cSerie_act", ; Column17.Width = 70, ; Column18.BackColor = 255,255,255, ; Column18.ColumnOrder = 1, ; Column18.ControlSource = "dataact", ; Column18.FontName = "Arial", ; Column18.FontSize = 10, ; Column18.Name = "cDataAct", ; Column19.BackColor = 255,255,255, ; Column19.ColumnOrder = 2, ; Column19.ControlSource = "fdoc", ; Column19.FontName = "Arial", ; Column19.FontSize = 10, ; Column19.Name = "cFDoc", ; Column19.ReadOnly = .F., ; Column20.BackColor = 255,255,255, ; Column20.ColumnOrder = 23, ; Column20.ControlSource = "se_scrie", ; Column20.FontName = "Arial", ; Column20.FontSize = 10, ; Column20.Name = "cSe_scrie", ; Column20.Sparse = .F., ; Column20.Visible = .T., ; Column20.Width = 87, ; Column21.BackColor = 255,255,255, ; Column21.Bound = .F., ; Column21.ColumnOrder = 13, ; Column21.ControlSource = "Iif(Seek(introdc.taxcode,'saft_taxtable','taxcode'),saft_taxtable.taxname,'')", ; Column21.CurrentControl = "_combobox1", ; Column21.FontName = "Arial", ; Column21.FontSize = 10, ; Column21.Name = "cTaxCode", ; Column21.Sparse = .F., ; Column21.Width = 176, ; Column22.BackColor = 255,255,255, ; Column22.ColumnOrder = 16, ; Column22.ControlSource = "nume_val", ; Column22.FontName = "Arial", ; Column22.FontSize = 10, ; Column22.Name = "cValuta", ; Column22.ReadOnly = .F., ; Column22.Visible = .T., ; Column22.Width = 55, ; Column23.Alignment = 1, ; Column23.BackColor = 255,255,255, ; Column23.ColumnOrder = 17, ; Column23.ControlSource = "curs", ; Column23.FontName = "Arial", ; Column23.FontSize = 10, ; Column23.InputMask = (get_mask(12,gnPCurs)), ; Column23.Name = "cCurs", ; Column23.ReadOnly = .F., ; Column23.Visible = .T., ; Column23.Width = 70 *< END OBJECT: BaseClass="grid" /> ADD OBJECT 'Grid1.cAscc.Header1' AS header WITH ; Alignment = 2, ; Caption = "ASCC", ; FontBold = .T., ; FontName = "Arial", ; FontSize = 10, ; Name = "Header1" *< END OBJECT: BaseClass="header" /> ADD OBJECT 'Grid1.cAscc.Text1' AS textbox WITH ; BackColor = 255,255,255, ; BorderStyle = 0, ; FontName = "Arial", ; FontSize = 10, ; ForeColor = 0,0,0, ; Margin = 0, ; Name = "Text1" *< END OBJECT: BaseClass="textbox" /> ADD OBJECT 'Grid1.cAscd.Header1' AS header WITH ; Alignment = 2, ; Caption = "ASCD", ; FontBold = .T., ; FontName = "Arial", ; FontSize = 10, ; Name = "Header1" *< END OBJECT: BaseClass="header" /> ADD OBJECT 'Grid1.cAscd.Text1' AS textbox WITH ; BackColor = 255,255,255, ; BorderStyle = 0, ; FontName = "Arial", ; FontSize = 10, ; ForeColor = 0,0,0, ; Margin = 0, ; Name = "Text1" *< END OBJECT: BaseClass="textbox" /> ADD OBJECT 'Grid1.cCurs.Header1' AS header WITH ; Alignment = 2, ; Caption = "Curs", ; FontBold = .T., ; FontName = "Arial", ; FontSize = 10, ; Name = "Header1" *< END OBJECT: BaseClass="header" /> ADD OBJECT 'Grid1.cCurs.Text1' AS textbox WITH ; BackColor = 255,255,255, ; BorderStyle = 0, ; FontName = "Arial", ; FontSize = 10, ; ForeColor = 0,0,0, ; Margin = 0, ; Name = "Text1" *< END OBJECT: BaseClass="textbox" /> ADD OBJECT 'Grid1.cDataAct.Header1' AS header WITH ; Alignment = 2, ; Caption = "Data doc.", ; FontBold = .T., ; FontName = "Arial", ; FontSize = 10, ; Name = "Header1" *< END OBJECT: BaseClass="header" /> ADD OBJECT 'Grid1.cDataAct.Text1' AS textbox WITH ; BackColor = 255,255,255, ; BorderStyle = 0, ; FontName = "Arial", ; FontSize = 10, ; ForeColor = 0,0,0, ; Margin = 0, ; Name = "Text1" *< END OBJECT: BaseClass="textbox" /> ADD OBJECT 'Grid1.cExplicatia4.Header1' AS header WITH ; Alignment = 2, ; Caption = "Procent lei", ; FontBold = .T., ; FontName = "Arial", ; FontSize = 10, ; Name = "Header1", ; WordWrap = .T. *< END OBJECT: BaseClass="header" /> ADD OBJECT 'Grid1.cExplicatia4.Text1' AS textbox WITH ; BackColor = 255,255,255, ; BorderStyle = 0, ; FontName = "Arial", ; FontSize = 10, ; ForeColor = 0,0,0, ; Margin = 0, ; Name = "Text1", ; Visible = .T. *< END OBJECT: BaseClass="textbox" /> ADD OBJECT 'Grid1.cExplicatia5.Header1' AS header WITH ; Alignment = 2, ; Caption = "Procent valuta", ; FontBold = .T., ; FontName = "Arial", ; FontSize = 10, ; Name = "Header1", ; WordWrap = .T. *< END OBJECT: BaseClass="header" /> ADD OBJECT 'Grid1.cExplicatia5.Text1' AS textbox WITH ; BackColor = 255,255,255, ; BorderStyle = 0, ; FontName = "Arial", ; FontSize = 10, ; ForeColor = 0,0,0, ; Margin = 0, ; Name = "Text1" *< END OBJECT: BaseClass="textbox" /> ADD OBJECT 'Grid1.cExplicatie.Header1' AS header WITH ; Alignment = 2, ; Caption = "Explicatia", ; FontBold = .T., ; FontName = "Arial", ; FontSize = 10, ; Name = "Header1" *< END OBJECT: BaseClass="header" /> ADD OBJECT 'Grid1.cExplicatie.Text1' AS textbox WITH ; BackColor = 255,255,255, ; BorderStyle = 0, ; FontName = "Arial", ; FontSize = 10, ; ForeColor = 0,0,0, ; Margin = 0, ; Name = "Text1", ; Visible = .T. *< END OBJECT: BaseClass="textbox" /> ADD OBJECT 'Grid1.cExplicatieTva.Combo1' AS combobox WITH ; BoundColumn = 1, ; BoundTo = .T., ; ColumnCount = 1, ; ColumnLines = .F., ; ColumnWidths = "250,0,0", ; FontName = "Arial", ; FontSize = 10, ; Height = 10, ; Left = 17, ; Name = "Combo1", ; RowSource = "jtva_coloane2.denumire,cota_tva,id_jtva_coloana", ; RowSourceType = 2, ; SpecialEffect = 1, ; Style = 2, ; Top = 23, ; Visible = .T., ; Width = 10 *< END OBJECT: BaseClass="combobox" /> ADD OBJECT 'Grid1.cExplicatieTva.Header1' AS header WITH ; Alignment = 2, ; Caption = "Explicatie TVA", ; FontBold = .T., ; FontName = "Arial", ; FontSize = 10, ; Name = "Header1" *< END OBJECT: BaseClass="header" /> ADD OBJECT 'Grid1.cExplicatieTva.Text1' AS textbox WITH ; BorderStyle = 0, ; Height = 23, ; Left = 104, ; Name = "Text1", ; ReadOnly = .F., ; Top = 87, ; Width = 100 *< END OBJECT: BaseClass="textbox" /> ADD OBJECT 'Grid1.cFDoc.Header1' AS header WITH ; Alignment = 2, ; Caption = "Fel doc.", ; FontBold = .T., ; FontName = "Arial", ; FontSize = 10, ; Name = "Header1" *< END OBJECT: BaseClass="header" /> ADD OBJECT 'Grid1.cFDoc.Text1' AS textbox WITH ; BackColor = 255,255,255, ; BorderStyle = 0, ; FontName = "Arial", ; FontSize = 10, ; ForeColor = 0,0,0, ; Margin = 0, ; Name = "Text1", ; ReadOnly = .F. *< END OBJECT: BaseClass="textbox" /> ADD OBJECT 'Grid1.cInValuta.Check1' AS checkbox WITH ; Alignment = 2, ; Caption = "", ; Centered = .T., ; FontName = "Arial", ; FontSize = 10, ; Height = 17, ; Left = 49, ; Name = "Check1", ; TabStop = .F., ; Top = 83, ; Width = 60 *< END OBJECT: BaseClass="checkbox" /> ADD OBJECT 'Grid1.cInValuta.Header1' AS header WITH ; Alignment = 2, ; Caption = "Valuta in contabilitate", ; FontBold = .T., ; FontName = "Arial", ; FontSize = 10, ; Name = "Header1", ; WordWrap = .T. *< END OBJECT: BaseClass="header" /> ADD OBJECT 'Grid1.cNract.Header1' AS header WITH ; Alignment = 2, ; Caption = "Nr factura", ; FontBold = .T., ; FontName = "Arial", ; FontSize = 10, ; Name = "Header1" *< END OBJECT: BaseClass="header" /> ADD OBJECT 'Grid1.cNract.Text1' AS textbox WITH ; BackColor = 255,255,255, ; BorderStyle = 0, ; FontName = "Arial", ; FontSize = 10, ; ForeColor = 0,0,0, ; Margin = 0, ; Name = "Text1", ; Visible = .T. *< END OBJECT: BaseClass="textbox" /> ADD OBJECT 'Grid1.cPartC.Header1' AS header WITH ; Alignment = 2, ; Caption = "Partener credit", ; FontBold = .T., ; FontName = "Arial", ; FontSize = 10, ; Name = "Header1" *< END OBJECT: BaseClass="header" /> ADD OBJECT 'Grid1.cPartC.Text1' AS textbox WITH ; BackColor = 255,255,255, ; BorderStyle = 0, ; FontName = "Arial", ; FontSize = 10, ; ForeColor = 0,0,0, ; Margin = 0, ; Name = "Text1", ; Visible = .T. *< END OBJECT: BaseClass="textbox" /> ADD OBJECT 'Grid1.cPartD.Header1' AS header WITH ; Alignment = 2, ; Caption = "Partener debit", ; FontBold = .T., ; FontName = "Arial", ; FontSize = 10, ; Name = "Header1" *< END OBJECT: BaseClass="header" /> ADD OBJECT 'Grid1.cPartD.Text1' AS textbox WITH ; BackColor = 255,255,255, ; BorderStyle = 0, ; FontName = "Arial", ; FontSize = 10, ; ForeColor = 0,0,0, ; Margin = 0, ; Name = "Text1" *< END OBJECT: BaseClass="textbox" /> ADD OBJECT 'Grid1.cParticipaValuta.Check1' AS checkbox WITH ; Alignment = 2, ; Caption = "", ; FontName = "Arial", ; FontSize = 10, ; Height = 17, ; Left = 21, ; Name = "Check1", ; Top = 71, ; Width = 60 *< END OBJECT: BaseClass="checkbox" /> ADD OBJECT 'Grid1.cParticipaValuta.Header1' AS header WITH ; Alignment = 2, ; Caption = "Participa la pret valuta", ; FontBold = .T., ; FontName = "Arial", ; FontSize = 10, ; Name = "Header1", ; WordWrap = .T. *< END OBJECT: BaseClass="header" /> ADD OBJECT 'Grid1.cPtva.Header1' AS header WITH ; Alignment = 2, ; Caption = "TVA %", ; FontBold = .T., ; FontName = "Arial", ; FontSize = 10, ; Name = "Header1" *< END OBJECT: BaseClass="header" /> ADD OBJECT 'Grid1.cPtva.Text1' AS textbox WITH ; BackColor = 255,255,255, ; BorderStyle = 0, ; FontName = "Arial", ; FontSize = 10, ; ForeColor = 0,0,0, ; Margin = 0, ; Name = "Text1" *< END OBJECT: BaseClass="textbox" /> ADD OBJECT 'Grid1.cScc.Header1' AS header WITH ; Alignment = 2, ; Caption = "SCC", ; FontBold = .T., ; FontName = "Arial", ; FontSize = 10, ; Name = "Header1" *< END OBJECT: BaseClass="header" /> ADD OBJECT 'Grid1.cScc.Text1' AS textbox WITH ; BackColor = 255,255,255, ; BorderStyle = 0, ; FontName = "Arial", ; FontSize = 10, ; ForeColor = 0,0,0, ; Margin = 0, ; Name = "Text1", ; Visible = .T. *< END OBJECT: BaseClass="textbox" /> ADD OBJECT 'Grid1.cScd.Header1' AS header WITH ; Alignment = 2, ; Caption = "SCD", ; FontBold = .T., ; FontName = "Arial", ; FontSize = 10, ; Name = "Header1" *< END OBJECT: BaseClass="header" /> ADD OBJECT 'Grid1.cScd.Text1' AS textbox WITH ; BackColor = 255,255,255, ; BorderStyle = 0, ; FontName = "Arial", ; FontSize = 10, ; ForeColor = 0,0,0, ; Margin = 0, ; Name = "Text1", ; Visible = .T. *< END OBJECT: BaseClass="textbox" /> ADD OBJECT 'Grid1.cSe_scrie._checkbox1' AS _checkbox WITH ; Alignment = 2, ; AutoSize = .F., ; Caption = "", ; Centered = .T., ; FontName = "Arial", ; FontSize = 10, ; Left = 41, ; Name = "_checkbox1", ; Top = 47 *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> ADD OBJECT 'Grid1.cSe_scrie.Header1' AS header WITH ; Alignment = 2, ; Caption = "Se scrie nota chiar daca suma este 0", ; FontBold = .T., ; FontName = "Arial", ; FontSize = 10, ; Name = "Header1", ; WordWrap = .T. *< END OBJECT: BaseClass="header" /> ADD OBJECT 'Grid1.cSerie_act.Header1' AS header WITH ; Alignment = 2, ; Caption = "Serie factura", ; FontBold = .T., ; FontName = "Arial", ; FontSize = 10, ; Name = "Header1", ; WordWrap = .T. *< END OBJECT: BaseClass="header" /> ADD OBJECT 'Grid1.cSerie_act.Text1' AS textbox WITH ; BackColor = 255,255,255, ; BorderStyle = 0, ; FontName = "Arial", ; FontSize = 10, ; ForeColor = 0,0,0, ; Format = "!", ; Margin = 0, ; Name = "Text1" *< END OBJECT: BaseClass="textbox" /> ADD OBJECT 'Grid1.cSuma.Header1' AS header WITH ; Alignment = 2, ; Caption = "Suma", ; FontBold = .T., ; FontName = "Arial", ; FontSize = 10, ; Name = "Header1" *< END OBJECT: BaseClass="header" /> ADD OBJECT 'Grid1.cSuma.Text1' AS textbox WITH ; Alignment = 1, ; BackColor = 255,255,255, ; BorderStyle = 0, ; FontName = "Arial", ; FontSize = 10, ; ForeColor = 0,0,0, ; Margin = 0, ; Name = "Text1", ; Visible = .T. *< END OBJECT: BaseClass="textbox" /> ADD OBJECT 'Grid1.cSumaVal.Header1' AS header WITH ; Alignment = 2, ; Caption = "Suma valuta", ; FontBold = .T., ; FontName = "Arial", ; FontSize = 10, ; Name = "Header1" *< END OBJECT: BaseClass="header" /> ADD OBJECT 'Grid1.cSumaVal.Text1' AS textbox WITH ; BackColor = 255,255,255, ; BorderStyle = 0, ; FontName = "Arial", ; FontSize = 10, ; ForeColor = 0,0,0, ; Margin = 0, ; Name = "Text1" *< END OBJECT: BaseClass="textbox" /> ADD OBJECT 'Grid1.cTaxCode._combobox1' AS _combobox WITH ; BorderStyle = 0, ; BoundColumn = 3, ; BoundTo = .T., ; ColumnCount = 2, ; ColumnLines = .F., ; ColumnWidths = "450,100", ; ControlSource = "introdc.taxcode", ; FontName = "Arial", ; FontSize = 10, ; Left = 84, ; Name = "_combobox1", ; RowSource = "select taxname, procent_taxa, taxcode from saft_taxtable where tva_achizitii=1 into cursor crsTaxTableX", ; RowSourceType = 3, ; Top = 87 *< END OBJECT: ClassLib="..\..\..\roacont\comun\clase\_baza.vcx" BaseClass="combobox" /> ADD OBJECT 'Grid1.cTaxCode.Header1' AS header WITH ; Alignment = 2, ; Caption = "Taxa SAFT", ; FontName = "Arial", ; FontSize = 10, ; Name = "Header1" *< END OBJECT: BaseClass="header" /> ADD OBJECT 'Grid1.cTaxCode.Text1' AS textbox WITH ; BackColor = 255,255,255, ; BorderStyle = 0, ; ForeColor = 0,0,0, ; Margin = 0, ; Name = "Text1" *< END OBJECT: BaseClass="textbox" /> ADD OBJECT 'Grid1.cValuta.Header1' AS header WITH ; Alignment = 2, ; Caption = "Valuta", ; FontBold = .T., ; FontName = "Arial", ; FontSize = 10, ; Name = "Header1" *< END OBJECT: BaseClass="header" /> ADD OBJECT 'Grid1.cValuta.Text1' AS textbox WITH ; BackColor = 255,255,255, ; BorderStyle = 0, ; FontName = "Arial", ; FontSize = 10, ; ForeColor = 0,0,0, ; Margin = 0, ; Name = "Text1" *< END OBJECT: BaseClass="textbox" /> ADD OBJECT 'Label1' AS label WITH ; Anchor = 6, ; AutoSize = .T., ; BackStyle = 0, ; Caption = "SUMA", ; FontBold = .T., ; FontName = "Arial", ; Height = 17, ; Left = 254, ; Name = "Label1", ; TabIndex = 13, ; Top = 378, ; Width = 36, ; ZOrderSet = 9 *< END OBJECT: BaseClass="label" /> ADD OBJECT 'Label2' AS label WITH ; Anchor = 6, ; AutoSize = .T., ; BackStyle = 0, ; Caption = "PROCENTE", ; Enabled = .T., ; FontBold = .T., ; FontName = "Arial", ; Height = 17, ; Left = 98, ; Name = "Label2", ; TabIndex = 14, ; Top = 378, ; Width = 64, ; ZOrderSet = 10 *< END OBJECT: BaseClass="label" /> ADD OBJECT 'Label3' AS label WITH ; Anchor = 6, ; AutoSize = .T., ; BackStyle = 0, ; Caption = "SUMA VALUTÃ", ; FontBold = .T., ; FontCharSet = 238, ; FontName = "Arial", ; Height = 17, ; Left = 417, ; Name = "Label3", ; TabIndex = 13, ; Top = 378, ; Width = 85, ; ZOrderSet = 9 *< END OBJECT: BaseClass="label" /> ADD OBJECT 'Label4' AS label WITH ; Anchor = 6, ; AutoSize = .T., ; BackStyle = 0, ; Caption = "TOTAL", ; Enabled = .T., ; FontBold = .T., ; FontName = "Arial", ; Height = 17, ; Left = 12, ; Name = "Label4", ; TabIndex = 14, ; Top = 378, ; Width = 40, ; ZOrderSet = 10 *< END OBJECT: BaseClass="label" /> ADD OBJECT 'lb_curs' AS label WITH ; Anchor = 3, ; AutoSize = .T., ; BackStyle = 0, ; Caption = "CURS VALUTAR :", ; Enabled = .T., ; FontBold = .T., ; FontName = "Arial", ; Height = 17, ; Left = 16, ; Name = "lb_curs", ; TabIndex = 14, ; Top = 35, ; Visible = .F., ; Width = 97, ; ZOrderSet = 10 *< END OBJECT: BaseClass="label" /> ADD OBJECT 'Lb_pas_flux' AS label WITH ; AutoSize = .F., ; BackStyle = 0, ; Caption = "1.Nota > 2.Articole > 3.Verificare", ; FontName = "Arial", ; FontSize = 8, ; ForeColor = 0,0,25, ; Height = 14, ; Left = 420, ; Name = "Lb_pas_flux", ; Top = 8, ; Width = 230 *< END OBJECT: BaseClass="label" /> ADD OBJECT 'Text1' AS textbox WITH ; Anchor = 6, ; BackStyle = 0, ; ControlSource = "", ; Enabled = .F., ; FontBold = .T., ; FontName = "Arial", ; ForeColor = 0,64,128, ; Height = 23, ; Left = 169, ; Name = "Text1", ; TabIndex = 11, ; Top = 375, ; Value = , ; Width = 72, ; ZOrderSet = 7 *< END OBJECT: BaseClass="textbox" /> ADD OBJECT 'Text2' AS textbox WITH ; Alignment = 1, ; Anchor = 6, ; BackStyle = 0, ; ControlSource = "", ; Enabled = .F., ; FontBold = .T., ; FontName = "Arial", ; ForeColor = 0,64,128, ; Format = "r", ; Height = 23, ; InputMask = (get_mask(12,gnPc)), ; Left = 297, ; Name = "Text2", ; TabIndex = 12, ; Top = 375, ; Value = 0, ; Width = 103, ; ZOrderSet = 8 *< END OBJECT: BaseClass="textbox" /> ADD OBJECT 'Text3' AS textbox WITH ; Alignment = 1, ; Anchor = 6, ; BackStyle = 0, ; ControlSource = "", ; Enabled = .F., ; FontBold = .T., ; FontName = "Arial", ; ForeColor = 0,64,128, ; Format = "r", ; Height = 23, ; InputMask = (get_mask(12,gnPVAL)), ; Left = 512, ; Name = "Text3", ; TabIndex = 12, ; Top = 375, ; Value = 0, ; Width = 107, ; ZOrderSet = 8 *< END OBJECT: BaseClass="textbox" /> PROCEDURE Activate *!* Deschid automat dialogul "Adauga factura" la prima activare (numai pe modul *!* import), dupa ce formularul e deja vizibil in spatele dialogului. DoDefault() If !This.lIntern And !This.lDialogAratat This.lDialogAratat = .T. This.do_adauga() Endif ENDPROC PROCEDURE aplica_explicatie_tva *!* Extrasa din do_modifica_explicatie_tva si Grid1.cExplicatieTva.Combo1.Valid *!* (comutarea 4426=4427/401 + UpdateExplicatieSAFT), ca sa nu se duplice logica intre *!* editarea in grid si frm_adauga_factura (docs/propuneri_ergonomie_import.md, M2). *!* CONTRACT: se apeleaza cu randul curent din introdc pozitionat pe linia de BAZA *!* (impara) a perechii; metoda comuta ea insasi pe linia de TVA (para) cu Skip. Lparameters tnIdJtvaColoana Local lnRec, lnPtva, lcExplicatieTva, lnId_tva, lnId_jtva_coloanaTVA, lnCota_tva, lcExplicatie_TVA Select jtva_coloane2 Locate For id_jtva_coloana = tnIdJtvaColoana If !Found() Return .F. Endif lnPtva = jtva_coloane2.cota_Tva lcExplicatieTva = jtva_coloane2.denumire lnId_tva = jtva_coloane2.id_Tva Select introdc lnRec = Recno() Replace id_jtva_coloana With tnIdJtvaColoana, ptva With lnPtva, explicatie_tva With lcExplicatieTva If Mod(lnRec,2)<>0 && linie impara BAZA Thisform.UpdateExplicatieSAFT() If lnPtva = 0 Select introdc Replace cu_tva With 0 Skip Replace id_jtva_coloana With 0, ptva With 0, explicatie_tva With '', cu_tva With 0 Else && linia para TVA Select jtva_coloane2 Locate For id_jtva_coloana = lnId_tva If Found() lnId_jtva_coloanaTVA = jtva_coloane2.id_jtva_coloana lnCota_tva = jtva_coloane2.cota_Tva lcExplicatie_TVA = jtva_coloane2.denumire * PENTRU TAXARE INVERSA SI COMUNITATEA EUROPEANA: 4426 = 4427 PE LINIA DE TVA, ALTFEL 4426 = 401 Select introdc Replace cu_tva With 1 Skip Replace id_jtva_coloana With lnId_jtva_coloanaTVA, ptva With lnCota_tva, ; explicatie_tva With lcExplicatie_TVA, cu_tva With 1 If Seek(lnId_jtva_coloanaTVA, "cJtvaCol4427", "id_jtva") Replace scc With '4427' In introdc Else Replace scc With '401' In introdc Endif Thisform.UpdateExplicatieSAFT() Endif Endif Endif Return .T. ENDPROC PROCEDURE copiaza_valoare Lparameters tcCamp Local lcSelect, lcCursor, luValoare lcCursor = Thisform.grid1.RecordSource lcSelect = Select() Select (lcCursor) If Mod(Recno(),2) = 1 And Recno() <> Reccount() luValoare = &tcCamp Skip Replace (tcCamp) With luValoare Skip -1 Endif Select (lcSelect) Release lcSelect, lcCursor, luValoare ENDPROC PROCEDURE Destroy USE IN (SELECT('cJtvaCol4427')) ENDPROC PROCEDURE do_adauga *!* Pas 3: deschide dialogul modal frm_adauga_factura. Memoria DVI (cDviSerie/cDviNr/ *!* dDviData/nDviIdPartener/cDviPartener/nDviIdFdoc) traieste pe Thisform (import_nota) *!* si e citita/scrisa de dialog prin Thisform.oParinte - vezi frm_adauga_factura.Init *!* si cmdAdauga.Click in pas3_frm_class.txt. Local loDlg loDlg = Createobject('import_adauga_factura', Thisform) loDlg.Show(1) Release loDlg ENDPROC PROCEDURE do_adauga_factura *!* Directia A: cloneaza perechea-sablon (baza + TVA) din introdc_sablon, *!* o adauga in introdc si o populeaza cu datele documentului (toDlg). *!* Paritatea Recno se pastreaza (introdc pornit gol; append baza apoi TVA). *!* toDlg.cTipTva in {'F' furnizor, 'D' DVI, 'N' fara} decide randul de TVA - *!* vezi docs/propuneri_ergonomie_import.md, M2, "Ramura TVA". Lparameters toDlg Local lnSel, loBaza, loTva lnSel = Select() If !Used('introdc_sablon') Or Reccount('introdc_sablon') < 2 Messagebox('Lipseste perechea-sablon (introdc_sablon).', 0+16, 'Adauga factura') Select (lnSel) Return .F. Endif * --- rand BAZA (clona recordului 1 din sablon) --- Select introdc_sablon Go Top Scatter Name loBaza Memo Select introdc Append Blank Gather Name loBaza Memo Replace serie_act With toDlg.serie_act, ; nract With toDlg.nract, ; dataact With toDlg.dataact, ; fdoc With toDlg.fdoc, ; id_fdoc With toDlg.id_fdoc, ; id_partc With toDlg.id_partc, ; partc With toDlg.partc, ; explicatia With toDlg.explicatia, ; suma With toDlg.suma, ; suma_val With toDlg.suma_val, ; in_valuta With toDlg.in_valuta, ; participa_valuta With toDlg.participa_valuta, ; id_valuta With toDlg.id_valuta, ; curs With toDlg.curs, ; nume_val With toDlg.nume_val * --- rand TVA (clona recordului 2 din sablon; suma TVA o pune do_executa) --- Select introdc_sablon Go 2 Scatter Name loTva Memo Select introdc Append Blank Gather Name loTva Memo Replace serie_act With toDlg.serie_act, ; nract With toDlg.nract, ; dataact With toDlg.dataact, ; fdoc With toDlg.fdoc, ; id_fdoc With toDlg.id_fdoc, ; id_partc With toDlg.id_partc, ; partc With toDlg.partc, ; in_valuta With toDlg.in_valuta, ; participa_valuta With toDlg.participa_valuta, ; id_valuta With toDlg.id_valuta, ; curs With toDlg.curs, ; nume_val With toDlg.nume_val Do Case Case toDlg.cTipTva = 'F' * explicatia TVA + comutarea 4426=4427/401, ca la editarea in grid (aplica_explicatie_tva); * metoda asteapta randul curent pe BAZA (impara) - repozitionez pe baza; aplica_explicatie_tva * comuta ea insasi pe TVA cu Skip. do_executa() face Go Top, deci pozitia finala nu conteaza. Skip -1 Thisform.aplica_explicatie_tva(toDlg.id_jtva_coloana) Case toDlg.cTipTva = 'D' * explicatia TVA in tandem (baza + linia de TVA), ca la editarea in grid (aplica_explicatie_tva); * apoi Replace-ul de mai jos suprascrie pe linia de TVA campurile proprii DVI-ului Skip -1 Thisform.aplica_explicatie_tva(toDlg.id_jtva_coloana) Select introdc Go Bottom && linia de TVA e ultimul record (perechea abia adaugata) * TVA platit in vama: randul de TVA devine "al DVI-ului" - alt document/partener/conturi Replace serie_act With toDlg.dvi_serie, ; nract With toDlg.dvi_nract, ; dataact With toDlg.dvi_dataact, ; fdoc With toDlg.dvi_fdoc, ; id_fdoc With toDlg.dvi_id_fdoc, ; id_partc With toDlg.dvi_id_partc, ; partc With toDlg.dvi_partc, ; scd With '4426', ; scc With toDlg.dvi_scc, ; suma With toDlg.dvi_tva_lei, ; suma_val With toDlg.dvi_tva_val, ; in_valuta With Iif(toDlg.dvi_tva_val <> 0, toDlg.in_valuta, 0), ; participa_valuta With toDlg.participa_valuta, ; id_valuta With Iif(toDlg.dvi_tva_val <> 0, toDlg.id_valuta, 0), ; curs With Iif(toDlg.dvi_tva_val <> 0, toDlg.curs, 0), ; nume_val With Iif(toDlg.dvi_tva_val <> 0, toDlg.nume_val, '') Case toDlg.cTipTva = 'N' * fara TVA: randul pereche ramane gol fiscal, ca la cota 0 in logica existenta Replace id_jtva_coloana With 0, ptva With 0, cu_tva With 0, explicatie_tva With '' Endcase Thisform.do_executa() Select (lnSel) Return .T. ENDPROC PROCEDURE do_calculeaza_suma aMESSAGEBOX("Eroare calculeaza suma!") *!* Local lnSuma1, lnSuma2, Tsuma, Tprocent, lnRec *!* Store 0 To lnSuma1, lnSuma2, Tsuma, Tprocent, lnRec *!* lcSel = Thisform.grid1.RecordSource *!* Select (lcSel) *!* lnRec = Recno(lcSel) *!* Go Top *!* lnSuma1 = suma *!* If in_valuta = 1 *!* lnBazaVal = suma_val *!* Endif *!* Sum suma For in_valuta = 1 To lnBazaLei *!* Sum suma_val For in_valuta = 1 To tSumaVal *!* If Mod(Recno(),2)<>0 && rand impar *!* lnSuma2 = suma *!* lnSuma_val = suma_val *!* If in_valuta = 0 *!* Replace explicatia4 With Allt(Str(lnSuma2/lnBazaLei*100,8,4)), explicatia5 With '' *!* Else *!* Replace explicatia5 With Allt(Str(lnSuma_val/lnBazaVal*100,8,4)), explicatia4 With '' *!* Endif *!* Else *!* If ptva <> 0 *!* Repl suma With Round(lnSuma2*ptva/100,gnZvama) *!* If in_valuta = 1 *!* Replace suma_val With Round(lnSuma_val*ptva/100,gnPval) *!* Endif *!* Else *!* If Recno()>1 And !Eof() *!* Repl suma With 0, suma_val With 0 *!* Endif *!* Endif *!* Endif *!* Tprocent = Tprocent + Round(lnSuma2/lnSuma1*100,2) *!* Tsuma = Tsuma + suma *!* Goto lnRec *!* Thisform.text1.Value = Allt(Str(Tprocent,8,2))+'%' *!* Thisform.text2.Value = Tsuma *!* Thisform.text3.Value = tSumaVal *!* Thisform.Refresh ENDPROC PROCEDURE do_executa Local lnSuma1, lnSuma2, Tsuma, Tprocent, lnRec Store 0 To lnSuma1, lnSuma2, Tsuma, Tprocent, lnRec LOCAL lnBazaVal, tSumaVal lnBazaVal = 0 tSumaVal = 0 Sele introdc lnRec = Recno() Go Top lnSuma1 = suma && baza in valuta pentru facturile din import este pe prima linie If in_valuta = 1 lnBazaVal = suma_val Endif && baza lei pentru facturile interne este pe prima linie IF this.lIntern lnBazaLei = IIF(participa_valuta, suma, 0) ELSE Sum suma For participa_valuta AND in_valuta = 1 AND scd <> '4426' To lnBazaLei ENDIF Sum suma_val For in_valuta = 1 To tSumaVal *!*lnBazaLei = suma && adaugata 06.09.2007 marius.mutu - mi-e neclar fata de ce suma se calculeaza procentele && procentele se recalculeaza oricum in ointroduceri.prg Scan If Mod(Recno(),2)<>0 && rand impar lnSuma2 = suma lnSuma_val = suma_val *REPL explicatia4 WITH ALLT(STR(lnSuma2/lnSuma1*100,6,2))+'%' *!* If in_valuta = 0 If !participa_valuta OR (this.lIntern AND participa_valuta) Replace explicatia4 With Allt(Str(IIF(lnBazaLei <> 0, lnSuma2/lnBazaLei*100, 0),6,2)), explicatia5 With '' ELSE && daca participa la valoarea in valuta, dar are doar valoarea in lei && calculez valoarea in valuta virtual IF in_valuta = 0 Replace explicatia5 With Allt(Str(IIF(lnBazaVal <> 0, ROUND(lnSuma2/thisform.oact.curs, gnPVal)/lnBazaVal*100, 0),6,2)), explicatia4 With '' ELSE Replace explicatia5 With Allt(Str(IIF(lnBazaVal <> 0, lnSuma_val/lnBazaVal*100, 0),6,2)), explicatia4 With '' ENDIF Endif *!* modificare v 2.1.39 Tprocent = Tprocent + Round(IIF(lnSuma1 <> 0, lnSuma2/lnSuma1*100, 0),2) *!* modificare v 2.1.39 ^ Else If ptva <> 0 IF lnSuma2 <> 0 Repl suma With Round(lnSuma2*ptva/100,gnPC) ENDIF If in_valuta = 1 AND lnSuma_val <> 0 Replace suma_val With Round(lnSuma_val*ptva/100,gnPval) Endif Else If Recno()>1 And !Eof() Repl suma With 0, suma_val With 0 Endif Endif Endif *!* modificare v 2.1.39 *!* Tprocent = Tprocent + Round(IIF(lnSuma1 <> 0, lnSuma2/lnSuma1*100, 0),2) *!* modificare v 2.1.39 ^ Tsuma = Tsuma + suma Endscan *!* IF MOD(RECNO(),2)<>0 *!* suma2=suma *!* REPLACE explicatia4 WITH ALLT(STR(suma2/suma1*100,6,3)+'%') *!* SKIP 1 *!* IF ptva # 0 *!* REPLACE suma WITH ROUND(suma2*ptva /100,gnPc) *!* REPLACE suma_val WITH ROUND(suma_val*ptva /100,gnPval) *!* ELSE *!* REPLACE suma WITH 0, suma_val WITH 0 *!* ENDIF *!* *!* ENDIF *!* ENDIF If lnRec=1 Go Top Else Goto lnRec Endif Thisform.text1.Value = Allt(Str(Tprocent,8,2))+'%' Thisform.text2.Value = Tsuma Thisform.text3.Value = tSumaVal Thisform.refac_culori_documente() Thisform.Refresh ENDPROC PROCEDURE do_modifica_explicatie_tva *!* cautare explicatie TVA prin formular (model: frm_modific2024 din omodificari.vcx); *!* logica de aplicare pe cursor e extrasa in aplica_explicatie_tva() - comuna cu *!* Grid1.cExplicatieTva.Combo1.Valid si cu frm_adauga_factura (ramura furnizor). LOCAL lnId, loCauta, lnCotaFiltru, lcFiltruTva Select introdc * filtrez explicatiile dupa procentul de TVA al liniei (coloana "TVA %"); * fara procent (0/gol) se afiseaza toate, ca sa nu ramana lista goala lnCotaFiltru = Nvl(introdc.ptva, 0) lcFiltruTva = [id_jtva_coloana > 0] If lnCotaFiltru > 0 lcFiltruTva = lcFiltruTva + [ and cota_tva = ] + Alltrim(Str(lnCotaFiltru,10,2)) Endif * lista contine si liniile de baza si perechile de TVA, ca vechiul dropdown (jtva_coloane2) - * caut_explicatie_tva cu tlTipEx intoarce doar perechile de TVA, deci apelez direct cauta_alfa loCauta = cauta_alfa([select id_jtva_coloana, denumire, cota_tva FROM vjtva_coloane], [1=2], [], ; [denumire], [denumire,cota_tva], [Alegeti explicatia TVA], [Explicatie TVA,Cota TVA], ; [], .F., lcFiltruTva) If Vartype(loCauta) <> 'O' Or Empty(Nvl(loCauta.id_jtva_coloana,0)) Return Endif lnId = loCauta.id_jtva_coloana Select introdc Thisform.aplica_explicatie_tva(lnId) Thisform.grid1.cSuma.teXT1.Valid ENDPROC PROCEDURE do_modifica_fdoc Local loCauta loCauta = caut_fdoc(.F.,.T.) If !Isnull(loCauta) Select (Thisform.grid1.RecordSource) Replace id_fdoc With loCauta.id_fdoc,fdoc With loCauta.fel_document Thisform.copiaza_valoare([id_fdoc]) Thisform.copiaza_valoare([fdoc]) Endif ENDPROC PROCEDURE do_sterge *!* Butonul de stergere note: sterge nota curenta (perechea baza + TVA) din introdc. *!* Perechile sunt identificate prin paritatea Recno (impar = baza, par = TVA), asa ca *!* sterg logic (Delete) ambele linii: cu SET DELETED ON dispar din grid si din *!* Scan/Sum-urile din flux, iar Recno-urile ramase nu se schimba => paritatea se *!* pastreaza. Nu se face Zap + refacere: introdc e sursa grid-ului, iar Zap inchide *!* si recreeaza cursorul, deci grid-ul ar ramane fara sursa (blank). Local lnSel, lnBaza, lnRaspuns, lcDoc lnSel = Select() Select introdc If Reccount() = 0 Or Eof() Or Bof() Select (lnSel) Return Endif lnBaza = Recno() - Iif(Mod(Recno(),2) = 0, 1, 0) Go lnBaza lcDoc = Alltrim(Nvl(fdoc,'')) + ' ' + Alltrim(Nvl(serie_act,'')) + ' ' + ; Alltrim(Str(Nvl(nract,0),14)) + ' - ' + Alltrim(Nvl(partc,'')) lnRaspuns = amessagebox('Stergeti nota ' + Alltrim(lcDoc) + Chr(13) + Chr(10) + ; '(linia de baza si linia de TVA pereche)?', 4+32, 'Stergere nota') If lnRaspuns <> 6 Select (lnSel) Return Endif Delete Next 2 Go Top Thisform.do_executa() Select (lnSel) ENDPROC PROCEDURE inainte_de_do_termin *!* 14.08.2014 *!* marius.mutu *!* S-a tratat cazul in care contul de TVA este 4428 (TVA incasare), nu numai 4426 Local onir as 'import_nir' Local lcCursor, lcSel, lcSql, llAlegPartener, llRet, llVerificAnalitic, lnBazaLei, lnBazaVal Local lnBazaVal2, lnNract, lnProcLei, lnProcVal, lnSucces, lnTvaLei, lnTvaVal, lnTvaVal2, loFact Local llRulTempPlin lnNract = 0 llRet = .F. lcSel = Thisform.grid1.RecordSource Select (lcSel) Locate For Empty(nract) And suma<>0 If Found() amessagebox('Nu ati completat numarul actului!',0+48,"Atentie") Return m.llRet Endif *!* modificare v 2.1.42 Go Top Locate For Empty(Nvl(id_fdoc,0)) And suma <> 0 If Found() amessagebox("Nu ati completat tipul documentului!",0+48,"Atentie") Return m.llRet Endif *!* modificare v 2.1.42 ^ llVerificAnalitic = .T. llAlegPartener = .F. llRet = verificare_note_contabile(lcSel,llVerificAnalitic,llAlegPartener) If !m.llRet Return m.llRet Endif SELECT actactan DELETE ALL Thisform.nid_part_finalizarenir = 0 && modificare v 2.1.39 *!* modificare v 2.1.39 : am adaugat "or se_scrie = 1" Select introdc Scan For suma <> 0 Or se_scrie = 1 Scatter Name loFact Select actactan Append Blank Gather Name poAct *!* modificare v 2.1.41 : am adaugat id_fdoc, fdoc, dataact Gather Name loFact Fields id_fdoc, fdoc, dataact, serie_Act,nract, partc, id_partc,partd, id_partd, suma, explicatia, explicatia4, explicatia5, scd, ascd, scc, ascc, ID_JTVA_coloana, taxcode, id_valuta, curs, nume_val Replace proc_tva With Round((loFact.ptva+100)/100,2) If loFact.in_valuta = 1 Replace SUMA_val With loFact.SUMA_val Else Replace Curs With 0,id_valuta With 0, nume_val With '' Endif *!* 30.08.2007 *!* MARIUS.MUTU *!* LAS NNIR DOAR PE PRIMA FACTURA (DE ACHIZITIE) *!* ALTFEL SE SCRIE IN RUL.NRACT ULTIMUL NUMAR DE DOCUMENT CU NNIR-UL RESPECTIV If nract <> 0 And lnNract <> nract And lnNract <> 0 Replace nnir With 0 Else lnNract = nract Endif *!* modificare v 2.1.39 If Thisform.nid_part_finalizarenir = 0 And loFact.cu_tva = 0 Select actactan Append Blank Gather Name poAct Gather Name loFact Fields serie_Act, nract, explicatia, explicatia4, explicatia5 Replace scd With "", ascd With "", scc With "401", ascc With "",suma With 0,proc_tva With 0,id_jtva_coloana WITH Null loCauta = caut_partener([-2],[Alegeti furnizorul]) If !Isnull(loCauta) Thisform.nid_part_finalizarenir = loCauta.id_part Select actactan Replace partc With loCauta.denumire,id_partc With loCauta.id_part Endif Endif *!* modificare v 2.1.39 ^ Select introdc Endscan *!* 30.08.2007 *!* marius.mutu *!* calculez pretul in valuta incluzand si facturile in lei / curs care participa la pretul in valuta *!* 20.09.2012 *!* marius.atanasiu *!* am scos conditia "cu_tva=1" de la toate SUM-urile de mai jos Select introdc If tlIntern Sum suma For !INLIST(scd, '4426', '4428') AND !EMPTY(id_jtva_coloana) And participa_valuta To lnBazaLei Sum suma For INLIST(scd, '4426', '4428') AND !EMPTY(id_jtva_coloana) And participa_valuta To lnTvaLei Else Sum suma For !INLIST(scd, '4426', '4428') AND !EMPTY(id_jtva_coloana) To lnBazaLei Sum suma For INLIST(scd, '4426', '4428') AND !EMPTY(id_jtva_coloana) To lnTvaLei Endif *!* suma_valuta + suma_lei/curs *!* Sum SUMA_val For scd <> '4426' And cu_tva = 1 And in_valuta = 1 To lnBazaVal Sum SUMA_val For !INLIST(scd, '4426', '4428') AND !EMPTY(id_jtva_coloana) And in_valuta = 1 And participa_valuta To lnBazaVal Sum Round(suma/poAct.Curs, gnPval) For !INLIST(scd, '4426', '4428') AND !EMPTY(id_jtva_coloana) And in_valuta = 0 And participa_valuta To lnBazaVal2 lnBazaVal = lnBazaVal + lnBazaVal2 *!* Sum SUMA_val For scd = '4426' And cu_tva = 1 And in_valuta = 1 To lnTvaVal Sum SUMA_val For INLIST(scd, '4426', '4428') AND !EMPTY(id_jtva_coloana) And in_valuta = 1 And participa_valuta To lnTvaVal Sum Round(suma/poAct.Curs, gnPval) For INLIST(scd, '4426', '4428') AND !EMPTY(id_jtva_coloana) And in_valuta = 0 And participa_valuta To lnTvaVal2 lnTvaVal = lnTvaVal + lnTvaVal2 *!* 20.09.2012 ^ Sum Val(explicatia4) To lnProcLei Sum Val(explicatia5) To lnProcVal Locate poAct.proc_tva = (100 + ptva)/100 llRulTempPlin = .F. IF USED('RUL_TEMP') llRulTempPlin = (RECCOUNT('RUL_TEMP') > 0) ENDIF IF !m.llRulTempPlin USE IN (SELECT('RUL_TEMP')) llRet = .T. lcSql = [select r.*, r.pret as pret_lei, r.pretd as pret_val from ] + gcs + [.vrul r where 1=2 ] lcCursor = [rul_temp] lnSucces = goExecutor.oExecute(lcSql,lcCursor) If lnSucces < 0 llRet = .F. amessagebox(goExecutor.cEroare,0+16,"Eroare") RETURN m.llRet ENDIF ENDIF && !m.llRulTempPlin this.AlwaysOnTop = .F. Select rul_temp onir = Createobject('import_nir', tlIntern) With onir If tlIntern .lb_titlu_alb_b121.Caption = "INTRARE IN GESTIUNE MARFA/MATERIALE INTERN" .lblValuta.Visible = .F. .clb_valftva.Visible = .F. .clb_valtva.Visible = .F. .clb_valadaos.Visible = .F. Else .lb_titlu_alb_b121.Caption = "INTRARE IN GESTIUNE MARFA/MATERIALE IMPORT" Endif .lhide = .T. .oact = poAct .nbaza_lei = lnBazaLei .nbaza_val = lnBazaVal .ntva_lei = lnTvaLei .ntva_val = lnTvaVal .procent_lei = lnProcLei + Iif(tlIntern, 0, 100) .procent_val = lnProcVal .ncurs = poAct.Curs Endwith onir.Show() llRet = (m.gnButon = 1) this.AlwaysOnTop = !llRet RETURN m.llRet ENDPROC PROCEDURE Init Lparameters tlIntern && tlIntern - default formularul este folosit pentru import (.F.), daca este .T. atunci nu apar coloanele legate de valuta This.lIntern = Iif(Pcount() = 0 Or Type('tlIntern') <> 'L', .F., tlIntern) This.lactiv4 = .T. && acces la do_sterge (butonul de stergere note) This.cDviSerie = '' This.cDviPartener = '' This.cDviFelDoc = '' If This.lIntern Select introdc Replace All suma_val With 0, in_valuta With 0 Go Top && modificare v 2.1.37 This.grid1.cInValuta.Visible = .F. This.grid1.cParticipaValuta.Visible = .F. && this.grid1.cParticipaValuta.Header1.Caption = "Participa la pret lei" This.grid1.cSumaVal.Visible = .F. This.grid1.cExplicatia5.Visible = .F. This.lb_titlu_alb_b121.Caption = "ACHIZIÞIE INTERNÃ MARFÃ/MATERIALE" *!* modificare v 2.1.40 Else This.lb_curs.Visible = .T. This.lb_curs.Caption = [CURS VALUTAR : 1 ] + ALLTRIM(poAct.nume_val) + [ = ] + formateaza(poAct.curs,14,gnPCurs) + [ RON] *!* modificare v 2.1.40 ^ Endif This.WindowState = 2 this.grid1.HeaderHeight = 49 && se micsoreaza singur la afisare; refacut si in Show() *SAFT this.grid1.cTaxCode.Visible = m.gl406 * Creez cursor cu Id-uri de TVA Taxare inversa si Comunitate Europeana pentru notele 4426 = 4426, la alegerea Explicatie TVA lcSql = "select ID_JTVA_COLOANA from JTVA_COLOANE t where (coloana_jc LIKE 'TI%T' or coloana_jc like 'XX%TIT') or (coloana_jc LIKE 'CE%T' and coloana_jc not LIKE 'CE%FTT') " lcCursor = 'cJtvaCol4427' llSucces = goExecutor.oExecuta(m.lcSql, lcCursor) IF m.llSucces SELECT cJtvaCol4427 INDEX on ID_JTVA_COLOANA TAG ID_JTVA ENDIF DoDefault() Thisform.refac_culori_documente() ENDPROC PROCEDURE refac_culori_documente * M1: culoare fundal + eticheta document, precalculate pe cursorul introdc. * Cheia document = serie_act + nract + id_fdoc (id_fact e mereu 0 pe aceasta forma). * Rand impar = baza (defineste documentul); randul par (TVA) mosteneste culoarea/eticheta. Local lcSel, lnRec, lnDocCount, lnIdx, i, lcCheie, lnPrevColor, lcPrevLabel Local laCol[6], laKeys[100] If !Used('introdc') Return Endif laCol[1] = Rgb(221,235,247) laCol[2] = Rgb(226,239,218) laCol[3] = Rgb(255,242,204) laCol[4] = Rgb(237,225,247) laCol[5] = Rgb(252,228,214) laCol[6] = Rgb(255,221,221) lcSel = Select() Select introdc lnRec = Recno() lnDocCount = 0 lnPrevColor = 16777215 lcPrevLabel = '-' Go Top Scan If Mod(Recno(),2) <> 0 lcCheie = Upper(Alltrim(Nvl(serie_act,''))) + '|' + Alltrim(Str(Nvl(nract,0),14)) + '|' + Alltrim(Str(Nvl(id_fdoc,0),14)) If Empty(Alltrim(Nvl(serie_act,''))) And Nvl(nract,0) = 0 Replace doc_color With 16777215, doc_label With '-' Else lnIdx = 0 For i = 1 To lnDocCount If laKeys[i] == lcCheie lnIdx = i Exit Endif Endfor If lnIdx = 0 And lnDocCount < 100 lnDocCount = lnDocCount + 1 laKeys[lnDocCount] = lcCheie lnIdx = lnDocCount Endif If lnIdx = 0 lnIdx = 1 Endif Replace doc_color With laCol[Mod(lnIdx - 1, 6) + 1], doc_label With 'F' + Alltrim(Str(lnIdx)) Endif lnPrevColor = doc_color lcPrevLabel = Alltrim(doc_label) Else Replace doc_color With lnPrevColor, doc_label With Iif(lcPrevLabel == '-', '-', lcPrevLabel + ' TVA') Endif Endscan If lnRec >= 1 And lnRec <= Reccount() Go lnRec Endif Select (lcSel) ENDPROC PROCEDURE Show Lparameters tnStyle *!* HeaderHeight se micsoreaza singur la afisare si taie liniile din capul *!* coloanelor - il refac la valoarea din design. If Pcount() = 0 DoDefault() Else DoDefault(tnStyle) Endif This.grid1.HeaderHeight = 49 ENDPROC PROCEDURE updateexplicatiesaft * Daca nu este activata SAFT 406 nu fac nimic IF !m.gl406 RETURN ENDIF Local loPartenerRTVAI As "empty" Local loPartenerRTVAIX As "empty" Local lcCodFiscal, lcNumePart, ldDataAct, llFurnizorRTVAI, lnIdJtva, lnIdPart, lnTaxCode, lcSelect lcSelect = SELECT() ldDataAct = poAct.dataact lnIdJtva = introdc.id_jtva_coloana llFurnizorRTVAI = .F. lnIdPart = Nvl(introdc.id_partc, introdc.id_partd) lnTaxCode = GetTaxCodeIdPart(m.gnAn, m.gnLuna, m.ldDataAct, m.lnIdJtva, m.lnIdPart) Replace taxcode With m.lnTaxCode In introdc *This.grid1.cTaxCode._combobox1.Refresh() SELECT (m.lcSelect) ENDPROC PROCEDURE Grid1.cAscc.Text1.Click this.LostFocus(.t.) ENDPROC PROCEDURE Grid1.cAscc.Text1.LostFocus PARAMETERS PlClick lcSel = thisform.grid1.RecordSource SELECT (lcSel) lcCont = scc lcAcont = ascc llReturn = verific_analitic(plClick, lcCont, lcAcont,'ascc', lcSel) && in oOperatii_comune.prg ENDPROC PROCEDURE Grid1.cAscd.Text1.Click this.LostFocus(.t.) ENDPROC PROCEDURE Grid1.cAscd.Text1.LostFocus PARAMETERS PlClick lcSel = thisform.grid1.RecordSource SELECT (lcSel) lcCont = scd lcAcont = ascd llReturn = verific_analitic(plClick, lcCont, lcAcont,'ascd', lcSel) && in oOperatii_comune.prg ENDPROC PROCEDURE Grid1.cCurs.Text1.Valid *!* cursul editat se scrie explicit (ca la cSumaVal.Valid - dupa amessagebox grid-ul *!* nu-l mai scria in camp) si se copiaza pe randul de TVA pereche; apoi ofer *!* recalcularea sumei in lei din suma in valuta, ca la modificarea sumei in valuta Local lnSumaDinVal, lnRaspuns If This.Value # 0 Select introdc Replace curs With This.Value Thisform.copiaza_valoare([curs]) If in_valuta = 1 And suma_val # 0 lnSumaDinVal = Round(suma_val * This.Value, gnPC) lnRaspuns = 6 If suma <> 0 And suma <> lnSumaDinVal lnRaspuns = amessagebox("Suma in lei difera de suma in valuta transformata in lei!" + CHR(13) + CHR(10) + ; "Doriti recalcularea sumei in lei?",4+32,"Diferente sume") Endif If lnRaspuns = 6 Replace suma With lnSumaDinVal Endif Thisform.do_executa Endif Endif ENDPROC PROCEDURE Grid1.cDataAct.Text1.Valid Thisform.copiaza_valoare(This.Parent.ControlSource) ENDPROC PROCEDURE Grid1.cExplicatieTva.Combo1.Valid *!* 14.07.2016 *!* marius.mutu *!* inlocuiesc 4426 = 401 cu 4426 = 4427 pt ach tx inversa/CE 20% LOCAL lnId, lnPtva, lnId_tva, lnId_jtva_coloanaTVA, lnCota_tva, lcExplicatie_TVA lnId = jtva_coloane2.id_jtva_coloana lnPtva = jtva_coloane2.cota_Tva lnId_tva = jtva_coloane2.id_Tva Select introdc lnRec = Recno() Select introdc Replace id_jtva_coloana With lnId, ptva With lnPtva If Mod(lnRec,2)<>0 && linie impara BAZA Thisform.UpdateExplicatieSAFT() If lnPtva = 0 Select introdc Replace cu_tva With 0 Skip Replace id_jtva_coloana With 0, ptva With 0, explicatie_tva With '', cu_tva with 0 ELSE && line para TVA Select jtva_coloane2 Locate For id_jtva_coloana = lnId_tva If Found() lnId_jtva_coloanaTVA = jtva_coloane2.id_jtva_coloana lnCota_tva = jtva_coloane2.cota_Tva lcExplicatie_TVA = jtva_coloane2.denumire * PENTRU TAXARE INVERSA SI COMUNITATEA EUROPEANA, TREBUIE 4426 = 4427 PE LINIA DE TVA, ALTFEL 4426 = 401 Select introdc Replace cu_tva With 1 Skip Replace id_jtva_coloana With lnId_jtva_coloanaTVA, ptva With lnCota_tva, explicatie_tva With lcExplicatie_TVA, cu_tva with 1 *!* If Inlist(lnId_jtva_coloanaTVA, 138, 140, 142, 144, 146, 163,128,130,134,149,151,153,161,165,167,169,183,185,187) && TVA ACH TX INV, TVA ACH CE-> 4426 = 4427 *!* Replace scc With '4427' *!* Else *!* Replace scc With '401' *!* ENDIF IF SEEK(lnId_jtva_coloanaTVA, "cJtvaCol4427","id_jtva") Replace scc With '4427' IN introdc ELSE Replace scc With '401' IN introdc ENDIF Thisform.UpdateExplicatieSAFT() Endif Endif * Actualizez Cod Taxa SAFT in functie de Cota TVA ENDIF Thisform.grid1.cSuma.teXT1.Valid *!* lnId = jtva_coloane.id_jtva_coloana *!* lnPtva = jtva_coloane.cota_Tva *!* Select introdc *!* Replace id_jtva_coloana With lnId,ptva With lnPtva *!* Thisform.grid1.coluMN8.teXT1.Valid ENDPROC PROCEDURE Grid1.cExplicatieTva.Text1.DblClick thisform.do_modifica_explicatie_tva() ENDPROC PROCEDURE Grid1.cExplicatieTva.Text1.InteractiveChange thisform.do_modifica_explicatie_tva() This.Value = introdc.explicatie_tva ENDPROC PROCEDURE Grid1.cFDoc.Text1.DblClick Thisform.do_modifica_fdoc() ENDPROC PROCEDURE Grid1.cFDoc.Text1.InteractiveChange Thisform.do_modifica_fdoc() This.Value = introdc.fdoc ENDPROC PROCEDURE Grid1.cInValuta.Check1.Valid thisform.do_executa ENDPROC PROCEDURE Grid1.cNract.Text1.Valid *!* modificare v 2.1.39 Thisform.copiaza_valoare(This.Parent.ControlSource) *!* IF MOD(RECNO(),2) = 1 AND RECNO() <> RECCOUNT() *!* LOCAL lcSelect *!* lcSelect = SELECT() *!* *!* SELECT introdc *!* lnNract = nract *!* SKIP *!* REPLACE nract WITH lnNract *!* SKIP -1 *!* *!* SELECT (lcSelect) *!* ENDIF *!* modificare v 2.1.39 ^ ENDPROC PROCEDURE Grid1.cPartC.Text1.Click * single click nu mai declanseaza cautarea partenerului (golea partenerul la * anulare). Re-alegerea se face pe dublu click - vezi DblClick. ENDPROC PROCEDURE Grid1.cPartC.Text1.DblClick * re-alegerea partenerului creditor; daca se anuleaza, pastrez valoarea veche Local lcSel, lnOldId, lcOldNume lcSel = Thisform.grid1.RecordSource lnOldId = &lcSel..id_partc lcOldNume = &lcSel..partc This.LostFocus(.t.) If Empty(&lcSel..id_partc) And lnOldId <> 0 Select (lcSel) Replace id_partc With lnOldId, partc With lcOldNume Thisform.grid1.Refresh() Endif ENDPROC PROCEDURE Grid1.cPartC.Text1.InteractiveChange * nu mai fortez cautarea la tastare (vezi Click/DblClick) ENDPROC PROCEDURE Grid1.cPartC.Text1.LostFocus PARAMETERS PlClick lcSel = thisform.grid1.RecordSource IF plClick OR EMPTY(&lcSel..id_partc) lcCont = &lcSel..scc llReturn = verific_partener(lcCont, 'partc','id_partc', lcSel) && in oOperatii_comune.prg ELSE DODEFAULT() ENDIF ENDPROC PROCEDURE Grid1.cPartC.Text1.Valid IF MOD(RECNO(),2) = 1 AND RECNO() <> RECCOUNT() LOCAL lcSelect lcSelect = SELECT() SELECT introdc lnIdPart = id_partc lcPart = partc lcCont = scc SKIP IF scc = lcCont AND EMPTY(id_partc) REPLACE id_partc WITH lnIdPart, partc WITH lcPart ENDIF SKIP -1 SELECT (lcSelect) ENDIF ENDPROC PROCEDURE Grid1.cPartD.Text1.Click * single click nu mai declanseaza cautarea partenerului (vezi DblClick) ENDPROC PROCEDURE Grid1.cPartD.Text1.DblClick * re-alegerea partenerului debitor; daca se anuleaza, pastrez valoarea veche Local lcSel, lnOldId, lcOldNume lcSel = Thisform.grid1.RecordSource lnOldId = &lcSel..id_partd lcOldNume = &lcSel..partd This.LostFocus(.t.) If Empty(&lcSel..id_partd) And lnOldId <> 0 Select (lcSel) Replace id_partd With lnOldId, partd With lcOldNume Thisform.grid1.Refresh() Endif ENDPROC PROCEDURE Grid1.cPartD.Text1.InteractiveChange * la tastare deschid cautarea de partener debitor - acelasi mecanism ca * re-alegerea pe dublu-click (pastreaza valoarea veche la anulare) This.DblClick() This.Value = Evaluate(Thisform.grid1.RecordSource + '.partd') ENDPROC PROCEDURE Grid1.cPartD.Text1.LostFocus PARAMETERS PlClick lcSel = thisform.grid1.RecordSource IF plClick OR EMPTY(&lcSel..id_partd) lcCont = &lcSel..scd llReturn = verific_partener(lcCont, 'partd','id_partd', lcSel) && in oOperatii_comune.prg ELSE DODEFAULT() ENDIF ENDPROC PROCEDURE Grid1.cPartD.Text1.Valid IF MOD(RECNO(),2) = 1 AND RECNO() <> RECCOUNT() LOCAL lcSelect lcSelect = SELECT() SELECT introdc lnIdPart = id_partd lcPart = partd lcCont = scd SKIP IF scd = lcCont AND EMPTY(id_partd) REPLACE id_partd WITH lnIdPart, partd WITH lcPart ENDIF SKIP -1 SELECT (lcSelect) ENDIF ENDPROC PROCEDURE Grid1.cParticipaValuta.Check1.Valid thisform.do_executa ENDPROC PROCEDURE Grid1.cSerie_act.Text1.Valid *!* modificare v 2.1.39 Thisform.copiaza_valoare(This.Parent.ControlSource) *!* IF MOD(RECNO(),2) = 1 AND RECNO() <> RECCOUNT() *!* LOCAL lcSelect *!* lcSelect = SELECT() *!* *!* SELECT introdc *!* lnSerie_act = serie_act *!* SKIP *!* REPLACE serie_act WITH lnSerie_act *!* SKIP -1 *!* *!* SELECT (lcSelect) *!* ENDIF *!* modificare v 2.1.39 ^ ENDPROC PROCEDURE Grid1.cSuma.Text1.Valid thisform.do_executa ENDPROC PROCEDURE Grid1.cSumaVal.Text1.KeyPress LPARAMETERS nKeyCode, nShiftAltCtrl IF NKEYCODE=13 OR nKeyCode = 4 &&ENTER NODEFAULT KEYBOARD '{DNARROW}' ENDIF ENDPROC PROCEDURE Grid1.cSumaVal.Text1.Valid *!* Mutat din LostFocus: acolo valoarea tastata se pierdea (dupa amessagebox *!* grid-ul nu o mai scria in camp) - aici o scriu explicit din This.Value. Local lnSumaDinVal, lnRaspuns If This.Value # 0 Select introdc Replace suma_val With This.Value * runda 13: folosesc cursul randului (editabil in grid) cand exista; altfel cursul * facturii principale, ca inainte lnSumaDinVal = Round(This.Value * Iif(introdc.in_valuta = 1 And Nvl(introdc.curs, 0) <> 0, introdc.curs, Thisform.oact.Curs), gnPC) lnRaspuns = 6 If suma <> 0 And suma <> lnSumaDinVal lnRaspuns = amessagebox("Suma in lei difera de suma in valuta transformata in lei!" + CHR(13) + CHR(10) + ; "Doriti recalcularea sumei in lei?",4+32,"Diferente sume") Endif If lnRaspuns = 6 Replace suma With lnSumaDinVal Endif Endif Thisform.do_executa ENDPROC PROCEDURE Grid1.cTaxCode.Text1.InteractiveChange If tact.cu_tva = 1 *!* modificare ROACONT v 2.4.4 If TYPE('tact.tipnota') = 'N' AND tact.tipnota = 1 *!* explicatii TVA exigibile din JC ( 1 ), JV ( 3 ) sau toate ( 5 ) locauta = caut_explicatie_tva(Nvl(tact.id_jtva_coloana,-1),,,iif(tact.scc=[4428],1,iif(tact.scd=[4428],3,5))) Else locauta = caut_explicatie_tva(Nvl(tact.id_jtva_coloana,-1)) Endif *!* locauta = caut_explicatie_tva(Nvl(tact.id_jtva_coloana,-1)) *!* modificare ROACONT v 2.4.4 ^ If !Empty(locauta.id_jtva_coloana) Select tact Replace id_jtva_coloana With locauta.id_jtva_coloana,explicatie_Tva With locauta.denumire,proc_tva With (locauta.cota_tva + 100) / 100 Endif * Actualizez Cod Taxa SAFT in functie de Cota TVA Thisform.UpdateExplicatieSAFT() ENDIF ENDPROC PROCEDURE Grid1.cValuta.Text1.DblClick * alegerea valutei pe rand (caut_valuta, ca in dialogul Adauga factura); * la anulare raman valorile vechi; valoarea se copiaza pe randul de TVA pereche Local loCauta loCauta = caut_valuta(, .F., .F.) If Vartype(loCauta) = 'O' And !Empty(Nvl(loCauta.id_valuta, 0)) Select introdc Replace id_valuta With loCauta.id_valuta, nume_val With Alltrim(loCauta.nume_val) Thisform.copiaza_valoare([id_valuta]) Thisform.copiaza_valoare([nume_val]) Thisform.grid1.Refresh() Endif ENDPROC PROCEDURE Grid1.cValuta.Text1.InteractiveChange * la tastare deschid cautarea de valuta - acelasi mecanism ca dublu-click This.DblClick() This.Value = introdc.nume_val ENDPROC PROCEDURE Grid1.Init thisform.grid1.SetAll("dynamicbackcolor", "", "Column") thisform.grid1.SetAll("dynamicforecolor", "", "Column") thisform.grid1.SetAll("DynamicBackColor", "introdc.doc_color", "Column") thisform.grid1.SetAll("DynamicFontItalic", "Mod(Recno('introdc'),2)=0", "Column") ENDPROC ENDDEFINE DEFINE CLASS nir 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="_shapeSus" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Ct_factura1" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Ct_factura1.txfTotal" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Ct_factura1.txfBaza" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Ct_factura1.txfTva" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Ct_discount1" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="_shape3" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="_shapeDr" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="But_renunt1" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Urmator1" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="lbTotal" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="txNir" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Ct_adaos1" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Ct_grid_search1" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Ct_grid_search1.But_nou1" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Ct_grid_search1.lb_listePreturi" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Ct_grid_search1.cboListe" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Ct_grid_search1.Cb_tx_gestout" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Ct_grid_order1" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Ct_grid_order1.Cb_tx_gestin" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Ct_grid_order1.But_sterge1" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Ct_factura2" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Ct_factura2.lb_curs" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Ct_factura2.lb_valuta" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="tx_totalctva" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="lb_totalctva" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Container_valoare_decontata1" UniqueID="" Timestamp="" /> #INCLUDE "..\include\foxpro.h" * *m: aleg_cont_transfer *m: analiza_cmp *m: assign_analitic *m: assign_values *m: bon_fiscal *m: calcul_pret_vanzare *m: calcul_sume *m: caut_gestiune *m: compensare *m: do_verifica_sume *m: intrare_produs *m: modificare_lista_preturi *p: cfrm_ceredate *p: cobj *p: ctip_frm *p: nftotctva *p: nftotftva *p: nftottva *p: nidresponsabil *p: nresp *p: ntotal *p: ntvaincasare *p: omemopref && Obiectul in care se retin preferintele : id_jtva_ach, proc_tva, id_jtva_vanz, proc_tvav *p: osel_dr * * BorderStyle = 1 cbuton3 = cbuton4 = Ct_grid_order1.But_sterge1;but_reface1 cfrm_ceredate = cobj = ctip_frm = NIR DoCreate = .T. Height = 572 lactiv3 = .T. lactiv4 = .T. Name = "nir" nftotctva = 0.00 nftotftva = 0.00 nftottva = 0.00 nidresponsabil = 0 nresp = ntotal = 0 ntvaincasare = 0 omemopref = .NULL. osel_dr = Width = 793 WindowType = 1 _memberdata = _shape1.Anchor = 11 _shape1.Height = 30 _shape1.Left = -1 _shape1.Name = "_shape1" _shape1.Tag = "" _shape1.Top = -1 _shape1.Width = 726 _shape1.ZOrderSet = 4 _shape2.Anchor = 9 _shape2.Height = 29 _shape2.Left = 724 _shape2.Name = "_shape2" _shape2.Tag = "MOVABLE" _shape2.Top = 0 _shape2.Width = 69 _shape2.ZOrderSet = 7 Lb_titlu_alb_b121.Anchor = 3 Lb_titlu_alb_b121.FontName = "Comic Sans MS" Lb_titlu_alb_b121.FontSize = 10 Lb_titlu_alb_b121.Height = 20 Lb_titlu_alb_b121.Left = 10 Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" Lb_titlu_alb_b121.TabIndex = 5 Lb_titlu_alb_b121.Top = 3 Lb_titlu_alb_b121.Width = 41 Lb_titlu_alb_b121.ZOrderSet = 9 BUT_TERMIN1.Anchor = 9 BUT_TERMIN1.Height = 27 BUT_TERMIN1.Left = 757 BUT_TERMIN1.Name = "BUT_TERMIN1" BUT_TERMIN1.TabIndex = 3 BUT_TERMIN1.Tag = "" BUT_TERMIN1.Top = 1 BUT_TERMIN1.Width = 32 BUT_TERMIN1.ZOrderSet = 13 Gridsort1.Name = "Gridsort1" * ADD OBJECT '_shape3' AS _shape WITH ; Anchor = 135, ; BackStyle = 0, ; BorderColor = 7,118,177, ; BorderWidth = 2, ; Height = 408, ; Left = 9, ; Name = "_shape3", ; Tag = "", ; Top = 156, ; Width = 361, ; ZOrderSet = 3 *< END OBJECT: ClassLib="_baza.vcx" BaseClass="shape" /> ADD OBJECT '_shapeDr' AS _shape WITH ; Anchor = 45, ; BackStyle = 0, ; BorderColor = 7,118,177, ; BorderWidth = 2, ; Height = 408, ; Left = 406, ; Name = "_shapeDr", ; Tag = "", ; Top = 156, ; Width = 381, ; ZOrderSet = 5 *< END OBJECT: ClassLib="_baza.vcx" BaseClass="shape" /> ADD OBJECT '_shapeSus' AS _shape WITH ; Anchor = 11, ; BackStyle = 0, ; BorderColor = 7,118,177, ; BorderWidth = 2, ; Height = 123, ; Left = 9, ; Name = "_shapeSus", ; Tag = "RESIZABLE, MOVABLE", ; Top = 32, ; Width = 778, ; ZOrderSet = 0 *< END OBJECT: ClassLib="_baza.vcx" BaseClass="shape" /> ADD OBJECT 'But_renunt1' AS but_renunt WITH ; Anchor = 9, ; Left = 727, ; Name = "But_renunt1", ; TabIndex = 4, ; Tag = "", ; Top = 1, ; ZOrderSet = 8 *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> ADD OBJECT 'Container_valoare_decontata1' AS container_valoare_decontata WITH ; Left = 15, ; Name = "Container_valoare_decontata1", ; Top = 81, ; Visible = .F., ; ZOrderSet = 20, ; Label1.Name = "Label1", ; Text1.Name = "Text1" *< END OBJECT: ClassLib="ointroduceri.vcx" BaseClass="container" /> ADD OBJECT 'Ct_adaos1' AS ct_adaos WITH ; Anchor = 9, ; Left = 538, ; Name = "Ct_adaos1", ; TabIndex = 8, ; Tag = "", ; Top = 38, ; ZOrderSet = 14, ; LBBAZA_ADAOS.Name = "LBBAZA_ADAOS", ; LBTVA_ADAOS.Name = "LBTVA_ADAOS", ; LBPROC_ADAOS.Name = "LBPROC_ADAOS", ; TXBAZA_ADAOS.ControlSource = "this.parent.baza_adaos", ; TXBAZA_ADAOS.Name = "TXBAZA_ADAOS", ; TXTVA_ADAOS.Name = "TXTVA_ADAOS", ; TXPROC_ADAOS.Name = "TXPROC_ADAOS" *< END OBJECT: ClassLib="ferestre_cere_date.vcx" BaseClass="container" /> ADD OBJECT 'Ct_discount1' AS ct_discount WITH ; Anchor = 3, ; Height = 112, ; Left = 286, ; Name = "Ct_discount1", ; TabIndex = 10, ; Tag = "", ; Top = 37, ; Width = 284, ; ZOrderSet = 2, ; COMBOGRID3.Name = "COMBOGRID3", ; LBBAZA_DISCOUNT.Name = "LBBAZA_DISCOUNT", ; LBTVA_DISCOUNT.Name = "LBTVA_DISCOUNT", ; LBPROC_DISCOUNT.Name = "LBPROC_DISCOUNT", ; TXBAZA_DISCOUNT.Name = "TXBAZA_DISCOUNT", ; TXTVA_DISCOUNT.Name = "TXTVA_DISCOUNT", ; TXPROC_DISCOUNT.Format = "r", ; TXPROC_DISCOUNT.InputMask = (get_mask(12,2)), ; TXPROC_DISCOUNT.Name = "TXPROC_DISCOUNT", ; CotaTVA.HideSelection = .F., ; CotaTVA.Name = "CotaTVA", ; lbTva.Name = "lbTva", ; lb_explicatie_tva.Left = 1, ; lb_explicatie_tva.Name = "lb_explicatie_tva", ; lb_explicatie_tva.Top = 91 *< END OBJECT: ClassLib="ferestre_cere_date.vcx" BaseClass="container" /> ADD OBJECT 'Ct_factura1' AS ct_factura WITH ; Anchor = 131, ; Height = 71, ; Left = 14, ; Name = "Ct_factura1", ; TabIndex = 9, ; Tag = "", ; Top = 61, ; Width = 292, ; ZOrderSet = 1, ; lbBaza.Left = 4, ; lbBaza.Name = "lbBaza", ; lbBaza.Top = 27, ; LbTva.Left = 4, ; LbTva.Name = "LbTva", ; LbTva.Top = 50, ; txBaza.ControlSource = "this.parent.totftva", ; txBaza.Height = 23, ; txBaza.Left = 99, ; txBaza.Name = "txBaza", ; txBaza.ToolTipText = "Valoarea fara TVA calculata", ; txBaza.Top = 25, ; txBaza.Width = 91, ; txTva.ControlSource = "this.parent.tva", ; txTva.Height = 23, ; txTva.Left = 99, ; txTva.Name = "txTva", ; txTva.ToolTipText = "Valoarea TVA calculata", ; txTva.Top = 48, ; txTva.Width = 91, ; lbExplic.AutoSize = .F., ; lbExplic.Left = 6, ; lbExplic.Name = "lbExplic", ; lbExplic.Top = 14, ; txTotal.Height = 23, ; txTotal.Left = 99, ; txTotal.Name = "txTotal", ; txTotal.ToolTipText = "Valoarea cu TVA calculata", ; txTotal.Top = 1, ; txTotal.Width = 91, ; lbTotal.AutoSize = .F., ; lbTotal.Left = 3, ; lbTotal.Name = "lbTotal", ; lbTotal.Top = 3 *< END OBJECT: ClassLib="ferestre_cere_date.vcx" BaseClass="container" /> ADD OBJECT 'Ct_factura1.txfBaza' AS _txbase WITH ; BackColor = 206,231,255, ; ControlSource = "thisform.nfTotftva", ; Format = "KR", ; Height = 23, ; InputMask = (get_mask(9,gnPC)), ; Left = 192, ; Name = "txfBaza", ; ToolTipText = "Valoarea fara TVA de pe factura - modificati daca este diferita de valoarea calculata", ; Top = 25, ; Visible = .F., ; Width = 96 *< END OBJECT: ClassLib="_tx_base.vcx" BaseClass="textbox" /> ADD OBJECT 'Ct_factura1.txfTotal' AS _txbase WITH ; ControlSource = "thisform.nfTotctva", ; DisabledBackColor = 255,255,255, ; Format = "RK", ; Height = 23, ; InputMask = (get_mask(9,gnPC)), ; Left = 192, ; Name = "txfTotal", ; ReadOnly = .T., ; ToolTipText = "Valoarea cu TVA de pe factura", ; Top = 1, ; Visible = .F., ; Width = 96 *< END OBJECT: ClassLib="_tx_base.vcx" BaseClass="textbox" /> ADD OBJECT 'Ct_factura1.txfTva' AS _txbase WITH ; BackColor = 206,231,255, ; ControlSource = "thisform.nfTottva", ; Format = "KR", ; Height = 23, ; InputMask = (get_mask(9,gnPC)), ; Left = 192, ; Name = "txfTva", ; ToolTipText = "Valoarea TVA de pe factura - modificati daca este diferita de valoarea calculata", ; Top = 48, ; Visible = .F., ; Width = 96 *< END OBJECT: ClassLib="_tx_base.vcx" BaseClass="textbox" /> ADD OBJECT 'Ct_factura2' AS ct_factura WITH ; Anchor = 3, ; Height = 96, ; Left = 285, ; Name = "Ct_factura2", ; TabIndex = 9, ; Tag = "", ; Top = 45, ; Width = 270, ; ZOrderSet = 17, ; LBBAZA.Left = 51, ; LBBAZA.Name = "LBBAZA", ; LBBAZA.Top = 52, ; LBTVA.Left = 51, ; LBTVA.Name = "LBTVA", ; LBTVA.Top = 72, ; TXBAZA.Height = 23, ; TXBAZA.InputMask = (get_mask(14,gnPVal)), ; TXBAZA.Left = 130, ; TXBAZA.Name = "TXBAZA", ; TXBAZA.Top = 50, ; TXBAZA.Width = 138, ; TXTVA.Height = 23, ; TXTVA.InputMask = (get_mask(14,gnPVal)), ; TXTVA.Left = 130, ; TXTVA.Name = "TXTVA", ; TXTVA.Top = 70, ; TXTVA.Width = 138, ; LBEXPLIC.Left = 1, ; LBEXPLIC.Name = "LBEXPLIC", ; LBEXPLIC.Top = 52, ; TXTOTAL.ControlSource = "this.parent.totctva", ; TXTOTAL.Height = 23, ; TXTOTAL.InputMask = (get_mask(14,gnPVal)), ; TXTOTAL.Left = 130, ; TXTOTAL.Name = "TXTOTAL", ; TXTOTAL.Top = 28, ; TXTOTAL.Width = 138, ; LBTOTAL.Height = 18, ; LBTOTAL.Left = 3, ; LBTOTAL.Name = "LBTOTAL", ; LBTOTAL.Top = 19, ; LBTOTAL.Width = 106 *< END OBJECT: ClassLib="ferestre_cere_date.vcx" BaseClass="container" /> ADD OBJECT 'Ct_factura2.lb_curs' AS lb_titlu_albastru_b12 WITH ; Alignment = 2, ; AutoSize = .F., ; Caption = "[Curs]", ; FontBold = .T., ; Height = 22, ; Left = 19, ; Name = "lb_curs", ; Top = 2, ; Width = 201 *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> ADD OBJECT 'Ct_factura2.lb_valuta' AS lb_titlu_albastru_b12 WITH ; Caption = "[Valuta]", ; FontBold = .F., ; FontSize = 9, ; ForeColor = 7,118,177, ; Height = 17, ; Left = 58, ; Name = "lb_valuta", ; Top = 35, ; Width = 42 *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> ADD OBJECT 'Ct_grid_order1' AS ct_grid_order WITH ; Anchor = 45, ; cnumecursor = rul_temp1, ; Height = 425, ; Left = 409, ; Name = "Ct_grid_order1", ; TabIndex = 11, ; Top = 139, ; Width = 375, ; ZOrderSet = 16, ; _GRID1.Height = 325, ; _GRID1.Left = 6, ; _GRID1.Name = "_GRID1", ; _GRID1.TabIndex = 2, ; _GRID1.Top = 93, ; _GRID1.Width = 364, ; Titlu.Left = 9, ; Titlu.Name = "Titlu", ; Titlu.TabIndex = 3, ; Titlu.Top = 28, ; Cb_tx_cautare1.Criteriu.Name = "Criteriu", ; Cb_tx_cautare1.Left = 7, ; Cb_tx_cautare1.Name = "Cb_tx_cautare1", ; Cb_tx_cautare1.TabIndex = 1, ; Cb_tx_cautare1.Text.Name = "Text", ; Cb_tx_cautare1.Top = 65 *< END OBJECT: ClassLib="ferestre_cere_date.vcx" BaseClass="container" /> ADD OBJECT 'Ct_grid_order1.But_sterge1' AS but_sterge WITH ; Anchor = 9, ; Left = 310, ; Name = "But_sterge1", ; TabIndex = 5, ; TabStop = .F., ; Top = 65, ; Visible = .T. *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> ADD OBJECT 'Ct_grid_order1.Cb_tx_gestin' AS cb_tx_simplu WITH ; BackStyle = 0, ; BorderColor = 255,255,255, ; Height = 24, ; Left = 7, ; Name = "Cb_tx_gestin", ; TabIndex = 4, ; Top = 40, ; Width = 366, ; _CBBASE1.BorderStyle = 0, ; _CBBASE1.ColumnCount = 2, ; _CBBASE1.ColumnLines = .F., ; _CBBASE1.ColumnWidths = "220,40", ; _CBBASE1.ControlSource = "poact.gestin", ; _CBBASE1.FontItalic = .F., ; _CBBASE1.FontName = "Arial Narrow", ; _CBBASE1.Height = 23, ; _CBBASE1.Left = 130, ; _CBBASE1.Name = "_CBBASE1", ; _CBBASE1.RowSource = "nom_gestiuni.nume_gestiune,cgest", ; _CBBASE1.RowSourceType = 6, ; _CBBASE1.Sorted = .F., ; _CBBASE1.Top = 0, ; _CBBASE1.Width = 229, ; _LBBASE1.Caption = "Gestiunea destinatie", ; _LBBASE1.FontItalic = .T., ; _LBBASE1.Left = 3, ; _LBBASE1.Name = "_LBBASE1", ; _LBBASE1.Top = 4 *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> ADD OBJECT 'Ct_grid_search1' AS ct_grid_search WITH ; Anchor = 135, ; cnumecursor = cursor_curent1, ; Height = 418, ; Left = 11, ; Name = "Ct_grid_search1", ; TabIndex = 1, ; Top = 140, ; Width = 357, ; ZOrderSet = 15, ; _GRID1.Comment = "grd_st", ; _GRID1.Height = 324, ; _GRID1.Left = 6, ; _GRID1.Name = "_GRID1", ; _GRID1.RecordSource = "cursor_curent", ; _GRID1.TabIndex = 3, ; _GRID1.Top = 94, ; _GRID1.Width = 347, ; _GRID1.ZOrderSet = 0, ; Titlu.Left = 9, ; Titlu.Name = "Titlu", ; Titlu.TabIndex = 4, ; Titlu.Top = 24, ; Titlu.ZOrderSet = 1, ; Cb_tx_cautare1.Criteriu.Comment = "criteriu_st", ; Cb_tx_cautare1.Criteriu.Name = "Criteriu", ; Cb_tx_cautare1.Height = 27, ; Cb_tx_cautare1.Left = 7, ; Cb_tx_cautare1.Name = "Cb_tx_cautare1", ; Cb_tx_cautare1.TabIndex = 2, ; Cb_tx_cautare1.Text.Comment = "text_st", ; Cb_tx_cautare1.Text.Height = 25, ; Cb_tx_cautare1.Text.Left = 103, ; Cb_tx_cautare1.Text.Name = "Text", ; Cb_tx_cautare1.Text.Top = 1, ; Cb_tx_cautare1.Text.Width = 207, ; Cb_tx_cautare1.Top = 66, ; Cb_tx_cautare1.Width = 312, ; Cb_tx_cautare1.ZOrderSet = 2 *< END OBJECT: ClassLib="ferestre_cere_date.vcx" BaseClass="container" /> ADD OBJECT 'Ct_grid_search1.But_nou1' AS but_nou WITH ; Anchor = 9, ; Height = 27, ; Left = 322, ; Name = "But_nou1", ; TabIndex = 6, ; TabStop = .F., ; Top = 65, ; ZOrderSet = 3 *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> ADD OBJECT 'Ct_grid_search1.Cb_tx_gestout' AS cb_tx_simplu WITH ; BackStyle = 0, ; BorderColor = 255,255,255, ; Height = 24, ; Left = 7, ; Name = "Cb_tx_gestout", ; TabIndex = 5, ; Top = 38, ; Width = 346, ; ZOrderSet = 6, ; _CBBASE1.BorderStyle = 0, ; _CBBASE1.ColumnCount = 2, ; _CBBASE1.ColumnLines = .F., ; _CBBASE1.ColumnWidths = "180,30", ; _CBBASE1.ControlSource = "poact.gestout", ; _CBBASE1.FontItalic = .F., ; _CBBASE1.FontName = "Arial Narrow", ; _CBBASE1.Height = 23, ; _CBBASE1.Left = 101, ; _CBBASE1.Name = "_CBBASE1", ; _CBBASE1.RowSource = "nom_gestiuni.nume_gestiune,cgest", ; _CBBASE1.RowSourceType = 6, ; _CBBASE1.Sorted = .F., ; _CBBASE1.Top = 1, ; _CBBASE1.Width = 243, ; _LBBASE1.Caption = "Gestiunea sursa", ; _LBBASE1.FontItalic = .T., ; _LBBASE1.Left = 3, ; _LBBASE1.Name = "_LBBASE1", ; _LBBASE1.Top = 3 *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> ADD OBJECT 'Ct_grid_search1.cboListe' AS combobox WITH ; Anchor = 3, ; BorderStyle = 0, ; ColumnCount = 4, ; ColumnLines = .F., ; ColumnWidths = "200,65,60,0", ; Format = "", ; Height = 23, ; Left = 104, ; Name = "cboListe", ; RowSource = "cListePret.nume_lista_preturi,datai,datas,id_pol", ; RowSourceType = 2, ; Style = 2, ; TabIndex = 1, ; Top = 39, ; Visible = .F., ; Width = 247, ; ZOrderSet = 5 *< END OBJECT: BaseClass="combobox" /> ADD OBJECT 'Ct_grid_search1.lb_listePreturi' AS label WITH ; Anchor = 3, ; BackStyle = 0, ; Caption = "Lista de preturi:", ; FontItalic = .T., ; Height = 17, ; Left = 11, ; Name = "lb_listePreturi", ; TabIndex = 7, ; Top = 42, ; Visible = .F., ; Width = 84, ; ZOrderSet = 4 *< END OBJECT: BaseClass="label" /> ADD OBJECT 'lb_totalctva' AS lb_simplu WITH ; Anchor = 9, ; Caption = "Total val.vânz. cu TVA", ; ForeColor = 7,118,177, ; Left = 542, ; Name = "lb_totalctva", ; Top = 119, ; Visible = .F., ; ZOrderSet = 19 *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> ADD OBJECT 'lbTotal' AS titlufrumos WITH ; Anchor = 3, ; AutoSize = .F., ; Caption = "TOTAL NIR:", ; ForeColor = 7,118,177, ; Height = 20, ; Left = 17, ; Name = "lbTotal", ; TabIndex = 6, ; Top = 40, ; Width = 77, ; ZOrderSet = 11 *< END OBJECT: ClassLib="baza.vcx" BaseClass="label" /> ADD OBJECT 'tx_totalctva' AS _txbase WITH ; Alignment = 3, ; Anchor = 9, ; Height = 23, ; InputMask = (get_mask(12,gnPc)), ; Left = 665, ; Name = "tx_totalctva", ; ReadOnly = .T., ; SpecialEffect = 1, ; TabStop = .F., ; Top = 117, ; Value = 0, ; Visible = .F., ; Width = 113, ; ZOrderSet = 18 *< END OBJECT: ClassLib="_tx_base.vcx" BaseClass="textbox" /> ADD OBJECT 'txNir' AS _txbase WITH ; Anchor = 3, ; BackStyle = 1, ; ControlSource = "thisform.ntotal", ; DisabledBackColor = 255,255,255, ; FontCharSet = 238, ; Height = 21, ; InputMask = (get_mask(12,gnPc)), ; Left = 114, ; Name = "txNir", ; ReadOnly = .T., ; SpecialEffect = 1, ; TabIndex = 7, ; Tag = "", ; Top = 39, ; Width = 147, ; ZOrderSet = 12 *< END OBJECT: ClassLib="_tx_base.vcx" BaseClass="textbox" /> ADD OBJECT 'Urmator1' AS urmator WITH ; Anchor = 240, ; Left = 373, ; Name = "Urmator1", ; TabIndex = 2, ; Tag = "", ; Top = 324, ; ZOrderSet = 10, ; Imbuton1.Height = 27, ; Imbuton1.Name = "Imbuton1", ; Imbuton1.Width = 30, ; Command1.Name = "Command1" *< END OBJECT: ClassLib="baza.vcx" BaseClass="container" /> PROCEDURE Activate this.WindowState = 2 ENDPROC PROCEDURE aleg_cont_transfer PARAMETERS tnIdGest lcSql = [select (case when p.explicatie is null then s.explicatie else p.explicatie end) as explicatie,] +; [c.cont, p.acont from VCORESP_CONT_TIPGEST c ] +; [left join vplcont_analitic p on c.cont = p.cont and p.an = ?gnAn ] +; [left join vplcont_sintetic s on c.cont = s.cont and s.an = ?gnAn] pcFiltruOrig = [c.id_tipgest in (select nr_pag from vnom_gestiuni where id_gestiune = ?tnIdGest)] pcfiltru = [1=2] pcschema = [] pcorder = [cont,acont] pccoloane = [cont,acont,explicatie] pcTitlu = [Alegeti Contul de Transfer] pcTitluColoane = [Cont,Analitic,Explicatie cont] locauta = cauta_alfa(lcSql,pcfiltru,pcschema,pcorder,pccoloane,pcTitlu,pcTitluColoane,'',.F.,pcFiltruOrig) && 11.07.2007 RETURN loCauta ENDPROC PROCEDURE analiza_cmp PARAMETERS tcRul, tcAct *!* 14.10.2006 *!* mutu.marius *!* tratare achizitie articol cu mai multe preturi LOCAL lcSql, lcCursor, lnSucces PRIVATE poArticol *** alocare numar NIR pt rulajele generate de CMP *** dezaloc in caz ca trece de mai multe ori prin metoda asta IF THISFORM.numar_plaja1.id_numar # 0 THISFORM.numar_plaja1.dezalocare_numar() ENDIF lnIdEnt = 0 THIS.numar_plaja1.id_entitate = lnIdEnt THIS.numar_plaja1.tip = 4 && NIR PT CMP THIS.numar_plaja1.serie = 2 && Asa transmit paramerii la procedura viz_config_serii din oproceduri_configurare.prg THIS.numar_plaja1.alocare_numar() lnNnir = THIS.numar_plaja1.numar_curent *** SELECT * ; FROM (tcRul) WITH (BUFFERING = .T.) ; INTO CURSOR crsTempRul SELECT DISTINCT ID_ARTICOL, CONT FROM crsTempRul ; INTO CURSOR crsArticoleTemp && pentru fiecare articol - se poate sa am acelasi articol cu mai multe preturi SELECT crsArticoleTemp SCAN SCATTER NAME poArticol && selectez din stoc cantitatea si pretul existente pentru articolul curent && posibil mai multe gestiuni ??? lcSql = [SELECT cants+cant-cante as cante, pret, id_articol, id_gestiune, id_gestiune as id_gestout, cont,] + ; [acont FROM stoc where an = ?gnAn and luna = ?gnluna and id_articol = ?poArticol.id_articol ] + ; [and (cants+cant-cante)<>0 and TRIM(cont) = ?ALLTRIM(poArticol.cont)] + gcCondSucursala lcCursorStoc = [tmpVer] lnSucces = goExecutor.oExecute(lcSql, lcCursorStoc) IF lnSucces < 0 amessagebox(goExecutor.cEroare,0+16,"Eroare") RETURN ENDIF && pentru fiecare pozitie articol achizitionat din articolul curent SELECT crsTempRul SCAN FOR cant <> 0 AND id_articol = poArticol.id_articol SCATTER NAME orul && scot articolul curent din rulaj la pretul de achizitie *!* IF RECCOUNT(lcCursorStoc) > 0 && il scot chiar daca nu il am in stoc - pentru ca s-ar putea sa fie achizitionat cu mai multe preturi SELECT (tcRul) APPEND BLANK GATHER NAME orul REPLACE cante WITH orul.cant, cant WITH 0, nnir WITH lnNnir, tva WITH 0 REPLACE id_tip_rulaj WITH 2 && RULAJ ARTIFICIAL CMP *!* ENDIF SELECT crsTempRul ENDSCAN *** scot din stoc articolul curent - cantitatea si pretul existente - inainte de achizitia curenta IF USED(lcCursorStoc) SELECT (lcCursorStoc) SCAN SCATTER NAME ointr SELECT (tcRul) APPEND BLANK GATHER NAME orul REPLACE cant WITH 0, cante WITH 0 GATHER NAME ointr REPLACE nnir WITH lnNnir REPLACE id_tip_rulaj WITH 2 && RULAJ ARTIFICIAL CMP SELECT (lcCursorStoc) ENDSCAN USE IN (lcCursorStoc) ENDIF && aflu pretul mediu ponderat - selectez toate iesirile din rul_temp (articolele achizitionate si stocul precedent) && pentru articol, cont curente && un singur pret mediu ponderat pe articol, indiferent de gestiune *!* 05.12.2006 *!* MARIUS.MUTU *!* LA RETUR FACTURA FURNIZOR CANTITATE NEGATIVA, DACA E RETUR LA TOATA CANTITATEA DIN STOC, *!* CANTITATEA TOTALA = 0, NUMERIC OVERFLOW LA CALCUL CMP *!* AM FACUT ABS(CANTE) SELECT SUM(ROUND(PRET*ABS(cante),gnPc)) AS valoare, SUM(ABS(cante)) AS cantitate, ID_ARTICOL, CONT ; FROM (tcRul) WITH (BUFFERING = .T.) ; WHERE cante <> 0 AND ID_ARTICOL = poArticol.ID_ARTICOL AND CONT = poArticol.CONT ; GROUP BY ID_ARTICOL, CONT ; INTO CURSOR tCmp SELECT tCmp SCAN SCATTER NAME ocmp && pretul mediu ponderat lnCMP = ROUND(ocmp.valoare/ocmp.cantitate, gnPpret) && articol, gestiune, cantitate_totala (cantitate achizitionata cu toate preturile + stoc) SELECT id_articol, id_gestiune, SUM(cante) AS cant ; FROM (tcRul) WITH (BUFFERING = .T.) ; WHERE ID_ARTICOL = ocmp.ID_ARTICOL AND cante <> 0 AND CONT = ocmp.CONT ; GROUP BY id_gestiune, ID_ARTICOL ; INTO CURSOR crsCantGest && adaug in rulaj intrarea cu toata cantitatea (achizitionata + stoc) la noul pret mediu ponderat SELECT crsCantGest SCAN SCATTER NAME ocant SELECT (tcRul) APPEND BLANK GATHER NAME orul REPLACE PRET WITH lnCMP, cant WITH 0, cante WITH 0, tva WITH 0 GATHER NAME ocant REPLACE nnir WITH lnNnir REPLACE id_tip_rulaj WITH 2 && RULAJ ARTIFICIAL CMP SELECT crsCantGest ENDSCAN USE IN crsCantGest && diferente de pret din rotunjiri IF ROUND(lnCMP * ocmp.cantitate, gnPc) - ocmp.valoare <> 0 SELECT (tcAct) APPEND BLANK GATHER NAME poact REPLACE nnir WITH lnNnir REPLACE scd WITH ocmp.CONT, scc WITH IIF(LEFT(ocmp.cont,3) = '371', '378', '308'), ascd WITH '', ascc WITH '' REPLACE suma WITH ROUND(lnCMP*ocmp.cantitate,gnPc) - ocmp.valoare ENDIF SELECT tCmp ENDSCAN USE IN tCmp ENDSCAN && crsArticoleTemp USE IN crsArticoleTemp SELECT (tcRul) && program vechi *!* PARAMETERS tcRul, tcAct *!* *** alocare numar NIR pt rulajele generate de CMP *!* *** dezaloc in caz ca trece de mai multe ori prin metoda asta *!* IF thisform.numar_plaja1.id_numar # 0 *!* thisform.numar_plaja1.dezalocare_numar() *!* ENDIF *!* lnIdEnt = 0 *!* this.numar_plaja1.id_entitate = lnIdEnt *!* this.numar_plaja1.tip = 4 && NIR PT CMP *!* this.numar_plaja1.serie = 2 && Asa transmit paramerii la procedura viz_config_serii din oproceduri_configurare.prg *!* this.numar_plaja1.alocare_numar() *!* lnNnir = this.numar_plaja1.numar_curent *!* *** *!* SELECT * FROM (tcRul) WITH (BUFFERING = .T.) INTO CURSOR crsTempRul *!* SELECT crsTempRul *!* SCAN FOR cant <> 0 *!* SCATTER NAME orul *!* lcCont = ALLTRIM(orul.cont) *!* lcsql = [SELECT cants+cant-cante as cante, pret, id_articol, id_gestiune, id_gestiune as id_gestout, cont, acont FROM stoc where an = ?gnAn and luna = ?gnluna and id_articol = ?orul.id_articol and (cants+cant-cante)<>0 and TRIM(cont) =?lcCont] *!* lcCursor = [tmpVer] *!* lnSucces = goExecutor.oExecute(lcSql,lcCursor) *!* If lnSucces < 0 *!* amessagebox(goExecutor.cEroare,0+16,"Eroare") *!* Return *!* ENDIF *!* IF RECCOUNT(lcCursor) > 0 *!* SELECT (tcRul) *!* APPEND BLANK *!* GATHER NAME orul *!* REPLACE cante WITH orul.cant, cant WITH 0, nnir WITH lnNnir *!* ENDIF *!* SELECT (lcCursor) *!* SCAN *!* SCATTER NAME ointr *!* SELECT (tcRul) *!* APPEND BLANK *!* GATHER NAME orul *!* REPLACE cant WITH 0, cante WITH 0 *!* GATHER NAME ointr *!* REPLACE nnir WITH lnNnir *!* SELECT (lcCursor) *!* ENDSCAN *!* USE IN (lcCursor) *!* *!* *!* SELECT (tcRul) *!* *!* LOCATE *!* && aflu pretul mediu ponderat *!* SELECT SUM(ROUND(pret*cante,gnPc)) as valoare, SUM(cante) as cantitate, id_articol, cont ; *!* FROM (tcRul) WITH (BUFFERING = .T.) ; *!* WHERE cante <> 0 AND id_articol = orul.id_articol ; *!* GROUP BY id_articol, cont ; *!* INTO CURSOR tCmp *!* *!* SELECT tCmp *!* SCAN *!* SCATTER NAME ocmp *!* lnCMP = ROUND(ocmp.valoare/ocmp.cantitate,gnPc) *!* *!* SELECT id_gestiune, SUM(cante) as cant FROM (tcRul) WITH (BUFFERING = .T.) ; *!* WHERE id_articol = ocmp.id_articol AND cante <> 0 AND cont = ocmp.cont ; *!* GROUP BY id_gestiune, id_articol ; *!* INTO CURSOR crsCantGest *!* *!* SELECT crsCantGest *!* SCAN *!* SCATTER NAME ocant *!* SELECT (tcRul) *!* APPEND BLANK *!* GATHER NAME orul *!* REPLACE pret WITH lnCMP, cant WITH 0, cante WITH 0 *!* GATHER NAME ocant *!* REPLACE nnir WITH lnNnir *!* SELECT crsCantGest *!* ENDSCAN *!* USE IN crsCantGest *!* IF ROUND(lnCMP*ocmp.cantitate,gnPc) - ocmp.valoare <> 0 *!* SELECT (tcAct) *!* APPEND BLANK *!* GATHER NAME poact *!* REPLACE nnir WITH lnNnir *!* REPLACE scd WITH ocmp.cont, scc WITH '308 ', ascd WITH '', ascc WITH '' *!* REPLACE suma WITH ROUND(lnCMP*ocmp.cantitate,gnPc) - ocmp.valoare *!* ENDIF *!* SELECT tCmp *!* ENDSCAN *!* USE IN tCmp *!* SELECT crsTempRul *!* ENDSCAN *!* USE IN crsTempRul *!* SELECT (tcRul) ENDPROC PROCEDURE assign_analitic PARAMETERS tcCont,pcAct,pcRul PRIVATE pcCont,pcAct,pcRul,pParamP,pParamS STORE 0 TO pParamP,pParamS lcAnalitic = '' lcAlias = ALIAS() pcCont = ALLTRIM(tcCont) lcSel = [SELECT * from ] + gcs + [.config_analitice WHERE cont = '] + ALLTRIM(pcCont) + ['] lcCursor = 'crs_cfg_ana' lnSucces = goExecutor.oExecute(lcSel,lcCursor) IF lnSucces < 0 aMESSAGEBOX(goExecutor.cEroare,0+16,"Eroare") ENDIF IF lnSucces > 0 IF RECCOUNT('crs_cfg_ana')=0 USE IN crs_cfg_ana lnSucces = -1 ENDIF ENDIF IF lnSucces > 0 SELECT crs_cfg_ana SCATTER NAME ocfg lcCampPrefix = NVL(ALLTRIM(ocfg.camp_leg_prefix),'') lcCampSufix = NVL(ALLTRIM(ocfg.camp_leg_sufix),'') IF !EMPTY(lcCampPrefix) IF TYPE('&pcRul..'+lcCampPrefix) # 'U' pParamP = &pcRul..&lcCampPrefix ELSE IF TYPE('&pcAct..'+lcCampPrefix) # 'U' pParamP = &pcAct..&lcCampPrefix ENDIF ENDIF ENDIF IF !EMPTY(lcCampSufix) IF TYPE('&pcRul..'+lcCampSufix) # 'U' pParamS = &pcRul..&lcCampSufix ELSE IF TYPE('&pcAct..'+lcCampSufix) # 'U' pParamS = &pcAct..&lcCampSufix ENDIF ENDIF ENDIF lcSel = [{call fconturi_analitice('] + ALLTRIM(gcs) + [','] + ALLTRIM(pcCont) + [',0,] + TRANSFORM(pParamP) + [,] + TRANSFORM(pParamS) + [)}] lcCursor = 'crs_analitice' lnSucces = goExecutor.oExecute(lcSel,lcCursor) IF lnSucces < 0 amessagebox(goExecutor.cEroare,0+16,"Eroare") ENDIF ENDIF && iau Primul Simbol Analitic din Tabel - ordonat pt ca e selectat cu Distinct IF lnSucces > 0 SELECT crs_analitice GO top lcAnalitic = ALLTRIM(acont) ENDIF && verificare analiticului cu Planul de Conturi IF lnSucces > 0 lcSel = [SELECT cont,acont from ] + gcs + [.vplcont_analitic WHERE cont = '] + ALLTRIM(pcCont) + [' and acont = '] + ALLTRIM(lcAnalitic) + [' and an = ] + TRANSFORM(gnAn) lcCursor = 'crs_verific' lnSucces = goExecutor.oExecute(lcSel,lcCursor) IF lnSucces < 0 amessagebox(goExecutor.cEroare,0+16,"Eroare") ENDIF ENDIF IF lnSucces > 0 IF RECCOUNT('crs_verific')=0 lnSucces = -1 ENDIF ENDIF IF USED('crs_cfg_ana') USE IN crs_cfg_ana ENDIF IF USED('crs_verific') USE IN crs_verific ENDIF IF USED('crs_analitice') USE IN crs_analitice ENDIF IF USED('crs_verific') USE IN crs_verific ENDIF IF lnSucces < 0 lcAnalitic = '' ENDIF SELECT (lcAlias) RETURN lcAnalitic ENDPROC PROCEDURE assign_values PARAMETERS tcObjDestinatie, tcObjSursa1, tcObjSursa2 lcSelRul = this.ct_grid_order1.cnumecursor lcOdest = ALLTRIM(tcObjDestinatie) lcOsursa1 = ALLTRIM(tcObjSursa1) lcOsursa2 = ALLTRIM(tcObjSursa2) SELECT (lcSelRul) FOR i = 1 TO FCOUNT() lcNumeCol = FIELD(i) IF TYPE('&lcOsursa1..'+lcNumeCol) # 'U' &lcodest..&lcNumeCol = &lcosursa1..&lcNumeCol ENDIF IF TYPE('&lcOsursa2..'+lcNumeCol) # 'U' IF EMPTY(&lcodest..&lcNumeCol) &lcodest..&lcNumeCol = &lcosursa2..&lcNumeCol ENDIF ENDIF ENDFOR ENDPROC PROCEDURE bon_fiscal PRIVATE pnSumaMp500 pnSumaMp500 = thisform.ct_factura1.txTotal.Value ocasamp500 = CREATEOBJECT('frm_tichete',pnSumaMp500) ocasamp500.show(1) RELEASE ocasamp500 ENDPROC PROCEDURE calcul_pret_vanzare PARAMETERS tcTabel LOCAL lnPretv, lnTvav, lnCoefAdaos, lnSuma, lcTabel STORE 0 TO lnPretv, lnTvav, lnCoefAdaos, lnSuma IF EMPTY(tcTabel) lcTabel = this.ct_grid_order1.cnumecursor ELSE lcTabel = ALLTRIM(tcTabel) ENDIF SELECT (lcTabel) SUM ROUND(ABS(cante*pret),gnPc) TO lnSuma IF lnSuma <> 0 lnCoefAdaos = (pcobj.totftva-lnSuma)/lnSuma && coeficientul mediu de adaos ELSE lnCoefAdaos = 1 ENDIF SELECT (lcTabel) SET FILTER TO REPLACE ALL proc_tvav WITH pcobj.proc_tva, procent WITH ROUND(lnCoefAdaos*100,2) CALCULATE cnt() TO lnRecords i = 0 SCAN i = i + 1 REPLACE pretv WITH ROUND(pret + ROUND(pret*lnCoefAdaos,gnPPretV),gnPPretV) && modificare 14.09.2007 REPLACE tvav WITH ROUND(pretv*(proc_tvav-1),gnPPretV) lnPretv = lnPretv + ROUND(pretv*cante,gnPC) lnTvav = lnTvav + ROUND(tvav*cante,gnPC) IF i = lnRecords IF lnPretv # pcobj.totftva REPLACE pretv WITH pretv + ROUND((pcobj.totftva - lnPretv)/cante,gnPPretV) ENDIF IF lnTvav # pcobj.tottva REPLACE tvav WITH tvav + ROUND((pcobj.tottva - lnTvav)/cante,gnPPretV) ENDIF ENDIF ENDSCAN ENDPROC PROCEDURE calcul_sume Parameters tcTabel *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* Model =-1 : Nota fara contabilizare *!* Model = 1 : Nota simpla cu contabilizare *!* Model = 2 : NIR *!* Model = 3 : BON/FACTURA VANZARE *!* Model = 4 : Retur BON/FACTURA VANZARE *!* Model = 5 : Transfer *!* Model = 6 : Retur Transfer *!* Model = 7 : Diferenta de pret *!* Param1 = 1 : En-detail *!* Param1 = 2 : En-gros *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* v 2.0.28 calculez valorile de achizitie in functie de gnTipGest *!* ACHIZITIE *!* !plNIRBONPretCuTVA : valoarea fara tva achizitie = cant*pret *!* : valoarea tva achizitie = valoarea fara tva achizitie * proc_tva *!* : valoarea cu tva achizitie = valoarea fara tva achizitie + valoarea tva achizitie *!* *!* plNIRBONPretCuTVA : valoarea tva achizitie = valoarea cu tva achizitie * (proc_tva - 1) / proc_tva *!* BILETE RATC : valoarea fara tva achizitie = valoarea cu tva achizitie - valoarea tva achizitie *!* : valoarea cu tva achizitie = cant*(pret+tva) *!* VANZARE *!* gnTipGest <> 6 : valoarea fara tva vanzare = cant*pretv *!* : valoarea tva vanzare = valoarea fara tva vanzare * proc_tvav *!* : valoarea cu tva vanzare = valoarea fara tva vanzare + valoarea tva vanzare *!* : adaosul = valoarea fara tva vanzare - valoarea fara tva achizitie *!* *!* gnTipGest = 6 : valoarea fara tva vanzare = valorea cu tva vanzare - valoarea tva vanzare *!* : valoarea tva vanzare = valoarea cu tva vanzare * (proc_tvav-1)/proc_tvav *!* : valoarea cu tva vanzare = cant*(pretv+tvav) *!* : adaosul = valoarea fara tva vanzare - valoarea fara tva achizitie *!* v 2.0.28 ^ Store 0 To lnTotBaza, lnTotTva, lnBazaDiscount, lnBazaAdaos, lnTvaDiscount, lnTvaAdaos If Pcount() = 0 tcTabel = Alltrim(This.ct_grid_order1.cnumecursor) Endif *lcCant = [cant] + IIF(INLIST(oset.model, 3, 4),[e],[]) && 3 = bon, bon retur lcCant = This.osel_dr.cantitate llCalculFact = Iif(oset.param1 = 2, .F., .T.) && daca e En-gros (vanzare) nu mai recalculez Total factura If This.ct_discount1.Visible = .T. lnBazaDiscount = This.ct_discount1.baza_discount lnTvaDiscount = This.ct_discount1.tva_discount Endif If oset.adaos Do Case Case oset.param1 = 1 && factura de vanzare en-detail Select (tcTabel) Sum Round(&lcCant*Pret,gnPc) To Thisform.ntotal *!* modificare ROAGEST v 2.0.94 : am adaugat conditia AND oset.id_set <> 75 If !INLIST(gnTipGest, 6,7) AND oset.id_set <> 75 Sum Round(pretv*&lcCant,gnPc) To lnTotBaza Sum Round(Round(pretv*&lcCant,gnPc)*(proc_tvav-1),gnPc) To lnTotTva lnBazaAdaos = lnTotBaza - Thisform.ntotal Else Sum Round(Round(pretv+tvav,gnPPretV)*&lcCant,gnPc) To lnTotctva Sum Round(Round((pretv+tvav)*&lcCant,gnPc)*(proc_tvav-1)/proc_tvav,gnPc) To lnTotTva lnTotBaza = lnTotctva - lnTotTva lnBazaAdaos = lnTotBaza - Thisform.ntotal Endif If oset.id_set = 75 && Transfer catre gestiune la pret de vanzare *!* modificare ROAGEST v 2.0.94 *!* If gnTipGest <> 6 *!* *!* Sum Round(tvav*&lcCant,gnPc) To lnTotTvav && nu stiu de ce pornea de la tvav unitar ??? *!* Sum Round(Round(pretv*&lcCant,gnPc)*(proc_tvav-1),gnPc) To lnTotTvav *!* Else Sum Round(Round((pretv+tvav)*&lcCant,gnPc)*(proc_tvav-1)/proc_tvav,gnPc) To lnTotTvav *!* Endif *!* modificare ROAGEST v 2.0.94 ^ Thisform.tx_totalctva.Value = lnTotTvav + lnTotBaza Endif Case oset.param1 = 2 && factura de vanzare en-gros This.ct_factura1.totctva = pcobj.totctva This.ct_factura1.totftva = pcobj.totftva This.ct_factura1.tva = pcobj.tottva Select (tcTabel) If !plNIRBONPretCuTVA Sum Round(&lcCant*Pret,gnPc) To Thisform.ntotal Else Sum Round(&lcCant*(Pret+Tva),gnPc) - Round(Round(&lcCant*(Pret+Tva),gnPc)*(proc_tva - 1)/proc_tva, gnPC) To Thisform.ntotal EndIf lnTotBaza = This.ntotal lnBazaAdaos = This.ct_factura1.totftva - Thisform.ntotal This.ct_adaos1.baza_adaos = lnBazaAdaos Otherwise && NIR MARFA LA PRET DE VANZARE Select (tcTabel) If !plNIRBONPretCuTVA Sum Round(&lcCant*Pret,gnPc) To Thisform.ntotal Sum Round(Round(&lcCant*Pret,gnPc) * (proc_tva-1),gnPc) To lnTotTva Else Sum Round(&lcCant*(Pret+Tva),gnPc) - Round(Round(&lcCant*(Pret+Tva),gnPc)*(proc_tva - 1)/proc_tva, gnPC) To Thisform.ntotal Sum Round(Round(&lcCant*(Pret+Tva),gnPc)*(proc_tva - 1)/proc_tva, gnPC) To lnTotTva Endif lnTotBaza = This.ntotal If gnTipGest <> 6 Sum Round(&lcCant*pretv, gnPc) - m.lnTotBaza To lnBazaAdaos Else Sum Round(Round(pretv+tvav,gnPPretV)*&lcCant,gnPc) To lnTotctvaOther Sum Round(Round((pretv+tvav)*&lcCant,gnPc)*(proc_tvav-1)/proc_tvav,gnPc) To lnTotTvaOther lnTotfTvaOhter = m.lnTotctvaOther - m.lnTotTvaOther lnBazaAdaos = m.lnTotfTvaOhter - m.lnTotBaza Endif Endcase Select (tcTabel) Sum procent To lnProcent Calculate Cnt() To lnNrRecord lnProcent = lnProcent/lnNrRecord This.ct_adaos1.baza_adaos = lnBazaAdaos This.ct_adaos1.proc_adaos = lnProcent Else Select (tcTabel) If !plNIRBONPretCuTVA Sum Round(&lcCant*Pret,gnPc) To Thisform.ntotal Sum Round(Round(&lcCant*Pret,gnPc) * (proc_tva-1),gnPc) To lnTotTva Else Sum Round(&lcCant*(Pret+Tva),gnPc) - Round(Round(&lcCant*(Pret+Tva),gnPc)*(proc_tva - 1)/proc_tva, gnPC) To Thisform.ntotal Sum Round(Round(&lcCant*(Pret+Tva),gnPc)*(proc_tva - 1)/proc_tva, gnPC) To lnTotTva EndIf lnTotBaza = Thisform.ntotal Endif If oset.factura And llCalculFact If oset.cursval Select (tcTabel) If gnTipGest <> 6 && calculez valftva si valtva pornind de la pretv in loc de (pretv+tvav) Sum Round(&lcCant*pretvval,gnPc),Round(Round(&lcCant*pretvval,gnPc)*(proc_tvav-1),gnPc) To lnTotalFTvaVal,lnTotalTvaVal Else Sum Round(Round(pretvval*proc_tvav,gnPVal)*&lcCant,gnPVal) To lnTotalCTvaVal Sum Round(Round(Round(pretvval*proc_tvav,gnPVal)*&lcCant,gnPVal)*(proc_tvav-1),gnPVal) To lnTotalTvaVal lnTotalFTvaVal = m.lnTotalCTvaVal - m.lnTotalTvaVal Endif With Thisform.ct_factura2 .totftva = lnTotalFTvaVal .tva = lnTotalTvaVal .totctva = lnTotalFTvaVal + lnTotalTvaVal .Refresh() Endwith lnTotBaza = Round(lnTotalFTvaVal * poAct.Curs,gnPc) lnTotTva = Round(lnTotalTvaVal * poAct.Curs,gnPc) Endif With This.ct_factura1 If oset.model = 2 && NIR lnBazaAdaos = 0 lnTvaAdaos = 0 Endif .totftva = lnTotBaza - lnBazaDiscount .tva = lnTotTva - lnTvaDiscount .totctva = .totftva + .tva Endwith Endif *!* modificare v 2.0.6 Do Case Case oset.id_set = 216 && Intrare din transfer de la gest. valorica la pret de vanz. Select (tcTabel) If gnTipGest <> 6 && calculez valftva si valtva pornind de la pretv in loc de (pretv+tvav) Sum Round(pretv*cant,gnPc) To lnTotBaza216 Sum Round(Round(pretv*cant,gnPc)*(proc_tvav-1), gnPc) To lnTotTvav Else Sum Round(Round(pretv+tvav,gnPc)*&lcCant,gnPc) To lnTotctva216 Sum Round(Round((pretv+tvav)*&lcCant,gnPc)*(proc_tvav-1)/proc_tvav,gnPc) To lnTotTvav lnTotBaza216 = lnTotctva216 - lnTotTvav Endif Thisform.tx_totalctva.Value = lnTotTvav + lnTotBaza216 Case Inlist(oset.id_set, 230, 232, 233, 235, 261) && protocol, sponsorizare Select (tcTabel) *!* modificare conditie if v 2.0.94 If !INLIST(gnTipGest, 6,7) &&gnTipGest <> 6 *!* modificare conditie if v 2.0.94 ^ Sum Round(pretv*&lcCant,gnPc) + Round(Round(pretv*&lcCant,gnPc)*(proc_tvav-1),gnPc) To lnTotal230 Else Sum Round((pretv+tvav)*cante,gnPc) To lnTotal230 EndIf Thisform.tx_totalctva.Value = lnTotal230 *!* modificare ROAFACTURARE v 2.2.20 CASE oset.id_set = 267 SELECT (tcTabel) If !INLIST(gnTipGest, 6,7) Sum Round(pretv*cant,gnPc) + Round(Round(pretv*cant,gnPc)*(proc_tvav-1),gnPc) To lnTotal230 Else Sum Round((pretv+tvav)*cant,gnPc) To lnTotal230 EndIf Thisform.tx_totalctva.Value = lnTotal230 *!* modificare ROAFACTURARE v 2.2.20 ^ ENDCASE IF thisform.ntotal#0 lnProcentDiscount=(thisform.ct_discount1.baza_discount/thisform.ntotal)*100 ELSE lnProcentDiscount=0 ENDIF if(thisform.ct_discount1.combogrid3.Value=2) thisform.ct_discount1.txProc_discount.Value=lnProcentDiscount ENDIF *!* modificare v 2.0.6 ^ This.txNir.Refresh This.ct_factura1.Refresh This.ct_factura2.Refresh This.ct_adaos1.Refresh ENDPROC PROCEDURE caut_gestiune PARAMETERS tnFel IF EMPTY(tnFel) tnFel = 0 ENDIF IF tnFel = 1 && pret vanzare lcCond = [nr_pag = 6] ELSE lcCond = [nr_pag in (2,3,4,5)] ENDIF pcselect = [select * from vnom_GESTIUNI] pcFiltruOrig = [inactiv = 0 and ] + lcCond pcfiltru = [1=2] pcschema = [] pcorder = [NUME_gestiune] pccoloane = [nume_gestiune,cgest] pcTitlu = [Nume Gestiune Destinatie] pcTitluColoane = [Gestiune,Indicativ] locauta = cauta_alfa(pcselect,pcfiltru,pcschema,pcorder,pccoloane,pcTitlu,pcTitluColoane,'',.F.,pcFiltruOrig) && 11.07.2007 RETURN locauta ENDPROC PROCEDURE compensare *!* 24.08.2011 *!* marius.mutu *!* suma platita = suma modificata de utilizator, nu suma calculata din rulaj *!* 30.08.2011 *!* marius.mutu *!* suma platita = suma modificata de utilizator daca este diferita de 0, nu suma calculata din rulaj IF USED('xcont') SELECT xcont LOCATE FOR Pozitie # Fel_Cont AND Cu_Inregistrari = 1 IF FOUND() pcContul = ALLTRIM(cont_part) pnIdPart = idPart pcNume = numepart pnFelCont = Fel_Cont pcDenumire = ALLTRIM(explic_cont) pcCond = [ an = ?gnAn and luna = ?gnluna] llval = .F. && Deocamdata e doar in lei IF llval pccond= pccond + [ and ABS(i.precvaldeb + i.valdebit - i.precvalcred - i.valcredit)>0 and i.id_valuta = ] + ALLTRIM(STR(&lcObj..id_valuta)) ELSE pccond= pccond + [ and (i.precvaldeb + i.valdebit - i.precvalcred - i.valcredit = 0) ] ENDIF pcselect = ['select i.* FROM ] + gcs + [.Vireg_parteneri i where 2=2 '] pcfiltru = [ i.id_part = ?pnIdPart AND ABS(i.precdeb + i.debit - i.preccred - i.credit)<>0 AND i.cont = ?pcContul and ] + pcCond pcschema = [''] pcorder = [''] PRIVATE podateintrod STORE '' TO podateintrod gencursor('podateintrod','crs_actcv',pcselect,pcfiltru,[''],'') lcFis = 'actcv' + ALLTRIM(pcContul) IF USED(lcFis) USE IN &lcFis ENDIF IF pnFelCont = 0 lcsel = [SELECT *, ACONT AS ASCC, nume_val as numeval, curs as cursschimb, precdeb + debit as totctva, preccred+credit as achitat, ] +; [precvaldeb + valdebit AS sumaval, precVALcred+VALcredit as achitatval, ] +; [.f. as ales, 00000000000000.0000 as sumaachi, 000000000000.0000 as sumaachi2, 00000000000000.0000 as achilei, 00000000000000.0000 as difplus, 00000000000000.0000 as difminus, 000000.0000 as cursval, 000000.0000 as cursdif ] +; [FROM crs_actcv INTO CURSOR ] + lcFis + [ READWRITE ] ELSE lcsel = [SELECT *, ACONT AS ASCD, nume_val as numeval, curs as cursschimb, preccred + credit as totctva, precdeb+debit as achitat, ] + ; [precvalcred + valcredit as sumaval, precVALdeb+VALdebit as achitatval, ] + ; [.f. as ales, 00000000000000.0000 as sumaachi, 00000000000000.0000 as sumaachi2, 00000000000000.0000 as achilei, 00000000000000.0000 as difplus, 00000000000000.0000 as difminus, 000000.0000 as cursval, 000000.0000 as cursdif ] + ; [FROM crs_actcv INTO CURSOR ] + lcFis + [ READWRITE ] ENDIF &lcsel SELECT (lcFis) OPLATA=CREATEOBJECT('ocompensari') * oplata.txtNume.value =lcNume OPLATA.titlufrumos1.CAPTION = pcDenumire + [: ] + pcNume OPLATA.pcFis = lcFis *!* 24.08.2011 *!* OPLATA.SUMA = THIS.ct_factura1.totctva OPLATA.SUMA = IIF(thisform.nfTotctva<> 0, thisform.nfTotctva, THIS.ct_factura1.totctva) *!* 24.08.2011 ^ OPLATA.pnFelCont = pnFelCont OPLATA.SHOW(1) *!* SELECT (lcfis) *!* CALCULATE cnt() FOR ales TO LnBife *!* IF LnBife=1 *!* LOCATE FOR ALES *!* &M=nract *!* ELSE *!* &M=0 *!* ENDIF ENDIF ENDIF ENDPROC PROCEDURE do_adauga PRIVATE pnpretvtva pnpretvtva = 0 PRIVATE poCote_tva STORE '' TO poCote_tva local lnId lnId = 0 llSucces = nom_articole_nou(@lnId) this.ct_grid_search1.actualizeaza_grid ENDPROC PROCEDURE do_modifica lcNomArt = this.ct_grid_search1.cnumecursor SELECT (lcNomArt) SCATTER NAME lorec PRIVATE poCote_tva STORE '' TO poCote_tva lnId = lorec.id_articol DO Adauga_Modifica_Inregistrare WITH [catalog_articole],lorec,lnId,[UPDATE] this.ct_grid_search1.actualizeaza_grid ENDPROC PROCEDURE do_sterge Local lnRecno, lcSelRul lcSelRul = This.ct_grid_order1.cnumecursor Select (lcSelRul) Scatter Name osterg && modificare ROAGEST v 2.1.19 lnRecno = Recno() *!* modificare ROAGEST v 2.1.19 LOCATE FOR !DELETED() IF !FOUND() MESSAGEBOX("Nu exista inregistrari de sters!",48,"Atentie") RETURN ENDIF *!* modificare ROAGEST v 2.1.25 : am adaugat conditia legata de oset.id_set ( ob. de inv. ) If oset.model = 3 AND INLIST(gnFifoLifo,1,2) AND !INLIST(oset.id_set,70,72,104) Locate For id_articol = osterg.id_articol And id_gestout = osterg.id_gestout ; AND !DELETED() AND nrordine > osterg.nrordine *!* And Nvl(serie,'') = Nvl(osterg.serie,'') AND Pret = osterg.Pret And Iif(Inlist(gnTipGest,6,7),pretv,1) = Iif(Inlist(gnTipGest,6,7),osterg.pretv,1) If Found() amessagebox("Nu puteti sterge acest articol deoarece nu se mai respecta metoda "+IIF(gnFifoLifo=1,"FIFO","LIFO")+" !",48,"Atentie") Go lnRecno RETURN Endif Endif Select (lcSelRul) GO lnRecno *!* modificare ROAGEST v 2.1.19 ^ Delete *!* MODIFICAT 11.04.2006 *!* MARIUS.MUTU - AM PUS RECNO('RUL_TEMP') IN CURSORUL DE TRANSFER - LA STERGERE SA POT STERGE SI LINIA CORESPONDENTA DIN CRSTRANSFER If Inlist(oset.model,5,6,7) And Used('crsTransfer') Select crsTransfer Goto lnRecno Delete This.ct_grid_order1.cb_tx_gestin.SetFocus() Endif This.ct_grid_order1.actualizeaza_grid This.calcul_sume *!* modificare ROAGEST v 2.1.19 Select (lcSelRul) Go lnRecno If oset.model = 3 SELECT (This.ct_grid_search1.cnumecursor) lnRecno = Recno() *!* modificare ROAGEST v 2.1.25 : am inlocuit datain = osterg.datain cu cond. daca exista osterg.datain si coloana datain in this.ct_grid_search1.cnumecursor Locate For id_articol = osterg.id_articol And id_gestiune = osterg.id_gestout And Nvl(serie,'') = Nvl(osterg.serie,'') ; AND Pret = osterg.Pret And Iif(Inlist(gnTipGest,6,7),pretv,1) = Iif(Inlist(gnTipGest,6,7),osterg.pretv,1) ; AND IIF(INLIST(TYPE('osterg.datain'),'T','D') AND INLIST(TYPE(This.ct_grid_search1.cnumecursor+'.datain'),'T','D'),datain,datapif) = ; IIF(INLIST(TYPE('osterg.datain'),'T','D') AND INLIST(TYPE(This.ct_grid_search1.cnumecursor+'.datain'),'T','D'),osterg.datain,osterg.datapif) If Found() Replace stoc_actual With stoc_actual + osterg.cante Endif Go lnRecno Endif *!* modificare ROAGEST v 2.1.19 ^ ENDPROC PROCEDURE do_termin If This.inainte_de_do_termin() lcSelRul = This.ct_grid_order1.cnumecursor lcSelSt = This.ct_grid_search1.cnumecursor gnButon = 1 pnButon = 1 Buton = 1 pnIesire = 1 *this.Hide If Type('pnTipCasaMarcat') = 'U' pnTipCasaMarcat = 1 Endif If Type('glListareBonFiscal')<>'U' And glListareBonFiscal And pnTipCasaMarcat#1 lcStringmp500 = '' Thisform.bon_fiscal() If gnButon<>1 Return Endif Endif Select actactan *!* modificare ROAPRODUCTIE v 2.0.2 *!* If !Inlist(poact.id_set, 26001) && PV de productie llVerificare = verificare_note_contabile('actactan', .T.,.T., .F.) If !llVerificare *!* modificare ROAPRODUCTIE v 2.0.2 ^ This.AlwaysOnTop = .F. Do Form verificare With .T.,.T.,3 && cu buton de precedent This.AlwaysOnTop = .T. Endif Do Case Case gnButon = 3 *onirbon.visible = .t. Do nrord With lcSelRul Otherwise This.Release Endcase Endif ENDPROC PROCEDURE do_verifica_sume tcTabel = Alltrim(This.ct_grid_order1.cnumecursor) Select (tcTabel) Replace id_valuta_vanz With poAct.id_valuta_vanz All Calculate Sum(Round(pretvval*cante,gnPVal)),Sum(Round(pretv*cante,gnPc)) To lnTotalVal,lnTotalLei lnTotalVal = Round(lnTotalVal*poAct.Curs,gnPc) If lnTotalVal <> lnTotalLei lnDiferenta = lnTotalVal - lnTotalLei lnSemn = Sign(lnDiferenta) *!* lnDiferenta = Abs(lnDiferenta) lnDiferenta = lnDiferenta lnDiferentaPretU = Exp((-1)*gnPPretV*Log(10)) lnModificari = 1 Do While lnModificari <> 0 lnModificari = 0 Select (tcTabel) Scan lnDiferentaPret = Round(lnDiferentaPretU*cante,gnPc) lnSemnPret = Sign(lnDiferentaPret) If Abs(lnDiferentaPret) <= Abs(lnDiferenta) lnDiferenta = lnDiferenta - lnSemn * lnDiferentaPret Replace pretv With pretv + lnSemn * lnSemnPret * lnDiferentaPretU lnModificari = lnModificari + 1 Endif Endscan Enddo Endif ENDPROC PROCEDURE inainte_de_do_termin *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* Model =-1 : Nota fara contabilizare *!* Model = 1 : Nota simpla cu contabilizare *!* Model = 2 : NIR *!* Model = 3 : BON/FACTURA VANZARE *!* Model = 4 : Retur BON/FACTURA VANZARE *!* Model = 5 : Transfer *!* Model = 6 : Retur Transfer *!* Model = 7 : Diferenta de pret *!* Param1 = 1 : En-detail *!* Param1 = 2 : En-gros *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* v 2.0.28 calculez valorile de achizitie in functie de gnTipGest *!* ACHIZITIE *!* !plNIRBONPretCuTVA : valoarea fara tva achizitie = cant*pret *!* : valoarea tva achizitie = valoarea fara tva achizitie * proc_tva *!* : valoarea cu tva achizitie = valoarea fara tva achizitie + valoarea tva achizitie *!* *!* plNIRBONPretCuTVA : valoarea tva achizitie = valoarea cu tva achizitie * (proc_tva - 1) / proc_tva *!* BILETE RATC : valoarea fara tva achizitie = valoarea cu tva achizitie - valoarea tva achizitie *!* : valoarea cu tva achizitie = cant*(pret+tva) *!* VANZARE *!* gnTipGest <> 6 : valoarea fara tva vanzare = cant*pretv *!* : valoarea tva vanzare = valoarea fara tva vanzare * proc_tvav *!* : valoarea cu tva vanzare = valoarea fara tva vanzare + valoarea tva vanzare *!* : adaosul = valoarea fara tva vanzare - valoarea fara tva achizitie *!* *!* gnTipGest = 6 : valoarea fara tva vanzare = valorea cu tva vanzare - valoarea tva vanzare *!* : valoarea tva vanzare = valoarea cu tva vanzare * (proc_tvav-1)/proc_tvav *!* : valoarea cu tva vanzare = cant*(pretv+tvav) *!* : adaosul = valoarea fara tva vanzare - valoarea fara tva achizitie *!* v 2.0.28 ^ ***----------------------------------- *!* Ordinea coloanelor in tabelul din stanga *!* salvata pe server in optiuni_util, varname = 'GEST_SELECTII' - pt. fiecare utilizator - pt. operatiile in care a intrat *!* 19.02.2010 *!* marius.mutu *!* id_set 264, 265 finalizare aprovizionare din 3xx = 401 => 3xx = 32x din coresp_cont_venchelt.cont_aprovizionare *!* 06.09.2011 *!* marius.mutu *!* pnTotalFactura,pnBazaFactura,pnTvaFactura = valorile modificate de utilizator *!* 05.02.2014 *!* marius.mutu *!* diferente baza, tva la NIR - x = 401; x se completeaza cu CORESP_CONT_VENCHELT.cont_diferente daca este completat, altfel 6588 *!* #4132 *!* 12.07.2016 *!* marius.mutu *!* nu se mai inlocuieste scd cu 4426 pentru tva ach. neex. in cazul in care scc = 408. Trebuie sa ramana 4428 = 408 *!* 23.01.2017 *!* marius.mutu *!* vanzare produse en-detail (firma TVA Incasare) nu se schimba contul 4111 = 4428 in 4111 = 4427 19% *!* 28.11.2018 *!* marius.mutu *!* Achizitii din CE, modific 4426 = 401 in 4426 = 4427 *!* 12.11.2019 *!* marius.mutu *!* id_set = 267 EDUARD AVIZ RETUR CLIENTI CUSTODIE VALORIC - am corectat valoarea 357 si tva vanzare *!* daca era impartita pe mai multe gestiuni, sectii nu se completa corect *!* modificare ROAPRODUCTIE v 2.0.2 If Reccount(This.ct_grid_order1.cnumecursor) = 0 amessagebox("Nu ati ales articolele!",48,"Atentie") Return .F. Endif *!* modificare ROAPRODUCTIE v 2.0.2 ^ Local lnNrCols, lcHeader, lcHeader2, lcTitlu_col, lcControlSource, lcControlSource2, lcNume_col, lcOrdine, lcWidth_col, lcSql, lnPornire Store 0 To lnNrCols Store 1 To lnPornire Store '' To lcHeader, lcHeader2, lcTitlu_col, lcControlSource, lcControlSource2, lcNume_col, lcWidth_col, lcOrdine Create Cursor crsGrid (ordine N(3), ctrSource C(100), titlu C(100), width_col C(100)) lnNrCols = This.ct_GRID_SEARCH1._GRID1.ColumnCount llNrOrd = This.ct_GRID_SEARCH1.lNumerotare lnPornire = Val(This.ct_GRID_SEARCH1.cb_tx_cautare1.criteriu.Value) For I=1 To lnNrCols If llNrOrd And I<>1 && ce se intampla daca nu e llNrOrd ?????? lcColOrd = [this.ct_grid_search1._grID1.column] + Alltrim(Str(I))+[.columnorder] lnColOrd = &lcColOrd *!* modificare v 2.1.19 *!* lcHeader = [this.ct_grid_search1._grid1.column] + Alltrim(Str(I))+ [.grh]+Alltrim(Str(I))+[.]+[Caption] lcHeader = [This.ct_grid_search1._GRID1.column] + Alltrim(Str(I)) + [.grh] +Alltrim(Str(I)) IF TYPE(lcHeader) = 'O' lcHeader = lcHeader + [.Caption] ELSE *!* daca nu se poate ordona dupa coloana respectiva, atunci am Header1 in loc de grhI lcHeader = [This.ct_grid_search1._GRID1.column] + Alltrim(Str(I)) + [.header1.Caption] endif *!* modificare v 2.1.19 ^ lcHeader2 = &lcHeader lcControlSource = [this.ct_grid_search1._grid1.column] + Alltrim(Str(I))+ [.ControlSource] lcControlSource2 = &lcControlSource lcWidthColumn = [this.ct_grid_search1._grid1.column] + Alltrim(Str(I))+ [.width] lcWidthColumn2 = Alltrim(Str(&lcWidthColumn)) Insert Into crsGrid (ordine, titlu, ctrSource, width_col) Values (lnColOrd, lcHeader2, lcControlSource2, lcWidthColumn2) Endif Endfor Select * From crsGrid Order By ordine Into Cursor crsGridOrd Use In crsGrid Select crsGridOrd Scan lcTitlu_col = lcTitlu_col + Alltrim(titlu) + "," lcNume_col = lcNume_col + Alltrim(ctrSource) + ";" lcWidth_col = lcWidth_col + Alltrim(width_col)+ ";" Select crsGridOrd Endscan lcTitlu_col = Substr(lcTitlu_col,1,Len(lcTitlu_col)-1) lcNume_col = Substr(lcNume_col,1,Len(lcNume_col)-1) lcWidth_col = Substr(lcWidth_col,1,Len(lcWidth_col)-1) lcOrd = [this.ct_grid_search1.corder] lcOrdine = &lcOrd *!* v 2.0.87 - gestselectii - coloane ordonate din optiuni utilizator lnid_sel = oSet.id_selSt If Type('crsGestSelectiiUtilizator.pornire')='U' && ver. 2.0.90 Alter Table crsGestSelectiiUtilizator Add Column pornire N(2) Endif Select crsGestSelectiiUtilizator Locate For id_sel = oSet.id_selSt If Found() Update crsGestSelectiiUtilizator ; Set titlu_col = lcTitlu_col, nume_col = lcNume_col, ordine = lcOrdine, width_col = lcWidth_col, pornire = lnPornire ; WHERE id_sel = oSet.id_selSt Else Insert Into crsGestSelectiiUtilizator (id_sel, titlu_col, nume_col, ordine, width_col, pornire) ; VALUES (oSet.id_selSt, lcTitlu_col, lcNume_col, lcOrdine, lcWidth_col, lnPornire ) Endif lcCursorXML = '' Cursortoxml("crsGestSelectiiUtilizator", "lcCursorXML", 2, 0+2+8, 0, "1") scrie_optiune_utilizator("GEST_SELECTII", lcCursorXML, "Ordinea coloanelor in tabelul din stanga in formularele de nir, bon, etc.") *!* v 2.0.87 - gestselectii ^ ***----------------------------------- Private poRec poRec = Null Local loRec Local lcSelRul, lcSelRulGr,lcContTr, lcAcontTr, lcRul, lcCursor, lnSucces, llSucces, lcCant, lnIdGestiuneTr Store '' To lcContTr, lcAcontTr lnIdGestiuneTr = 0 lcSelRulGr = This.ct_grid_order1.cnumecursor Local lnRecno lnRecno = 0 pnBazaV341 = 0 pnBazaV346 = 0 pnBazaVProd = 0 pnBazaVAmb = 0 pnBazaVal341 = 0 pnBazaVal346 = 0 pnBazaValProd = 0 pnBazaValAmb = 0 *!* 15.03.2007 Local llY llY = .F. *!* 15.03.2007 ^ *!* modificare facturare in valuta 24.09.2007 If oSet.cursval Thisform.do_verifica_sume() Endif *!* modificare facturare in valuta 24.09.2007 ^ Thisform.compensare && PT 542 ; se completeaza actactanul in adunadate *** completez tabela ACTACTAN If Type('oitem') = 'O' If Pemstatus(oitem,'adunadate',5) oitem.adunadate() *!* modificare ROAGEST v 2.2.0 : repun conturile modificate in actbaza2007 select actactan replace all scc with '4427' for inlist(id_jtva_coloana,22,24,26,30,32,38,42) and scc = '4428' replace all scd with '4426' for inlist(id_jtva_coloana,171,173,175,179,189,211,215) and scd = '4428' AND scc <> '408' && aviz 4428 = 408 *!* modificare ROAGEST v 2.2.0 Endif Endif *** If Used('rul_temp') Use In rul_temp ENDIF && completez RUL_TEMP lcRul = Alltrim(This.osel_dr.cfrom) lcSql = [select v.*,0 as pretvval,0 as curs,0 as id_valuta_vanz,0 as id_jtva_coloana,0 as taxcode, v.id_gestiune as id_gestin, v.nume_gestiune as gestin, v.id_gestiune as id_gestout, v.nume_gestiune as gestout, 0 as nuInConturiX] && VRUL_OBINV NU ARE CODMATF, LOT, ADATA_EXPIRARE SI NU SE MAI SALVEAZA LOT, ADATA_EXPIRARE IN RUL If 'obinv'$Lower(lcRul) lcSql = lcSql + [,rpad(' ',50,' ') as codmatf, rpad(' ',50,' ') as lot, to_date('') as adata_expirare, rpad(' ',50,' ') as serie_obinv] Endif lcSql = lcSql + [ from ] + lcRul + [ where 1=2] lcCursor = [rul_temp] llSucces = goExecutor.oExecuta(lcSql,lcCursor) If !m.llSucces Return .F. Endif Select rul_temp Append From Dbf(lcSelRulGr) lcSelRul = 'rul_temp' *!* v 2.0.39 *!* modificare ROAGEST v 2.0.51 *!* If oset.id_set = 236 && retur din transfer de la gestiune valorica mf pv - aviz expeditie *!* 240 && retur din transfer de la gestiune valorica (cantitativ) mf pv - aviz expeditie *!* 241 = 236 la mf pret ach *!* 242 = 240 la mf pret ach If Inlist(oSet.id_set,236,238,239,240,241,242,255,256,259,260) && retur din transfer de la gestiune valorica mf pv - aviz expeditie *!* modificare ROAGEST v 2.0.51 ^ *!* il introduc ca NIR, dar vreau sa apara ca intrare din retur (cante < 0) Select rul_temp Scan Scatter Name loRec Replace cante With -loRec.cant, cant With 0, id_gestiunec With poAct.id_gestout, id_gestin With poAct.id_gestout, id_gestout With poAct.id_gestin, datain With loRec.dataout, dataout With {} Endscan Select ACTACTAN Replace id_gestin With poAct.id_gestout, id_gestout With poAct.id_gestin, id_partc With 0, partc With "" Endif *!* modificare ROAFACTURARE v 2.0.96 pnDisctV = 0 pnTvaDiscV = 0 IF oSet.id_set = 267 lnProcDiscount = Iif(oset.discount And Thisform.ct_discount1.Combogrid3.Value=3,Thisform.ct_discount1.proc_discount ,0) / 100 Select rul_temp Scan Scatter Name loRec Replace cante With -loRec.cant, cant With 0, id_gestiunec With poAct.id_gestout, id_gestin With poAct.id_gestout, id_gestout With poAct.id_gestin, datain With loRec.dataout, dataout With {},; discunitar WITH ROUND((loRec.pretv+loRec.tvav)*lnProcDiscount,gnPPretV) Endscan Calculate Sum(Round(discunitar * Abs(cante),gnPc)-Round(Round(discunitar * Abs(cante),gnPc) * (proc_tvav-1)/proc_tvav,gnPc)),; SUM(Round(Round(discunitar * Abs(cante),gnPc) * (proc_tvav-1)/proc_tvav,gnPc)) To pnDiscV,pnTvaDiscV Select ACTACTAN Replace id_gestin With poAct.id_gestout, id_gestout With poAct.id_gestin, id_partc With 0, partc With "" ENDIF *!* modificare ROAFACTURARE v 2.0.96 ^ If Inlist(oSet.id_set, 215, 216, 237,257) && intrare din transfer de la gestiune valorica Replace All id_gestiunec With poAct.id_gestout, id_gestout With poAct.id_gestout Endif *!* v 2.0.39 If oSet.productie Do Case Case Alltrim(Upper(oSet.formproduc))='FRM_ALEGE_PROD_CANT' Thisform.intrare_produs() Case Inlist(Alltrim(Upper(oSet.formproduc)),'FRM_ALEGE_SECTIE_COMANDA','FRM_ALEGE_SECTIE') Select ACTACTAN *!* modificare 03.09.2007 *!* Replace id_sectie With pnId_sectie, sectie With pcSectie For Inlist(nr_nota,1,2,5) Replace id_sectie With 0, sectie With '' For Inlist(nr_nota,4) Endcase Endif *!* 15.03.2007 *!* pentru intrare dintr-o gestiune tinuta doar valoric - trebuie contul *!* daca exista Y (trebuie sa aleaga contul de transfer) Select xscd As SCD, xscc As scc From XNOTE Where id_set = oSet.id_set ; AND (Inlist(Upper(Alltrim(xscd)),'Y') Or Inlist(Upper(Alltrim(xscc)),'Y')); INTO Cursor crsY If _Tally > 0 Or Inlist(oSet.model, 5, 6, 7) llY = .T. Endif Use In crsY *!* 15.03.2007 ^ If Inlist(oSet.model, 5, 6, 7) && TRANSFER, RETUR TRANSFER Select (lcSelRul) lnRecno = Recno() If oSet.id_set = 211 && TRANSFER GESTIUNE OB INV IN FOLOSINTA PE PERSOANA CATRE O MAGAZIE OB INV IN FOLOSINTA Replace id_responsabil With 0, nresp With '' Endif If Used('crsTransfer') Append From Dbf('crsTransfer') If oSet.id_set = 210 && TRANSFER MAGAZIE OB INV IN FOLOSINTA CATRE O GESTIUNE OB INV IN FOLOSINTA PE PERSOANA Replace id_responsabil With 0, nresp With '' For Recno() > lnRecno Endif *!* modificare 22.05.2007 *** se modifica pretul de ach. pentru intrari If oSet.id_set = 218 && Diferenta pret la produse Replace Pret With pretv For cant <> 0 Endif *!* modificare 22.05.2007 ^ Endif If !Inlist(oSet.id_set,89, 210, 211, 212) && (FARA TRANSFER INTRE PERSOANE) *!* If Inlist(oset.id_seldr,11,16,18) && achizitie *!* poGestTr = This.caut_gestiune() *!* Endif *!* If oset.id_seldr = 12 && vanzare *!* poGestTr = This.caut_gestiune(1) *!* Endif *!* If Empty(poGestTr.Id_gestiune) && renunt *!* Return .F. *!* Endif *!* && Dc poGestTr.Id_gestiune nu e empty aleg contul de transfer si analiticul *!* loCont = This.aleg_cont_transfer(poGestTr.Id_gestiune) *!* If Empty(loCont.Cont) && renunt *!* Return .F. *!* Endif && oset.id_seldr = 12 : catre o gestiune de marfa la pret de vanzare loCauta = caut_gestiune_dest(0,Iif(oSet.id_seldr = 12, [6],[2,3,4,5]),0) If Nvl(loCauta.id_gestiune,0) = 0 Return .F. Else poGestTr = Createobject("custom") poGestTr.AddProperty("id_gestiune", loCauta.id_gestiune) poGestTr.AddProperty("nume_gestiune", loCauta.nume_gestiune) loCont = Createobject("custom") loCont.AddProperty("cont", loCauta.Cont) loCont.AddProperty("acont", Nvl(loCauta.acont,"")) Endif Select (lcSelRul) Replace All id_gestin With poGestTr.id_gestiune, gestin With poGestTr.nume_gestiune &&FOR cant <> 0 Do Case Case Inlist(oSet.model,5,7) && transfer Replace All id_gestiune With poGestTr.id_gestiune, nume_gestiune With poGestTr.nume_gestiune For cant <> 0 Case oSet.model = 6 && retur Replace All id_gestiune With poGestTr.id_gestiune, nume_gestiune With poGestTr.nume_gestiune For cante <> 0 Endcase lcContTr = loCont.Cont lcAcontTr = loCont.acont Select ACTACTAN Replace All SCD With lcContTr, ascd With lcAcontTr, id_gestin With poGestTr.id_gestiune, gestin With poGestTr.nume_gestiune For Upper(Alltrim(SCD)) = 'Y' Select (lcSelRul) If oSet.model = 6 lcCant = Thisform.osel_dr.cantitate Else lcCant = [cant] Endif Replace All Cont With lcContTr, acont With lcAcontTr For &lcCant <> 0 *!* REPLACE ALL id_gestiunec WITH id_gestout FOR cant <> 0 *!* REPLACE ALL id_gestiunec WITH id_gestin FOR cante <> 0 *!* REPLACE ALL nuInConturiX WITH 1 FOR cant <> 0 Endif Select (lcSelRul) Replace All id_gestiunec With id_gestout For cant <> 0 Replace All id_gestiunec With id_gestin For cante <> 0 Replace All nuInConturiX With 1 For cant <> 0 Endif Select (lcSelRul) If oSet.param1 = 2 And oSet.factura && factura en-gros This.calcul_pret_vanzare(lcSelRul) *!* modificare 31.10.2006 pnTotalFactura = This.ct_factura1.totctva pnBazaFactura = This.ct_factura1.totftva pnTvaFactura = This.ct_factura1.tva Select rul_temp If gnTipGest <> 6 Calculate Sum(Round(Round(pretv,gnPPretV)*cante,gnPc)),; SUM(Round(Round(Round(pretv,gnPPretV)*cante,gnPc)*(proc_tvav-1),gnPc)) ; TO lnBazaFactura,lnTvaFactura Else Calculate Sum(Round(Round(pretv+tvav,gnPPretV)*cante,gnPc)) To lnTotFactura Calculate Sum(Round(Round(Round(pretv+tvav,gnPPretV)*cante,gnPc)*(proc_tvav-1)/proc_tvav,gnPc)) To lnTvaFactura lnBazaFactura = lnTotFactura - lnTvaFactura Endif Do Case Case lnBazaFactura <> pnBazaFactura And lnTvaFactura <> pnTvaFactura lcMesaj = [Diferenta intre sumele introduse si cele rezultate din calcul:] + CRLF + ; SPACE(23) + [Baza] + Space(18) + [TVA] + CRLF + ; [Introduse:] + Space(5) + Str(pnBazaFactura,20,gnPc) + [ ] + Str(pnTvaFactura,20,gnPc) + ; CRLF +; [Calculate:] + Space(5) + Str(lnBazaFactura,20,gnPc) + [ ] + Str(lnTvaFactura,20,gnPc) + ; CRLF + CRLF + ; [Doriti sa continuati?] Case lnBazaFactura <> pnBazaFactura lcMesaj = [Diferenta intre sumele introduse si cele rezultate din calcul:] + CRLF + ; SPACE(23) + [Baza] + CRLF + ; [Introduse:] + Space(5) + Str(pnBazaFactura,20,gnPc) + CRLF+; [Calculate:] + Space(5) + Str(lnBazaFactura,20,gnPc) + CRLF + CRLF + ; [Doriti sa continuati?] Case lnTvaFactura <> pnTvaFactura lcMesaj = [Diferenta intre sumele introduse si cele rezultate din calcul:] + CRLF + ; SPACE(24) + [TVA] + CRLF + ; [Introduse:] + Space(5) + Str(pnTvaFactura,20,gnPc) + CRLF +; [Calculate:] + Space(5) + Str(lnTvaFactura,20,gnPc) + CRLF + CRLF + ; [Doriti sa continuati?] Otherwise lcMesaj = [] Endcase If !Empty(lcMesaj) If amessagebox(lcMesaj,4+32+256,"Confirmare")==7 Return .F. Else pnBazaFactura = lnBazaFactura pnTvaFactura = lnTvaFactura pnTotalFactura = lnBazaFactura + lnTvaFactura Endif Endif Else *!* 06.09.2011 *!* pnTotalFactura = This.ct_factura1.totctva *!* pnBazaFactura = This.ct_factura1.totftva *!* pnTvaFactura = This.ct_factura1.tva pnTotalFactura = IIF(thisform.nfTotctva<> 0, thisform.nfTotcTva, THIS.ct_factura1.totctva) pnBazaFactura = IIF(thisform.nfTotfTva <> 0, thisform.nfTotfTva, This.ct_factura1.totftva) pnTvaFactura = IIF(thisform.nfTotTva<> 0, thisform.nfTotTva, This.ct_factura1.tva) *!* modificare 31.10.2006 ^ *!* 06.09.2011 ^ Endif pnDiscount = This.ct_discount1.baza_discount pnTVADiscount = -This.ct_discount1.tva_discount pnProcDiscount = This.ct_discount1.pnTva pnIdJtvaDiscount = This.ct_discount1.nid_jtva_coloana pnIdTvaDiscount = This.ct_discount1.nid_tva *!* pnTotalFactura = THIS.ct_factura1.totctva *!* pnBazaFactura = THIS.ct_factura1.totftva *!* pnTvaFactura = THIS.ct_factura1.tva pnBazaNir = [pret*cant] pnBazaBon = [pret*cante] pnTotalBon = This.ntotal pnTotalNir = This.ntotal lcCant = Lower(Alltrim(This.osel_dr.cantitate)) *!* ROAGEST V 2.0.61 *!* modificare ROAGEST v 2.0.53 *!* If Inlist(oset.model, 5, 6, 7) && transfer *!* 236,240,241,242 - RETUR DE LA GESTIUNE VALORICA (-CANTE) *!* 267 retur valoric din custodie If Inlist(oSet.model, 5, 6, 7) Or Inlist(oSet.id_set,238,239,236,240,241,242,255,256,259,260,267 ) lcCant = [cante] Endif *!* modificare ROAGEST v 2.0.53 ^ *!* ROAGEST V 2.0.61 ^ If !plNIRBONPretCuTVA pcTvaNirFormula = [ROUND(ROUND(cant*pret,gnPc)*(proc_tva-1),gnPc)] pcBazaNirFormula = [Round(cant*pret,gnPc)] pcBazaBonFormula = [Round(cante*pret,gnPc)] Else pcTvaNirFormula = [Round(ROUND(cant*(pret+tva),gnPc) * (proc_tva-1)/proc_tva, gnPC)] pcBazaNirFormula = [Round(cant*(pret+tva),gnPc) - Round(ROUND(cant*(pret+tva),gnPc) * (proc_tva-1)/proc_tva, gnPC)] pcBazaBonFormula = [Round(cante*(pret+tva),gnPc) - Round(ROUND(cante*(pret+tva),gnPc) * (proc_tva-1)/proc_tva, gnPC)] Endif *!* modificare ROAGEST v 2.0.94 : am adaugat conditia AND oset.id_set <> 75 If !Inlist(gnTipGest, 6, 7) And oSet.id_set <> 75 pnBazaVanz = [ROUND(pretv*cante,gnPc)] pnBazaVal = [ROUND(pretvval*cante,gnPVal)] pnBazaValVanz = [ROUND(ROUND(pretvval*curs,gnPPretV)*cante,gnPC)] pnTvaVanzOut2 = [Round(ROUND(pretv*cante,gnPc)*(proc_tvav-1),gnPc)] && PROTOCOL pnTvaVal = [ROUND(ROUND(pretvval*cante,gnPVal)*(proc_tvav-1),gnPVal)] pnTvaValVanz = [ROUND(ROUND(ROUND(pretvval*curs,gnPPretV)*cante,gnPC)*(proc_tvav-1),gnPC)] pcBazaVanzFormula = [ROUND(pretv*cante,gnPc)] pnTvaVanzIn = [Round(ROUND(pretv*cant,gnPc) * (proc_tvav-1), gnPC)] pnTvaVanzOut = [Round(ROUND(pretv*cante,gnPc) * (proc_tvav-1), gnPC)] If !plNIRBONPretCuTVA pnAdaos = [Round(] + lcCant+ [ * pretv, gnPc) - Round(] + lcCant+ [ * pret, gnPc)] Else pnAdaos = [Round(] + lcCant+ [ * pretv, gnPc) - (ROUND((pret+tva)*] + lcCant + [,gnPc) - Round(ROUND((pret+tva)*] + lcCant + [,gnPc) * (proc_tva-1)/proc_tva, gnPC))] Endif *!* modificare ROAGEST v 2.0.45 pnVanzOutCuTva = pnBazaVanz + [+] + pnTvaVanzOut *!* modificare ROAGEST v 2.0.45 ^ Else pnBazaVanz = [ROUND((pretv+tvav)*cante,gnPc) - Round(ROUND((pretv+tvav)*cante,gnPc) * (proc_tvav-1)/proc_tvav, gnPc)] pnBazaVal = [ROUND(Round(pretvval*proc_tvav,gnPVal)*cante,gnPVal) - Round(ROUND(Round(pretvval*proc_tvav,gnPVal)*cante,gnPVal) * (proc_tvav-1)/proc_tvav, gnPVal)] pnBazaValVanz = [ROUND(Round(ROUND(pretvval*curs,gnPPretV)*proc_tvav,gnPPretV)*cante, gnPc) - Round(ROUND(Round(ROUND(pretvval*curs,gnPPretV)*proc_tvav, gnPPretV)*cante, gnPc) * (proc_tvav-1)/proc_tvav, gnPc)] pnTvaVanzOut2 = [Round(Round((pretv+tvav)*cante,gnPc)*(proc_tvav-1)/proc_tvav, gnPc)] && PROTOCOL pnTvaVal = [Round(ROUND(Round(pretvval*proc_tvav,gnPVal)*cante,gnPVal) * (proc_tvav-1)/proc_tvav, gnPVal)] pnTvaValVanz = [Round(ROUND(Round(ROUND(pretvval*curs,gnPPretV)*proc_tvav, gnPPretV)*cante, gnPc) * (proc_tvav-1)/proc_tvav, gnPc)] pcBazaVanzFormula = [ROUND((pretv+tvav)*cante,gnPc) - Round(ROUND((pretv+tvav)*cante,gnPc) * (proc_tvav-1)/proc_tvav, gnPC)] pnTvaVanzIn = [Round(ROUND((pretv+tvav)*cant,gnPc)* (proc_tvav-1)/proc_tvav, gnPC)] pnTvaVanzOut = [Round(ROUND((pretv+tvav)*cante,gnPc)* (proc_tvav-1)/proc_tvav, gnPC)] If !plNIRBONPretCuTVA pnAdaos = [ROUND((pretv+tvav)*] + lcCant + [,gnPc) - Round(ROUND((pretv+tvav)*] + lcCant + [,gnPc) * (proc_tvav-1)/proc_tvav, gnPC) - ] + ; [Round(] + lcCant+ [ * pret, gnPc)] Else pnAdaos = [ROUND((pretv+tvav)*] + lcCant + [,gnPc) - Round(ROUND((pretv+tvav)*] + lcCant + [,gnPc) * (proc_tvav-1)/proc_tvav, gnPC) - ] + ; [(ROUND((pret+tva)*] + lcCant + [,gnPc) - Round(ROUND((pret+tva)*] + lcCant + [,gnPc) * (proc_tva-1)/proc_tva, gnPC))] Endif *!* modificare ROAGEST v 2.0.45 pnVanzOutCuTva = [Round((pretv+tvav)*cante,gnPc)] *!* modificare ROAGEST v 2.0.45 ^ Endif If oSet.id_set = 104 And gnImputare = 1 pnBazaVanz = [ROUND(pret_imputare*cante,gnPc)] pnTvaVanzOut = [ROUND(ROUND(pret_imputare*cante,gnPc)*(proc_tvav-1),gnPc)] Endif pnAdaosTotal = This.ct_adaos1.baza_adaos pnBazaPlusAdaos = pnTotalBon + pnAdaosTotal Select * From XNOTE Where id_set = oSet.id_set Into Cursor crsNota lcField = '' Select xact Go Top For I = 1 To Fcount() If Upper(Alltrim(Evaluate(Field(I)))) = 'SUMA' lcField = Field(I) Exit Endif Endfor If Empty(lcField) Return .T. Endif Select Distinct xscd As SCD, xscc As scc, Padr(&lcField,100,' ') As eticheta,x34,x37 From crsNota ; WHERE Inlist(Upper(Alltrim(xscd)),'X') Or Inlist(Upper(Alltrim(xscc)),'X'); INTO Cursor crsIcsi If _Tally > 0 Select crsIcsi Scan lcEticheta = Lower(Alltrim(eticheta)) If Empty(lcEticheta) amessagebox('NECONFIGURAT xnote.dbf !',48,'Atentie!') Loop Endif lcSCD = Upper(Alltrim(SCD)) lcSCC = Upper(Alltrim(scc)) lcIDJtva = Upper(Alltrim(x34)) && ID_JTAX/ID_TVA/pnIdJTvaDiscount/pnIdTvaDiscount lcTaxCode = UPPER(ALLTRIM(x37)) && STAXCODE If Inlist(oSet.model, 5, 6, 7) && TRANSFER, RETUR TRANSFER If lcSCD = 'Y' lcSCD = lcContTr Endif If lcSCC = 'Y' lcSCC = lcContTr Endif Endif && despart sumele pe gestiuni si sectii - pt formarea corecta a analiticelor If 'pntvavanz' $ lcEticheta Or 'pnadaos' $ lcEticheta *!* IF 'pnadaos'$lcEticheta If Type('&lcEticheta') <> 'N' lcEticheta = &lcEticheta Endif lcSuma = [SUM(ROUND(&lcEticheta,gnPc))] *!* ELSE *!* lcEticheta = &lcEticheta *!* lcSuma = [SUM(ROUND(ROUND(&lcEticheta,gnPc)*(proc_tvav-1),gnPc))] *!* ENDIF lcSelect = [SELECT CONT,ACONT,id_gestiune,id_sectie,sectie,id_lucrare,nrord,] + ; IIF(Type(lcSelRul+'.id_jtva_coloana')#'U',[id_jtva_coloana],[NULL]) + [ as id_jtva_coloana,] + ; IIF(Type(lcSelRul+'.taxcode')#'U',[taxcode],[NULL]) + [ as taxcode,] + ; IIF(Type(lcSelRul+'.proc_tvav')#'U',[proc_tvav],[0000]) + [ as proc_tva,] +; IIF(Type(lcSelRul+'.id_gestin')#'U',[id_gestin],[000000000]) + [ as id_gestin,] + ; IIF(Type(lcSelRul+'.id_gestout')#'U',[id_gestout],[000000000]) + [ as id_gestout,] + ; IIF(Type(lcSelRul+'.gestin')#'U',[gestin],[SPACE(50)]) + [ as gestin,] + ; IIF(Type(lcSelRul+'.gestout')#'U',[gestout],[SPACE(50)]) + [ as gestout,] + ; lcSuma + [ AS suma ] + ; [FROM ] + lcSelRul + [ where nuInConturiX = 0 into cursor crsConturiX ] + ; [GROUP BY 1,2,3,4,5,6,7,8,9,10,11,12,13,14] &lcSelect Else *!* v 2.0.24 valoarea baza achizitie = diferenta intre valoarea cu tva si valoarea tva Do Case Case 'pnbazanir' $ Lower(lcEticheta) lcSuma = [Sum(&pcBazaNirFormula)] Case 'pnbazabon' $ Lower(lcEticheta) lcSuma = [Sum(&pcBazaBonFormula)] Otherwise If Type('&lcEticheta') <> 'N' lcEticheta = &lcEticheta Endif lcSuma = [SUM(ROUND(&lcEticheta,gnPc))] Endcase *!* v 2.0.24 *!* lcSuma = [SUM(ROUND(]+ALLTRIM(STR(lcEticheta,20,6))+[,gnPc))] lcSelect = [SELECT CONT,ACONT,id_gestiune,id_sectie,sectie,id_lucrare,nrord,] + ; IIF(Type(lcSelRul+'.id_jtva_coloana')#'U',[id_jtva_coloana],[NULL]) + [ as id_jtva_coloana,] + ; IIF(Type(lcSelRul+'.taxcode')#'U',[taxcode],[NULL]) + [ as taxcode,] + ; IIF(Type(lcSelRul+'.proc_tva')#'U',[proc_tva],[0000]) + [ as proc_tva,] +; IIF(Type(lcSelRul+'.id_gestin')#'U',[id_gestin],[000000000]) + [ as id_gestin,] + ; IIF(Type(lcSelRul+'.id_gestout')#'U',[id_gestout],[000000000]) + [ as id_gestout,] + ; IIF(Type(lcSelRul+'.gestin')#'U',[gestin],[SPACE(50)]) + [ as gestin,] + ; IIF(Type(lcSelRul+'.gestout')#'U',[gestout],[SPACE(50)]) + [ as gestout,] + ; lcSuma + [ AS suma ] + ; [FROM ] + lcSelRul + [ where nuInConturiX = 0 into cursor crsConturiX ] + ; [GROUP BY 1,2,3,4,5,6,7,8,9,10,11,12,13,14] &lcSelect Endif Select crsConturiX Scan For suma*0 = 0 && sa evit cazurile in care suma este ****** Scatter Name loCX Select ACTACTAN Locate For Upper(Alltrim(SCD)) = lcSCD And Upper(Alltrim(scc)) = lcSCC If Found() Scatter Name loActactan With loActactan If Upper(Alltrim(.SCD)) = 'X' .SCD = loCX.Cont .ascd = Nvl(loCX.acont,'') .suma = loCX.suma If !Empty(lcIDJtva) && AND !INLIST(oset.model,5,6) .id_jtva_coloana = loCX.id_jtva_coloana .proc_tva = loCX.proc_tva Else .id_jtva_coloana = Null .proc_tva = 0 Endif .taxcode = IIF(!Empty(m.lcTaxCode), loCX.taxcode, NULL) .id_gestin = loCX.id_gestin .gestin = loCX.gestin .id_gestout = loCX.id_gestout .gestout = loCX.gestout .id_sectie = loCX.id_sectie .sectie = loCX.sectie .id_lucrare = loCX.id_lucrare .nrord = loCX.nrord Endif If Upper(Alltrim(.scc)) = 'X' .scc = loCX.Cont .ascc = Nvl(loCX.acont,'') .suma = loCX.suma *!* modificare 04.10.2007 *!* If Left(.scd,1) = '6' And Alltrim(.scd) # '607' And Inlist(oset.model, 3, 4) && BON, RETUR *!* If .scc = '381' *!* .scd = '608' *!* Else *!* .scd = Strtran(.scc, '3', '6', 1, 1) *!* Endif *!* Endif If Inlist(oSet.model,3,4) Select crsconfigcvc Locate For Cont = Upper(Alltrim(.scc)) If Found() And (Empty(.SCD) Or Inlist(Left(.SCD,1), '6','7')) .SCD = Alltrim(cont_chelt) Else If Left(.SCD,1) = '6' And Alltrim(.SCD) # '607' IF LEFT(.scc,1) = '8' && clasa 8 nu are corespondent (obiecte inventar in folosinta) .scd = '' Else If .scc = '381' .SCD = '608' ELSE .SCD = Strtran(.scc, '3', '6', 1, 1) ENDIF ENDIF Endif Endif Select ACTACTAN Endif *!* modificare 04.10.2007 ^ If !Empty(lcIDJtva) && AND !INLIST(oset.model,5,6) .id_jtva_coloana = loCX.id_jtva_coloana .proc_tva = loCX.proc_tva Else .id_jtva_coloana = Null .proc_tva = 0 ENDIF .taxcode = IIF(!Empty(m.lcTaxCode), loCX.taxcode, NULL) .id_gestin = loCX.id_gestin .gestin = loCX.gestin .id_gestout = loCX.id_gestout .gestout = loCX.gestout .id_sectie = loCX.id_sectie .sectie = loCX.sectie .id_lucrare = loCX.id_lucrare .nrord = loCX.nrord Endif Endwith Append Blank Gather Name loActactan Endif && IF FOUND() Select crsConturiX Endscan Select crsIcsi Endscan Delete From ACTACTAN Where Inlist(Upper(Alltrim(SCD)),'X') Or Inlist(Upper(Alltrim(scc)),'X') Endif *!* 15.03.2007 ^ *!* inlocuiesc Y - la notele care nu sunt transfer sau retur transfer (intrare dintr-o gestiune tinuta valoric - trebuie contul) If !Inlist(oSet.model, 5, 6, 7) And llY Select rul_temp Go Top lnIdGestiuneTr = id_gestiune If !Empty(lnIdGestiuneTr) loCont = This.aleg_cont_transfer(lnIdGestiuneTr) lcContTr = loCont.Cont lcAcontTr = loCont.acont Select ACTACTAN Replace All SCD With lcContTr, ascd With lcAcontTr For Upper(Alltrim(SCD)) = 'Y' Replace All scc With lcContTr, ascc With lcAcontTr For Upper(Alltrim(scc)) = 'Y' Endif *!* 20.03.2007 *!* cont de transfer - cont din nomenclator *!* in rul aj trebuie sa am pe intrari contul din debit (contul de transfer) If oSet.model = 2 Or Upper(Alltrim(oSet.formgest)) = 'NIR' Select rul_temp Replace All Cont With lcContTr Endif Endif *!* 15.03.2007 ^ Select crsNota Scan For !(Inlist(Upper(Alltrim(xscd)),'X') Or Inlist(Upper(Alltrim(xscc)),'X')) Scatter Name loNota lcVariabila = Lower(Alltrim(loNota.&lcField)) lcIDJtva = Upper(Alltrim(x34)) If Inlist(oSet.model, 5, 6, 7) Or llY && TRANSFER, RETUR TRANSFER If loNota.xscd = 'Y' loNota.xscd = lcContTr loNota.xAscd = lcAcontTr Endif If loNota.xscc = 'Y' loNota.xscc = lcContTr loNota.xAscc = lcAcontTr Endif Endif Do Case Case 'pntvanir' $ lcVariabila lcSuma = [SUM(&pcTvaNirFormula)] lcSelect = [SELECT b.id_tva as id_jtva_coloana,a.proc_tva,CAST(] + IIF(Type(lcSelRul+'.taxcode')#'U',[a.taxcode],[NULL]) + [ as I) as taxcode,a.id_sectie,a.id_gestiune,a.sectie,a.id_lucrare,a.nrord,] + ; IIF(Type(lcSelRul+'.id_gestin')#'U',[a.id_gestin],[0000000000]) + [ as id_gestin,] + ; IIF(Type(lcSelRul+'.id_gestout')#'U',[a.id_gestout],[000000000]) + [ as id_gestout,] + ; IIF(Type(lcSelRul+'.gestin')#'U',[a.gestin],[SPACE(50)]) + [ as gestin,] + ; IIF(Type(lcSelRul+'.gestout')#'U',[a.gestout],[SPACE(50)]) + [ as gestout,] + ; lcSuma + [ as suma ] + ; [FROM ] + lcSelRul + [ a LEFT JOIN jtva_coloane b ON a.id_jtva_coloana = b.id_jtva_coloana ] + ; [INTO CURSOR crsTva ] + ; [GROUP BY 1,2,3,4,5,6,7,8,9,10,11,12] *!* v 2.0.24 ^ &lcSelect Select crsTva I = 0 Scan For suma*0 = 0 && sa evit cazurile in care suma este ****** I = I + 1 If I = 1 Select ACTACTAN Locate For SCD = loNota.xscd And scc = loNota.xscc And suma = 0 If Found() Scatter Name loAct Delete Else Scatter Name loAct Blank Endif Endif Select crsTva Scatter Name loTva Select ACTACTAN Append Blank Gather Name loAct Gather Name loTva If Empty(lcIDJtva) Replace id_jtva_coloana With Null,proc_tva With 0 Endif Endscan Case 'pnbazavanz'$lcVariabila Or 'pntvavanz'$lcVariabila lcVariabilatemp = lcVariabila lcVariabila = &lcVariabila lcSuma = [sum(ROUND(&lcVariabila,gnPc))] DO CASE CASE 'pnbazavanz'$lcVariabilatemp lcSuma = [Sum(&pcBazaVanzFormula)] lcSelect = [SELECT a.id_jtva_coloana,a.proc_tvav,a.taxcode,a.id_sectie,a.id_gestiune,a.sectie,a.id_lucrare,a.nrord,] + ; IIF(Type(lcSelRul+'.id_gestin')#'U',[a.id_gestin],[0000000000]) + [ as id_gestin,] + ; IIF(Type(lcSelRul+'.id_gestout')#'U',[a.id_gestout],[000000000]) + [ as id_gestout,] + ; IIF(Type(lcSelRul+'.gestin')#'U',[a.gestin],[SPACE(50)]) + [ as gestin,] + ; IIF(Type(lcSelRul+'.gestout')#'U',[a.gestout],[SPACE(50)]) + [ as gestout,] + ; lcSuma + [ as suma ] + ; [FROM ] + lcSelRul + [ a ] + ; [INTO CURSOR crsTva ] + ; [GROUP BY 1,2,3,4,5,6,7,8,9,10,11,12] CASE 'pntvavanz'$lcVariabilatemp lcSelect = [SELECT b.id_tva as id_jtva_coloana,a.proc_tvav,CAST(] + IIF(Type(lcSelRul+'.taxcode')#'U',[a.taxcode],[NULL]) + [ as I) as taxcode,a.id_sectie,a.id_gestiune,a.sectie,a.id_lucrare,a.nrord,] + ; IIF(Type(lcSelRul+'.id_gestin')#'U',[a.id_gestin],[0000000000]) + [ as id_gestin,] + ; IIF(Type(lcSelRul+'.id_gestout')#'U',[a.id_gestout],[000000000]) + [ as id_gestout,] + ; IIF(Type(lcSelRul+'.gestin')#'U',[a.gestin],[SPACE(50)]) + [ as gestin,] + ; IIF(Type(lcSelRul+'.gestout')#'U',[a.gestout],[SPACE(50)]) + [ as gestout,] + ; lcSuma + [ as suma ] + ; [FROM ] + lcSelRul + [ a LEFT JOIN jtva_coloane B ON A.ID_JTVA_COLOANA = B.ID_JTVA_COLOANA ] + ; [INTO CURSOR crsTva ] + ; [GROUP BY 1,2,3,4,5,6,7,8,9,10,11,12] ENDCASE &lcSelect Select crsTva I = 0 Scan For suma*0 = 0 && sa evit cazurile in care suma este ****** I = I + 1 If I = 1 Select ACTACTAN Locate For SCD = loNota.xscd And scc = loNota.xscc And suma = 0 If Found() Scatter Name loAct Delete Else Scatter Name loAct Blank Endif Endif Select crsTva Scatter Name loTva Select ACTACTAN Append Blank Gather Name loAct Gather Name loTva Replace proc_tva With loTva.proc_tvav If Empty(lcIDJtva) Replace id_jtva_coloana With Null Endif Endscan *!* modificare facturare in valuta 21.09.2007 Case 'pnbazaval'$lcVariabila Or 'pntvaval'$lcVariabila lcVariabilatemp = lcVariabila lcVariabila = &lcVariabila lcSumaVal = [sum(&lcVariabila)] If 'pnbazaval'$lcVariabilatemp *!* lcSuma = [SUM(]+pnBazaValVanz+[)] lcSuma = [ROUND(SUM(]+pnBazaVal+[)*a.curs,gnPc)] lcSelect = [SELECT a.id_jtva_coloana,a.proc_tvav,a.taxcode,a.id_sectie,a.id_gestiune,a.sectie,a.id_lucrare,a.nrord,] + ; IIF(Type(lcSelRul+'.id_gestin')#'U',[a.id_gestin],[0000000000]) + [ as id_gestin,] + ; IIF(Type(lcSelRul+'.id_gestout')#'U',[a.id_gestout],[000000000]) + [ as id_gestout,] + ; IIF(Type(lcSelRul+'.gestin')#'U',[a.gestin],[SPACE(50)]) + [ as gestin,] + ; IIF(Type(lcSelRul+'.gestout')#'U',[a.gestout],[SPACE(50)]) + [ as gestout,] + ; [NVL(a.id_valuta_vanz,0) as id_valuta,] + ; IIF(Type(lcSelRul+'.curs') #'U',[a.curs],[0]) + [ as curs,] + ; lcSumaVal + [ as suma_val,] + lcSuma + [ as suma ] + ; [FROM ] + lcSelRul + [ a ] + ; [INTO CURSOR crsTva ] + ; [GROUP BY 1,2,3,4,5,6,7,8,9,10,11,12,13,14] Else *!* lcSuma = [SUM(]+pnTvaValVanz+[)] lcSuma = [ROUND(SUM(]+pnTvaVal+[)*a.curs,gnPc)] lcSelect = [SELECT b.id_tva as id_jtva_coloana,a.proc_tvav,CAST(] + IIF(Type(lcSelRul+'.taxcode')#'U',[a.taxcode],[NULL]) + [ as I) as taxcode,a.id_sectie,a.id_gestiune,a.sectie,a.id_lucrare,a.nrord,] + ; IIF(Type(lcSelRul+'.id_gestin')#'U',[a.id_gestin],[0000000000]) + [ as id_gestin,] + ; IIF(Type(lcSelRul+'.id_gestout')#'U',[a.id_gestout],[000000000]) + [ as id_gestout,] + ; IIF(Type(lcSelRul+'.gestin')#'U',[a.gestin],[SPACE(50)]) + [ as gestin,] + ; IIF(Type(lcSelRul+'.gestout')#'U',[a.gestout],[SPACE(50)]) + [ as gestout,] + ; [NVL(a.id_valuta_vanz,0) as id_valuta,] + ; IIF(Type(lcSelRul+'.curs') #'U',[a.curs],[0]) + [ as curs,] + ; lcSumaVal + [ as suma_val,] + lcSuma + [ as suma ] + ; [FROM ] + lcSelRul + [ a LEFT JOIN jtva_coloane B ON A.ID_JTVA_COLOANA = B.ID_JTVA_COLOANA ] + ; [INTO CURSOR crsTva ] + ; [GROUP BY 1,2,3,4,5,6,7,8,9,10,11,12,13,14] Endif &lcSelect Select crsTva I = 0 Scan For suma_val*0 = 0 && sa evit cazurile in care suma este ****** I = I + 1 If I = 1 Select ACTACTAN Locate For SCD = loNota.xscd And scc = loNota.xscc And suma = 0 If Found() Scatter Name loAct Delete Else Scatter Name loAct Blank Endif Endif Select crsTva Scatter Name loTva AddProperty(loTva,[nume_val],poAct.nume_val_vanz) Select ACTACTAN Append Blank Gather Name loAct Gather Name loTva Replace proc_tva With loTva.proc_tvav If Empty(lcIDJtva) Replace id_jtva_coloana With Null Endif Endscan *!* modificare facturare in valuta 21.09.2007 ^ Case 'pnbazabon'$lcVariabila *!* v 2.0.24 *!* lcSuma = [SUM(ROUND(&lcEticheta,gnPc))] lcSuma = [Sum(&pcBazaBonFormula)] *!* v 2.0.24 ^ lcSelect = [SELECT a.id_jtva_coloana,a.proc_tvav,CAST(null as I) as taxcode,a.id_sectie,a.id_gestiune,a.sectie,a.id_lucrare,a.nrord,] + ; IIF(Type(lcSelRul+'.id_gestin')#'U',[a.id_gestin],[0000000000]) + [ as id_gestin,] + ; IIF(Type(lcSelRul+'.id_gestout')#'U',[a.id_gestout],[000000000]) + [ as id_gestout,] + ; IIF(Type(lcSelRul+'.gestin')#'U',[a.gestin],[SPACE(50)]) + [ as gestin,] + ; IIF(Type(lcSelRul+'.gestout')#'U',[a.gestout],[SPACE(50)]) + [ as gestout,] + ; lcSuma + [ as suma ] + ; [FROM ] + lcSelRul + [ a ] + ; [INTO CURSOR crsTva ] + ; [GROUP BY 1,2,3,4,5,6,7,8,9,10,11,12] &lcSelect Select crsTva I = 0 Scan For suma*0 = 0 && sa evit cazurile in care suma este ****** I = I + 1 If I = 1 Select ACTACTAN Locate For SCD = loNota.xscd And scc = loNota.xscc And suma = 0 If Found() Scatter Name loAct Delete Else Scatter Name loAct Blank Endif Endif Select crsTva Scatter Name loTva Select ACTACTAN Append Blank Gather Name loAct Gather Name loTva Replace proc_tva With loTva.proc_tvav If Empty(lcIDJtva) Replace id_jtva_coloana With Null Endif Endscan Otherwise Select ACTACTAN Locate For SCD = loNota.xscd And scc = loNota.xscc And suma = 0 If Found() If !Empty(lcVariabila) Replace suma With &lcVariabila Endif Endif If 'discount' $ lcVariabila Replace proc_tva With pnProcDiscount,id_jtva_coloana With &lcIDJtva, taxcode WITH GetTaxCode(m.gnAn, m.gnLuna, dataact, &lcIDJtva, (Thisform.nTvaincasare=1)) Endif Endcase Endscan If Used('crsIcsi') Use In crsIcsi Endif If Used('crsConturiX') Use In crsConturiX Endif If Used('crsNota') Use In crsNota Endif *!* IF USED('rul_temp') *!* USE IN rul_temp *!* ENDIF *!* && completez RUL_TEMP *!* lcRul = ALLTRIM(THIS.osel_dr.cfrom) *!* lcSql = [select * from ] + gcS + [.] + lcRul + [ where 1=2] *!* lcCursor = [rul_temp] *!* lnSucces = goExecutor.oExecute(lcSql,lcCursor) *!* IF lnSucces < 0 *!* RETURN .F. *!* ENDIF *!* lcCant = LOWER(ALLTRIM(this.osel_dr.cantitate)) *!* lcCantTransf = [cant] + iif(lcCant = [cante],[],[e]) *!* IF INLIST(oset.model, 5, 6) && TRANSFER, RETUR TRANSFER *!* SELECT * FROM (lcSelRul) INTO CURSOR crsTransf NOFILTER READWRITE *!* REPLACE ALL &lcCantTransf WITH &lcCant FOR !EMPTY(&lcCant) *!* REPLACE ALL &lcCant WITH 0 *!* APPEND FROM DBF(lcSelRul) *!* IF oset.id_set <> 89 && TRANSFER INTRE PERSOANE *!* REPLACE ALL cont WITH lcContTr, acont WITH lcAcontTr FOR &lcCantTransf # 0 *!* ELSE *!* SELECT (this.ct_grid_search1.cnumecursor) *!* SCATTER NAME loStg *!* SELECT crsTransf *!* REPLACE ALL id_gestin WITH id_gestout *!* REPLACE ALL id_responsabil WITH loStg.id_responsabil, nresp WITH loStg.nresp FOR cante <> 0 *!* ENDIF *!* REPLACE ALL id_gestiune WITH id_gestin,nume_gestiune WITH gestin FOR &lcCantTransf <> 0 *!* REPLACE ALL id_gestiune WITH id_gestout, nume_gestiune WITH gestout FOR &lcCant <> 0 *!* *!* SELECT rul_temp *!* APPEND FROM DBF('crsTransf') *!* IF USED('crsTransf') *!* USE IN crsTransf *!* ENDIF *!* *!* lcSel = [SELECT id_gestiune from ] + gcs + [.vnom_gestiuni WHERE nr_pag = 6] *!* lcCursor = 'crsIdVanzare' *!* lnSucces = goExecutor.oExecute(lcSel,lcCursor) *!* IF lnSucces < 0 *!* MESSAGEBOX(goExecutor.cEroare,0+16,"Eroare") *!* ENDIF *!* *!* IF lnSucces > 0 *!* UPDATE rul_temp SET pretv = 0, tvav = 0, proc_tvav = 0 WHERE id_gestiune NOT in (select id_gestiune from crsIdVanzare) *!* USE IN crsIdVanzare *!* ENDIF *!* ELSE *!* SELECT rul_temp *!* APPEND FROM DBF(lcSelRul) *!* ENDIF *!* IF INLIST(oset.model, 5, 6) AND USED('crsTransfer') && TRANSFER, RETUR TRANSFER *!* SELECT rul_temp *!* APPEND FROM DBF('crsTransfer') *!* ENDIF *!* SELECT rul_temp *!* APPEND FROM DBF(lcSelRul) *!* modificare 20.04.2007 & 04.05.2007 & 09.05.2007 Do Case Case Inlist(oSet.id_set,61,62,63,226,258,260) && modificare ROAGEST v 2.0.188 : am sters 261 Select ACTACTAN If oSet.cursval Calculate Sum(suma) To pnBazaValProd For Alltrim(scc)= '345' Calculate Sum(suma) To pnBazaVal341 For Alltrim(scc)= '341' Calculate Sum(suma) To pnBazaVal346 For Alltrim(scc)= '346' Calculate Sum(suma) To pnBazaValAmb For Alltrim(scc) = '381' pnBazaVProd = pnBazaValProd pnBazaVAmb = pnBazaValAmb pnBazaV341 = pnBazaVal341 pnBazaV346 = pnBazaVal346 Else Calculate Sum(suma) To pnBazaVProd For Alltrim(scc)= '345' Calculate Sum(suma) To pnBazaVAmb For Alltrim(scc) = '381' Calculate Sum(suma) To pnBazaV341 For Alltrim(scc)= '341' Calculate Sum(suma) To pnBazaV346 For Alltrim(scc)= '346' Endif Replace suma With suma - pnBazaVProd - pnBazaVAmb - pnBazaV341 - pnBazaV346 For Alltrim(SCD) = '4111' And Alltrim(scc) = '707' *!* 19.01.2015: 701-> 7015 *!* Replace suma With pnBazaVProd + pnBazaV341 + pnBazaV346 For Alltrim(SCD) = '4111' And Alltrim(scc) = '701' Replace suma With pnBazaVProd + pnBazaV341 + pnBazaV346 For Alltrim(SCD) = '4111' And Alltrim(scc) = '7015' *!* 19.01.2015: 701-> 7015 ^ Replace SCD With '711',suma With pnBazaVProd For Alltrim(SCD) = '607' And Alltrim(scc) = '345' Replace SCD With '711',suma With pnBazaV341 For Alltrim(SCD) = '607' And Alltrim(scc) = '341' Replace SCD With '711',suma With pnBazaV346 For Alltrim(SCD) = '607' And Alltrim(scc) = '346' Replace scc With '348' For Inlist(Alltrim(SCD),'341','345','346') And Alltrim(scc) = '378' Replace SCD With '348',scc With '711' For Alltrim(SCD) = '378' And Inlist(Alltrim(scc),'341','345','346') Replace suma With pnBazaVAmb For Alltrim(SCD) = '4111' And Alltrim(scc) = '708' Replace SCD With '608' For Alltrim(SCD) = '607' And Alltrim(scc) = '381' Replace scc With '388' For Alltrim(SCD) = '381' And Alltrim(scc) = '378' Replace SCD With '388' For Alltrim(SCD) = '378' And Alltrim(scc) = '381' Delete For suma = 0 Case Inlist(oSet.id_set,79,83,206,225) Select ACTACTAN Replace scc With '711' For Alltrim(SCD) = '348' *!* modificare 22.05.2007 Case oSet.id_set = 218 && diferenta de pret Select (lcSelRul) Replace All pretv With 0,tvav With 0,proc_tvav With 0,procent With 0 Select ACTACTAN Replace id_gestin With 0,gestin With '' For nr_nota = 2 *!* Replace id_gestin With id_gestout, gestin With gestout,id_gestout With 0,gestout With '',scc WITH '711' For nr_nota = 4 *!* Replace scc WITH '711' For nr_nota = 4 Replace SCD With '348' For nr_nota = 2 And SCD <> '381' Replace SCD With '388' For nr_nota = 2 And SCD = '381' Replace scc With '388' For nr_nota = 1 And SCD = '381' *!* modificare 22.05.2007 ^ Case Inlist(oSet.id_set,53,213,57,58) Select ACTACTAN Replace SCD With '607' For scc = '371' Replace SCD With '711' For scc = '345' && modificare 03.10.2007 Case Inlist(oSet.id_set, 230, 232, 233, 235,243,244,261,262,270) && protocol, sponsorizare Select ACTACTAN Replace suma With suma * (-1) For nr_nota = 1 *!* modificare v 2.2.29 IF INLIST(oSet.id_set, 232, 235, 244, 262) Replace proc_tva WITH 0 FOR nr_nota = 1 Endif *!* modificare v 2.2.29 ^ Endcase *!* modificare ^ && ordonez notele contabile in ACTACTANSELECT actactan Select ACTACTAN Sum suma To lnSume If lnSume <> 0 lcCondDele = [!(suma = 0 and !(((left(scd,1) = '3' and left(scc,2) = '40') OR (left(scd,2) = '41' and left(scc,1) = '7')) AND proc_tva # 1))] Else *!* modificare ROAGEST v 2.0.55 *!* lcCondDele = [suma = 0 AND nr_nota = 1 ] lcCondDele = [(suma = 0 and nr_nota = 1) or suma <> 0] *!* modificare ROAGEST v 2.0.55 ^ Endif *!* 19.02.2010 *!* 230,232,233,235 = protocol, sponsorizare *!* 264,265 = finalizare aprovizionare - are o nota nimic = 401 cu suma 0 care trebuie sa ramana pentru numele furnizorului Select * From ACTACTAN Into Cursor crsActActan Where &lcCondDele Or Inlist(id_set, 89, 210, 211, 212, 230, 232, 233, 235,261,264,265) Order By nr_nota NOFILTER Readwrite *!* 19.02.2010 ^ Select ACTACTAN Delete From ACTACTAN Append From Dbf('crsactactan') If Used('crsactactan') Use In crsActActan Endif *** && completare analitice *!* 2.0.85 *!* sterg analiticele puse datorita lui X = 378 si X = 4428 (X este de la gestiunea destinatie, nu sursa) If Inlist(oSet.id_set, 255, 256) && retur de la gestiune valorica - mf pa * Replace All ascd With "" For Inlist(Alltrim(scc), '378', '4428') Endif *!* 2.0.85 ^ Select ACTACTAN Scan For Empty(Nvl(ascd,'')) Scatter Name loActactan If Type('loActactan.cont') = 'U' x = AddProperty(loActactan,'cont',loActactan.SCD) Endif If oSet.model = 2 And Type('loActactan.id_gestiune') = 'U' And !Inlist(oSet.id_set,215,216,237,257) && NIR, fara intrare din gestiune valorica x = AddProperty(loActactan,'id_gestiune',loActactan.id_gestin) Endif If (Inlist(oSet.model, 3, 4) Or Inlist(oSet.id_set,215,216,237,257)) And Type('loActactan.id_gestiune') = 'U' && BON, RETUR, intrare din gestiune valorica x = AddProperty(loActactan,'id_gestiune',loActactan.id_gestout) Endif loActactan.ascd = This.assign_analitic(loActactan.SCD,This.cobj,'loActactan') Replace ascd With loActactan.ascd Select ACTACTAN Endscan Select ACTACTAN Scan For Empty(Nvl(ascc,'')) Scatter Name loActactan If Type('loActactan.cont') = 'U' x = AddProperty(loActactan,'cont',loActactan.scc) Endif If oSet.model = 2 And Type('loActactan.id_gestiune') = 'U' And !Inlist(oSet.id_set,215,216,237,257) && NIR, fara intrare din gestiune valorica x = AddProperty(loActactan,'id_gestiune',loActactan.id_gestin) Endif If (Inlist(oSet.model, 3, 4) Or Inlist(oSet.id_set,215,216,237,257)) And Type('loActactan.id_gestiune') = 'U' && BON, RETUR, intrare din gestiune valorica x = AddProperty(loActactan,'id_gestiune',loActactan.id_gestout) Endif loActactan.ascc = This.assign_analitic(loActactan.scc,This.cobj,'loActactan') Replace ascc With loActactan.ascc Select ACTACTAN Endscan ********************************************** * OBIECTE DE INVENTAR IN FOLOSINTA Use In (SELECT('RUL_TEMP_OBINV')) ********************************************** DO CASE CASE oSet.id_set = 55 * DARE IN FOLOSINTA 8039 cu inregistrarea cheltuielii 603 = 303 * Mut inregistrarea cant<>0 in rul_temp_obinv * id_set = 55 dare in folosinta cu schimbarea contului in 8039 * schimb contul in 8039 Update rul_temp Set Cont = gcContObinv, acont = '', serie = serie_obinv Where cant <> 0 CASE oSet.id_set = 273 * DARE IN FOLOSINTA 303 fara inregistrarea cheltuielii 303 = 303 * Nu schimb contul Select * From rul_temp Where cant <> 0 And !Deleted() Into Cursor RUL_TEMP_OBINV NOFILTER Readwrite UPDATE rul_temp_obinv SET serie = serie_obinv Delete all FOR cant<>0 IN rul_temp CASE INLIST(oset.id_set, 70,71,89,104,210,211,212,274) * casare 70, retur din folosinta 71, 89 transfer intre persoane, 104 imputare, 210-212 transfer persoane-magazie, 274 = inregistrare cheltuiala ob inv in fol. * operatii cu ob. inv. in folosinta nu mai tin seama de contul 8039, intrucat pot fi ob inv in folos si cu contul 303 (id_Set = 274) Select * From rul_temp Where !Deleted() Into Cursor RUL_TEMP_OBINV NOFILTER Readwrite IF oset.id_set = 71 * 71 retur din folosinta, trebuie sa existe iesirea si in rul_temp, ca sa reintre in stoc Delete all FOR Left(Cont,2) = '80' IN rul_temp Delete all FOR Left(Cont,2) <> '80' IN rul_temp_obinv ELSE Delete all IN rul_temp ENDIF ENDCASE IF !USED('RUL_TEMP_OBINV') Select * From rul_temp Where Left(Cont,2) = '80' And !Deleted() Into Cursor RUL_TEMP_OBINV NOFILTER Readwrite Delete all FOR Left(Cont,2) = '80' IN rul_temp ELSE Select * From rul_temp Where Left(Cont,2) = '80' And !Deleted() Into Cursor RUL_TEMP_OBINV2 NOFILTER Readwrite Delete all FOR Left(Cont,2) = '80' IN rul_temp SELECT rul_temp_obinv APPEND FROM DBF('rul_temp_obinv2') USE IN (SELECT('rul_temp_obinv2')) ENDIF ********************************************** If gnCMP = 1 And oSet.model = 2 && NIR Thisform.analiza_cmp('rul_temp', 'actactan') *!* modificare 24.11.2006 Else If Inlist(oSet.id_set, 215,216,236,237,238,239,240,241,242,255,256,257,259,260) && intrare din gestiune valorica, retur din gestiune valorica Replace All id_tip_rulaj With oSet.id_tip_rul Else Select rul_temp Replace id_tip_rulaj With oSet.id_tip_rul For id_tip_rulaj = 0 *!* modificare 24.11.2006 ^ ENDIF IF INLIST(oSet.id_set, 55,89,210,211,212,273,274) && obiecte inventar in folosinta SELECT rul_temp_obinv Replace All id_tip_rulaj With oSet.id_tip_rul ENDIF Endif If Type('loActactan') = 'O' Release loActactan Endif Do Case *!* modificare ROAFACTURARE v 2.0.96 CASE oSet.id_set = 267 && EDITURA EDUARD AVIZ RETUR MARFA DIN CUSTODIE VALORIC Select rul_temp Replace All id_tip_rulaj With oSet.id_tip_rul * Atentie! pot fi mai multe randuri tva vanzare si marfa custodie (357) datorita impartirii pe gestiuni, sectii * TVA discount este calculat pe total, nu pe gestiuni, sectii. Trebuie sa il pun doar pe prima linie * nr_nota = 1 357 = 371 pot fi de asemenea mai multe randuri datorita impartirii pe gestiuni, sectii * nu trebuie sa pun suma totala pe toate randurile nr_nota = 1, ci doar pe o singura nota SELECT actactan *!* replace suma WITH suma+pnTvaDiscV FOR INLIST(nr_nota,4,6) && adun tva discount la tva vanzare (-) LOCATE FOR nr_nota = 4 IF FOUND() replace suma WITH suma+pnTvaDiscV && adun tva discount la tva vanzare (-) doar pe primul rand 4 ENDIF LOCATE FOR nr_nota = 6 IF FOUND() replace suma WITH suma+pnTvaDiscV && adun tva discount la tva vanzare (-) doar pe primul rand 6 ENDIF CALCULATE SUM(suma) FOR INLIST(nr_nota,2,3,4) TO lnSumaCont357 && valoarea marfa custodie (357) = marfa la pret de achizitie (2) + adaos (3) + tva (4) CALCULATE SUM(suma) FOR nr_nota = 1 TO lnSumaCont357b && valoare bon pret achizitie LOCATE FOR nr_nota = 1 && completez pe primul rand nr_nota = 1 cu diferenta dintre valoare 357 si valoarea bon de pe toate randurile nr_nota = 1 IF FOUND() replace suma WITH suma + (lnSumaCont357 - m.lnSumaCont357b) ENDIF *!* modificare ROAFACTURARE v 2.0.96 ^ Case oSet.id_set=69 *!* modificare 07.03.2006 && 24.02.2007 Select ACTACTAN Calculate Max(proc_tva) To lnMaxProcTva Calculate Min(id_jtva_coloana) For proc_tva = lnMaxProcTva To lnIdJtvaColoana Scan For Left(SCD,3)='411' Or Left(scc,3)='411' If proc_tva=0 Replace proc_tva With lnMaxProcTva,id_jtva_coloana With lnIdJtvaColoana Endif Endscan *!* sfarsit modificare 07.03.2006 Case oSet.id_set = 213 *!* modificare 12.02.2007 (bon de consum pe lucrari in curs de executie la Materii prime si materiale) Select rul_temp Replace All pretv With Round(Pret,gnPPretV) && modificare 14.09.2007 *!* modificare 12.02.2007 ^ *!* modificare v 2.0.6 Case Inlist(oSet.id_set,215,216,257) Select (lcSelRul) Replace All id_gestiunec With poAct.id_gestout,id_gestout With poAct.id_gestout,gestout With poAct.gestout Select ACTACTAN Replace All id_gestout With poAct.id_gestout,gestout With poAct.gestout *!* modificare v 2.0.6 ^ Case Inlist(oSet.id_set, 240, 242,256) && Retur din transfer de la gestiune valorica (cantitativ) la pret de vanzare - aviz expeditie && e facut ca un nir cu cante < 0 in depozit, adaug inca o inregistrare cu cant < 0 de la magazin Select * From rul_temp Into Cursor cReturTemp Readwrite Select cReturTemp Scan Scatter Name poRec Replace cant With poRec.cante, cante With 0, id_gestiune With poRec.id_gestiunec, id_gestiunec With poRec.id_gestiune poRec.id_gestiune = cReturTemp.id_gestiune poRec.id_gestiunec = cReturTemp.id_gestiunec poRec.acont = Thisform.assign_analitic(poRec.Cont,Thisform.cobj,'poRec') Replace acont With poRec.acont Endscan Select rul_temp Append From Dbf('cReturTemp') Use In (Select('cReturTemp')) *!* modificare ROAGEST v 2.0.56 Case oSet.id_set = 229 Select rul_temp Replace id_part_rez With poAct.vid_part_rez,id_lucrare_rez With poAct.id_lucrare For cant <> 0 * Nu mai sterg id_part_rez din iesire, pentru ca daca fac un transfer pe un alt client/inapoi in depozit, * de pe un articol deja rezervat, se sterge id_part_rez de pe linia originala si nu se mai imperecheaza in stoc * Replace id_part_rez With Null,id_lucrare_rez With Null For cante <> 0 *!* modificare ROAGEST v 2.0.56 ^ *!* 19.02.2010 *!* 3xx = 401 => 3xx = 32x Case Alltrim(Upper(oSet.explicatia)) = 'FINALIZARE APROVIZIONARE' Select ACTACTAN Scan For Left(SCD,1) = '3' And Alltrim(scc) = '401' lcContD = Alltrim(SCD) Select crsconfigcvc Locate For Alltrim(Cont) = m.lcContD And !Empty(Nvl(cont_aprovizionare, '')) If Found() lcContC = Alltrim(cont_aprovizionare) Replace scc With m.lcContC In ACTACTAN Endif Endscan && actactan *!* 19.02.2010 ^ Endcase Select rul_temp Locate For Empty(id_gestiune) If Found() amessagebox('Nu ati ales gestiunea!',48,"Atentie") Return .F. Endif Select RUL_TEMP_OBINV Locate For Empty(id_gestiune) If Found() amessagebox('Nu ati ales gestiunea!',48,"Atentie") Return .F. Endif If oSet.productie If Alltrim(Upper(oSet.formproduc))='FRM_ALEGE_PROD_CANT' Select a.*, Recno() As ninreg ; FROM ACTACTAN a ; WHERE Substr(scc,1,1)='3' And !INLIST(Alltrim(scc), '301', '341', '345') ; INTO Cursor cModificari Select cModificari Scan Scatter Name loLinie lcSCC = Alltrim(scc) lnInreg = ninreg Select ACTACTAN Replace scc With lcSCC, SCD With '301' For Recno() = lnInreg Append Blank loLinie.SCD = '601' loLinie.scc = '301' Gather Name loLinie Select cModificari Endscan If Used('cModificari') Use In cModificari Endif Endif Endif *!* v 2.0.23 diferente baza, tva la NIR *!* daca sunt diferente intre valoarea calculata si valoarea de pe factura inregistrez diferentele If oSet.model = 2 && NIR loRec = Null lnDiferentaValftva = Thisform.nfTotftva - This.ct_factura1.totftva lnDiferentaValTva = Thisform.nfTottva - This.ct_factura1.tva If lnDiferentaValftva <> 0 And Thisform.nfTotftva <> 0 Select ACTACTAN Locate For Left(scc,2) = '40' If Found() Scatter Name loRec loRec.suma = lnDiferentaValftva loRec.explicatia5 = 'Diferente calcul Valoare fara TVA' *!* modificare ROAGEST v 2.0.101 : "ALTE CHELTUIELI DE EXPLOATARE" * Las cont debit = contul original, nu cu 6588 daca nu eset configurare IF .F. Select crsconfigcvc Locate For Cont = Upper(Alltrim(loRec.scd)) && 301, 302... If Found() AND !Empty(NVL(cont_diferente, '')) loRec.scd = Alltrim(cont_diferente) ELSE loRec.SCD='6588' ENDIF loRec.ascd='' ENDIF *!* modificare ROAGEST v 2.0.101 ^ Insert Into ACTACTAN From Name loRec Release loRec Else amessagebox('Nu s-a gasit nici o inregistrare x = 40x pentru distribuirea diferentei la valoarea fara tva',0+48,'Diferente') Endif Endif If lnDiferentaValTva <> 0 And Thisform.nfTottva <> 0 Select ACTACTAN Locate For Inlist(SCD, '4426', '4428') If Found() Scatter Name loRec loRec.suma = lnDiferentaValTva loRec.explicatia5 = 'Diferente calcul TVA' Insert Into ACTACTAN From Name loRec Release loRec Else amessagebox('Nu s-a gasit nici o inregistrare x = 4426/4428 pentru distribuirea diferentei la valoarea tva',0+48,'Diferente') Endif Endif Endif *!* v 2.0.23 ^ Do completare_parteneri_gestiune In ointroduceri.prg Do completare_gruputil_analitice In oproceduri_comune.prg Do completare_tva_analitice In oproceduri_comune.prg * Achizitii din CE, modific 4426 = 401 in 4426 = 4427 Select ACTACTAN Replace All scc With '4427', ascc WITH '', id_partc WITH 0, partc WITH '' For scd = '4426' AND LEFT(scc,1) = '4' AND IsJCJtvaCE(id_jtva_coloana) IN ACTACTAN Select ACTACTAN *!* modificare ROAGEST v 2.2.0 If Thisform.ntvaincasare = 1 Replace All scc With '4428',ascc WITH '' For Inlist(id_jtva_coloana,22,24,26,30,32,38,42) And scc = '4427' Replace All scd With '4428',ascd WITH '' For Inlist(id_jtva_coloana,171,173,175,179,189,211,215) And scd = '4426' If Upper(Alltrim(Nvl(oSet.tipJurnal, ''))) = 'JC' && FURNIZORI / PASIV lcSCTrez = 'scc' lcSCTVA = 'scd' Else lcSCTrez = 'scd' lcSCTVA = 'scc' ENDIF *!* 15.04.2013 - dupa ce puneam la loc 4428, ramanea cu analiticele de pe 4426 sau 4427 Do completare_gruputil_analitice In oproceduri_comune.prg Do completare_tva_analitice In oproceduri_comune.prg *!* ^15.04.2013 *** caut linia cu PLATA 401 = 5XX / INCASAREA 5XX = 411 Select actactan Locate For Inlist(Alltrim(&lcSCTrez),'5121','5124','5311','5314', '542') && scc = '5xx' / scd = '5xx' If Found() *lnNrChitanta = evaluate(Thisform.cobj + [.nrchitanta]) lnNrChitanta = IIF(Type(Thisform.cobj +[.nrchitanta])<>'U',Evaluate(Thisform.cobj +[.nrchitanta]),Evaluate(Thisform.cobj +[.nract])) lnIdFdoc = IIF(Type(Thisform.cobj+[.id_fdoc2])<>'U',Evaluate(Thisform.cobj+[.id_fdoc2]),Evaluate(Thisform.cobj+[.id_fdoc])) lcFdoc = IIF(Type(Thisform.cobj+[.fdocpl])<>'U',Evaluate(Thisform.cobj+[.fdocpl]),Evaluate(Thisform.cobj+[.fdoc])) Insert Into actactan(nr_nota,luna,an,nract,scd,ascc,scc,; suma,suma_val,pereched,perechec,explicatia4,explicatia5,Curs,id_util,; id_responsabil,nresp,id_venchelt,dst_chlt,id_lucrare,nrord,; id_ctr,contract,id_sectie,sectie,proc_tva,id_set,id_fact,; id_factd,id_factc,id_partd,partd,id_partc,partc,; id_sucursala,sucursala,id_fdoc,fdoc,id_gestin,id_jtva_coloana,taxcode,; gestin,id_gestout,gestout,id_valuta,nume_val,dataact,dataireg); Select a.nr_nota, a.luna, a.an, lnNrChitanta As nract,'4426' As scd,a.ascd As ascc,'4428' As scc,; a.suma, a.suma_val,a.nract As pereched,a.perechec,a.explicatia4,a.explicatia5,a.Curs,a.id_util,; a.id_responsabil,a.nresp,a.id_venchelt,a.dst_chlt,a.id_lucrare,a.nrord,; a.id_ctr,a.contract,a.id_sectie,a.sectie,a.proc_tva,a.id_set,-5 As id_fact,; 0 As id_factd,0 As id_factc,0 As id_partd,'' As partd, 0 As id_partc, '' As partc,; a.id_sucursala,a.sucursala,; lnIdFdoc as id_fdoc, lcFdoc as fdoc,; 0 As id_gestin,; c.id_tva As id_jtva_coloana,; CAST(GetTaxCode(m.gnAn, m.gnLuna, a.dataact, c.id_tva) as N(6) NULL) as taxcode,; '' As gestin,0 As id_gestout,'' As gestout,a.id_valuta,a.nume_val,a.dataact,a.dataireg ; FROM actactan a ; Left Join jtva_coloane b On a.id_jtva_coloana = b.id_tva ; left Join jtva_coloane c On b.id_jtva_ex = c.id_jtva_coloana ; Where a.scd = '4428' And Like('4*',a.scc) And !Isnull(b.id_jtva_ex) Insert Into actactan(nr_nota,luna,an,nract,scc,ascd,scd,; suma,suma_val,pereched,perechec,explicatia4,explicatia5,Curs,id_util,; id_responsabil,nresp,id_venchelt,dst_chlt,id_lucrare,nrord,; id_ctr,contract,id_sectie,sectie,proc_tva,id_set,id_fact,; id_factd,id_factc,id_partd,partd,id_partc,partc,; id_sucursala,sucursala,id_fdoc,fdoc,id_gestin,id_jtva_coloana,taxcode,; gestin,id_gestout,gestout,id_valuta,nume_val,dataact,dataireg); Select a.nr_nota, a.luna, a.an, lnNrChitanta As nract,'4427' As scc,a.ascc As ascd,'4428' As scd,; a.suma, a.suma_val, a.pereched,a.nract As perechec,a.explicatia4,a.explicatia5,a.Curs,a.id_util,; a.id_responsabil,a.nresp,a.id_venchelt,a.dst_chlt,a.id_lucrare,a.nrord,; a.id_ctr,a.contract,a.id_sectie,a.sectie,a.proc_tva,a.id_set,-5 As id_fact,; 0 As id_factd,0 As id_factc,0 As id_partd,'' As partd, 0 As id_partc, '' As partc,; a.id_sucursala,a.sucursala,; lnIdFdoc as id_fdoc, lcFdoc as fdoc,; 0 As id_gestin,; c.id_tva As id_jtva_coloana,; CAST(GetTaxCode(m.gnAn, m.gnLuna, a.dataact, c.id_tva) as N(6) NULL) as taxcode,; '' As gestin,0 As id_gestout,'' As gestout,a.id_valuta,a.nume_val,a.dataact,a.dataireg ; FROM actactan a ; Left Join jtva_coloane b On a.id_jtva_coloana = b.id_tva ; left Join jtva_coloane c On b.id_jtva_ex = c.id_jtva_coloana ; Where a.scc = '4428' And Like('4*',a.scd) And !Isnull(b.id_jtva_ex) Endif Endif *!* modificare ROAGEST v 2.2.0 ^ DO completare_taxname IN oproceduri_comune.prg DO completare_paymentname IN oproceduri_comune.prg DO completare_explicatie_tva IN oproceduri_comune.prg Go TOP IN actactan ***** articolele negestionabile nu intra in stoc 2009.02.17 Delete From (lcSelRul) Where in_stoc = 0 ***** 2009.02.17 ^ Return .T. ENDPROC PROCEDURE intrare_produs Select rul_temp Append Blank Replace id_articol With m.pnId_articol, ; denumire With m.pcDenumire, ; cant With m.pnCant, ; lot WITH m.pcLot, ; serie WITH m.pcSerie, ; pret With ROUND(Thisform.ntotal/pnCant,gnPPret), ; id_gestiune With pnId_gestiune, nume_gestiune With pcGestiune, ; id_gestin With pnId_gestiune, gestout With pcGestiune, ; cont With pcCont_articol, ; nnir With poact.nnir, ; dataact With poact.dataact, ; datain With poact.dataact, ; id_set With poact.id_set, ; in_stoc WITH pnInStoc,; in_crm WITH pnInCrm ; um WITH pcUm ; nract WITH poAct.nract *!* modificare ROAPRODUCTIE v 2.0.2 : am adaugat ce este sub id_set *!* proc_tva ? ENDPROC PROCEDURE KeyPress LPARAMETERS nKeyCode, nShiftAltCtrl LOCAL lcCtrGrid, lcCtrCriteriu, lcControl lcCtrGrid = [] lcCtrCriteriu = [] lcControl = UPPER(THIS.ACTIVECONTROL.NAME) IF lcControl = '_GRID1' lcCtrGrid = UPPER(THIS.ACTIVECONTROL.COMMENT) ENDIF IF lcControl = 'CRITERIU' lcCtrCriteriu = UPPER(THIS.ACTIVECONTROL.COMMENT) ENDIF DO CASE CASE nKeyCode = 13 AND 'GRD_ST' $ lcCtrGrid NODEFAULT THISFORM.urmator1.comMAND1.SETFOCUS CASE nKeyCode = 13 AND 'GRD_DR' $ lcCtrGrid NODEFAULT THISFORM.ct_grid_search1.Cb_tx_cautare1.TEXT.SETFOCUS CASE (nKeyCode >=33 AND nKeyCode <=122) AND ('CRITERIU_ST' $ lcCtrCriteriu OR 'GRD_ST' $ lcCtrGrid) NODEFAULT THIS.ct_grid_search1.Cb_tx_cautare1.TEXT.VALUE = ALLTRIM(THIS.ct_grid_search1.Cb_tx_cautare1.TEXT.VALUE) + CHR(nKeyCode) THIS.ct_grid_search1.Cb_tx_cautare1.TEXT.SETFOCUS KEYBOARD '{END}' CASE (nKeyCode = 127) AND ('CRITERIU_ST' $ lcCtrCriteriu OR 'GRD_ST' $ lcCtrGrid) && backspace NODEFAULT THIS.ct_grid_search1.Cb_tx_cautare1.TEXT.VALUE = LEFT(ALLTRIM(THIS.ct_grid_search1.Cb_tx_cautare1.TEXT.VALUE),LEN(ALLTRIM(THIS.ct_grid_search1.Cb_tx_cautare1.TEXT.VALUE))-1) THIS.ct_grid_search1.Cb_tx_cautare1.TEXT.SETFOCUS KEYBOARD '{END}' CASE (nKeyCode >=33 AND nKeyCode <=122) AND ('CRITERIU_DR' $ lcCtrCriteriu OR 'GRD_DR' $ lcCtrGrid) NODEFAULT THIS.ct_grid_order1.Cb_tx_cautare1.TEXT.VALUE = ALLTRIM(THIS.ct_grid_order1.Cb_tx_cautare1.TEXT.VALUE) + CHR(nKeyCode) THIS.ct_grid_order1.Cb_tx_cautare1.TEXT.SETFOCUS KEYBOARD '{END}' CASE (nKeyCode = 127) AND ('CRITERIU_DR' $ lcCtrCriteriu OR 'GRD_DR' $ lcCtrGrid) && backspace NODEFAULT THIS.ct_grid_order1.Cb_tx_cautare1.TEXT.VALUE = LEFT(ALLTRIM(THIS.ct_grid_order1.Cb_tx_cautare1.TEXT.VALUE),LEN(ALLTRIM(THIS.ct_grid_order1.Cb_tx_cautare1.TEXT.VALUE))-1) THIS.ct_grid_order1.Cb_tx_cautare1.TEXT.SETFOCUS KEYBOARD '{END}' CASE INLIST(nKeyCode, 13, 9, 4, 24) AND '_CBBASE1'$lcControl NODEFAULT thisform.ct_grid_search1.cb_tx_cautare1.text.SetFocus OTHERWISE DODEFAULT(nKeyCode, nShiftAltCtrl) ENDCASE ENDPROC PROCEDURE modificare_lista_preturi Lparameters tnIdPol, tnIdArticol, tnPretftvaLista, tnPretvtvaLista, tnPretLista, tnProcTvav, tnPretListaVechi && tnPretListaVechi - apare doar la operatiile de retur && la NIR se modifica automat pretul de lista If Type('tnPretListaVechi') = 'N' and Nvl(tnIdPol,0) <> 0 If aMessagebox(Alltrim(OSTG.denumire)+" are pretul " + ; Alltrim(Str(tnPretListaVechi,16, gnPPretV)) + [ in politicile de preturi.] + Alltrim(Str(tnIdPol)) + Chr(13) + Chr(10) + ; [Doriti sa il schimbati cu ]+Alltrim(Str(tnPretLista,16, gnPPretV))+[?],4+32) <> 6 Return Endif Endif *!* MODIFICARE PRETURI IN LISTA DE PRETURI PENTRU NIR-UL CU MODIFICAREA LISTEI DE PRETURI (ID_SET = 231 NIR MF PV LISTA DE PRETURI) Local lcSql, lcSelect lcSelect = Select() *!* verific daca exista articolul in politica de preturi lcSql = [Select id_pol_art, id_venchelt, proc_tvav from crm_politici_pret_art where id_pol = ] + Alltrim(Str(tnIdPol)) + [ and id_articol = ] + Alltrim(Str(tnIdArticol)) lnSucces = goExecutor.oExecute(m.lcSql, "cPoliticiPretArt") If lnSucces < 0 aMessageBox(goExecutor.cEroare,0+16, 'Eroare') Select (lcSelect) Return Endif Select cPoliticiPretArt Scatter Name loPoliticaPretArt Use In (Select('cPoliticiPretArt')) && TRANZACTIE MANUALA (MODIFICARE CRM_POLITICI_PRET_ART, CRM_POLITICI_PRETURI) lnSucces = SQLSetprop(gnHandle,"Transactions",2) If lnSucces < 0 aMessageBox("Programul nu a trecut pe tranzactie manuala",4+48,'Lista preturi') Select (lcSelect) Return Endif *!* ADAUGARE ARTICOL NOU IN LISTA DE PRETURI SAU MODIFICARE ARTICOL EXISTENT If Nvl(loPoliticaPretArt.id_pol_art,0) = 0 lcSql = [begin pack_preturi.adauga_politica_pret_art(] + ; ALLTRIM(Str(tnIdPol)) + [,] + ; && id_pol Alltrim(Str(tnIdArticol)) + [,] + ; && id_articol Alltrim(Str(tnPretLista,20,4)) + [,] + ; && pret Alltrim(Str(tnPretftvaLista,20,4)) + [,] + ; && pretftva Alltrim(Str(tnPretvtvaLista ,20,4)) + [,] + ; && pretctva [NULL, ] + ; && id_valuta Alltrim(Str(tnProcTvav,20,4)) + [,] + ; && proc_tvav [NULL, ] + ; && procent [NULL, ] + ; && id_venchelt Alltrim(Str(gnIdUtil)) + ; && id_util [); end;] Else lcSql = [begin pack_preturi.modifica_pret_pol_pret_art(] + ; ALLTRIM(Str(loPoliticaPretArt.id_pol_art)) + [,] + ; && id_pol_art Alltrim(Str(tnPretLista,20,4)) + [,] + ; && pret Alltrim(Str(tnPretftvaLista,20,4)) + [,] + ; && pretftva Alltrim(Str(tnPretvtvaLista ,20,4)) + [,] + ; && pretctva Iif(Isnull(loPoliticaPretArt.id_venchelt), 'NULL',Alltrim(Str(loPoliticaPretArt.id_venchelt))) + [,] + ; && id_venchelt Iif(Isnull(loPoliticaPretArt.proc_tvav), 'NULL', Alltrim(Str(loPoliticaPretArt.proc_tvav,20,4))) + ; && proc_tvav [); end;] Endif && Nvl(lnIdPolArt,0) = 0 lnSucces = goExecutor.oExecute(lcSql) If lnSucces < 0 aMessageBox(goExecutor.cEroare,0+16, 'Eroare') Else *!* MODIFICARE DATAORA, UTIL in CRM_POLITICI_PRETURI lcSql = [begin pack_preturi.modifica_politica_dataora(] + ; ALLTRIM(Str(tnIdPol)) + [,] + ; && id_pol Alltrim(Str(gnIdUtil)) + ; && id_util [); end;] lnSucces = goExecutor.oExecute(lcSql) If lnSucces < 0 aMessageBox(goExecutor.cEroare,0+16, 'Eroare') Endif Endif *!* COMMIT / ROLLBACK If lnSucces > 0 lnSucces = goExecutor.oExecute("COMMIT") If lnSucces < 0 aMessageBox(goExecutor.cEroare,0+16, 'Eroare') Endif Else lnSucces = goExecutor.oExecute("ROLLBACK") If lnSucces < 0 aMessageBox(goExecutor.cEroare,0+16, 'Eroare') Endif Endif SQLSetprop(gnHandle,"Transactions",1) Select (lcSelect) ENDPROC PROCEDURE Release lcSelRul = this.ct_grid_order1.cnumecursor lcSelSt = this.ct_grid_search1.cnumecursor IF USED(lcSelRul) USE IN (lcSelRul) ENDIF IF USED(lcSelSt) USE IN (lcSelSt) ENDIF IF USED('crsTransfer') USE IN crsTransfer ENDIF ENDPROC PROCEDURE Show *!* 18.08.2017 *!* marius.mutu *!* Completare tabel dreapta pentru MODIFICARE NIR/BON Lparameters nStyle Local lcObj, lcSelRul, lcSql private pnCod lcObj = Thisform.cobj lcSelRul = This.ct_grid_order1.cnumecursor This.lbTotal.Caption = 'TOTAL ' + This.CTip_frm This.ct_grid_order1.initializare(.T.) *!* modificare v 2.1.19 : la bon/factura nu-l las sa ordoneze dupa alte coloane If oset.model = 3 This.ct_grid_search1.ccoloanepermise = [codmat,denumire,serie,pret] Endif *!* modificare v 2.1.19 ^ This.ct_grid_search1.initializare(.T.) * MODIFICARE NIR/BON If Pemstatus(This, 'lCorectie', 5) And Pemstatus(This, 'nCod', 5) And Type('this.nCod') = 'N' And This.lCorectie And This.nCod > 0 pnCod = This.nCod lcSql = [select * from vrul where cod = ?pnCod] lnSucces = goExecutor.oExecute(m.lcSql, 'cRulTemp') IF lnSucces > 0 Select (m.lcSelRul) Append From Dbf('cRulTemp') ELSE AMESSAGEBOX(goExecutor.cEroare,0+48,_screen.Caption) ENDIF USE IN (SELECT('cRulTemp')) ENDIF This.calcul_sume(lcSelRul) This.ct_grid_search1.cb_tx_cautare1.SetFocus *!* modificare v 2.1.34 If Type(Thisform.ct_grid_search1.cnumecursor + ".in_stoc") <> "U" If oset.model >= 3 Thisform.ct_grid_search1._GRID1.SetAll("DynamicForeColor", "IIF(in_stoc=0,RGB(255,0,0),RGB(0,0,0))", "Column") Else Thisform.ct_grid_search1._GRID1.SetAll("DynamicForeColor", "IIF(in_stoc=0,RGB(0,128,128),RGB(0,0,0))", "Column") Endif Endif *!* modificare v 2.1.34 ^ *!* v 2.0.22 diferente de calcul NIR *!* doar pe nir afisez texboxurile pentru diferente If oset.model = 2 && NIR This.ct_factura1.txfTotal.Visible = .T. This.ct_factura1.txfBaza.Visible = .T. This.ct_factura1.txfTva.Visible = .T. Endif *!* v 2.0.22 ^ If Inlist(poact.id_set, 105, 106) Thisform.ct_grid_search1.cboListe.Visible = .T. Thisform.ct_grid_search1.lb_listePreturi.Visible = .T. Endif If oxset.cursval With Thisform.ct_factura2 .lb_valuta.Caption = [(] + &lcObj..nume_val_vanz + [)] With .lb_curs .Caption = [Curs ] + Dtoc(&lcObj..v8) + [ : ] + Alltrim(Str(&lcObj..Curs, 14, 4)) .AutoSize = .T. Endwith Endwith Endif If oset.productie And Inlist(oset.id_set, 26003, 26004) && modificare 17.10.2007 Thisform.container_valoare_decontata1.Visible = .T. Endif && transfer catre gest la pret vz, Intrare din transfer de la gest. valorica la pret de vanz., && protocol, sponsorizare If Inlist(oset.id_set, 75, 216, 230, 232, 233, 235, 257, 261, 267) Thisform.lb_totalctva.Visible = .T. Thisform.tx_totalctva.Visible = .T. Endif *!* modificare v 2.2.0 Thisform.nTvaincasare = &lcObj..tva_incasare *!* modificare v 2.2.0 ^ *!* modificare v 2.2.29 Thisform.omemopref = Createobject("Custom") AddProperty(Thisform.omemopref, "id_jtva_ach", 0) AddProperty(Thisform.omemopref, "proc_tva", 0.01) AddProperty(Thisform.omemopref, "id_jtva_vanz", 0) AddProperty(Thisform.omemopref, "proc_tvav", 0.01) *!* modificare v 2.2.29 ^ DoDefault(nStyle) ENDPROC PROCEDURE Ct_discount1.Init *!* 19.10.2017 *!* marius.mutu *!* s-a tratat cazul in care firma este cu TVA Incasare si trebuie id_jtax neexigibil in loc de exigibil *!* modificare 2.2.4 : am inlocuit jtva_coloane cu crsjtax Local lnIdJtva, lnProc_tva, lnproc, loTVA lnIdJtva = oSet.id_jtax && achizitii int. 19% loTVA = GeJtvaColoana(m.lnIdJtva, poAct.tva_incasare, NVL(oSet.tipjurnal, 'JC')) lnIdJtva = loTVA.id_jtva_coloana Select crsjtax Locate For id_jtva_coloana = m.lnIdJtva If !Found() Go Top Endif This.lb_explicatie_tva.Caption = Alltrim(Upper(denumire)) lnProc_tva = (cota_tva + 100) / 100 lnproc = cota_tva This.pntva = lnProc_tva This.nid_jtva_coloana = id_jtva_coloana This.nid_tva = id_tva This.cotaTva.ListIndex = Recno() ENDPROC PROCEDURE Ct_discount1.Refresh DODEFAULT() lcSelRul = thisform.ct_grid_order1.cnumecursor this.Parent.calcul_sume(lcSelRul) ENDPROC PROCEDURE Ct_factura1.txfBaza.Valid thisform.nftotctva = thisform.nftotftva + thisform.nftottva thisform.ct_factura1.txftotal.Refresh ENDPROC PROCEDURE Ct_factura1.txfTva.Valid thisform.nftotctva = thisform.nftotftva + thisform.nftottva thisform.ct_factura1.txftotal.Refresh ENDPROC PROCEDURE Ct_grid_order1.Cb_tx_gestin._CBBASE1.LostFocus SELECT nom_gestiuni pcobj.id_gestin = id_GESTiune pcobj.gestin = nume_gestiune pcObj.cgest = cgest pcobj.id_GESTiune = id_GESTiune pcobj.nume_gestiune = nume_gestiune ENDPROC PROCEDURE Ct_grid_search1.actualizeaza_grid *!* 12.06.2017 *!* marius.mutu *!* am pus conditii suplimentare la dynamicbackcolor sa nu mai dea invalid expression, sper *!* modificare ROAGEST v 2.1.19 Lparameters pcFiltru DoDefault(pcFiltru) If oSet.model = 3 poLog.Log('recordsource/tooltiptext inainte de This._GRID1.salveaza_grid() ' + ALLTRIM(TRANSFORM(this._griD1.RecordSource)) + '/' + ALLTRIM(TRANSFORM(This._grid1.ToolTipText)), PROGRAM()) This._GRID1.salveaza_grid() poLog.Log('recordsource/tooltiptext dupa This._GRID1.salveaza_grid() ' + ALLTRIM(TRANSFORM(this._griD1.RecordSource)) + '/' + ALLTRIM(TRANSFORM(This._grid1.ToolTipText)), PROGRAM()) lcCursor1 = Thisform.ct_grid_search1.cnumecursor lcCursor2 = Thisform.ct_grid_order1.cnumecursor lcCursor3 = [crsTempCurent] copiaza_structura_cursor(lcCursor1,lcCursor3) Insert Into (lcCursor3) Select * From (lcCursor1) If Used(lcCursor1) Use In (lcCursor1) Endif If !Inlist(gnTipGest , 6,7) Select a.*,a.cantitate-Nvl(b.cantitate,0) As stoc_actual From (lcCursor3) a ; Left Join (Select Sum(cante) As cantitate, id_articol, Nvl(serie,'') As serie,Pret,id_gestout ; From (lcCursor2) ; WITH (Buffering = .T.) Group By id_gestout,id_articol,serie,Pret) b On a.id_articol = b.id_articol ; And a.Pret = b.Pret ; AND a.id_gestiune = b.id_gestout ; And Nvl(a.serie,'') = Nvl(b.serie,'') ; Into Cursor (lcCursor1) Readwrite Else Select a.*,a.cantitate-Nvl(b.cantitate,0) As stoc_actual From (lcCursor3) a ; Left Join (Select Sum(cante) As cantitate, id_articol, Nvl(serie,'') As serie,Pret,pretv,id_gestout ; From (lcCursor2) ; WITH (Buffering = .T.) Group By id_gestout,id_articol,serie,Pret,pretv) b On a.id_articol = b.id_articol ; And a.Pret = b.Pret ; AND a.id_gestiune = b.id_gestout ; And Nvl(a.serie,'') = Nvl(b.serie,'') ; and a.pretv = b.pretv ; Into Cursor (lcCursor1) Readwrite Endif If Used(lcCursor3) Use In (lcCursor3) ENDIF poLog.Log('recordsource/tooltiptext inainte de This._GRID1.incarca_grid() ' + ALLTRIM(TRANSFORM(this._griD1.RecordSource)) + '/' + ALLTRIM(TRANSFORM(This._grid1.ToolTipText)), PROGRAM()) This._GRID1.incarca_grid() poLog.Log('recordsource/tooltiptext dupa This._GRID1.incarca_grid() ' + ALLTRIM(TRANSFORM(this._griD1.RecordSource)) + '/' + ALLTRIM(TRANSFORM(This._grid1.ToolTipText)), PROGRAM()) *!* modificare ROAGEST v 2.1.19 *!* If oSet.model = 3 This._GRID1.SetAll("DynamicBackColor","IIF(USED('" + m.lcCursor1 + "') and TYPE('" + + m.lcCursor1 + ".stoc_actual') = 'N' and " + m.lcCursor1 + ".stoc_actual=0,RGB(128,128,128),RGB(255,255,255))","Column") *!* Endif *!* modificare ROAGEST v 2.1.19 ^ Endif *!* modificare ROAGEST v 2.1.19 ^ ENDPROC PROCEDURE Ct_grid_search1.cboListe.Init IF INLIST(poact.id_set,105,106) SELECT cListePret LOCATE FOR id_pol = poact.id_pol this.Value = cListePret.nume_lista_preturi this.Refresh ENDIF ENDPROC PROCEDURE Ct_grid_search1.cboListe.Valid pnId_lista = cListePret.id_pol SELECT cListePret pcobj.id_pol = cListePret.id_pol thisform.ct_GRID_SEARCH1.initializare(.T.) thisform.ct_grid_search1.cb_tx_cautare1.text.SetFocus ENDPROC PROCEDURE Ct_grid_search1.Cb_tx_gestout._CBBASE1.Valid Select nom_gestiuni pcobj.id_gestout = id_GESTiune pcobj.gestout = nume_gestiune pcobj.cgest = cgest pcobj.id_GESTiune = id_GESTiune pcobj.nume_gestiune = nume_gestiune Thisform.ct_GRID_SEARCH1.initializare(.T.,.T.) *!* modificare ROAGEST v 2.1.33 *!* This.Parent.Parent.cb_tx_cautare1.Text.SetFocus() Return This.Parent.Parent.cb_tx_cautare1.Text *!* modificare ROAGEST v 2.1.33 ^ ENDPROC PROCEDURE Lb_titlu_alb_b121.Init If Type('oxset.nume_set') # 'U' This.Caption = Proper(Alltrim(oxset.nume_set)) Endif This.Caption = This.Caption + [ ( Nr. document : ] + Alltrim(Nvl(poAct.serie_act,[])) + [ ] + ; TRANSFORM(poAct.nract,get_mask(14,0)) + [ ) ] ENDPROC PROCEDURE Urmator1.Command1.Click *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* Model =-1 : Nota fara contabilizare *!* Model = 1 : Nota simpla cu contabilizare *!* Model = 2 : NIR *!* Model = 3 : BON/FACTURA VANZARE *!* Model = 4 : Retur BON/FACTURA VANZARE *!* Model = 5 : Transfer *!* Model = 6 : Retur Transfer *!* Model = 7 : Diferenta de pret *!* Param1 = 1 : En-detail *!* Param1 = 2 : En-gros *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* 11.05.2009 -ultimul pret de achizitie,vanzare este din ultimii 2 ani *!* marius.felecanu *!* 26.05.2009 - pentru transfer - sectia si lucrarea se inregistreaza in contabilitate *!* marius.felecanu *!* 27.05.2009 - se poate adauga acelasi articol de mai multe ori *!* marius.felecanu *!* 30.03.2010 *!* marius.mutu *!* se citeste si rul.proc_tva de la ultima achizitie pentru NIR-urile din lista de preturi - completare automata preturi *!* 13.09.2010 *!* marius.mutu *!* ultimele preturi de achizitie, vanzare se citesc din RUL_ULTIMA_INTRARE daca este configurata optiunea RG_PRET_ULTIMA_INTRARE *!* 20.01.2015 *!* marius.mutu *!* se citesc ultimele preturi de achizitie pentru ID_SET = NIR + optiunea gnRG_NIR_ULTIMUL_PRET = 1 *!* 21.12.2015 *!* marius.mutu *!* nu mai suprascriu pretul de vanzare din lista de preturi. de ce ar trebui sa il suprascriu? *!* 22.09.2023 *!* marius.mutu *!* transfer ob inv in folosinta + alte transferuri (oSet.model = 5) corectare gestiune intrare daca se schimba gestiunea sursa Private poPreturi poPreturi = Createobject("empty") AddProperty(poPreturi,"pretv", 0) AddProperty(poPreturi,"tvav", 0) AddProperty(poPreturi,"pretvtva", 0) Local lnNIRPRETLISTAMOD If Type('gnNIRPRETLISTAMOD') <> 'U' lnNIRPRETLISTAMOD = gnNIRPRETLISTAMOD Else lnNIRPRETLISTAMOD = 0 Endif Local lnPretfTva, lnPretvTva, lnListaPreturiCuTva, lcAcont Local loPoliticaPretArt lnPretfTva = 0 lnPretvTva = 0 lnListaPreturiCuTva = 1 && daca lista de preturi are preturile cu tva id_set = 231 nir mf la pv cu modificarea listei de preturi loPoliticaPretArt = Null lcSelRul = Thisform.ct_grid_order1.cnumecursor *!* modificare 22.08.2007 *!* La toate conditiile unde era id_articol, am adaugat si NVL(serie,'') , in afara de politicile de preturi si reteta. lcIde = [T] lcIde = lcIde + ',' + Iif(oset.factura And oset.model = 2, 'F', '') && 2/F = FACTURA DE ACHIZITIE SI NIR lcIde = lcIde + ',' + Iif(oset.adaos And (oset.param1 = 1 Or oset.model = 2), 'A,X','') lcIde = lcIde + ',' + Iif(oset.discount, 'D','') lcIde = lcIde + ',' + Iif(Inlist(oset.model,2), 'N', Iif(Inlist(oset.model, 3, 4, 5, 6, 7), 'B', '')) && 2/N = NIR, B = BON/TRANSFER lcIde = Iif(oset.model = 7, lcIde + ',X' , lcIde) && 7 = DIFERENTA DE PRET PRODUSE lnProcDisc = Iif(oset.discount And Thisform.ct_discount1.Combogrid3.Value=3,Thisform.ct_discount1.proc_discount ,0) *!* modificare ROAFACTURARE v 2.0.96 If oset.id_set = 267 lnProcDisc = 0 Endif *!* modificare ROAFACTURARE v 2.0.96 ^ *!* modificare 22.06 *!* lnProcAdaos = IIF(oset.adaos,thisform.ct_adaos1.proc_adaos,0) lnProcAdaos = Iif(oset.adaos,Iif(Thisform.ct_adaos1.proc_adaos<-9999999,0,Thisform.ct_adaos1.proc_adaos),0) *!* ^ Select cursor_curent1 Scatter Name oStg If Empty(oStg.Cont) amessagebox('Nu s-a selectat niciun reper! Repetati selectia!',48,"Atentie") Release oStg Thisform.ct_grid_search1._GRID1.SetFocus Return Endif *!* modificare v 2.1.34 If oset.model >= 3 And Type(Thisform.ct_grid_search1.cnumecursor+".in_stoc")<>"U" IF oStg.in_stoc = 0 amessagebox("Acest articol este prezent in stoc, dar nu este definit ca fiind gestionabil!"+CHR(13)+CHR(10)+; "Intrati pe acest articol in 'Gestiuni > Configurare > Catalog de materiale si marfuri' si bifati casuta 'Articol gestionabil'!",48,"Atentie") RETURN ENDIF Endif *!* modificare v 2.1.34 ^ *!* modificare ROAGEST v 2.1.19 : *!* verific daca articolul ales respecta metoda FIFO / LIFO *!* modificare ROAGEST v 2.1.25 : am adaugat conditia legata de oset.id_set ( ob. de inv. ) If oset.model = 3 AND INLIST(gnFifoLifo,1,2) AND !INLIST(oset.id_set,70,72,104) *!* Select Min(a.nrordine) As nrordinemin From (Thisform.ct_grid_search1.cnumecursor) a ; *!* Left Join (Select Sum(cante) As cantitate From (Thisform.ct_grid_order1.cnumecursor) ; *!* WITH (Buffering = .T.) Where id_articol = oStg.id_articol ; *!* AND id_gestout = oStg.id_gestiune And Nvl(serie,'') = Nvl(oStg.serie,'') And datain = oStg.datain ; *!* GROUP By id_articol,serie) b On 1 = 1 ; *!* Where a.cantitate - Nvl(b.cantitate,0) <> 0 Into Cursor crsComparatie Select Min(nrordine) As nrordinemin From (Thisform.ct_grid_search1.cnumecursor) ; Where id_articol = oStg.id_articol ; AND id_gestiune = oStg.id_gestiune And Nvl(serie,'') = Nvl(oStg.serie,'') ; AND stoc_actual > 0 Into Cursor crsComparatie Select crsComparatie lnNrOrdineMin = nrordinemin If lnNrOrdineMin <> oStg.nrordine amessagebox("Articolul ales nu respecta metoda "+Iif(gnFifoLifo=1,"FIFO","LIFO")+" !",48,"Atentie") Select (Thisform.ct_grid_search1.cnumecursor) lnRecno = Recno() Locate For id_articol = oStg.id_articol ; AND id_gestiune = oStg.id_gestiune And Nvl(serie,'') = Nvl(oStg.serie,'') And nrordine = lnNrOrdineMin If !Found() Go lnRecno Endif Thisform.ct_grid_search1.SetFocus() Return Endif Endif *!* modificare ROAGEST v 2.1.19 ^ *!* If oSet.model > 2 And !Empty(NVL(oStg.id_rul_aux,0)) *!* amessagebox("Operatiile asupra acestui reper se pot efectua doar din programul ROAVIN!",48,"Atentie") *!* Release oStg *!* Thisform.ct_grid_search1._GRID1.SetFocus *!* Return *!* Endif *!* DNF Select (lcSelRul) Scatter Name orul BLANK MEMO If !Pemstatus(orul,'dnf',5) AddProperty(orul,'dnf',00000) If Pemstatus(oStg,'dnf',5) orul.DNF= oStg.DNF Endif ENDIF *!* MODIFICAT 11.04.2006 *!* MARIUS.MUTU - SA SE POATA SCOATE DIN STOC DE MAI MULTE ORI ACEEASI CANTITATE LA OB INV IN FOLOSINTA CAND TRANSFER, CASARE DIN FOLOSINTA *!* SET STEP ON Local lnCantIesita, lnCantStoc lnCantIesita = 0 lnCantStoc = 0 If !Inlist(oset.id_set,210,211,212,89,70) If 'B' $ lcIde Sele (lcSelRul) If !Inlist(gnTipGest , 6,7) Select Sum(cante) As cante, id_articol, Nvl(serie,'') As serie From (lcSelRul) ; WITH (Buffering = .T.) Where id_articol = oStg.id_articol And Pret =oStg.Pret ; AND id_gestout = oStg.id_gestiune And Nvl(serie,'') = Nvl(oStg.serie,'') ; GROUP By id_articol,serie Into Cursor crsCant *!* LOCATE FOR id_articol = ostg.id_articol AND pret =ostg.pret AND id_gestout = ostg.id_gestiune && id_gestout in loc de id_gestiune pt ca la transfer modific id_gestiune (inainte_de_do_termin) Else Select Sum(cante) As cante, id_articol,Nvl(serie,'') As serie From (lcSelRul) ; WITH (Buffering = .T.) Where id_articol = oStg.id_articol And pretv =oStg.pretv ; AND id_gestout = oStg.id_gestiune And Pret =oStg.Pret And Nvl(serie,'') = Nvl(oStg.serie,'') ; GROUP By id_articol,serie Into Cursor crsCant *!* LOCATE FOR id_articol = ostg.id_articol AND pretv =ostg.pretv AND id_gestout = ostg.id_gestiune AND pret =ostg.pret && id_gestout in loc de id_gestiune pt ca la transfer modific id_gestiune (inainte_de_do_termin) Endif *!* 27.05.2009 Select crsCant Locate lnCantIesita = cante lnCantStoc = oStg.cantitate If lnCantStoc <= lnCantIesita amessagebox('Stoc epuizat',0+64,"Info") Thisform.ct_grid_search1._GRID1.SetFocus Use In crsCant Return Endif *!* 27.05.2009 ^ Use In crsCant Endif Else && scoatere din stoc obiecte de inventar If 'B' $ lcIde Sele (lcSelRul) *!* modificare v 2.1.25 : am pus nvl la id_responsabil = oStg.id_responsabil Select Sum(cante) As cante, id_articol, Nvl(serie,'') As serie ; FROM (lcSelRul) With (Buffering = .T.) ; WHERE id_articol = oStg.id_articol And Pret =oStg.Pret And id_gestout = oStg.id_gestiune ; AND NVL(id_responsabil,0) = NVL(oStg.id_responsabil,0) And datapif = oStg.datapif And Nvl(serie,'') = Nvl(oStg.serie,'') ; GROUP By id_articol,serie Into Cursor crsCant *!* 27.05.2009 Select crsCant Locate lnCantIesita = cante lnCantStoc = oStg.cantitate If lnCantStoc <= lnCantIesita amessagebox('Stoc epuizat',0+64,"Info") Thisform.ct_grid_search1.cb_tx_cautare1.Text.SetFocus Use In crsCant Return Endif *!* 27.05.2009 ^ Use In crsCant Endif Endif *!* modificare 03.10.2007 If Inlist(oxset.model,4,6) && Retur lcObiect = Thisform.cobj &lcObiect..id_gestout = oStg.id_gestiune &lcObiect..gestout = Alltrim(oStg.nume_gestiune) Endif *!* modificare 03.10.2007 ^ Thisform.assign_values('orul',Thisform.cobj,'oStg') * La transfer, tabelul din dreapta rul_temp1 are cantitatile intrate, iar crsTransfer cantitatile iesite * Daca se schimba gestiunea sursa, se schimba si pcObj.id_gestiune = pcObje.id_gestout (poAct) si in rul_temp1 (intrari) va intra gestiunea sursa, in loc de destinatie * Modific gestiunea = gestiunea sursa in intrari If Inlist(oSet.model, 5) AND TYPE('orul.id_gestiune') = 'N' AND !EMPTY(NVL(pcObj.id_gestin,0)) && TRANSFER orul.id_gestiune = pcobj.id_gestin orul.nume_gestiune = pcobj.gestin ENDIF * 01.04.2021 - repun responsabilul salvat dupa articolul anterior IF !EMPTY(NVL(Thisform.nIdResponsabil,0)) orul.id_responsabil = thisform.nIdResponsabil orul.nresp = thisform.nResp ENDIF If Type('orul.datapif') # 'U' And Type('orul.datapif') = 'T' && pentru ob. inv. in folosinta orul.datapif = Ttod(orul.datapif) Endif If Inlist(oset.model,3,4) And oset.param1 = 1 && bon/retur + factura + en-detail lnPretvTva = orul.pretv + orul.tvav && pret vanzare cu TVA *!* modificare 22.06 lnProcAdaos = Iif(orul.procent<>0,orul.procent,lnProcAdaos) *!* ^ Else *!* 09.06.2008 *!* 231 - nir mf pretv cu modificarea listei de preturi *!* 105,106 - roafacturare - NIR de marfa la pret de vanzare; *!* 231 = roagest - nir marfa la pretv cu lista de preturi *!* 236,240,241,243 - retur de la gestiune valorica - aviz expeditie - pret de lista *!* 247 = roagest - nir marfa la pretv cu lista de preturi gestiune hibrid 23.10.2008 *!* 266 roagest - mf pret de ach * > factura nesosita - pret de lista ** 19.05.2010 If Inlist(oset.id_set,105,106,231,236,240,241,242,247,255,256,266) lcSql = [ select pretftva, pretctva, (proc_tvav*100-100) as proc_tvav from vcrm_politici_pret_art where id_pol=] + Alltrim(Str(poact.id_pol))+; [ and id_articol =] + Alltrim(Str(oStg.id_articol)) lnSucces=goExecutor.oExecute(lcSql,'crsPret') If lnSucces < 0 amessagebox(goExecutor.cEroare,0+16,'Eroare') Endif Select crsPret lnPretfTva = pretftva lnPretvTva = pretctva IF !PEMSTATUS(poAct, 'proc_tvav',5 ) ADDPROPERTY(poAct, 'proc_tvav', 24) ENDIF poAct.proc_tvav = crsPret.proc_tvav Use In (SELECT('crsPret')) Private pnReturnValue pnReturnValue = 0 lnSucces = goExecutor.oSelect2Value("select preturi_cu_tva from vcrm_politici_preturi where id_pol = " + Alltrim(Str(poact.id_pol)), @pnReturnValue) If lnSucces < 0 amessagebox(goExecutor.cEroare,0+16,'Eroare') Else lnListaPreturiCuTva = pnReturnValue Endif Else lnPretvTva = 0 Endif *!* 09.06.2008 Endif If oset.id_set = 104 Private pnImputare Store 0 To pnImputare If gnImputare = 1 && pretul maxim din stoc lcSql=[select MAX(pret) as pretMax from (select pack_sesiune.suma_ron(pret, an, luna) as pret from ] + ; [(select pret, an, luna from stoc where id_articol = ] + +Alltrim(Str(orul.id_articol))+ ; [ and NVL(serie,'x_x_x') = '] + Nvl(orul.serie,'x_x_x') + [' ] + gcCondSucursala + [))] lnSucces=goExecutor.oExecute(lcSql,'crsPretMax') If lnSucces < 0 amessagebox(goExecutor.cEroare,0+16,'Eroare') Endif Select crsPretMax orul.pretv = pretMax If Isnull(orul.pretv) orul.pretv = 0 Endif If Used('crsPretMax') Use In crsPretMax Endif Endif Endif If Empty(Thisform.cfrm_ceredate) Return Endif If Inlist(oset.id_set,211) && TRANSFER MAGAZIE OB INV IN FOLOSINTA - CATRE GESTIUNE OB INV IN FOL PE UN RESPONSABIL orul.id_responsabil = 0 orul.NRESP = '' Endif lcForm = Alltrim(Thisform.cfrm_ceredate) onir = Createobject(lcForm,Thisform.omemopref) && modificare ROAGEST v 2.2.29 : am adaugat Thisform.omemopref onir.bVizualizare = lcIde onir.cobj = orul *onir.cParentObj = thisform.cobj onir.pretvtva = lnPretvTva *!* 27.05.2009 onir.ncant_stoc = lnCantStoc onir.ncant_iesita = lnCantIesita *!* 27.05.2009 ^ *!* 11.09.2008 ROAGEST 2.0.61 *!* 105 Achizitie fact. neplatita- marfa la pret de vanzare *!* 106 ? *!* 231 Achizitie fact. neplatita- marfa la pret de vanzare - pret de lista *!* 234 Achizitie fact. neplatita - bilete RATC - marfa la pret de vanzare -pret de list *!* 236,240,241,242 - Retur de la gestiune valorica - lista preturi - aviz expeditie *!* 247 = roagest - nir marfa la pretv cu lista de preturi gestiune hibrid 23.10.2008 *!* 248 Achizitie fact. neplatita - bilete RATC - marfa la pret de vanzare -pret de list - gestiune hibrid 23.10.2008 *!* 266 roagest - mf pret de ach * > factura nesosita - pret de lista ** 19.05.2010 If Inlist(oset.id_set,105,106,231,234,236,240,241,242,247,248,255,256,266) onir.cobj.pretv = lnPretfTva onir.cobj.tvav = lnPretvTva - lnPretfTva Endif *!* 11.09.2008 ROAGEST 2.0.61 ^ If oset.model = 2 And Type('ostg.cantitate') = 'N' And oset.id_selst = 30 onir.cobj.cant = oStg.cantitate Endif *!* 09.06.2008 *!* 231 - nir mf pretv cu modificarea listei de preturi && 247 = roagest - nir marfa la pretv cu lista de preturi gestiune hibrid 23.10.2008 *!* 248 Achizitie fact. neplatita - bilete RATC - marfa la pret de vanzare -pret de list - gestiune hibrid 23.10.2008 *!* 266 roagest - mf pret de ach * > factura nesosita - pret de lista ** 19.05.2010 *!* 267 modificare ROAFACTURARE v 2.2.2 If Inlist(oset.id_set,231,234,236,240,241,242,247,248,255,256,266,267) OR (m.gnRG_NIR_ULTIMUL_PRET = 1 AND INLIST(oset.id_set,43,44,45,46,47,48,49,50,51,101,94,85,246,249,250,251,264)) && v 2.0.14 din 11iun2008 - preluare preturi din rul de pe ultima factura de achizitie/retur, cautarea se face in ultimele 2 luni && 231 - NIR LISTA PRETURI && 234 - NIR RATC *!* v 2.0.18 (ordonare an desc, luna desc, dataora desc, cant <> 0) *!* 11.05.2009 -ultimul pret de achizitie,vanzare este din ultimii 2 ani *!* 30.03.2010 - se ia si proc_tva *!* 13.09.2010 If Type('gnRG_PRET_ULTIMA_INTRARE') = 'N' And gnRG_PRET_ULTIMA_INTRARE = 1 lcSql = [select pret, tva, proc_tva, pretv, tvav, pretvtva, dataora ]+; [ from rul_ultima_intrare where ID_ARTICOL = ]+Alltrim(Str(orul.id_articol)) Else lcSql = [select a.* from (select a.dataora,a.pret,a.tva, a.proc_tva, a.tvav,a.pretv,a.PRETV+a.TVAV as pretvtva ]+; [ from rul a where a.ID_ARTICOL = ]+Alltrim(Str(orul.id_articol)) + [ and a.sters = 0 and ] + ; [((a.cant<>0 and a.id_tip_rulaj = 0) or (a.cante<0 and a.id_tip_rulaj = 1) )]+; [ and an*12+luna between ]+ Alltrim(Str(gnAn*12+gnluna-23))+[ and ]+ Alltrim(Str(gnAn*12+gnluna)) +; [ order by a.an desc, a.luna desc, a.dataora desc) a where rownum = 1] Endif *!* 13.09.2010 ^ *!* v 2.0.18 ^ lnSucces=goExecutor.oExecute(lcSql,'crsPretUltim') If lnSucces < 0 amessagebox(goExecutor.cEroare,0+16,'Eroare') Else Select crsPretUltim If Reccount() > 0 onir.pretu_factura = crsPretUltim.Pret onir.cobj.Pret = crsPretUltim.Pret onir.cobj.tva = crsPretUltim.tva onir.cobj.proc_tva = crsPretUltim.proc_tva && suprascriu pretul de vanzare din lista doar daca pe nir am pretul <> 0 *!* 267 modificare ROAFACTURARE v 2.2.2 *!* If crsPretUltim.pretv <> 0 and oset.id_set <> 267 *!* 21.12.2015 nu mai suprascriu pretul de vanzare din lista de preturi. de ce ar trebui sa il suprascriu? If crsPretUltim.pretv <> 0 and onir.cobj.pretv = 0 and oset.id_set <> 267 onir.cobj.pretv = crsPretUltim.pretv onir.cobj.tvav = crsPretUltim.tvav onir.pretvtva = crsPretUltim.pretvtva Endif Endif Use In crsPretUltim Endif && v 2.0.14 din 11iun2008 ^ Endif *!* 09.06.2008 ^ onir.cTitlu = Alltrim(Nvl(oStg.denumire,'')) + [-] + Alltrim(Nvl(oStg.codmat,'')) onir.item2.text_item1.ReadOnly = Iif(oset.model = 2, .F., .T.) If oset.param1 = 1 And (oset.model = 4 Or gnTipGest = 6 Or gnTipGest = 7) && facturi retur / vanzare marfa la pret de vanzare en-detail - blochez pretul de vanzare onir.BlochezPretV = .T. onir.proc_tvav = orul.proc_tvav onir.proc_adaos = lnProcAdaos Endif Do Case Case oset.model = 7 && ( oset.id_set = 218 ) onir.item9.label_item1.Caption = 'Pret nou fara TVA' onir.item9.text_item1.InputMask = get_mask(12,gnPPret) Case poact.id_set = 104 && RoaObInv - Imputare onir.item7.label_item1.Caption = 'Pret imputare cu TVA' onir.item8.label_item1.Caption = 'TVA imputare' onir.item9.label_item1.Caption = 'Pret imputare fara TVA' * onir.BlochezPretV = .T. Case poact.id_set = 26001 && ROAPRODUCTIE.PV_PRODUCTIE Local lnPret Store 0 To lnPret Private poPret Store '' To poPret Local lcschema, lcselect, lcFiltru, lcOrder, llAfiseaza, lcgroup, llModParam, lcFiltruOriginal lcschema = [] lcselect = [select pret from vcrm_politici_pret_art] lcOrder = [] lcFiltru = [] llAfiseaza = .F. lcgroup = "" llModParam = .T. lcFiltruOriginal = [id_pol=] + Alltrim(Str(poact.id_pol)) + [ and id_articol=] + Alltrim(Str(oStg.id_articol)) gencursor('poPret','crsPret',lcselect,lcFiltru,lcschema,lcOrder,llAfiseaza, lcgroup, llModParam, lcFiltruOriginal) poPret.ca_baza1.afisare() Select crsPret Go Top lnPret = Pret If Used('crsPret') Use In crsPret Endif Release poPret onir.cobj.Pret = lnPret onir.item2.label_item1.Caption = 'Pret unitar' onir.item2.text_item1.ReadOnly = .T. onir.item2.text_item1.TabStop = .F. Local lcReteta, lnId_reteta Store 0 To lnId_reteta Store '' To lcReteta Private poReteta Store '' To poReteta lcschema = [] lcselect = [select id_reteta, reteta from vnom_retetar] lcOrder = [] lcFiltru = [] llAfiseaza = .F. lcgroup = "" llModParam = .T. lcFiltruOriginal = [principala=1 and id_articol=] + Alltrim(Str(onir.cobj.id_articol)) gencursor('poReteta','crsReteta',lcselect,lcFiltru,lcschema,lcOrder,llAfiseaza, lcgroup, llModParam, lcFiltruOriginal) poReteta.ca_baza1.afisare() Select crsReteta Go Top lcReteta = Alltrim(reteta) lnId_reteta = id_reteta If Used('crsReteta') Use In crsReteta Endif Release poReteta onir.cobj.reteta = lcReteta onir.cobj.id_reteta = lnId_reteta Endcase *onir.item4.text_item1.comment = onir.item4.text_item1.comment + IIF(INLIST(oset.model,3,4),[e],[]) && CANT sau CANTE onir.item4.text_item1.Comment = onir.item4.text_item1.Comment + ; Iif(Lower(Alltrim(Thisform.osel_dr.cantitate))=[cante],[e],[]) && CANT sau CANTE onir.proc_discount = lnProcDisc onir.proc_adaos = lnProcAdaos *** modific lucrarea cu lucrarea asociata gestiunii, daca este configurata lcSql = [select id_lucrare, nrord from vnom_gestiuni where id_gestiune = ] + alltrim(str(orul.id_gestiune)) llSucces = goExecutor.oExecuta(m.lcSql, "crsLucrareTemp") if m.llSucces go top in crsLucrareTemp if !empty(nvl(crsLucrareTemp.nrord,'')) onir.cobj.id_lucrare = crsLucrareTemp.id_lucrare onir.cobj.nrord = alltrim(crsLucrareTemp.nrord) endif use in (select('crsLucrareTemp')) endif onir.Show(1) If gnButon = 1 lcCant = [orul.] + Alltrim(Thisform.osel_dr.cantitate) If Type('ostg.cantitate') # 'U' And Inlist(oset.model, 3, 4, 5, 6, 7) &&: bon, retur, transfer, retur transfer lnCantD = &lcCant lnCantD1 = &lcCant lnCantS = oStg.cantitate *!* MODIFICAT 11.04.2006 *!* DOAR LA ID_SET = 210 (TRANSFER OB INV IN FOL CATRE MAI MULTI RESPONSABILI) AM PERMIS SA SE SCOATA DE MAI MULTE ORI ACELASI REPER *!* ADUN CANTITATEA DEJA IESITA LA CEA CURENTA lnCant = 0 If Inlist(oset.id_set,210,211,212,89) Select Sum(Nvl(cant,0)) As cant ; FROM (lcSelRul) With (Buffering = .T.); WHERE id_articol = oStg.id_articol And Pret = oStg.Pret And ; id_gestout = oStg.id_gestiune And Nvl(serie,'') = Nvl(oStg.serie,'') ; INTO Cursor crsCant Select crsCant Calculate Sum(cant) To lnCant lnCantD = lnCantD + lnCant Use In crsCant Endif If Abs(lnCantD) > Abs(lnCantS) Or (Sign(lnCantD1) * Sign(lnCantS) < 0) lcTitlu = [Atentie] lcTip = [Avertizare] lcImagine = [exclam.ico] ofrm_eroare = Createobject('frm_mesaj',lcTitlu,lcImagine,lcTip,"Cantitatea maxima existenta este:",oStg.cantitate) ofrm_eroare.Show(1) Release ofrm_eroare &lcCant = oStg.cantitate - lnCant Endif *!* MODIFICAT 11.04.2006 *!* NU ADAUG ARTICOLE FARA CANTITATE If &lcCant = 0 Thisform.ct_grid_order1.cb_tx_gestin.SetFocus() Return Endif Endif Do Case Case Inlist(oset.model, 4, 6) && retur BON, retur TRANSFER &lcCant = -&lcCant Case oset.model = 2 && NIR Select (lcSelRul) lcAcont = Thisform.assign_analitic(orul.Cont,Thisform.cobj,'orul') IF !EMPTY(m.lcAcont) orul.acont = m.lcAcont ENDIF Endcase If Inlist(oset.model,5,6,7) && TRANSFER, RETUR TRANSFER, DIFERENTA DE PRET lcCantDr = Lower(Alltrim(Thisform.osel_dr.cantitate)) lcCantTransf = [cant] + Iif(lcCantDr = [cante],[],[e]) If !Used('crsTransfer') Select *, 0000 As rec, 0 As nuInConturiX From (lcSelRul) Into Cursor crsTransfer Where 1=2 NOFILTER Readwrite Endif Select crsTransfer Append Blank Gather Name pcObj Gather Name oStg Replace cant With 0, cante With 0 Replace &lcCantTransf With &lcCant *!* v 2.0.24 lnProcTVA = Iif(proc_tva <> 0, proc_tva, TVA2PROCTVA(tva, Pret)) Replace proc_tva With lnProcTVA *!* v 2.0.24 ^ *REPLACE nuInConturiX WITH 1 *!* modificare 26.02.2007 Do Case Case Inlist(oset.id_set,75,218) && modificare 22.05.2007 : completez si pretv ca sa pot calcula adaosul Replace pretv With orul.pretv,tvav With orul.tvav,proc_tvav With orul.proc_tvav Case Inlist(oset.id_set, 207,254) orul.pretv = oStg.pretv orul.tvav = oStg.tvav orul.proc_tvav = oStg.proc_tvav Case oset.id_set = 89 && transfer intre persoane pcObj.id_gestin = orul.id_gestout pcObj.gestin = orul.id_gestout orul.id_gestin = orul.id_gestout orul.gestin = orul.gestout Endcase *!* IF oset.id_set = 89 && transfer intre persoane *!* pcObj.id_gestin = orul.id_gestout *!* pcObj.gestin = orul.id_gestout *!* orul.id_gestin = orul.id_gestout *!* orul.gestin = orul.gestout *!* ENDIF *!* modificare 26.02.2007 ^ Replace id_gestin With orul.id_gestin, gestin With orul.gestin Replace id_gestout With orul.id_gestout, gestout With orul.gestout *!* IF TYPE('orul.id_gestiune') = 'N' AND TYPE('crsTransfer.id_gestiunec') = 'N' *!* REPLACE id_gestiunec WITH orul.id_gestiune *!* ENDIF If Type('orul.id_responsabil') = 'N' And Type('crsTransfer.id_responsabilc') = 'N' Replace id_responsabilc With orul.id_responsabil Endif *!* nou 26.05.2009 Replace id_lucrare With orul.id_lucrare, nrord With orul.nrord Replace id_sectie With orul.id_sectie, sectie With orul.sectie *!* nou 26.05.2009 ^ Endif If oset.id_set = 104 If gnImputare = 1 Select cursor_curent1 If DNF<>0 uzura = (DNF-(dns_luni-Iif(!Empty(datapif) And !Isnull(datapif),((gnAn*12+gnluna)-(Year(datapif)*12+Month(datapif))),0)))/DNF*100 Else uzura = 0 Endif Do Case Case pnImputare = 1 && procent orul.pret_imputare = Round((100 - uzura) * orul.pretv / 100,gnPPretV) Case pnImputare = 2 && integral orul.pret_imputare = orul.pretv Otherwise orul.pret_imputare = orul.pretv Endcase Else orul.pret_imputare = orul.pretv Endif Endif Select (lcSelRul) Append Blank Gather Name orul Replace id_set With oset.id_set lnRecno = Recno() *!* IF TYPE('ostg.id_gestiune') = 'N' *!* REPLACE id_gestiunec WITH ostg.id_gestiune *!* ENDIF If Type('ostg.id_responsabil') = 'N' Replace id_responsabilc With oStg.id_responsabil Endif *!* MODIFICAT 11.04.2006 *!* MARIUS.MUTU - AM PUS RECNO('RUL_TEMP') IN CURSORUL DE TRANSFER - LA STERGERE SA POT STERGE SI LINIA CORESPONDENTA DIN CRSTRANSFER If Inlist(oset.model,5,6,7) And Used('crsTransfer') && TRANSFER, RETUR TRANSFER, DIFERENTA DE PRET Select crsTransfer Replace rec With lnRecno Endif *!* 09.06.2008 *!* 231 - nir mf pretv cu modificarea listei de preturi *!* daca pretul de vanzare este diferit de pretul de vanzare din lista *!* modific pretul de vanzare din lista *!* 247 = roagest - nir marfa la pretv cu lista de preturi gestiune hibrid 23.10.2008 *!* 266 roagest - mf pret de ach * > factura nesosita - pret de lista ** 19.05.2010 If Inlist(oset.id_set, 231, 247, 266) And poPreturi.pretvtva <> lnPretvTva And lnNIRPRETLISTAMOD = 1 lnPretftvaLista = poPreturi.pretv lnPretvtvaLista = poPreturi.pretvtva lnPretLista = Iif(lnListaPreturiCuTva = 1, lnPretvtvaLista, lnPretftvaLista) Thisform.modificare_lista_preturi(poact.id_pol, oStg.id_articol, lnPretftvaLista, lnPretvtvaLista, lnPretLista, orul.proc_tvav) Endif *!* 09.06.2008 ^ *!* 10.09.2008 v 2.0.61 *!* 236, 240, 241, 242 = retur de la gestiune valorica If Inlist(oset.id_set, 236, 240, 241, 242,255,256) And poPreturi.pretvtva <> lnPretvTva lnPretftvaLista = poPreturi.pretv lnPretvtvaLista = poPreturi.pretvtva lnPretLista = Iif(lnListaPreturiCuTva = 1, lnPretvtvaLista, lnPretftvaLista) Thisform.modificare_lista_preturi(poact.id_pol, oStg.id_articol, lnPretftvaLista, lnPretvtvaLista,lnPretLista, orul.proc_tvav,lnPretvTva) Endif *!* 10.09.2008 v 2.0.61 ^ * 01.04.2021 salvez responsabilul ales de utilizator si il folosesc pentru articolele urmatoare thisform.nIdResponsabil = orul.id_responsabil thisform.nResp = orul.nresp If Thisform.ct_grid_order1.cb_tx_gestin.Visible Thisform.ct_grid_order1.cb_tx_gestin._cbbase1.Value = orul.gestin Thisform.ct_grid_order1.cb_tx_gestin._cbbase1.Refresh Endif Thisform.ct_grid_order1.actualizeaza_grid() Thisform.ct_grid_order1._GRID1.AutoFit Else Thisform.ct_grid_search1._GRID1.SetFocus Endif Thisform.calcul_sume(lcSelRul) *!* SELECT crsTransfer *!* BROWSE *!* SELECT (lcSelRul) *!* BROWSE If oset.productie And Inlist(oset.id_set,26003,26004) && modificare 17.10.2007 AND ALLTRIM(UPPER(oset.formproduc))='FRM_ALEGE_SECTIE_COMANDA' pnValoareDecontata = Thisform.nTotal pnCheltuieliDirecte = Thisform.nTotal - pnValoareDecontata Thisform.container_valoare_decontata1.Refresh Endif If Thisform.nTotal#0 lnProcentDiscount=(Thisform.ct_discount1.baza_discount/Thisform.nTotal)*100 Else lnProcentDiscount=0 Endif If(Thisform.ct_discount1.Combogrid3.Value=2) Thisform.ct_discount1.txProc_discount.Value=lnProcentDiscount Endif *!* modificare ROAGEST v 2.1.19 If oset.model = 3 Select (Thisform.ct_grid_search1.cnumecursor) Replace stoc_actual With stoc_actual - orul.cante Endif *!* modificare ROAGEST v 2.1.19 ^ Release orul Release oStg ENDPROC PROCEDURE _shape1.DblClick IF thisform.WindowState = 2 thisform.WindowState = 0 ELSE thisform.WindowState = 2 ENDIF ENDPROC ENDDEFINE DEFINE CLASS nir_orig 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_discount1" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="_shape3" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="_shapeDr" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="_shapeSus" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="But_renunt1" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Urmator1" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="lbTotal" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="txNir" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Ct_adaos1" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Ct_factura1" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Ct_grid_search1" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Ct_grid_search1.But_nou1" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Ct_grid_search1.lb_listePreturi" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Ct_grid_search1.cboListe" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Ct_grid_search1.Cb_tx_gestout" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Ct_grid_order1" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Ct_grid_order1.Cb_tx_gestin" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Ct_grid_order1.But_sterge1" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Container_valoare_decontata1" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Ct_factura2" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Ct_factura2.lb_curs" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Ct_factura2.lb_valuta" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="tx_totalctva" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="lb_totalctva" UniqueID="" Timestamp="" /> #INCLUDE "..\include\foxpro.h" * *m: aleg_cont_transfer *m: analiza_cmp *m: assign_analitic *m: assign_values *m: bon_fiscal *m: calcul_pret_vanzare *m: calcul_sume *m: caut_gestiune *m: compensare *m: do_verifica_sume *m: intrare_produs *p: cfrm_ceredate *p: cobj *p: ctip_frm *p: ntotal *p: osel_dr * * BorderStyle = 1 cbuton3 = cbuton4 = Ct_grid_order1.But_sterge1;but_reface1 cfrm_ceredate = cobj = ctip_frm = NIR DoCreate = .T. Height = 572 lactiv3 = .T. lactiv4 = .T. Name = "nir_orig" ntotal = 0 osel_dr = Width = 793 WindowType = 1 _shape1.Anchor = 11 _shape1.Height = 30 _shape1.Left = -1 _shape1.Name = "_shape1" _shape1.Tag = "" _shape1.Top = -1 _shape1.Width = 726 _shape1.ZOrderSet = 2 _shape2.Anchor = 9 _shape2.Height = 29 _shape2.Left = 724 _shape2.Name = "_shape2" _shape2.Tag = "MOVABLE" _shape2.Top = 0 _shape2.Width = 69 _shape2.ZOrderSet = 4 Lb_titlu_alb_b121.Anchor = 3 Lb_titlu_alb_b121.FontName = "Comic Sans MS" Lb_titlu_alb_b121.FontSize = 10 Lb_titlu_alb_b121.Height = 20 Lb_titlu_alb_b121.Left = 10 Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" Lb_titlu_alb_b121.TabIndex = 5 Lb_titlu_alb_b121.Top = 3 Lb_titlu_alb_b121.Width = 41 Lb_titlu_alb_b121.ZOrderSet = 8 BUT_TERMIN1.Anchor = 9 BUT_TERMIN1.Height = 27 BUT_TERMIN1.Left = 757 BUT_TERMIN1.Name = "BUT_TERMIN1" BUT_TERMIN1.TabIndex = 3 BUT_TERMIN1.Tag = "" BUT_TERMIN1.Top = 1 BUT_TERMIN1.Width = 32 BUT_TERMIN1.ZOrderSet = 12 Gridsort1.Name = "Gridsort1" * ADD OBJECT '_shape3' AS _shape WITH ; Anchor = 135, ; BackStyle = 0, ; BorderColor = 7,118,177, ; BorderWidth = 2, ; Height = 427, ; Left = 9, ; Name = "_shape3", ; Tag = "", ; Top = 137, ; Width = 361, ; ZOrderSet = 1 *< END OBJECT: ClassLib="_baza.vcx" BaseClass="shape" /> ADD OBJECT '_shapeDr' AS _shape WITH ; Anchor = 45, ; BackStyle = 0, ; BorderColor = 7,118,177, ; BorderWidth = 2, ; Height = 427, ; Left = 406, ; Name = "_shapeDr", ; Tag = "", ; Top = 137, ; Width = 381, ; ZOrderSet = 3 *< END OBJECT: ClassLib="_baza.vcx" BaseClass="shape" /> ADD OBJECT '_shapeSus' AS _shape WITH ; Anchor = 11, ; BackStyle = 0, ; BorderColor = 7,118,177, ; BorderWidth = 2, ; Height = 103, ; Left = 8, ; Name = "_shapeSus", ; Tag = "RESIZABLE, MOVABLE", ; Top = 32, ; Width = 780, ; ZOrderSet = 5 *< END OBJECT: ClassLib="_baza.vcx" BaseClass="shape" /> ADD OBJECT 'But_renunt1' AS but_renunt WITH ; Anchor = 9, ; Left = 727, ; Name = "But_renunt1", ; TabIndex = 4, ; Tag = "", ; Top = 1, ; ZOrderSet = 7 *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> ADD OBJECT 'Container_valoare_decontata1' AS container_valoare_decontata WITH ; Left = 12, ; Name = "Container_valoare_decontata1", ; Top = 81, ; Visible = .F., ; ZOrderSet = 18, ; Label1.Name = "Label1", ; Text1.Name = "Text1" *< END OBJECT: ClassLib="ointroduceri.vcx" BaseClass="container" /> ADD OBJECT 'Ct_adaos1' AS ct_adaos WITH ; Anchor = 161, ; Left = 556, ; Name = "Ct_adaos1", ; TabIndex = 8, ; Tag = "", ; Top = 38, ; ZOrderSet = 13, ; LBBAZA_ADAOS.Name = "LBBAZA_ADAOS", ; LBTVA_ADAOS.Name = "LBTVA_ADAOS", ; LBPROC_ADAOS.Name = "LBPROC_ADAOS", ; TXBAZA_ADAOS.Name = "TXBAZA_ADAOS", ; TXTVA_ADAOS.Name = "TXTVA_ADAOS", ; TXPROC_ADAOS.Name = "TXPROC_ADAOS" *< END OBJECT: ClassLib="ferestre_cere_date.vcx" BaseClass="container" /> ADD OBJECT 'Ct_discount1' AS ct_discount WITH ; Anchor = 161, ; Left = 262, ; Name = "Ct_discount1", ; TabIndex = 10, ; Tag = "", ; Top = 37, ; ZOrderSet = 0, ; COMBOGRID3.Name = "COMBOGRID3", ; LBBAZA_DISCOUNT.Name = "LBBAZA_DISCOUNT", ; LBTVA_DISCOUNT.Name = "LBTVA_DISCOUNT", ; LBPROC_DISCOUNT.Name = "LBPROC_DISCOUNT", ; TXBAZA_DISCOUNT.Name = "TXBAZA_DISCOUNT", ; TXTVA_DISCOUNT.Name = "TXTVA_DISCOUNT", ; TXPROC_DISCOUNT.Name = "TXPROC_DISCOUNT", ; CotaTVA.HideSelection = .F., ; CotaTVA.Name = "CotaTVA", ; lbTva.Name = "lbTva", ; lb_explicatie_tva.Name = "lb_explicatie_tva" *< END OBJECT: ClassLib="ferestre_cere_date.vcx" BaseClass="container" /> ADD OBJECT 'Ct_factura1' AS ct_factura WITH ; Anchor = 131, ; Left = 14, ; Name = "Ct_factura1", ; TabIndex = 9, ; Tag = "", ; Top = 61, ; ZOrderSet = 14, ; lbBaza.Name = "lbBaza", ; lbTva.Name = "lbTva", ; txBaza.Name = "txBaza", ; txTva.Name = "txTva", ; lbExplic.Name = "lbExplic", ; txTotal.Name = "txTotal", ; lbTotal.Name = "lbTotal" *< END OBJECT: ClassLib="ferestre_cere_date.vcx" BaseClass="container" /> ADD OBJECT 'Ct_factura2' AS ct_factura WITH ; Anchor = 131, ; Height = 96, ; Left = 260, ; Name = "Ct_factura2", ; TabIndex = 9, ; Tag = "", ; Top = 36, ; Width = 238, ; ZOrderSet = 19, ; LBBAZA.Left = 51, ; LBBAZA.Name = "LBBAZA", ; LBBAZA.Top = 52, ; LBTVA.Left = 51, ; LBTVA.Name = "LBTVA", ; LBTVA.Top = 72, ; TXBAZA.InputMask = (get_mask(14,gnPVal)), ; TXBAZA.Left = 130, ; TXBAZA.Name = "TXBAZA", ; TXBAZA.Top = 50, ; TXTVA.InputMask = (get_mask(14,gnPVal)), ; TXTVA.Left = 130, ; TXTVA.Name = "TXTVA", ; TXTVA.Top = 70, ; LBEXPLIC.Left = 1, ; LBEXPLIC.Name = "LBEXPLIC", ; LBEXPLIC.Top = 52, ; TXTOTAL.ControlSource = "this.parent.totctva", ; TXTOTAL.InputMask = (get_mask(14,gnPVal)), ; TXTOTAL.Left = 130, ; TXTOTAL.Name = "TXTOTAL", ; TXTOTAL.Top = 28, ; LBTOTAL.Height = 17, ; LBTOTAL.Left = 3, ; LBTOTAL.Name = "LBTOTAL", ; LBTOTAL.Top = 19, ; LBTOTAL.Width = 97 *< END OBJECT: ClassLib="ferestre_cere_date.vcx" BaseClass="container" /> ADD OBJECT 'Ct_factura2.lb_curs' AS lb_titlu_albastru_b12 WITH ; Alignment = 2, ; AutoSize = .F., ; Caption = "[Curs]", ; FontBold = .T., ; Height = 22, ; Left = 19, ; Name = "lb_curs", ; Top = 2, ; Width = 201 *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> ADD OBJECT 'Ct_factura2.lb_valuta' AS lb_titlu_albastru_b12 WITH ; Caption = "[Valuta]", ; FontBold = .F., ; FontSize = 9, ; ForeColor = 7,118,177, ; Height = 17, ; Left = 58, ; Name = "lb_valuta", ; Top = 35, ; Width = 42 *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> ADD OBJECT 'Ct_grid_order1' AS ct_grid_order WITH ; Anchor = 45, ; cnumecursor = rul_temp1, ; Height = 425, ; Left = 409, ; Name = "Ct_grid_order1", ; TabIndex = 11, ; Top = 139, ; Width = 375, ; ZOrderSet = 16, ; _GRID1.Height = 345, ; _GRID1.Left = 6, ; _GRID1.Name = "_GRID1", ; _GRID1.TabIndex = 2, ; _GRID1.Top = 73, ; _GRID1.Width = 364, ; Titlu.Left = 9, ; Titlu.Name = "Titlu", ; Titlu.TabIndex = 3, ; Titlu.Top = 3, ; Cb_tx_cautare1.Criteriu.Name = "Criteriu", ; Cb_tx_cautare1.Left = 7, ; Cb_tx_cautare1.Name = "Cb_tx_cautare1", ; Cb_tx_cautare1.TabIndex = 1, ; Cb_tx_cautare1.Text.Name = "Text", ; Cb_tx_cautare1.Top = 46 *< END OBJECT: ClassLib="ferestre_cere_date.vcx" BaseClass="container" /> ADD OBJECT 'Ct_grid_order1.But_sterge1' AS but_sterge WITH ; Anchor = 9, ; Left = 310, ; Name = "But_sterge1", ; TabIndex = 5, ; TabStop = .F., ; Top = 45, ; Visible = .T. *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> ADD OBJECT 'Ct_grid_order1.Cb_tx_gestin' AS cb_tx_simplu WITH ; BackStyle = 0, ; BorderColor = 255,255,255, ; Height = 24, ; Left = 7, ; Name = "Cb_tx_gestin", ; TabIndex = 4, ; Top = 20, ; Width = 366, ; _CBBASE1.BorderStyle = 0, ; _CBBASE1.ColumnCount = 2, ; _CBBASE1.ColumnLines = .F., ; _CBBASE1.ColumnWidths = "220,40", ; _CBBASE1.ControlSource = "poact.gestin", ; _CBBASE1.FontItalic = .F., ; _CBBASE1.FontName = "Arial Narrow", ; _CBBASE1.Height = 23, ; _CBBASE1.Left = 124, ; _CBBASE1.Name = "_CBBASE1", ; _CBBASE1.RowSource = "nom_gestiuni.nume_gestiune,cgest", ; _CBBASE1.RowSourceType = 6, ; _CBBASE1.Sorted = .F., ; _CBBASE1.Top = 0, ; _CBBASE1.Width = 237, ; _LBBASE1.Caption = "gestiune destinatie:", ; _LBBASE1.FontItalic = .T., ; _LBBASE1.Left = 3, ; _LBBASE1.Name = "_LBBASE1", ; _LBBASE1.Top = 4 *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> ADD OBJECT 'Ct_grid_search1' AS ct_grid_search WITH ; Anchor = 135, ; cnumecursor = cursor_curent1, ; Height = 425, ; Left = 11, ; Name = "Ct_grid_search1", ; TabIndex = 1, ; Top = 139, ; Width = 357, ; ZOrderSet = 15, ; _GRID1.Comment = "grd_st", ; _GRID1.FontName = "Arial Narrow", ; _GRID1.Height = 345, ; _GRID1.Left = 6, ; _GRID1.Name = "_GRID1", ; _GRID1.RecordSource = "cursor_curent", ; _GRID1.TabIndex = 3, ; _GRID1.Top = 73, ; _GRID1.Width = 347, ; _GRID1.ZOrderSet = 0, ; Titlu.Left = 9, ; Titlu.Name = "Titlu", ; Titlu.TabIndex = 4, ; Titlu.Top = 2, ; Titlu.ZOrderSet = 1, ; Cb_tx_cautare1.Criteriu.Comment = "criteriu_st", ; Cb_tx_cautare1.Criteriu.Name = "Criteriu", ; Cb_tx_cautare1.Height = 27, ; Cb_tx_cautare1.Left = 7, ; Cb_tx_cautare1.Name = "Cb_tx_cautare1", ; Cb_tx_cautare1.TabIndex = 2, ; Cb_tx_cautare1.Text.Comment = "text_st", ; Cb_tx_cautare1.Text.Height = 25, ; Cb_tx_cautare1.Text.Left = 103, ; Cb_tx_cautare1.Text.Name = "Text", ; Cb_tx_cautare1.Text.Top = 1, ; Cb_tx_cautare1.Text.Width = 207, ; Cb_tx_cautare1.Top = 46, ; Cb_tx_cautare1.Width = 312, ; Cb_tx_cautare1.ZOrderSet = 2 *< END OBJECT: ClassLib="ferestre_cere_date.vcx" BaseClass="container" /> ADD OBJECT 'Ct_grid_search1.But_nou1' AS but_nou WITH ; Anchor = 9, ; Height = 27, ; Left = 322, ; Name = "But_nou1", ; TabIndex = 6, ; TabStop = .F., ; Top = 45, ; ZOrderSet = 3 *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> ADD OBJECT 'Ct_grid_search1.Cb_tx_gestout' AS cb_tx_simplu WITH ; BackStyle = 0, ; BorderColor = 255,255,255, ; Height = 24, ; Left = 7, ; Name = "Cb_tx_gestout", ; TabIndex = 5, ; Top = 20, ; Width = 346, ; ZOrderSet = 6, ; _CBBASE1.BorderStyle = 0, ; _CBBASE1.ColumnCount = 2, ; _CBBASE1.ColumnLines = .F., ; _CBBASE1.ColumnWidths = "180,30", ; _CBBASE1.ControlSource = "poact.gestout", ; _CBBASE1.FontItalic = .F., ; _CBBASE1.FontName = "Arial Narrow", ; _CBBASE1.Height = 23, ; _CBBASE1.Left = 101, ; _CBBASE1.Name = "_CBBASE1", ; _CBBASE1.RowSource = "nom_gestiuni.nume_gestiune,cgest", ; _CBBASE1.RowSourceType = 6, ; _CBBASE1.Sorted = .F., ; _CBBASE1.Top = 1, ; _CBBASE1.Width = 243, ; _LBBASE1.Caption = "Gestiune sursa", ; _LBBASE1.FontItalic = .T., ; _LBBASE1.Left = 3, ; _LBBASE1.Name = "_LBBASE1", ; _LBBASE1.Top = 3 *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> ADD OBJECT 'Ct_grid_search1.cboListe' AS combobox WITH ; Anchor = 3, ; BorderStyle = 0, ; ColumnCount = 4, ; ColumnLines = .F., ; ColumnWidths = "200,65,60,0", ; Format = "", ; Height = 23, ; Left = 104, ; Name = "cboListe", ; RowSource = "cListePret.nume_lista_preturi,datai,datas,id_pol", ; RowSourceType = 2, ; Style = 2, ; TabIndex = 1, ; Top = 21, ; Visible = .F., ; Width = 247, ; ZOrderSet = 5 *< END OBJECT: BaseClass="combobox" /> ADD OBJECT 'Ct_grid_search1.lb_listePreturi' AS label WITH ; Anchor = 3, ; BackStyle = 0, ; Caption = "Lista de preturi:", ; FontItalic = .T., ; Height = 17, ; Left = 11, ; Name = "lb_listePreturi", ; TabIndex = 7, ; Top = 25, ; Visible = .F., ; Width = 84, ; ZOrderSet = 4 *< END OBJECT: BaseClass="label" /> ADD OBJECT 'lb_totalctva' AS lb_simplu WITH ; Anchor = 41, ; Caption = "Total val.vanz. cu TVA", ; ForeColor = 7,118,177, ; Left = 558, ; Name = "lb_totalctva", ; Top = 109, ; Visible = .F. *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> ADD OBJECT 'lbTotal' AS titlufrumos WITH ; Anchor = 3, ; AutoSize = .T., ; Caption = "TOTAL NIR:", ; ForeColor = 7,118,177, ; Height = 20, ; Left = 20, ; Name = "lbTotal", ; TabIndex = 6, ; Top = 40, ; Width = 77, ; ZOrderSet = 10 *< END OBJECT: ClassLib="baza.vcx" BaseClass="label" /> ADD OBJECT 'tx_totalctva' AS _txbase WITH ; Alignment = 3, ; Anchor = 161, ; FontName = "Comic Sans MS", ; Height = 20, ; InputMask = (get_mask(12,gnPa)), ; Left = 678, ; Name = "tx_totalctva", ; ReadOnly = .T., ; SpecialEffect = 1, ; TabStop = .F., ; Top = 107, ; Value = 0, ; Visible = .F. *< END OBJECT: ClassLib="_tx_base.vcx" BaseClass="textbox" /> ADD OBJECT 'txNir' AS _txbase WITH ; Anchor = 3, ; BackStyle = 1, ; ControlSource = "thisform.ntotal", ; DisabledBackColor = 255,255,255, ; FontName = "Comic Sans MS", ; Height = 21, ; InputMask = (get_mask(12,gnPA)), ; Left = 98, ; Name = "txNir", ; ReadOnly = .T., ; SpecialEffect = 1, ; TabIndex = 7, ; Tag = "", ; Top = 39, ; Width = 152, ; ZOrderSet = 11 *< END OBJECT: ClassLib="_tx_base.vcx" BaseClass="textbox" /> ADD OBJECT 'Urmator1' AS urmator WITH ; Anchor = 240, ; Left = 373, ; Name = "Urmator1", ; TabIndex = 2, ; Tag = "", ; Top = 324, ; ZOrderSet = 9, ; Imbuton1.Height = 27, ; Imbuton1.Name = "Imbuton1", ; Imbuton1.Width = 30, ; Command1.Name = "Command1" *< END OBJECT: ClassLib="baza.vcx" BaseClass="container" /> PROCEDURE Activate this.WindowState = 2 ENDPROC PROCEDURE aleg_cont_transfer PARAMETERS tnIdGest lcSql = [select (case when p.explicatie is null then s.explicatie else p.explicatie end) as explicatie,] +; [c.cont, p.acont from VCORESP_CONT_TIPGEST c ] +; [left join vplcont_analitic p on c.cont = p.cont and p.an = ?gnAn ] +; [left join vplcont_sintetic s on c.cont = s.cont and s.an = ?gnAn] pcFiltruOrig = [c.id_tipgest in (select nr_pag from vnom_gestiuni where id_gestiune = ?tnIdGest)] pcfiltru = [1=2] pcschema = [] pcorder = [cont,acont] pccoloane = [cont,acont,explicatie] pcTitlu = [Alegeti Contul de Transfer] pcTitluColoane = [Cont,Analitic,Explicatie cont] locauta = cauta_alfa(lcSql,pcfiltru,pcschema,pcorder,pccoloane,pcTitlu,pcTitluColoane,'',.F.,pcFiltruOrig) && 11.07.2007 RETURN loCauta ENDPROC PROCEDURE analiza_cmp PARAMETERS tcRul, tcAct *!* 14.10.2006 *!* mutu.marius *!* tratare achizitie articol cu mai multe preturi LOCAL lcSql, lcCursor, lnSucces PRIVATE poArticol *** alocare numar NIR pt rulajele generate de CMP *** dezaloc in caz ca trece de mai multe ori prin metoda asta IF THISFORM.numar_plaja1.id_numar # 0 THISFORM.numar_plaja1.dezalocare_numar() ENDIF lnIdEnt = 0 THIS.numar_plaja1.id_entitate = lnIdEnt THIS.numar_plaja1.tip = 4 && NIR PT CMP THIS.numar_plaja1.serie = 2 && Asa transmit paramerii la procedura viz_config_serii din oproceduri_configurare.prg THIS.numar_plaja1.alocare_numar() lnNnir = THIS.numar_plaja1.numar_curent *** SELECT * ; FROM (tcRul) WITH (BUFFERING = .T.) ; INTO CURSOR crsTempRul SELECT DISTINCT ID_ARTICOL, CONT FROM crsTempRul ; INTO CURSOR crsArticoleTemp && pentru fiecare articol - se poate sa am acelasi articol cu mai multe preturi SELECT crsArticoleTemp SCAN SCATTER NAME poArticol && selectez din stoc cantitatea si pretul existente pentru articolul curent && posibil mai multe gestiuni ??? lcSql = [SELECT cants+cant-cante as cante, pret, id_articol, id_gestiune, id_gestiune as id_gestout, cont,] + ; [acont FROM stoc where an = ?gnAn and luna = ?gnluna and id_articol = ?poArticol.id_articol ] + ; [and (cants+cant-cante)<>0 and TRIM(cont) = ?ALLTRIM(poArticol.cont)] + gcCondSucursala lcCursorStoc = [tmpVer] lnSucces = goExecutor.oExecute(lcSql, lcCursorStoc) IF lnSucces < 0 amessagebox(goExecutor.cEroare,0+16,"Eroare") RETURN ENDIF && pentru fiecare pozitie articol achizitionat din articolul curent SELECT crsTempRul SCAN FOR cant <> 0 AND id_articol = poArticol.id_articol SCATTER NAME orul && scot articolul curent din rulaj la pretul de achizitie *!* IF RECCOUNT(lcCursorStoc) > 0 && il scot chiar daca nu il am in stoc - pentru ca s-ar putea sa fie achizitionat cu mai multe preturi SELECT (tcRul) APPEND BLANK GATHER NAME orul REPLACE cante WITH orul.cant, cant WITH 0, nnir WITH lnNnir, tva WITH 0 REPLACE id_tip_rulaj WITH 2 && RULAJ ARTIFICIAL CMP *!* ENDIF SELECT crsTempRul ENDSCAN *** scot din stoc articolul curent - cantitatea si pretul existente - inainte de achizitia curenta IF USED(lcCursorStoc) SELECT (lcCursorStoc) SCAN SCATTER NAME ointr SELECT (tcRul) APPEND BLANK GATHER NAME orul REPLACE cant WITH 0, cante WITH 0 GATHER NAME ointr REPLACE nnir WITH lnNnir REPLACE id_tip_rulaj WITH 2 && RULAJ ARTIFICIAL CMP SELECT (lcCursorStoc) ENDSCAN USE IN (lcCursorStoc) ENDIF && aflu pretul mediu ponderat - selectez toate iesirile din rul_temp (articolele achizitionate si stocul precedent) && pentru articol, cont curente && un singur pret mediu ponderat pe articol, indiferent de gestiune *!* 05.12.2006 *!* MARIUS.MUTU *!* LA RETUR FACTURA FURNIZOR CANTITATE NEGATIVA, DACA E RETUR LA TOATA CANTITATEA DIN STOC, *!* CANTITATEA TOTALA = 0, NUMERIC OVERFLOW LA CALCUL CMP *!* AM FACUT ABS(CANTE) SELECT SUM(ROUND(PRET*ABS(cante),gnPc)) AS valoare, SUM(ABS(cante)) AS cantitate, ID_ARTICOL, CONT ; FROM (tcRul) WITH (BUFFERING = .T.) ; WHERE cante <> 0 AND ID_ARTICOL = poArticol.ID_ARTICOL AND CONT = poArticol.CONT ; GROUP BY ID_ARTICOL, CONT ; INTO CURSOR tCmp SELECT tCmp SCAN SCATTER NAME ocmp && pretul mediu ponderat lnCMP = ROUND(ocmp.valoare/ocmp.cantitate, gnPpret) && articol, gestiune, cantitate_totala (cantitate achizitionata cu toate preturile + stoc) SELECT id_articol, id_gestiune, SUM(cante) AS cant ; FROM (tcRul) WITH (BUFFERING = .T.) ; WHERE ID_ARTICOL = ocmp.ID_ARTICOL AND cante <> 0 AND CONT = ocmp.CONT ; GROUP BY id_gestiune, ID_ARTICOL ; INTO CURSOR crsCantGest && adaug in rulaj intrarea cu toata cantitatea (achizitionata + stoc) la noul pret mediu ponderat SELECT crsCantGest SCAN SCATTER NAME ocant SELECT (tcRul) APPEND BLANK GATHER NAME orul REPLACE PRET WITH lnCMP, cant WITH 0, cante WITH 0, tva WITH 0 GATHER NAME ocant REPLACE nnir WITH lnNnir REPLACE id_tip_rulaj WITH 2 && RULAJ ARTIFICIAL CMP SELECT crsCantGest ENDSCAN USE IN crsCantGest && diferente de pret din rotunjiri IF ROUND(lnCMP * ocmp.cantitate, gnPc) - ocmp.valoare <> 0 SELECT (tcAct) APPEND BLANK GATHER NAME poact REPLACE nnir WITH lnNnir REPLACE scd WITH ocmp.CONT, scc WITH IIF(LEFT(ocmp.cont,3) = '371', '378', '308'), ascd WITH '', ascc WITH '' REPLACE suma WITH ROUND(lnCMP*ocmp.cantitate,gnPc) - ocmp.valoare ENDIF SELECT tCmp ENDSCAN USE IN tCmp ENDSCAN && crsArticoleTemp USE IN crsArticoleTemp SELECT (tcRul) && program vechi *!* PARAMETERS tcRul, tcAct *!* *** alocare numar NIR pt rulajele generate de CMP *!* *** dezaloc in caz ca trece de mai multe ori prin metoda asta *!* IF thisform.numar_plaja1.id_numar # 0 *!* thisform.numar_plaja1.dezalocare_numar() *!* ENDIF *!* lnIdEnt = 0 *!* this.numar_plaja1.id_entitate = lnIdEnt *!* this.numar_plaja1.tip = 4 && NIR PT CMP *!* this.numar_plaja1.serie = 2 && Asa transmit paramerii la procedura viz_config_serii din oproceduri_configurare.prg *!* this.numar_plaja1.alocare_numar() *!* lnNnir = this.numar_plaja1.numar_curent *!* *** *!* SELECT * FROM (tcRul) WITH (BUFFERING = .T.) INTO CURSOR crsTempRul *!* SELECT crsTempRul *!* SCAN FOR cant <> 0 *!* SCATTER NAME orul *!* lcCont = ALLTRIM(orul.cont) *!* lcsql = [SELECT cants+cant-cante as cante, pret, id_articol, id_gestiune, id_gestiune as id_gestout, cont, acont FROM stoc where an = ?gnAn and luna = ?gnluna and id_articol = ?orul.id_articol and (cants+cant-cante)<>0 and TRIM(cont) =?lcCont] *!* lcCursor = [tmpVer] *!* lnSucces = goExecutor.oExecute(lcSql,lcCursor) *!* If lnSucces < 0 *!* amessagebox(goExecutor.cEroare,0+16,"Eroare") *!* Return *!* ENDIF *!* IF RECCOUNT(lcCursor) > 0 *!* SELECT (tcRul) *!* APPEND BLANK *!* GATHER NAME orul *!* REPLACE cante WITH orul.cant, cant WITH 0, nnir WITH lnNnir *!* ENDIF *!* SELECT (lcCursor) *!* SCAN *!* SCATTER NAME ointr *!* SELECT (tcRul) *!* APPEND BLANK *!* GATHER NAME orul *!* REPLACE cant WITH 0, cante WITH 0 *!* GATHER NAME ointr *!* REPLACE nnir WITH lnNnir *!* SELECT (lcCursor) *!* ENDSCAN *!* USE IN (lcCursor) *!* *!* *!* SELECT (tcRul) *!* *!* LOCATE *!* && aflu pretul mediu ponderat *!* SELECT SUM(ROUND(pret*cante,gnPc)) as valoare, SUM(cante) as cantitate, id_articol, cont ; *!* FROM (tcRul) WITH (BUFFERING = .T.) ; *!* WHERE cante <> 0 AND id_articol = orul.id_articol ; *!* GROUP BY id_articol, cont ; *!* INTO CURSOR tCmp *!* *!* SELECT tCmp *!* SCAN *!* SCATTER NAME ocmp *!* lnCMP = ROUND(ocmp.valoare/ocmp.cantitate,gnPc) *!* *!* SELECT id_gestiune, SUM(cante) as cant FROM (tcRul) WITH (BUFFERING = .T.) ; *!* WHERE id_articol = ocmp.id_articol AND cante <> 0 AND cont = ocmp.cont ; *!* GROUP BY id_gestiune, id_articol ; *!* INTO CURSOR crsCantGest *!* *!* SELECT crsCantGest *!* SCAN *!* SCATTER NAME ocant *!* SELECT (tcRul) *!* APPEND BLANK *!* GATHER NAME orul *!* REPLACE pret WITH lnCMP, cant WITH 0, cante WITH 0 *!* GATHER NAME ocant *!* REPLACE nnir WITH lnNnir *!* SELECT crsCantGest *!* ENDSCAN *!* USE IN crsCantGest *!* IF ROUND(lnCMP*ocmp.cantitate,gnPc) - ocmp.valoare <> 0 *!* SELECT (tcAct) *!* APPEND BLANK *!* GATHER NAME poact *!* REPLACE nnir WITH lnNnir *!* REPLACE scd WITH ocmp.cont, scc WITH '308 ', ascd WITH '', ascc WITH '' *!* REPLACE suma WITH ROUND(lnCMP*ocmp.cantitate,gnPc) - ocmp.valoare *!* ENDIF *!* SELECT tCmp *!* ENDSCAN *!* USE IN tCmp *!* SELECT crsTempRul *!* ENDSCAN *!* USE IN crsTempRul *!* SELECT (tcRul) ENDPROC PROCEDURE assign_analitic PARAMETERS tcCont,pcAct,pcRul PRIVATE pcCont,pcAct,pcRul,pParamP,pParamS STORE 0 TO pParamP,pParamS lcAnalitic = '' lcAlias = ALIAS() pcCont = ALLTRIM(tcCont) lcSel = [SELECT * from ] + gcs + [.config_analitice WHERE cont = '] + ALLTRIM(pcCont) + ['] lcCursor = 'crs_cfg_ana' lnSucces = goExecutor.oExecute(lcSel,lcCursor) IF lnSucces < 0 aMESSAGEBOX(goExecutor.cEroare,0+16,"Eroare") ENDIF IF lnSucces > 0 IF RECCOUNT('crs_cfg_ana')=0 USE IN crs_cfg_ana lnSucces = -1 ENDIF ENDIF IF lnSucces > 0 SELECT crs_cfg_ana SCATTER NAME ocfg lcCampPrefix = NVL(ALLTRIM(ocfg.camp_leg_prefix),'') lcCampSufix = NVL(ALLTRIM(ocfg.camp_leg_sufix),'') IF !EMPTY(lcCampPrefix) IF TYPE('&pcRul..'+lcCampPrefix) # 'U' pParamP = &pcRul..&lcCampPrefix ELSE IF TYPE('&pcAct..'+lcCampPrefix) # 'U' pParamP = &pcAct..&lcCampPrefix ENDIF ENDIF ENDIF IF !EMPTY(lcCampSufix) IF TYPE('&pcRul..'+lcCampSufix) # 'U' pParamS = &pcRul..&lcCampSufix ELSE IF TYPE('&pcAct..'+lcCampSufix) # 'U' pParamS = &pcAct..&lcCampSufix ENDIF ENDIF ENDIF lcSel = [{call fconturi_analitice('] + ALLTRIM(gcs) + [','] + ALLTRIM(pcCont) + [',0,] + TRANSFORM(pParamP) + [,] + TRANSFORM(pParamS) + [)}] lcCursor = 'crs_analitice' lnSucces = goExecutor.oExecute(lcSel,lcCursor) IF lnSucces < 0 amessagebox(goExecutor.cEroare,0+16,"Eroare") ENDIF ENDIF && iau Primul Simbol Analitic din Tabel - ordonat pt ca e selectat cu Distinct IF lnSucces > 0 SELECT crs_analitice GO top lcAnalitic = ALLTRIM(acont) ENDIF && verificare analiticului cu Planul de Conturi IF lnSucces > 0 lcSel = [SELECT cont,acont from ] + gcs + [.vplcont_analitic WHERE cont = '] + ALLTRIM(pcCont) + [' and acont = '] + ALLTRIM(lcAnalitic) + [' and an = ] + TRANSFORM(gnAn) lcCursor = 'crs_verific' lnSucces = goExecutor.oExecute(lcSel,lcCursor) IF lnSucces < 0 amessagebox(goExecutor.cEroare,0+16,"Eroare") ENDIF ENDIF IF lnSucces > 0 IF RECCOUNT('crs_verific')=0 lnSucces = -1 ENDIF ENDIF IF USED('crs_cfg_ana') USE IN crs_cfg_ana ENDIF IF USED('crs_verific') USE IN crs_verific ENDIF IF USED('crs_analitice') USE IN crs_analitice ENDIF IF USED('crs_verific') USE IN crs_verific ENDIF IF lnSucces < 0 lcAnalitic = '' ENDIF SELECT (lcAlias) RETURN lcAnalitic ENDPROC PROCEDURE assign_values PARAMETERS tcObjDestinatie, tcObjSursa1, tcObjSursa2 lcSelRul = this.ct_grid_order1.cnumecursor lcOdest = ALLTRIM(tcObjDestinatie) lcOsursa1 = ALLTRIM(tcObjSursa1) lcOsursa2 = ALLTRIM(tcObjSursa2) SELECT (lcSelRul) FOR i = 1 TO FCOUNT() lcNumeCol = FIELD(i) IF TYPE('&lcOsursa1..'+lcNumeCol) # 'U' &lcodest..&lcNumeCol = &lcosursa1..&lcNumeCol ENDIF IF TYPE('&lcOsursa2..'+lcNumeCol) # 'U' IF EMPTY(&lcodest..&lcNumeCol) &lcodest..&lcNumeCol = &lcosursa2..&lcNumeCol ENDIF ENDIF ENDFOR ENDPROC PROCEDURE bon_fiscal PRIVATE pnSumaMp500 pnSumaMp500 = thisform.ct_factura1.txTotal.Value ocasamp500 = CREATEOBJECT('frm_tichete',pnSumaMp500) ocasamp500.show(1) RELEASE ocasamp500 ENDPROC PROCEDURE calcul_pret_vanzare PARAMETERS tcTabel LOCAL lnPretv, lnTvav, lnCoefAdaos, lnSuma, lcTabel STORE 0 TO lnPretv, lnTvav, lnCoefAdaos, lnSuma IF EMPTY(tcTabel) lcTabel = this.ct_grid_order1.cnumecursor ELSE lcTabel = ALLTRIM(tcTabel) ENDIF SELECT (lcTabel) SUM ROUND(ABS(cante*pret),gnPc) TO lnSuma IF lnSuma <> 0 lnCoefAdaos = (pcobj.totftva-lnSuma)/lnSuma && coeficientul mediu de adaos ELSE lnCoefAdaos = 1 ENDIF SELECT (lcTabel) SET FILTER TO REPLACE ALL proc_tvav WITH pcobj.proc_tva, procent WITH ROUND(lnCoefAdaos*100,2) CALCULATE cnt() TO lnRecords i = 0 SCAN i = i + 1 REPLACE pretv WITH ROUND(pret + ROUND(pret*lnCoefAdaos,gnPc),gnPc) && modificare 14.09.2007 REPLACE tvav WITH ROUND(pretv*(proc_tvav-1),gnPc) lnPretv = lnPretv + ROUND(pretv*cante,gnPC) lnTvav = lnTvav + ROUND(tvav*cante,gnPC) IF i = lnRecords IF lnPretv # pcobj.totftva REPLACE pretv WITH pretv + ROUND((pcobj.totftva - lnPretv)/cante,gnPc) ENDIF IF lnTvav # pcobj.tottva REPLACE tvav WITH tvav + ROUND((pcobj.tottva - lnTvav)/cante,gnPc) ENDIF ENDIF ENDSCAN ENDPROC PROCEDURE calcul_sume Parameters tcTabel *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* Model =-1 : Nota fara contabilizare *!* Model = 1 : Nota simpla cu contabilizare *!* Model = 2 : NIR *!* Model = 3 : BON/FACTURA VANZARE *!* Model = 4 : Retur BON/FACTURA VANZARE *!* Model = 5 : Transfer *!* Model = 6 : Retur Transfer *!* Model = 7 : Diferenta de pret *!* Param1 = 1 : En-detail *!* Param1 = 2 : En-gros *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* v 2.0.18 - am calculat total cu tva, total tva, total fara tva = diferenta, adaos *!* daca gnTipGest = 6 (marfa la pret de vanzare) - valoarea fara tva = valoarea cu tva - valoarea cu tva Store 0 To lnTotBaza, lnTotTva, lnBazaDiscount, lnBazaAdaos, lnTvaDiscount, lnTvaAdaos If Pcount() = 0 tcTabel = Alltrim(This.ct_grid_order1.cnumecursor) Endif *lcCant = [cant] + IIF(INLIST(oset.model, 3, 4),[e],[]) && 3 = bon, bon retur lcCant = This.osel_dr.cantitate llCalculFact = Iif(oset.param1 = 2, .F., .T.) && daca e En-gros (vanzare) nu mai recalculez Total factura If This.ct_discount1.Visible = .T. lnBazaDiscount = This.ct_discount1.baza_discount lnTvaDiscount = This.ct_discount1.tva_discount Endif If oset.adaos Do Case Case oset.param1 = 1 && factura de vanzare en-detail Select (tcTabel) Sum Round(&lcCant*Pret,gnPc) To Thisform.ntotal *!* v 2.0.18 - am calculat total cu tva, total tva, total fara tva = diferenta, adaos If gnTipGest <> 6 && calculez valftva si valtva pornind de la pretv in loc de (pretv+tvav) Sum Round(&lcCant*pretv - &lcCant*Pret,gnPc) To lnBazaAdaos *!* modificare 31.10.2006 *!* SUM ROUND(ROUND((pretv+tvav)/proc_tvav,gnPc)*&lcCant,gnPc) TO lnTotBaza *!* SUM ROUND(ROUND((pretv+tvav)*(proc_tvav-1)/proc_tvav,gnPc)*&lcCant,gnPc) TO lnTotTva Sum Round(pretv*&lcCant,gnPc) To lnTotBaza Sum Round(Round(pretv*&lcCant,gnPc)*(proc_tvav-1),gnPc) To lnTotTva *!* modificare 31.10.2006 ^ Else Sum Round(Round(pretv+tvav,gnPc)*&lcCant,gnPc) To lnTotctva Sum Round(Round((pretv+tvav)*&lcCant,gnPc)*(proc_tvav-1)/proc_tvav,gnPc) To lnTotTva lnTotBaza = lnTotctva - lnTotTva lnBazaAdaos = lnTotBaza - thisform.nTotal EndIf *!* v 2.0.18 ^ *!* modificare v 2.0.6 If oset.id_set = 75 && Transfer catre gestiune la pret de vanzare *!* v 2.0.18 - am calculat total cu tva, total tva, total fara tva = diferenta, adaos If gnTipGest <> 6 && calculez valftva si valtva pornind de la pretv in loc de (pretv+tvav) Sum Round(tvav*&lcCant,gnPc) To lnTotTvav Else Sum Round(Round(pretv*&lcCant,gnPc)*(proc_tvav-1),gnPc) To lnTotTvav EndIf Thisform.tx_totalctva.Value = lnTotTvav + lnTotBaza Endif *!* modificare v 2.0.6 ^ Case oset.param1 = 2 && factura de vanzare en-gros This.ct_factura1.totctva = pcobj.totctva This.ct_factura1.totftva = pcobj.totftva This.ct_factura1.tva = pcobj.tottva Select (tcTabel) Sum Round(&lcCant*Pret,gnPc) To Thisform.ntotal lnTotBaza = This.ntotal lnBazaAdaos = This.ct_factura1.totftva - Thisform.ntotal This.ct_adaos1.baza_adaos = lnBazaAdaos Otherwise Select (tcTabel) Sum Round(&lcCant*Pret,gnPc) To Thisform.ntotal lnTotBaza = This.ntotal Sum Round(Round(&lcCant*Pret,gnPc) * (proc_tva-1),gnPc) To lnTotTva *!* v 2.0.18 - am calculat total cu tva, total tva, total fara tva = diferenta, adaos If gnTipGest <> 6 Sum Round(&lcCant*pretv - &lcCant*Pret,gnPc) To lnBazaAdaos Else Sum Round(Round(pretv+tvav,gnPc)*&lcCant,gnPc) To lnTotctvaOther Sum Round(Round((pretv+tvav)*&lcCant,gnPc)*(proc_tvav-1)/proc_tvav,gnPc) To lnTotTvaOther lnTotfTvaOhter = m.lnTotctvaOther - m.lnTotTvaOther lnBazaAdaos = m.lnTotfTvaOhter - m.lnTotBaza EndIf *!* v 2.0.18 - am calculat total cu tva, total tva, total fara tva = diferenta, adaos Endcase Select (tcTabel) Sum procent To lnProcent Calculate Cnt() To lnNrRecord lnProcent = lnProcent/lnNrRecord This.ct_adaos1.baza_adaos = lnBazaAdaos This.ct_adaos1.proc_adaos = lnProcent Else Select (tcTabel) Sum Round(&lcCant*Pret,gnPc) To Thisform.ntotal lnTotBaza = Thisform.ntotal Sum Round(Round(&lcCant*Pret,gnPc) * (proc_tva-1),gnPc) To lnTotTva Endif If oset.factura And llCalculFact *!* modificare facturare in valuta 21.09.2007 If oset.cursval Select (tcTabel) *!* v 2.0.18 - am calculat total cu tva, total tva, total fara tva = diferenta, adaos If gnTipGest <> 6 && calculez valftva si valtva pornind de la pretv in loc de (pretv+tvav) Sum Round(&lcCant*pretvval,gnPc),Round(Round(&lcCant*pretvval,gnPc)*(proc_tvav-1),gnPc) To lnTotalFTvaVal,lnTotalTvaVal Else Sum Round(Round(pretvval*proc_tvav,gnPVal)*&lcCant,gnPVal) to lnTotalCTvaVal Sum Round(Round(Round(pretvval*proc_tvav,gnPVal)*&lcCant,gnPVal)*(proc_tvav-1),gnPVal) To lnTotalTvaVal lnTotalFTvaVal = m.lnTotalCTvaVal - m.lnTotalTvaVal EndIf *!* v 2.0.18 ^ With Thisform.ct_factura2 .totftva = lnTotalFTvaVal .tva = lnTotalTvaVal .totctva = lnTotalFTvaVal + lnTotalTvaVal .Refresh() Endwith lnTotBaza = Round(lnTotalFTvaVal * poAct.Curs,gnPc) lnTotTva = Round(lnTotalTvaVal * poAct.Curs,gnPc) Endif *!* modificare facturare in valuta 21.09.2007 ^ With This.ct_factura1 If oset.model = 2 && NIR lnBazaAdaos = 0 lnTvaAdaos = 0 Endif .totftva = lnTotBaza - lnBazaDiscount .tva = lnTotTva - lnTvaDiscount .totctva = .totftva + .tva Endwith Endif *!* modificare v 2.0.6 Do Case Case INLIST(oset.id_set , 216,257) && Intrare din transfer de la gest. valorica la pret de vanz. Select (tcTabel) *!* v 2.0.18 - am calculat total cu tva, total tva, total fara tva = diferenta, adaos If gnTipGest <> 6 && calculez valftva si valtva pornind de la pretv in loc de (pretv+tvav) Sum Round(pretv*cant,gnPc) To lnTotBaza216 Sum Round(tvav*cant,gnPc) To lnTotTvav Else Sum Round(Round(pretv+tvav,gnPc)*&lcCant,gnPc) To lnTotctva216 Sum Round(Round((pretv+tvav)*&lcCant,gnPc)*(proc_tvav-1)/proc_tvav,gnPc) To lnTotTvav lnTotBaza216 = lnTotctva216 - lnTotTvav EndIf *!* v 2.0.18 ^ Thisform.tx_totalctva.Value = lnTotTvav + lnTotBaza216 *!* modificare v 2.0.8 *!* modificare v 2.0.13 *!* modificare v 2.0.15 - protocol Case Inlist(oset.id_set, 230, 232, 233,261) && protocol Select (tcTabel) Sum Round((pretv+tvav)*cante,gnPc) To lnTotal230 Thisform.tx_totalctva.Value = lnTotal230 *!* modificare v 2.0.15 ^ *!* modificare v 2.0.13 ^ *!* modificare v 2.0.8 ^ Endcase *!* modificare v 2.0.6 ^ This.txNir.Refresh This.ct_factura1.Refresh This.ct_factura2.Refresh This.ct_adaos1.Refresh ENDPROC PROCEDURE caut_gestiune PARAMETERS tnFel IF EMPTY(tnFel) tnFel = 0 ENDIF IF tnFel = 1 && pret vanzare lcCond = [nr_pag = 6] ELSE lcCond = [nr_pag in (2,3,4,5)] ENDIF pcselect = [select * from vnom_GESTIUNI] pcFiltruOrig = [inactiv = 0 and ] + lcCond pcfiltru = [1=2] pcschema = [] pcorder = [NUME_gestiune] pccoloane = [nume_gestiune,cgest] pcTitlu = [Nume Gestiune Destinatie] pcTitluColoane = [Gestiune,Indicativ] locauta = cauta_alfa(pcselect,pcfiltru,pcschema,pcorder,pccoloane,pcTitlu,pcTitluColoane,'',.F.,pcFiltruOrig) && 11.07.2007 RETURN locauta ENDPROC PROCEDURE compensare IF USED('xcont') SELECT xcont LOCATE FOR Pozitie # Fel_Cont AND Cu_Inregistrari = 1 IF FOUND() pcContul = ALLTRIM(cont_part) pnIdPart = idPart pcNume = numepart pnFelCont = Fel_Cont pcDenumire = ALLTRIM(explic_cont) pcCond = [ an = ?gnAn and luna = ?gnluna] llval = .F. && Deocamdata e doar in lei IF llval pccond= pccond + [ and ABS(i.precvaldeb + i.valdebit - i.precvalcred - i.valcredit)>0 and i.id_valuta = ] + ALLTRIM(STR(&lcObj..id_valuta)) ELSE pccond= pccond + [ and (i.precvaldeb + i.valdebit - i.precvalcred - i.valcredit = 0) ] ENDIF pcselect = ['select i.* FROM ] + gcs + [.Vireg_parteneri i where 2=2 '] pcfiltru = [ i.id_part = ?pnIdPart AND ABS(i.precdeb + i.debit - i.preccred - i.credit)<>0 AND i.cont = ?pcContul and ] + pcCond pcschema = [''] pcorder = [''] PRIVATE podateintrod STORE '' TO podateintrod gencursor('podateintrod','crs_actcv',pcselect,pcfiltru,[''],'') lcFis = 'actcv' + ALLTRIM(pcContul) IF USED(lcFis) USE IN &lcFis ENDIF IF pnFelCont = 0 lcsel = [SELECT *, ACONT AS ASCC, nume_val as numeval, curs as cursschimb, precdeb + debit as totctva, preccred+credit as achitat, ] +; [precvaldeb + valdebit AS sumaval, precVALcred+VALcredit as achitatval, ] +; [.f. as ales, 00000000000000.0000 as sumaachi, 000000000000.0000 as sumaachi2, 00000000000000.0000 as achilei, 00000000000000.0000 as difplus, 00000000000000.0000 as difminus, 000000.0000 as cursval, 000000.0000 as cursdif ] +; [FROM crs_actcv INTO CURSOR ] + lcFis + [ READWRITE ] ELSE lcsel = [SELECT *, ACONT AS ASCD, nume_val as numeval, curs as cursschimb, preccred + credit as totctva, precdeb+debit as achitat, ] + ; [precvalcred + valcredit as sumaval, precVALdeb+VALdebit as achitatval, ] + ; [.f. as ales, 00000000000000.0000 as sumaachi, 00000000000000.0000 as sumaachi2, 00000000000000.0000 as achilei, 00000000000000.0000 as difplus, 00000000000000.0000 as difminus, 000000.0000 as cursval, 000000.0000 as cursdif ] + ; [FROM crs_actcv INTO CURSOR ] + lcFis + [ READWRITE ] ENDIF &lcsel SELECT (lcFis) OPLATA=CREATEOBJECT('ocompensari') * oplata.txtNume.value =lcNume OPLATA.titlufrumos1.CAPTION = pcDenumire + [: ] + pcNume OPLATA.pcFis = lcFis OPLATA.SUMA = THIS.ct_factura1.totctva OPLATA.pnFelCont = pnFelCont OPLATA.SHOW(1) *!* SELECT (lcfis) *!* CALCULATE cnt() FOR ales TO LnBife *!* IF LnBife=1 *!* LOCATE FOR ALES *!* &M=nract *!* ELSE *!* &M=0 *!* ENDIF ENDIF ENDIF ENDPROC PROCEDURE do_adauga PRIVATE pnpretvtva pnpretvtva = 0 lcNomArt = this.ct_grid_search1.cnumecursor SELECT (lcNomArt) SCATTER NAME lorec BLANK MEMO *!* 18.050.2007 *!* marius.mutu *!* articolul nou sa fie initializat ca gestionabil (orice program fara ROAPRETURI) IF TYPE('gcNumeProgram') = 'C' AND gcNumeProgram <> 'ROAPRETURI' loRec.in_stoc = 1 ELSE loRec.in_crm = 1 ENDIF *!* 18.050.2007 ^ PRIVATE poCote_tva STORE '' TO poCote_tva DO Adauga_Modifica_Inregistrare WITH [catalog_articole],lorec,,[INSERT] this.ct_grid_search1.actualizeaza_grid ENDPROC PROCEDURE do_modifica lcNomArt = this.ct_grid_search1.cnumecursor SELECT (lcNomArt) SCATTER NAME lorec PRIVATE poCote_tva STORE '' TO poCote_tva lnId = lorec.id_articol DO Adauga_Modifica_Inregistrare WITH [catalog_articole],lorec,lnId,[UPDATE] this.ct_grid_search1.actualizeaza_grid ENDPROC PROCEDURE do_sterge LOCAL lnRecno, lcSelRul lcSelRul = this.ct_grid_order1.cnumecursor SELECT (lcSelRul) *SCATTER NAME osterg lnRecno = RECNO() DELETE *!* MODIFICAT 11.04.2006 *!* MARIUS.MUTU - AM PUS RECNO('RUL_TEMP') IN CURSORUL DE TRANSFER - LA STERGERE SA POT STERGE SI LINIA CORESPONDENTA DIN CRSTRANSFER IF INLIST(oset.model,5,6,7) AND USED('crsTransfer') SELECT crsTransfer GOTO lnRecno DELETE this.ct_grid_order1.cb_tx_gestin.SetFocus() ENDIF this.ct_grid_order1.actualizeaza_grid this.calcul_sume ENDPROC PROCEDURE do_termin If This.inainte_de_do_termin() lcSelRul = This.ct_grid_order1.cnumecursor lcSelSt = This.ct_grid_search1.cnumecursor gnButon = 1 pnButon = 1 Buton = 1 pnIesire = 1 *this.Hide If Type('pnTipCasaMarcat') = 'U' pnTipCasaMarcat = 1 Endif If Type('glListareBonFiscal')<>'U' And glListareBonFiscal And pnTipCasaMarcat#1 lcStringmp500 = '' Thisform.bon_fiscal() If gnButon<>1 Return Endif Endif Select actactan If !Inlist(poact.id_set, 26001) && PV de productie This.AlwaysOnTop = .F. Do Form verificare With .T.,.T.,3 && cu buton de precedent This.AlwaysOnTop = .T. Endif Do Case Case gnButon = 3 *onirbon.visible = .t. Do nrord With lcSelRul Otherwise This.Release Endcase Endif ENDPROC PROCEDURE do_verifica_sume tcTabel = Alltrim(This.ct_grid_order1.cnumecursor) Select (tcTabel) Replace id_valuta_vanz With poAct.id_valuta_vanz All Calculate Sum(Round(pretvval*cante,gnPc)),Sum(Round(pretv*cante,gnPc)) To lnTotalVal,lnTotalLei lnTotalVal = Round(lnTotalVal*poAct.Curs,gnPc) If lnTotalVal <> lnTotalLei lnDiferenta = lnTotalVal - lnTotalLei lnSemn = Sign(lnDiferenta) *!* lnDiferenta = Abs(lnDiferenta) lnDiferenta = lnDiferenta lnDiferentaPretU = Exp((-1)*gnPc*Log(10)) lnModificari = 1 Do While lnModificari <> 0 lnModificari = 0 Select (tcTabel) Scan lnDiferentaPret = Round(lnDiferentaPretU*cante,gnPc) lnSemnPret = Sign(lnDiferentaPret) If Abs(lnDiferentaPret) <= Abs(lnDiferenta) lnDiferenta = lnDiferenta - lnSemn * lnDiferentaPret Replace pretv With pretv + lnSemn * lnSemnPret * lnDiferentaPretU lnModificari = lnModificari + 1 Endif Endscan Enddo Endif ENDPROC PROCEDURE inainte_de_do_termin Local lcSelRul, lcSelRulGr,lcContTr, lcAcontTr, lcRul, lcSql, lcCursor, lnSucces, lcCant, lnIdGestiuneTr Store '' To lcContTr, lcAcontTr lnIdGestiuneTr = 0 lcSelRulGr = This.ct_grid_order1.cnumecursor Local lnRecno lnRecno = 0 pnBazaV341 = 0 pnBazaV346 = 0 pnBazaVProd = 0 pnBazaVAmb = 0 pnBazaVal341 = 0 pnBazaVal346 = 0 pnBazaValProd = 0 pnBazaValAmb = 0 *!* 15.03.2007 Local llY llY = .F. *!* 15.03.2007 ^ *!* modificare facturare in valuta 24.09.2007 If oset.cursval Thisform.do_verifica_sume() Endif *!* modificare facturare in valuta 24.09.2007 ^ Thisform.compensare && PT 542 ; se completeaza actactanul in adunadate *** completez tabela ACTACTAN If Type('oitem') = 'O' If Pemstatus(oitem,'adunadate',5) oitem.adunadate() Endif Endif *** If Used('rul_temp') Use In rul_temp Endif && completez RUL_TEMP lcRul = Alltrim(This.osel_dr.cfrom) lcSql = [select v.*,0 as pretvval,0 as curs,0 as id_valuta_vanz,0 as id_jtva_coloana, v.id_gestiune as id_gestin, v.nume_gestiune as gestin, v.id_gestiune as id_gestout, v.nume_gestiune as gestout, 0 as nuInConturiX] && VRUL_OBINV NU ARE CODMATF, LOT, ADATA_EXPIRARE SI NU SE MAI SALVEAZA LOT, ADATA_EXPIRARE IN RUL IF 'obinv'$LOWER(lcRul) lcSql = lcSql + [,rpad(' ',50,' ') as codmatf, rpad(' ',50,' ') as lot, to_date('') as adata_expirare] ENDIF lcSql = lcSql + [ from ] + lcRul + [ where 1=2] lcCursor = [rul_temp] lnSucces = goExecutor.oExecute(lcSql,lcCursor) If lnSucces < 0 Return .F. Endif Select rul_temp Append From Dbf(lcSelRulGr) lcSelRul = 'rul_temp' If oset.productie Do Case Case Alltrim(Upper(oset.formproduc))='FRM_ALEGE_PROD_CANT' Thisform.intrare_produs() Case INLIST(Alltrim(Upper(oset.formproduc)),'FRM_ALEGE_SECTIE_COMANDA','FRM_ALEGE_SECTIE') Select actactan *!* modificare 03.09.2007 *!* Replace id_sectie With pnId_sectie, sectie With pcSectie For Inlist(nr_nota,1,2,5) Replace id_sectie With 0, sectie With '' For Inlist(nr_nota,4) Endcase Endif *!* 15.03.2007 *!* pentru intrare dintr-o gestiune tinuta doar valoric - trebuie contul *!* daca exista Y (trebuie sa aleaga contul de transfer) Select xscd As SCD, xscc As scc From XNOTE Where id_set = oset.id_set ; AND (Inlist(Upper(Alltrim(xscd)),'Y') Or Inlist(Upper(Alltrim(xscc)),'Y')); INTO Cursor crsY If _Tally > 0 Or Inlist(oset.model, 5, 6, 7) llY = .T. Endif Use In crsY *!* 15.03.2007 ^ If Inlist(oset.model, 5, 6, 7) && TRANSFER, RETUR TRANSFER Select (lcSelRul) lnRecno = Recno() If oset.id_set = 211 && TRANSFER GESTIUNE OB INV IN FOLOSINTA PE PERSOANA CATRE O MAGAZIE OB INV IN FOLOSINTA Replace id_responsabil With 0, nresp With '' Endif If Used('crsTransfer') Append From Dbf('crsTransfer') If oset.id_set = 210 && TRANSFER MAGAZIE OB INV IN FOLOSINTA CATRE O GESTIUNE OB INV IN FOLOSINTA PE PERSOANA Replace id_responsabil With 0, nresp With '' For Recno() > lnRecno Endif *!* modificare 22.05.2007 *** se modifica pretul de ach. pentru intrari If oset.id_set = 218 Replace Pret With pretv For cant <> 0 Endif *!* modificare 22.05.2007 ^ Endif If !Inlist(oset.id_set,89, 210, 211, 212) && (FARA TRANSFER INTRE PERSOANE) If Inlist(oset.id_seldr,11,16,18) && achizitie poGestTr = This.caut_gestiune() Endif If oset.id_seldr = 12 && vanzare poGestTr = This.caut_gestiune(1) Endif If Empty(poGestTr.Id_gestiune) && renunt Return .F. Endif && Dc poGestTr.Id_gestiune nu e empty aleg contul de transfer si analiticul loCont = This.aleg_cont_transfer(poGestTr.Id_gestiune) If Empty(loCont.Cont) && renunt Return .F. Endif Select (lcSelRul) Replace All id_gestin With poGestTr.Id_gestiune, gestin With poGestTr.nume_gestiune &&FOR cant <> 0 Do Case Case Inlist(oset.model,5,7) && transfer Replace All Id_gestiune With poGestTr.Id_gestiune, nume_gestiune With poGestTr.nume_gestiune For cant <> 0 Case oset.model = 6 && retur Replace All Id_gestiune With poGestTr.Id_gestiune, nume_gestiune With poGestTr.nume_gestiune For cante <> 0 Endcase lcContTr = loCont.Cont lcAcontTr = loCont.acont Select actactan Replace All SCD With lcContTr, ascd With lcAcontTr, id_gestin With poGestTr.Id_gestiune, gestin With poGestTr.nume_gestiune For Upper(Alltrim(SCD)) = 'Y' Select (lcSelRul) If oset.model = 6 lcCant = Thisform.osel_dr.cantitate Else lcCant = [cant] Endif Replace All Cont With lcContTr, acont With lcAcontTr For &lcCant <> 0 *!* REPLACE ALL id_gestiunec WITH id_gestout FOR cant <> 0 *!* REPLACE ALL id_gestiunec WITH id_gestin FOR cante <> 0 *!* REPLACE ALL nuInConturiX WITH 1 FOR cant <> 0 Endif Select (lcSelRul) Replace All id_gestiunec With id_gestout For cant <> 0 Replace All id_gestiunec With id_gestin For cante <> 0 Replace All nuInConturiX With 1 For cant <> 0 Endif Select (lcSelRul) If oset.param1 = 2 And oset.factura && factura en-gros This.calcul_pret_vanzare(lcSelRul) *!* modificare 31.10.2006 pnTotalFactura = This.ct_factura1.totctva pnBazaFactura = This.ct_factura1.totftva pnTvaFactura = This.ct_factura1.tva Select rul_temp Calculate Sum(Round(Round(pretv,gnPc)*cante,gnPc)),; SUM(Round(Round(Round(pretv,gnPc)*cante,gnPc)*(proc_tvav-1),gnPc)) ; TO lnBazaFactura,lnTvaFactura Do Case Case lnBazaFactura <> pnBazaFactura And lnTvaFactura <> pnTvaFactura lcMesaj = [Diferenta intre sumele introduse si cele rezultate din calcul:] + CRLF + ; SPACE(23) + [Baza] + Space(18) + [TVA] + CRLF + ; [Introduse:] + Space(5) + Str(pnBazaFactura,20,gnPc) + [ ] + Str(pnTvaFactura,20,gnPc) + ; CRLF +; [Calculate:] + Space(5) + Str(lnBazaFactura,20,gnPc) + [ ] + Str(lnTvaFactura,20,gnPc) + ; CRLF + CRLF + ; [Doriti sa continuati?] Case lnBazaFactura <> pnBazaFactura lcMesaj = [Diferenta intre sumele introduse si cele rezultate din calcul:] + CRLF + ; SPACE(23) + [Baza] + CRLF + ; [Introduse:] + Space(5) + Str(pnBazaFactura,20,gnPc) + CRLF+; [Calculate:] + Space(5) + Str(lnBazaFactura,20,gnPc) + CRLF + CRLF + ; [Doriti sa continuati?] Case lnTvaFactura <> pnTvaFactura lcMesaj = [Diferenta intre sumele introduse si cele rezultate din calcul:] + CRLF + ; SPACE(24) + [TVA] + CRLF + ; [Introduse:] + Space(5) + Str(pnTvaFactura,20,gnPc) + CRLF +; [Calculate:] + Space(5) + Str(lnTvaFactura,20,gnPc) + CRLF + CRLF + ; [Doriti sa continuati?] Otherwise lcMesaj = [] Endcase If !Empty(lcMesaj) If aMessagebox(lcMesaj,4+32+256,"Confirmare")==7 Return .F. Else pnBazaFactura = lnBazaFactura pnTvaFactura = lnTvaFactura pnTotalFactura = lnBazaFactura + lnTvaFactura Endif Endif Else pnTotalFactura = This.ct_factura1.totctva pnBazaFactura = This.ct_factura1.totftva pnTvaFactura = This.ct_factura1.tva *!* modificare 31.10.2006 ^ Endif pnDiscount = This.ct_discount1.baza_discount pnTVADiscount = -This.ct_discount1.tva_discount pnProcDiscount = This.ct_discount1.pnTva pnIdJtvaDiscount = This.ct_discount1.nid_jtva_coloana pnIdTvaDiscount = This.ct_discount1.nid_tva *!* pnTotalFactura = THIS.ct_factura1.totctva *!* pnBazaFactura = THIS.ct_factura1.totftva *!* pnTvaFactura = THIS.ct_factura1.tva pnBazaNir = [pret*cant] pnBazaBon = [pret*cante] pnTotalBon = This.ntotal pnTotalNir = This.ntotal *pnTvaNir = [tva*cant] pnTvaNir = [pret*cant] *!* modificari 31.10.2006 *!* *pnBazaVanz = [pretv*cante] *!* pnBazaVanz = [ROUND(ROUND((pretv+tvav)/proc_tvav,gnPc)*cante,gnPc)] *!* *pnTvaVanzIn = [tvav*cant] *!* *pnTvaVanzIn = [pretv*cant] *!* pnTvaVanzIn = [ROUND(ROUND((pretv+tvav)*(proc_tvav-1)/proc_tvav,gnPc)*cant,gnPc)] *!* *pnTvaVanzOut = [tvav*cante] *!* *pnTvaVanzOut = [pretv*cante] *!* pnTvaVanzOut = [ROUND(ROUND((pretv+tvav)*(proc_tvav-1)/proc_tvav,gnPc)*cante,gnPc)] pnBazaVanz = [ROUND(pretv*cante,gnPc)] pnBazaVal = [ROUND(pretvval*cante,gnPVal)] pnBazaValVanz = [ROUND(ROUND(pretvval*curs,gnPC)*cante,gnPC)] *** 04.07.2007 - modificat in calcul si raport rap_nirtransfer_vanz valoare tva *pnTvaVanzIn = [ROUND(ROUND(pretv*cant,gnPc)*(proc_tvav-1),gnPc)] *!* modificare 17.09.2007 pnTvaVanzIn = [ROUND(tvav*cant,gnPc)] *!* pnTvaVanzIn = [ROUND(ROUND(pretv*cant,gnPc)*(proc_tvav-1),gnPc)] *!* modificare 17.09.2007 ^ *pnTvaVanzOut = [ROUND(ROUND(pretv*cante,gnPc)*(proc_tvav-1),gnPc)] *!* modificare 17.09.2007 *!* pnTvaVanzOut = [ROUND(tvav*cante,gnPc)] pnTvaVanzOut = [ROUND(ROUND(pretv*cante,gnPc)*(proc_tvav-1),gnPc)] pnTvaVanzOut2 = [Round(tvav*cante,gnPc)] && modificare v 2.0.8 pnTvaVal = [ROUND(ROUND(pretvval*cante,gnPVal)*(proc_tvav-1),gnPVal)] pnTvaValVanz = [ROUND(ROUND(ROUND(pretvval*curs,gnPC)*cante,gnPC)*(proc_tvav-1),gnPC)] *!* modificare 17.09.2007 ^ *** If oset.id_set = 104 And gnImputare = 1 pnBazaVanz = [ROUND(pret_imputare*cante,gnPc)] pnTvaVanzOut = [ROUND(ROUND(pret_imputare*cante,gnPc)*(proc_tvav-1),gnPc)] Endif *!* modificari 31.10.2006 ^ pnAdaosTotal = This.ct_adaos1.baza_adaos pnBazaPlusAdaos = pnTotalBon + pnAdaosTotal lcCant = Lower(Alltrim(This.osel_dr.cantitate)) If Inlist(oset.model, 5, 6, 7) && transfer lcCant = 'cante' Endif pnAdaos = [pretv*] + lcCant + [-pret*] + lcCant Select * From XNOTE Where id_set = oset.id_set Into Cursor crsNota lcField = '' Select xact Go Top For i = 1 To Fcount() If Upper(Alltrim(Evaluate(Field(i)))) = 'SUMA' lcField = Field(i) Exit Endif Endfor If Empty(lcField) Return .T. Endif Select Distinct xscd As SCD, xscc As scc, Padr(&lcField,100,' ') As eticheta,x34 From crsNota ; WHERE Inlist(Upper(Alltrim(xscd)),'X') Or Inlist(Upper(Alltrim(xscc)),'X'); INTO Cursor crsIcsi If _Tally > 0 Select crsIcsi Scan lcEticheta = Lower(Alltrim(eticheta)) If Empty(lcEticheta) aMessagebox('NECONFIGURAT xnote.dbf !',48,'Atentie!') Loop Endif lcSCD = Upper(Alltrim(SCD)) lcSCC = Upper(Alltrim(scc)) lcIDJtva = Upper(Alltrim(x34)) If Inlist(oset.model, 5, 6, 7) && TRANSFER, RETUR TRANSFER If lcSCD = 'Y' lcSCD = lcContTr Endif If lcSCC = 'Y' lcSCC = lcContTr Endif Endif && despart sumele pe gestiuni si sectii - pt formarea corecta a analiticelor If 'pntvavanz' $ lcEticheta Or 'pnadaos' $ lcEticheta *!* IF 'pnadaos'$lcEticheta If Type('&lcEticheta') <> 'N' lcEticheta = &lcEticheta Endif lcSuma = [SUM(ROUND(&lcEticheta,gnPc))] *!* ELSE *!* lcEticheta = &lcEticheta *!* lcSuma = [SUM(ROUND(ROUND(&lcEticheta,gnPc)*(proc_tvav-1),gnPc))] *!* ENDIF lcSelect = [SELECT CONT,ACONT,id_gestiune,id_sectie,sectie,] + ; IIF(Type(lcSelRul+'.id_jtva_coloana')#'U',[id_jtva_coloana],[NULL]) + [ as id_jtva_coloana,] + ; IIF(Type(lcSelRul+'.proc_tvav')#'U',[proc_tvav],[0000]) + [ as proc_tva,] +; IIF(Type(lcSelRul+'.id_gestin')#'U',[id_gestin],[000000000]) + [ as id_gestin,] + ; IIF(Type(lcSelRul+'.id_gestout')#'U',[id_gestout],[000000000]) + [ as id_gestout,] + ; IIF(Type(lcSelRul+'.gestin')#'U',[gestin],[SPACE(50)]) + [ as gestin,] + ; IIF(Type(lcSelRul+'.gestout')#'U',[gestout],[SPACE(50)]) + [ as gestout,] + ; lcSuma + [ AS suma ] + ; [FROM ] + lcSelRul + [ where nuInConturiX = 0 into cursor crsConturiX ] + ; [GROUP BY 1,2,3,4,5,6,7,8,9,10,11] &lcSelect Else If Type('&lcEticheta') <> 'N' lcEticheta = &lcEticheta Endif lcSuma = [SUM(ROUND(&lcEticheta,gnPc))] *!* lcSuma = [SUM(ROUND(]+ALLTRIM(STR(lcEticheta,20,6))+[,gnPc))] lcSelect = [SELECT CONT,ACONT,id_gestiune,id_sectie,sectie,] + ; IIF(Type(lcSelRul+'.id_jtva_coloana')#'U',[id_jtva_coloana],[NULL]) + [ as id_jtva_coloana,] + ; IIF(Type(lcSelRul+'.proc_tva')#'U',[proc_tva],[0000]) + [ as proc_tva,] +; IIF(Type(lcSelRul+'.id_gestin')#'U',[id_gestin],[000000000]) + [ as id_gestin,] + ; IIF(Type(lcSelRul+'.id_gestout')#'U',[id_gestout],[000000000]) + [ as id_gestout,] + ; IIF(Type(lcSelRul+'.gestin')#'U',[gestin],[SPACE(50)]) + [ as gestin,] + ; IIF(Type(lcSelRul+'.gestout')#'U',[gestout],[SPACE(50)]) + [ as gestout,] + ; lcSuma + [ AS suma ] + ; [FROM ] + lcSelRul + [ where nuInConturiX = 0 into cursor crsConturiX ] + ; [GROUP BY 1,2,3,4,5,6,7,8,9,10,11] &lcSelect Endif Select crsConturiX Scan For suma*0 = 0 && sa evit cazurile in care suma este ****** Scatter Name loCX Select actactan Locate For Upper(Alltrim(SCD)) = lcSCD And Upper(Alltrim(scc)) = lcSCC If Found() Scatter Name loActactan With loActactan If Upper(Alltrim(.SCD)) = 'X' .SCD = loCX.Cont .ascd = Nvl(loCX.acont,'') .suma = loCX.suma If !Empty(lcIDJtva) && AND !INLIST(oset.model,5,6) .id_jtva_coloana = loCX.id_jtva_coloana .proc_tva = loCX.proc_tva Else .id_jtva_coloana = Null .proc_tva = 0 Endif .id_gestin = loCX.id_gestin .gestin = loCX.gestin .id_gestout = loCX.id_gestout .gestout = loCX.gestout .id_sectie = loCX.id_sectie .sectie = loCX.sectie Endif If Upper(Alltrim(.scc)) = 'X' .scc = loCX.Cont .ascc = Nvl(loCX.acont,'') .suma = loCX.suma *!* modificare 04.10.2007 *!* If Left(.scd,1) = '6' And Alltrim(.scd) # '607' And Inlist(oset.model, 3, 4) && BON, RETUR *!* If .scc = '381' *!* .scd = '608' *!* Else *!* .scd = Strtran(.scc, '3', '6', 1, 1) *!* Endif *!* Endif If Inlist(oset.model,3,4) Select crsconfigcvc Locate For Cont = Upper(Alltrim(.scc)) If Found() AND (EMPTY(.scd) OR INLIST(LEFT(.scd,1), '6','7')) .scd = ALLTRIM(cont_chelt) Else If Left(.scd,1) = '6' And Alltrim(.scd) # '607' If .scc = '381' .scd = '608' Else .scd = Strtran(.scc, '3', '6', 1, 1) Endif Endif Endif SELECT actactan Endif *!* modificare 04.10.2007 ^ If !Empty(lcIDJtva) && AND !INLIST(oset.model,5,6) .id_jtva_coloana = loCX.id_jtva_coloana .proc_tva = loCX.proc_tva Else .id_jtva_coloana = Null .proc_tva = 0 Endif .id_gestin = loCX.id_gestin .gestin = loCX.gestin .id_gestout = loCX.id_gestout .gestout = loCX.gestout .id_sectie = loCX.id_sectie .sectie = loCX.sectie Endif Endwith Append Blank Gather Name loActactan Endif && IF FOUND() Select crsConturiX Endscan Select crsIcsi Endscan Delete From actactan Where Inlist(Upper(Alltrim(SCD)),'X') Or Inlist(Upper(Alltrim(scc)),'X') Endif *!* 15.03.2007 ^ *!* inlocuiesc Y - la notele care nu sunt transfer sau retur transfer (intrare dintr-o gestiune tinuta valoric - trebuie contul) If !Inlist(oset.model, 5, 6, 7) And llY Select rul_temp Go Top lnIdGestiuneTr = Id_gestiune If !Empty(lnIdGestiuneTr) loCont = This.aleg_cont_transfer(lnIdGestiuneTr) lcContTr = loCont.Cont lcAcontTr = loCont.acont Select actactan Replace All SCD With lcContTr, ascd With lcAcontTr For Upper(Alltrim(SCD)) = 'Y' Replace All scc With lcContTr, ascc With lcAcontTr For Upper(Alltrim(scc)) = 'Y' Endif *!* 20.03.2007 *!* cont de transfer - cont din nomenclator *!* in rul aj trebuie sa am pe intrari contul din debit (contul de transfer) If oset.model = 2 Or Upper(Alltrim(oset.formgest)) = 'NIR' Select rul_temp Replace All Cont With lcContTr Endif Endif *!* 15.03.2007 ^ Select crsNota Scan For !(Inlist(Upper(Alltrim(xscd)),'X') Or Inlist(Upper(Alltrim(xscc)),'X')) Scatter Name loNota lcVariabila = Lower(Alltrim(loNota.&lcField)) lcIDJtva = Upper(Alltrim(x34)) If Inlist(oset.model, 5, 6, 7) Or llY && TRANSFER, RETUR TRANSFER If loNota.xscd = 'Y' loNota.xscd = lcContTr loNota.xAscd = lcAcontTr Endif If loNota.xscc = 'Y' loNota.xscc = lcContTr loNota.xAscc = lcAcontTr Endif Endif Do Case Case 'pntvanir' $ lcVariabila lcVariabila = &lcVariabila lcSelect = [SELECT b.id_tva as id_jtva_coloana,a.proc_tva,a.id_sectie,a.id_gestiune,a.sectie,] + ; IIF(Type(lcSelRul+'.id_gestin')#'U',[a.id_gestin],[0000000000]) + [ as id_gestin,] + ; IIF(Type(lcSelRul+'.id_gestout')#'U',[a.id_gestout],[000000000]) + [ as id_gestout,] + ; IIF(Type(lcSelRul+'.gestin')#'U',[a.gestin],[SPACE(50)]) + [ as gestin,] + ; IIF(Type(lcSelRul+'.gestout')#'U',[a.gestout],[SPACE(50)]) + [ as gestout,] + ; [SUM(ROUND(ROUND(&lcVariabila,gnPc)*(a.proc_tva-1),gnPc)) as suma ] + ; [FROM ] + lcSelRul + [ a LEFT JOIN jtva_coloane b ON a.id_jtva_coloana = b.id_jtva_coloana ] + ; [INTO CURSOR crsTva ] + ; [GROUP BY 1,2,3,4,5,6,7,8,9] &lcSelect Select crsTva i = 0 Scan For suma*0 = 0 && sa evit cazurile in care suma este ****** i = i + 1 If i = 1 Select actactan Locate For SCD = loNota.xscd And scc = loNota.xscc And suma = 0 If Found() Scatter Name loAct Delete Else Scatter Name loAct Blank Endif Endif Select crsTva Scatter Name loTva Select actactan Append Blank Gather Name loAct Gather Name loTva If Empty(lcIDJtva) Replace id_jtva_coloana With Null,proc_tva With 0 Endif Endscan Case 'pnbazavanz'$lcVariabila Or 'pntvavanz'$lcVariabila *!* IF 'pnbazavanz'$lcVariabila && 05.09.2007 && marius.mutu && linia If 'pnbazavanz'$lcVariabila intra mereu pe else si punea o baza cu id_jtva_coloana de tva lcVariabilatemp = lcVariabila lcVariabila = &lcVariabila lcSuma = [sum(ROUND(&lcVariabila,gnPc))] *!* ELSE *!* lcVariabila = &lcVariabila *!* lcSuma = [SUM(ROUND(ROUND(&lcVariabila,gnPc)*(proc_tvav-1),gnPc))] *!* ENDIF If 'pnbazavanz'$lcVariabilatemp lcSelect = [SELECT a.id_jtva_coloana,a.proc_tvav,a.id_sectie,a.id_gestiune,a.sectie,] + ; IIF(Type(lcSelRul+'.id_gestin')#'U',[a.id_gestin],[0000000000]) + [ as id_gestin,] + ; IIF(Type(lcSelRul+'.id_gestout')#'U',[a.id_gestout],[000000000]) + [ as id_gestout,] + ; IIF(Type(lcSelRul+'.gestin')#'U',[a.gestin],[SPACE(50)]) + [ as gestin,] + ; IIF(Type(lcSelRul+'.gestout')#'U',[a.gestout],[SPACE(50)]) + [ as gestout,] + ; lcSuma + [ as suma ] + ; [FROM ] + lcSelRul + [ a ] + ; [INTO CURSOR crsTva ] + ; [GROUP BY 1,2,3,4,5,6,7,8,9] Else lcSelect = [SELECT b.id_tva as id_jtva_coloana,a.proc_tvav,a.id_sectie,a.id_gestiune,a.sectie,] + ; IIF(Type(lcSelRul+'.id_gestin')#'U',[a.id_gestin],[0000000000]) + [ as id_gestin,] + ; IIF(Type(lcSelRul+'.id_gestout')#'U',[a.id_gestout],[000000000]) + [ as id_gestout,] + ; IIF(Type(lcSelRul+'.gestin')#'U',[a.gestin],[SPACE(50)]) + [ as gestin,] + ; IIF(Type(lcSelRul+'.gestout')#'U',[a.gestout],[SPACE(50)]) + [ as gestout,] + ; lcSuma + [ as suma ] + ; [FROM ] + lcSelRul + [ a LEFT JOIN jtva_coloane B ON A.ID_JTVA_COLOANA = B.ID_JTVA_COLOANA ] + ; [INTO CURSOR crsTva ] + ; [GROUP BY 1,2,3,4,5,6,7,8,9] Endif &lcSelect Select crsTva i = 0 Scan For suma*0 = 0 && sa evit cazurile in care suma este ****** i = i + 1 If i = 1 Select actactan Locate For SCD = loNota.xscd And scc = loNota.xscc And suma = 0 If Found() Scatter Name loAct Delete Else Scatter Name loAct Blank Endif Endif Select crsTva Scatter Name loTva Select actactan Append Blank Gather Name loAct Gather Name loTva Replace proc_tva With loTva.proc_tvav If Empty(lcIDJtva) Replace id_jtva_coloana With Null Endif Endscan *!* modificare facturare in valuta 21.09.2007 Case 'pnbazaval'$lcVariabila Or 'pntvaval'$lcVariabila lcVariabilatemp = lcVariabila lcVariabila = &lcVariabila lcSumaVal = [sum(&lcVariabila)] If 'pnbazaval'$lcVariabilatemp *!* lcSuma = [SUM(]+pnBazaValVanz+[)] lcSuma = [ROUND(SUM(]+pnBazaVal+[)*a.curs,gnPc)] lcSelect = [SELECT a.id_jtva_coloana,a.proc_tvav,a.id_sectie,a.id_gestiune,a.sectie,] + ; IIF(Type(lcSelRul+'.id_gestin')#'U',[a.id_gestin],[0000000000]) + [ as id_gestin,] + ; IIF(Type(lcSelRul+'.id_gestout')#'U',[a.id_gestout],[000000000]) + [ as id_gestout,] + ; IIF(Type(lcSelRul+'.gestin')#'U',[a.gestin],[SPACE(50)]) + [ as gestin,] + ; IIF(Type(lcSelRul+'.gestout')#'U',[a.gestout],[SPACE(50)]) + [ as gestout,] + ; [NVL(a.id_valuta_vanz,0) as id_valuta,] + ; IIF(TYPE(lcSelRul+'.curs') #'U',[a.curs],[0]) + [ as curs,] + ; lcSumaVal + [ as suma_val,] + lcSuma + [ as suma ] + ; [FROM ] + lcSelRul + [ a ] + ; [INTO CURSOR crsTva ] + ; [GROUP BY 1,2,3,4,5,6,7,8,9,10,11] Else *!* lcSuma = [SUM(]+pnTvaValVanz+[)] lcSuma = [ROUND(SUM(]+pnTvaVal+[)*a.curs,gnPc)] lcSelect = [SELECT b.id_tva as id_jtva_coloana,a.proc_tvav,a.id_sectie,a.id_gestiune,a.sectie,] + ; IIF(Type(lcSelRul+'.id_gestin')#'U',[a.id_gestin],[0000000000]) + [ as id_gestin,] + ; IIF(Type(lcSelRul+'.id_gestout')#'U',[a.id_gestout],[000000000]) + [ as id_gestout,] + ; IIF(Type(lcSelRul+'.gestin')#'U',[a.gestin],[SPACE(50)]) + [ as gestin,] + ; IIF(Type(lcSelRul+'.gestout')#'U',[a.gestout],[SPACE(50)]) + [ as gestout,] + ; [NVL(a.id_valuta_vanz,0) as id_valuta,] + ; IIF(TYPE(lcSelRul+'.curs') #'U',[a.curs],[0]) + [ as curs,] + ; lcSumaVal + [ as suma_val,] + lcSuma + [ as suma ] + ; [FROM ] + lcSelRul + [ a LEFT JOIN jtva_coloane B ON A.ID_JTVA_COLOANA = B.ID_JTVA_COLOANA ] + ; [INTO CURSOR crsTva ] + ; [GROUP BY 1,2,3,4,5,6,7,8,9,10,11] Endif &lcSelect Select crsTva i = 0 Scan For suma_val*0 = 0 && sa evit cazurile in care suma este ****** i = i + 1 If i = 1 Select actactan Locate For SCD = loNota.xscd And scc = loNota.xscc And suma = 0 If Found() Scatter Name loAct Delete Else Scatter Name loAct Blank Endif Endif Select crsTva Scatter Name loTva AddProperty(loTva,[nume_val],poAct.nume_val_vanz) Select actactan Append Blank Gather Name loAct Gather Name loTva Replace proc_tva With loTva.proc_tvav If Empty(lcIDJtva) Replace id_jtva_coloana With Null Endif Endscan *!* modificare facturare in valuta 21.09.2007 ^ Case 'pnbazabon'$lcVariabila lcSuma = [SUM(ROUND(&lcEticheta,gnPc))] *!* lcSelect = [SELECT CONT,ACONT,id_gestiune,id_sectie,sectie,] + ; *!* IIF(Type(lcSelRul+'.id_jtva_coloana')#'U',[id_jtva_coloana],[NULL]) + [ as id_jtva_coloana,] + ; *!* IIF(Type(lcSelRul+'.proc_tva')#'U',[proc_tva],[0000]) + [ as proc_tva,] +; *!* IIF(Type(lcSelRul+'.id_gestin')#'U',[id_gestin],[000000000]) + [ as id_gestin,] + ; *!* IIF(Type(lcSelRul+'.id_gestout')#'U',[id_gestout],[000000000]) + [ as id_gestout,] + ; *!* IIF(Type(lcSelRul+'.gestin')#'U',[gestin],[SPACE(50)]) + [ as gestin,] + ; *!* IIF(Type(lcSelRul+'.gestout')#'U',[gestout],[SPACE(50)]) + [ as gestout,] + ; *!* lcSuma + [ AS suma ] + ; *!* [FROM ] + lcSelRul + [ where nuInConturiX = 0 into cursor crsTva ] + ; *!* [GROUP BY 1,2,3,4,5,6,7,8,9,10,11] lcSelect = [SELECT a.id_jtva_coloana,a.proc_tvav,a.id_sectie,a.id_gestiune,a.sectie,] + ; IIF(Type(lcSelRul+'.id_gestin')#'U',[a.id_gestin],[0000000000]) + [ as id_gestin,] + ; IIF(Type(lcSelRul+'.id_gestout')#'U',[a.id_gestout],[000000000]) + [ as id_gestout,] + ; IIF(Type(lcSelRul+'.gestin')#'U',[a.gestin],[SPACE(50)]) + [ as gestin,] + ; IIF(Type(lcSelRul+'.gestout')#'U',[a.gestout],[SPACE(50)]) + [ as gestout,] + ; lcSuma + [ as suma ] + ; [FROM ] + lcSelRul + [ a ] + ; [INTO CURSOR crsTva ] + ; [GROUP BY 1,2,3,4,5,6,7,8,9] &lcSelect Select crsTva i = 0 Scan For suma*0 = 0 && sa evit cazurile in care suma este ****** i = i + 1 If i = 1 Select actactan Locate For SCD = loNota.xscd And scc = loNota.xscc And suma = 0 If Found() Scatter Name loAct Delete Else Scatter Name loAct Blank Endif Endif Select crsTva Scatter Name loTva Select actactan Append Blank Gather Name loAct Gather Name loTva Replace proc_tva With loTva.proc_tvav If Empty(lcIDJtva) Replace id_jtva_coloana With Null Endif Endscan Otherwise Select actactan Locate For SCD = loNota.xscd And scc = loNota.xscc And suma = 0 If Found() If !Empty(lcVariabila) Replace suma With &lcVariabila Endif Endif If 'discount' $ lcVariabila Replace proc_tva With pnProcDiscount,id_jtva_coloana With &lcIDJtva Endif Endcase Endscan If Used('crsIcsi') Use In crsIcsi Endif If Used('crsConturiX') Use In crsConturiX Endif If Used('crsNota') Use In crsNota Endif *!* IF USED('rul_temp') *!* USE IN rul_temp *!* ENDIF *!* && completez RUL_TEMP *!* lcRul = ALLTRIM(THIS.osel_dr.cfrom) *!* lcSql = [select * from ] + gcS + [.] + lcRul + [ where 1=2] *!* lcCursor = [rul_temp] *!* lnSucces = goExecutor.oExecute(lcSql,lcCursor) *!* IF lnSucces < 0 *!* RETURN .F. *!* ENDIF *!* lcCant = LOWER(ALLTRIM(this.osel_dr.cantitate)) *!* lcCantTransf = [cant] + iif(lcCant = [cante],[],[e]) *!* IF INLIST(oset.model, 5, 6) && TRANSFER, RETUR TRANSFER *!* SELECT * FROM (lcSelRul) INTO CURSOR crsTransf NOFILTER READWRITE *!* REPLACE ALL &lcCantTransf WITH &lcCant FOR !EMPTY(&lcCant) *!* REPLACE ALL &lcCant WITH 0 *!* APPEND FROM DBF(lcSelRul) *!* IF oset.id_set <> 89 && TRANSFER INTRE PERSOANE *!* REPLACE ALL cont WITH lcContTr, acont WITH lcAcontTr FOR &lcCantTransf # 0 *!* ELSE *!* SELECT (this.ct_grid_search1.cnumecursor) *!* SCATTER NAME loStg *!* SELECT crsTransf *!* REPLACE ALL id_gestin WITH id_gestout *!* REPLACE ALL id_responsabil WITH loStg.id_responsabil, nresp WITH loStg.nresp FOR cante <> 0 *!* ENDIF *!* REPLACE ALL id_gestiune WITH id_gestin,nume_gestiune WITH gestin FOR &lcCantTransf <> 0 *!* REPLACE ALL id_gestiune WITH id_gestout, nume_gestiune WITH gestout FOR &lcCant <> 0 *!* *!* SELECT rul_temp *!* APPEND FROM DBF('crsTransf') *!* IF USED('crsTransf') *!* USE IN crsTransf *!* ENDIF *!* *!* lcSel = [SELECT id_gestiune from ] + gcs + [.vnom_gestiuni WHERE nr_pag = 6] *!* lcCursor = 'crsIdVanzare' *!* lnSucces = goExecutor.oExecute(lcSel,lcCursor) *!* IF lnSucces < 0 *!* MESSAGEBOX(goExecutor.cEroare,0+16,"Eroare") *!* ENDIF *!* *!* IF lnSucces > 0 *!* UPDATE rul_temp SET pretv = 0, tvav = 0, proc_tvav = 0 WHERE id_gestiune NOT in (select id_gestiune from crsIdVanzare) *!* USE IN crsIdVanzare *!* ENDIF *!* ELSE *!* SELECT rul_temp *!* APPEND FROM DBF(lcSelRul) *!* ENDIF *!* IF INLIST(oset.model, 5, 6) AND USED('crsTransfer') && TRANSFER, RETUR TRANSFER *!* SELECT rul_temp *!* APPEND FROM DBF('crsTransfer') *!* ENDIF *!* SELECT rul_temp *!* APPEND FROM DBF(lcSelRul) *!* modificare 20.04.2007 & 04.05.2007 & 09.05.2007 Do Case Case Inlist(oset.id_set,61,62,63,226,258) Select actactan If oset.cursval Calculate Sum(suma) To pnBazaValProd For Alltrim(scc)= '345' Calculate Sum(suma) To pnBazaVal341 For Alltrim(scc)= '341' Calculate Sum(suma) To pnBazaVal346 For Alltrim(scc)= '346' Calculate Sum(suma) To pnBazaValAmb For Alltrim(scc) = '381' pnBazaVProd = pnBazaValProd pnBazaVAmb = pnBazaValAmb pnBazaV341 = pnBazaVal341 pnBazaV346 = pnBazaVal346 Else Calculate Sum(suma) To pnBazaVProd For Alltrim(scc)= '345' Calculate Sum(suma) To pnBazaVAmb For Alltrim(scc) = '381' Calculate Sum(suma) To pnBazaV341 For Alltrim(scc)= '341' Calculate Sum(suma) To pnBazaV346 For Alltrim(scc)= '346' Endif Replace suma With suma - pnBazaVProd - pnBazaVAmb - pnBazaV341 - pnBazaV346 For Alltrim(SCD) = '4111' And Alltrim(scc) = '707' *!* 19.01.2015: 701-> 7015 *!* Replace suma With pnBazaVProd + pnBazaV341 + pnBazaV346 For Alltrim(SCD) = '4111' And Alltrim(scc) = '701' Replace suma With pnBazaVProd + pnBazaV341 + pnBazaV346 For Alltrim(SCD) = '4111' And Alltrim(scc) = '7015' *!* 19.01.2015: 701-> 7015 ^ Replace SCD With '711',suma With pnBazaVProd For Alltrim(SCD) = '607' And Alltrim(scc) = '345' Replace SCD With '711',suma With pnBazaV341 For Alltrim(SCD) = '607' And Alltrim(scc) = '341' Replace SCD With '711',suma With pnBazaV346 For Alltrim(SCD) = '607' And Alltrim(scc) = '346' Replace scc With '348' For INLIST(Alltrim(SCD),'341','345','346') And Alltrim(scc) = '378' Replace SCD With '348',scc With '711' For Alltrim(SCD) = '378' And INLIST(Alltrim(scc),'341','345','346') Replace suma With pnBazaVAmb For Alltrim(SCD) = '4111' And Alltrim(scc) = '708' Replace SCD With '608' For Alltrim(SCD) = '607' And Alltrim(scc) = '381' Replace scc With '388' For Alltrim(SCD) = '381' And Alltrim(scc) = '378' Replace SCD With '388' For Alltrim(SCD) = '378' And Alltrim(scc) = '381' Delete For suma = 0 Case Inlist(oset.id_set,79,83,206,225) Select actactan Replace scc With '711' For Alltrim(SCD) = '348' *!* modificare 22.05.2007 Case oset.id_set = 218 && diferenta de pret Select (lcSelRul) Replace All pretv With 0,tvav With 0,proc_tvav With 0,procent With 0 Select actactan Replace id_gestin With 0,gestin With '' For nr_nota = 2 *!* Replace id_gestin With id_gestout, gestin With gestout,id_gestout With 0,gestout With '',scc WITH '711' For nr_nota = 4 *!* Replace scc WITH '711' For nr_nota = 4 Replace SCD With '348' For nr_nota = 2 And SCD <> '381' Replace SCD With '388' For nr_nota = 2 And SCD = '381' Replace scc With '388' For nr_nota = 1 And SCD = '381' *!* modificare 22.05.2007 ^ *!* modificare 16.08.2007 Case INLIST(oset.id_set,53,213,57,58) Select actactan Replace scd With '607' For scc = '371' Replace scd With '711' For scc = '345' && modificare 03.10.2007 *!* modificare 16.08.2007 ^ *!* modificare v 2.0.6 *!* modificare v 2.0.13 *!* modificare v 2.0.15 - protocol Case InList(oset.id_set, 230, 232, 233,261) Select actactan Replace suma With suma * (-1) For nr_nota = 1 *!* modificare v 2.0.15 ^ *!* modificare v 2.0.13 ^ *!* modificare v 2.0.6 ^ Endcase *!* modificare ^ && ordonez notele contabile in ACTACTANSELECT actactan Select actactan Sum suma To lnSume If lnSume <> 0 lcCondDele = [!(suma = 0 and !(((left(scd,1) = '3' and left(scc,2) = '40') OR (left(scd,2) = '41' and left(scc,1) = '7')) AND proc_tva # 1))] Else lcCondDele = [suma = 0 AND nr_nota = 1 ] Endif Select * From actactan Into Cursor crsActActan Where &lcCondDele Or Inlist(id_set, 89, 210, 211, 212) Order By nr_nota NOFILTER Readwrite Select actactan Delete From actactan Append From Dbf('crsactactan') If Used('crsactactan') Use In crsActActan Endif *** && completare analitice Select actactan Scan For Empty(Nvl(ascd,'')) Scatter Name loActactan If Type('loActactan.cont') = 'U' x = AddProperty(loActactan,'cont',loActactan.SCD) Endif If oset.model = 2 And Type('loActactan.id_gestiune') = 'U' && NIR x = AddProperty(loActactan,'id_gestiune',loActactan.id_gestin) Endif If Inlist(oset.model, 3, 4) And Type('loActactan.id_gestiune') = 'U' && BON, RETUR x = AddProperty(loActactan,'id_gestiune',loActactan.id_gestout) Endif loActactan.ascd = This.assign_analitic(loActactan.SCD,This.cobj,'loActactan') Replace ascd With loActactan.ascd Select actactan Endscan Select actactan Scan For Empty(Nvl(ascc,'')) Scatter Name loActactan If Type('loActactan.cont') = 'U' x = AddProperty(loActactan,'cont',loActactan.scc) Endif If oset.model = 2 And Type('loActactan.id_gestiune') = 'U' && NIR x = AddProperty(loActactan,'id_gestiune',loActactan.id_gestin) Endif If Inlist(oset.model, 3, 4) And Type('loActactan.id_gestiune') = 'U' && BON, RETUR x = AddProperty(loActactan,'id_gestiune',loActactan.id_gestout) Endif loActactan.ascc = This.assign_analitic(loActactan.scc,This.cobj,'loActactan') Replace ascc With loActactan.ascc Select actactan Endscan If Used('rul_temp_OBINV') Use In RUL_TEMP_OBINV Endif Select * From rul_temp Where Cont = gcContObinv And !Deleted() Into Cursor RUL_TEMP_OBINV NOFILTER Readwrite Select rul_temp Delete All For Cont = gcContObinv If gnCMP = 1 And oset.model = 2 && NIR Thisform.analiza_cmp('rul_temp', 'actactan') *!* modificare 24.11.2006 Else Select rul_temp Replace id_tip_rulaj With oset.id_tip_rul For id_tip_rulaj = 0 *!* modificare 24.11.2006 ^ Endif If Type('loActactan') = 'O' Release loActactan Endif Do Case Case oset.id_set=69 *!* modificare 07.03.2006 && 24.02.2007 Select actactan Calculate Max(proc_tva) To lnMaxProcTva Calculate Min(id_jtva_coloana) For proc_tva = lnMaxProcTva To lnIdJtvaColoana Scan For Left(SCD,3)='411' Or Left(scc,3)='411' If proc_tva=0 Replace proc_tva With lnMaxProcTva,id_jtva_coloana With lnIdJtvaColoana Endif Endscan *!* sfarsit modificare 07.03.2006 Case oset.id_set = 213 *!* modificare 12.02.2007 (bon de consum pe lucrari in curs de executie la Materii prime si materiale) Select rul_temp Replace All pretv With ROUND(Pret,gnPc) && modificare 14.09.2007 *!* modificare 12.02.2007 ^ *!* modificare v 2.0.6 Case Inlist(oset.id_set,215,216,257) Select (lcSelRul) Replace All id_gestiunec With poAct.id_gestout,id_gestout with poAct.id_gestout,gestout With poAct.gestout Select actactan Replace All id_gestout With poAct.id_gestout,gestout With poAct.gestout *!* modificare v 2.0.6 ^ Endcase Select rul_temp Locate For Empty(Id_gestiune) If Found() aMessagebox('Nu ati ales gestiunea!',48,"Atentie") Return .F. Endif Select RUL_TEMP_OBINV Locate For Empty(Id_gestiune) If Found() aMessagebox('Nu ati ales gestiunea!',48,"Atentie") Return .F. Endif If oset.productie If Alltrim(Upper(oset.formproduc))='FRM_ALEGE_PROD_CANT' Select a.*, Recno() As ninreg ; FROM actactan a ; WHERE Substr(scc,1,1)='3' And Alltrim(scc)<>'301' ; INTO Cursor cModificari Select cModificari Scan Scatter Name loLinie lcSCC = Alltrim(scc) lnInreg = ninreg Select actactan Replace scc With lcSCC, SCD With '301' For Recno() = lnInreg Append Blank loLinie.SCD = '601' loLinie.scc = '301' Gather Name loLinie Select cModificari Endscan If Used('cModificari') Use In cModificari Endif Endif Endif *!* 02.06.2008 *!* completez partenerii corespondenti pentru cont-gestin, cont-gestout lcSql = [Select cont, id_gestiune, id_part, denumire from vasociere_parteneri_gestiuni] lnSucces = goExecutor.oExecute(lcSql, "crsGestiuniParteneri") If lnSucces < 0 AMessageBox(goExecutor.oExecute,0+16,"Eroare") Else Select actactan Scan FOR Empty(ID_PARTD) OR Empty(ID_PARTC) Scatter name loRec If Empty(actactan.id_partd) Select crsGestiuniParteneri Locate for Alltrim(cont) == Alltrim(loRec.scd) and id_gestiune = Iif(!Empty(loRec.id_gestin), loRec.id_gestin, loRec.id_gestout) If Found() Replace id_partd with crsGestiuniParteneri.id_part, partd with crsGestiuniParteneri.denumire in actactan EndIf EndIf If Empty(actactan.id_partc) Select crsGestiuniParteneri Locate for Alltrim(cont) == Alltrim(loRec.scc) and id_gestiune = Iif(!Empty(loRec.id_gestout), loRec.id_gestout, loRec.id_gestin) If Found() Replace id_partc with crsGestiuniParteneri.id_part, partc with crsGestiuniParteneri.denumire in actactan EndIf EndIf EndScan Use in (Select('crsGestiuniParteneri')) EndIf Select actactan Go Top Return .T. ENDPROC PROCEDURE intrare_produs Select rul_temp Append Blank Replace id_articol With pnId_articol, ; denumire With pcDenumire, ; cant With pnCant, ; pret With ROUND(Thisform.ntotal/pnCant,gnPPret), ; id_gestiune With pnId_gestiune, nume_gestiune With pcGestiune, ; id_gestin With pnId_gestiune, gestout With pcGestiune, ; cont With pcCont_articol, ; nnir With poact.nnir, ; dataact With poact.dataact, ; datain With poact.dataact, ; id_set With poact.id_set ENDPROC PROCEDURE KeyPress LPARAMETERS nKeyCode, nShiftAltCtrl LOCAL lcCtrGrid, lcCtrCriteriu, lcControl lcCtrGrid = [] lcCtrCriteriu = [] lcControl = UPPER(THIS.ACTIVECONTROL.NAME) IF lcControl = '_GRID1' lcCtrGrid = UPPER(THIS.ACTIVECONTROL.COMMENT) ENDIF IF lcControl = 'CRITERIU' lcCtrCriteriu = UPPER(THIS.ACTIVECONTROL.COMMENT) ENDIF DO CASE CASE nKeyCode = 13 AND 'GRD_ST' $ lcCtrGrid NODEFAULT THISFORM.urmator1.comMAND1.SETFOCUS CASE nKeyCode = 13 AND 'GRD_DR' $ lcCtrGrid NODEFAULT THISFORM.ct_grid_search1.Cb_tx_cautare1.TEXT.SETFOCUS CASE (nKeyCode >=33 AND nKeyCode <=122) AND ('CRITERIU_ST' $ lcCtrCriteriu OR 'GRD_ST' $ lcCtrGrid) NODEFAULT THIS.ct_grid_search1.Cb_tx_cautare1.TEXT.VALUE = ALLTRIM(THIS.ct_grid_search1.Cb_tx_cautare1.TEXT.VALUE) + CHR(nKeyCode) THIS.ct_grid_search1.Cb_tx_cautare1.TEXT.SETFOCUS KEYBOARD '{END}' CASE (nKeyCode = 127) AND ('CRITERIU_ST' $ lcCtrCriteriu OR 'GRD_ST' $ lcCtrGrid) && backspace NODEFAULT THIS.ct_grid_search1.Cb_tx_cautare1.TEXT.VALUE = LEFT(ALLTRIM(THIS.ct_grid_search1.Cb_tx_cautare1.TEXT.VALUE),LEN(ALLTRIM(THIS.ct_grid_search1.Cb_tx_cautare1.TEXT.VALUE))-1) THIS.ct_grid_search1.Cb_tx_cautare1.TEXT.SETFOCUS KEYBOARD '{END}' CASE (nKeyCode >=33 AND nKeyCode <=122) AND ('CRITERIU_DR' $ lcCtrCriteriu OR 'GRD_DR' $ lcCtrGrid) NODEFAULT THIS.ct_grid_order1.Cb_tx_cautare1.TEXT.VALUE = ALLTRIM(THIS.ct_grid_order1.Cb_tx_cautare1.TEXT.VALUE) + CHR(nKeyCode) THIS.ct_grid_order1.Cb_tx_cautare1.TEXT.SETFOCUS KEYBOARD '{END}' CASE (nKeyCode = 127) AND ('CRITERIU_DR' $ lcCtrCriteriu OR 'GRD_DR' $ lcCtrGrid) && backspace NODEFAULT THIS.ct_grid_order1.Cb_tx_cautare1.TEXT.VALUE = LEFT(ALLTRIM(THIS.ct_grid_order1.Cb_tx_cautare1.TEXT.VALUE),LEN(ALLTRIM(THIS.ct_grid_order1.Cb_tx_cautare1.TEXT.VALUE))-1) THIS.ct_grid_order1.Cb_tx_cautare1.TEXT.SETFOCUS KEYBOARD '{END}' CASE INLIST(nKeyCode, 13, 9, 4, 24) AND '_CBBASE1'$lcControl NODEFAULT thisform.ct_grid_search1.cb_tx_cautare1.text.SetFocus OTHERWISE DODEFAULT(nKeyCode, nShiftAltCtrl) ENDCASE ENDPROC PROCEDURE Release lcSelRul = this.ct_grid_order1.cnumecursor lcSelSt = this.ct_grid_search1.cnumecursor IF USED(lcSelRul) USE IN (lcSelRul) ENDIF IF USED(lcSelSt) USE IN (lcSelSt) ENDIF IF USED('crsTransfer') USE IN crsTransfer ENDIF ENDPROC PROCEDURE Show Lparameters nStyle lcSelRul = This.ct_grid_order1.cnumecursor This.lbTotal.Caption = 'TOTAL ' + This.CTip_frm This.ct_grid_order1.initializare(.T.) This.ct_grid_search1.initializare(.T.) This.calcul_sume(lcSelRul) This.ct_grid_search1.cb_tx_cautare1.SetFocus If Inlist(poact.id_set,105,106) Thisform.ct_grid_search1.cboListe.Visible = .T. Thisform.ct_grid_search1.lb_listePreturi.Visible = .T. Endif If oxset.cursval With Thisform.ct_factura2 lcObj = Thisform.cobj .lb_valuta.Caption = [(] + &lcObj..nume_val_vanz + [)] With .lb_curs .Caption = [Curs ] + Dtoc(&lcObj..v8) + [ : ] + Alltrim(Str(&lcObj..Curs,14,4)) .AutoSize = .T. Endwith Endwith Endif If oset.productie And INLIST(oset.id_set,26003,26004) && modificare 17.10.2007 Thisform.container_valoare_decontata1.Visible = .T. Endif *!* modificare v 2.0.8 *!* modificare v 2.0.13 *!* modificare v 2.0.15 - protocol If InList(oset.id_set,75,216,230,232,233,257,261) thisform.lb_totalctva.Visible = .T. thisform.tx_totalctva.Visible = .T. EndIf *!* modificare v 2.0.15 ^ *!* modificare v 2.0.13 ^ *!* modificare v 2.0.8 ^ DoDefault(nStyle) ENDPROC PROCEDURE Ct_discount1.Init Select jtva_coloane *!* Locate For proc_tva = 1.00 And procent = 0 Locate For id_jtva_coloana = oSet.id_jtax If !Found() Go Top Endif This.lb_explicatie_tva.Caption = Alltrim(Upper(denumire)) lnProc_tva = (cota_tva + 100)/ 100 lnproc = cota_tva This.pntva = lnProc_tva This.nid_jtva_coloana = id_jtva_coloana This.nid_tva = jtva_coloane.id_tva This.cotaTva.ListIndex = Recno() ENDPROC PROCEDURE Ct_discount1.Refresh DODEFAULT() lcSelRul = thisform.ct_grid_order1.cnumecursor this.Parent.calcul_sume(lcSelRul) ENDPROC PROCEDURE Ct_grid_order1.Cb_tx_gestin._CBBASE1.LostFocus SELECT nom_gestiuni pcobj.id_gestin = id_GESTiune pcobj.gestin = nume_gestiune pcObj.cgest = cgest pcobj.id_GESTiune = id_GESTiune pcobj.nume_gestiune = nume_gestiune ENDPROC PROCEDURE Ct_grid_search1.cboListe.Init IF INLIST(poact.id_set,105,106) SELECT cListePret LOCATE FOR id_pol = poact.id_pol this.Value = cListePret.nume_lista_preturi this.Refresh ENDIF ENDPROC PROCEDURE Ct_grid_search1.cboListe.Valid pnId_lista = cListePret.id_pol SELECT cListePret pcobj.id_pol = cListePret.id_pol thisform.ct_GRID_SEARCH1.initializare(.T.) thisform.ct_grid_search1.cb_tx_cautare1.text.SetFocus ENDPROC PROCEDURE Ct_grid_search1.Cb_tx_gestout._CBBASE1.Valid Select nom_gestiuni pcobj.id_gestout = id_GESTiune pcobj.gestout = nume_gestiune pcobj.cgest = cgest pcobj.id_GESTiune = id_GESTiune pcobj.nume_gestiune = nume_gestiune Thisform.ct_GRID_SEARCH1.initializare(.T.,.T.) This.Parent.Parent.cb_tx_cautare1.Text.SetFocus ENDPROC PROCEDURE Lb_titlu_alb_b121.Init If Type('oxset.nume_set') # 'U' This.Caption = Proper(Alltrim(oxset.nume_set)) Endif This.Caption = This.Caption + [ ( Nr. document : ] + Alltrim(Nvl(poAct.serie_act,[])) + [ ] + ; TRANSFORM(poAct.nract,get_mask(14,0)) + [ ) ] ENDPROC PROCEDURE Urmator1.Command1.Click *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* Model =-1 : Nota fara contabilizare *!* Model = 1 : Nota simpla cu contabilizare *!* Model = 2 : NIR *!* Model = 3 : BON/FACTURA VANZARE *!* Model = 4 : Retur BON/FACTURA VANZARE *!* Model = 5 : Transfer *!* Model = 6 : Retur Transfer *!* Model = 7 : Diferenta de pret *!* Param1 = 1 : En-detail *!* Param1 = 2 : En-gros *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* Private poPreturi poPreturi = CreateObject("empty") AddProperty(poPreturi,"pretv", 0) AddProperty(poPreturi,"tvav", 0) AddProperty(poPreturi,"pretvtva", 0) Local lnNIRPRETLISTAMOD If Type('gnNIRPRETLISTAMOD') <> 'U' lnNIRPRETLISTAMOD = gnNIRPRETLISTAMOD Else lnNIRPRETLISTAMOD = 0 EndIf Local lnPretfTva, lnPretvTva, lnListaPreturiCuTva lnPretfTva = 0 lnPretvTva = 0 lnListaPreturiCuTva = 1 && daca lista de preturi are preturile cu tva id_set = 231 nir mf la pv cu modificarea listei de preturi lcSelRul = THISFORM.ct_grid_order1.cnumecursor *!* modificare 22.08.2007 *!* La toate conditiile unde era id_articol, am adaugat si NVL(serie,'') , in afara de politicile de preturi si reteta. lcIde = [T] lcIde = lcIde + ',' + IIF(oset.factura AND oset.model = 2, 'F', '') lcIde = lcIde + ',' + IIF(oset.adaos AND (oset.param1 = 1 OR oset.model = 2), 'A,X','') lcIde = lcIde + ',' + IIF(oset.discount, 'D','') lcIde = lcIde + ',' + IIF(INLIST(oset.model,2), 'N', IIF(INLIST(oset.model, 3, 4, 5, 6, 7), 'B', '')) lcIde = IIF(oset.model = 7, lcIde + ',X' , lcIde) lnProcDisc = IIF(oset.discount,THISFORM.ct_discount1.proc_discount ,0) *!* modificare 22.06 *!* lnProcAdaos = IIF(oset.adaos,thisform.ct_adaos1.proc_adaos,0) lnProcAdaos = IIF(oset.adaos,IIF(THISFORM.ct_adaos1.proc_adaos<-9999999,0,THISFORM.ct_adaos1.proc_adaos),0) *!* ^ SELECT cursor_curent1 SCATTER NAME oStg If Empty(oStg.Cont) amessagebox('Nu s-a selectat nici un reper! Repetati selectia!',48,"Atentie") Release oStg Thisform.ct_grid_search1._GRID1.SetFocus Return Endif *!* If oSet.model > 2 And !Empty(NVL(oStg.id_rul_aux,0)) *!* amessagebox("Operatiile asupra acestui reper se pot efectua doar din programul ROAVIN!",48,"Atentie") *!* Release oStg *!* Thisform.ct_grid_search1._GRID1.SetFocus *!* Return *!* Endif *!* DNF SELECT (lcSelRul) SCATTER NAME orul BLANK IF !PEMSTATUS(orul,'dnf',5) ADDPROPERTY(orul,'dnf',00000) IF PEMSTATUS(oStg,'dnf',5) orul.DNF= oStg.DNF ENDIF ENDIF *!* MODIFICAT 11.04.2006 *!* MARIUS.MUTU - SA SE POATA SCOATE DIN STOC DE MAI MULTE ORI ACEEASI CANTITATE LA OB INV IN FOLOSINTA CAND TRANSFER, CASARE DIN FOLOSINTA IF !INLIST(oset.id_set,210,211,212,89,70) IF 'B' $ lcIde SELE (lcSelRul) IF gnTipGest # 6 SELECT SUM(cante) AS cante, id_articol, NVL(serie,'') as serie FROM (lcSelRul) ; WITH (BUFFERING = .T.) WHERE id_articol = oStg.id_articol AND PRET =oStg.PRET ; AND id_gestout = oStg.id_gestiune AND NVL(serie,'') = NVL(oStg.serie,'') ; GROUP BY id_articol,serie INTO CURSOR crsCant *!* LOCATE FOR id_articol = ostg.id_articol AND pret =ostg.pret AND id_gestout = ostg.id_gestiune && id_gestout in loc de id_gestiune pt ca la transfer modific id_gestiune (inainte_de_do_termin) ELSE SELECT SUM(cante) AS cante, id_articol,NVL(serie,'') as serie FROM (lcSelRul) ; WITH (BUFFERING = .T.) WHERE id_articol = oStg.id_articol AND pretv =oStg.pretv ; AND id_gestout = oStg.id_gestiune AND PRET =oStg.PRET AND NVL(serie,'') = NVL(oStg.serie,'') ; GROUP BY id_articol,serie INTO CURSOR crsCant *!* LOCATE FOR id_articol = ostg.id_articol AND pretv =ostg.pretv AND id_gestout = ostg.id_gestiune AND pret =ostg.pret && id_gestout in loc de id_gestiune pt ca la transfer modific id_gestiune (inainte_de_do_termin) ENDIF SELECT crsCant LOCATE lnCant = cante *!* IF FOUND() IF RECCOUNT('crsCant') > 0 amessagebox('Daca doriti o cantitate diferita, stergeti acest reper si repetati selectia.',0+64,"Info") THISFORM.ct_grid_search1._GRID1.SETFOCUS USE IN crsCant RETURN ENDIF USE IN crsCant ENDIF ELSE && scoatere din stoc obiecte de inventar IF 'B' $ lcIde SELE (lcSelRul) SELECT SUM(cante) AS cante, id_articol, NVL(serie,'') as serie ; FROM (lcSelRul) WITH (BUFFERING = .T.) ; WHERE id_articol = oStg.id_articol AND PRET =oStg.PRET AND id_gestout = oStg.id_gestiune ; AND id_responsabil = oStg.id_responsabil AND datapif = oStg.datapif AND NVL(serie,'') = NVL(oStg.serie,'') ; GROUP BY id_articol,serie INTO CURSOR crsCant SELECT crsCant LOCATE lnCant = cante IF RECCOUNT('crsCant') > 0 amessagebox('Daca doriti o cantitate diferita, stergeti acest reper si repetati selectia.',64,"Info") * THISFORM.ct_grid_search1._GRID1.SETFOCUS thisform.ct_grid_search1.cb_tx_cautare1.text.SetFocus USE IN crsCant RETURN ENDIF USE IN crsCant ENDIF ENDIF *!* modificare 03.10.2007 If Inlist(oxset.model,4,6) && Retur lcObiect = Thisform.cobj &lcObiect..id_gestout = oStg.id_gestiune &lcObiect..gestout = ALLTRIM(oStg.nume_gestiune) Endif *!* modificare 03.10.2007 ^ THISFORM.assign_values('orul',THISFORM.cobj,'oStg') IF TYPE('orul.datapif') # 'U' AND TYPE('orul.datapif') = 'T' && pentru ob. inv. in folosinta orul.datapif = TTOD(orul.datapif) ENDIF IF INLIST(oset.model,3,4) AND oset.param1 = 1 && bon/retur + factura + en-detail lnPretvTva = orul.pretv + orul.tvav && pret vanzare cu TVA *!* modificare 22.06 lnProcAdaos = IIF(orul.procent<>0,orul.procent,lnProcAdaos) *!* ^ Else *!* 09.06.2008 *!* 231 = roagest - nir marfa la pretv cu lista de preturi *!* 247 = roagest - nir marfa la pretv cu lista de preturi gestiune hibrid 23.10.2008 *!* 266 roagest - mf pret de ach * > factura nesosita - pret de lista ** 19.05.2010 IF INLIST(oset.id_set,105,106,231,247,266) && 105,106 - roafacturare - NIR de marfa la pret de vanzare lcSql = [ select pretftva, pretctva from vcrm_politici_pret_art where id_pol=] + ALLTRIM(STR(poact.id_pol))+; [ and id_articol =] + ALLTRIM(STR(oStg.id_articol)) lnSucces=goExecutor.oExecute(lcSql,'crsPret') IF lnSucces < 0 amessagebox(goExecutor.cEroare,0+16,'Eroare') EndIf SELECT crsPret lnPretfTva = pretftva lnPretvTva = pretctva IF USED('crsPret') USE IN crsPret ENDIF Private pnReturnValue pnReturnValue = 0 lnSucces = goExecutor.oSelect2Value("select preturi_cu_tva from vcrm_politici_preturi where id_pol = " + ALLTRIM(STR(poact.id_pol)), @pnReturnValue) IF lnSucces < 0 amessagebox(goExecutor.cEroare,0+16,'Eroare') Else lnListaPreturiCuTva = pnReturnValue EndIf ELSE lnPretvTva = 0 EndIf *!* 09.06.2008 ENDIF IF oset.id_set = 104 PRIVATE pnImputare STORE 0 TO pnImputare IF gnImputare = 1 && pretul maxim din stoc lcSql=[select MAX(pret) as pretMax from (select pack_sesiune.suma_ron(pret, an, luna) as pret from ] + ; [(select pret, an, luna from stoc where id_articol = ] + +ALLTRIM(STR(orul.id_articol))+ ; [ and NVL(serie,'x_x_x') = '] + NVL(orul.serie,'x_x_x') + [' ] + gcCondSucursala + [))] lnSucces=goExecutor.oExecute(lcSql,'crsPretMax') IF lnSucces < 0 amessagebox(goExecutor.cEroare,0+16,'Eroare') ENDIF SELECT crsPretMax orul.pretv = pretMax IF ISNULL(orul.pretv) orul.pretv = 0 ENDIF IF USED('crsPretMax') USE IN crsPretMax ENDIF ENDIF ENDIF IF EMPTY(THISFORM.cfrm_ceredate) RETURN ENDIF IF INLIST(oset.id_set,211) && TRANSFER MAGAZIE OB INV IN FOLOSINTA - CATRE GESTIUNE OB INV IN FOL PE UN RESPONSABIL orul.id_responsabil = 0 orul.NRESP = '' ENDIF lcForm = ALLTRIM(THISFORM.cfrm_ceredate) onir = CREATEOBJECT(lcForm) onir.bVizualizare = lcIde onir.cobj = orul *onir.cParentObj = thisform.cobj onir.pretvtva = lnPretvTva *!* 09.06.2008 *!* 231 - nir mf pretv cu modificarea listei de preturi *!* 247 = roagest - nir marfa la pretv cu lista de preturi gestiune hibrid 23.10.2008 *!* 266 roagest - mf pret de ach * > factura nesosita - pret de lista ** 19.05.2010 IF INLIST(oset.id_set,105,106,231,247,266) onir.cobj.pretv = lnPretfTva onir.cobj.tvav = lnPretvTva - lnPretfTva && v 2.0.14 din 11iun2008 - preluare preturi din rul de pe ultima factura de achizitie, cautarea se face in ultimele 2 luni IF INLIST(oset.id_set,231,247,266) *!* v 2.0.18 (ordonare an desc, luna desc, dataora desc, cant <> 0) lcSql = [select a.* from (select a.dataora,a.pret,a.tva, a.tvav,a.pretv,a.PRETV+a.TVAV as pretvtva ]+; [ from rul a where a.ID_ARTICOL = ]+Alltrim(Str(orul.id_articol)) + [ and a.sters = 0 and a.cant<>0 and a.id_tip_rulaj = 0]+; [ and an*12+luna between ]+ Alltrim(Str(gnAn*12+gnluna-1))+[ and ]+ Alltrim(Str(gnAn*12+gnluna)) +; [ order by a.an desc, a.luna desc, a.dataora desc) a where rownum = 1] *!* v 2.0.18 ^ lnSucces=goExecutor.oExecute(lcSql,'crsPretUltim') IF lnSucces < 0 amessagebox(goExecutor.cEroare,0+16,'Eroare') Else Select crsPretUltim If Reccount() > 0 onir.pretu_factura = crsPretUltim.pret onir.cobj.pret = crsPretUltim.pret onir.cobj.tva = crsPretUltim.tva && suprascriu pretul de vanzare din lista doar daca pe nir am pretul <> 0 If crsPretUltim.pretv <> 0 onir.cobj.pretv = crsPretUltim.pretv onir.cobj.tvav = crsPretUltim.tvav onir.pretvtva = crsPretUltim.pretvtva EndIf EndIf Use in crsPretUltim EndIf && v 2.0.14 din 11iun2008 ^ EndIf ENDIF *!* 09.06.2008 ^ onir.cTitlu = ALLTRIM(NVL(oStg.denumire,'')) + [-] + ALLTRIM(NVL(oStg.codmat,'')) onir.item2.text_item1.READONLY = IIF(oset.model = 2, .F., .T.) IF oset.param1 = 1 AND (oset.model = 4 OR gnTipGest = 6) && facturi retur / vanzare marfa la pret de vanzare en-detail - blochez pretul de vanzare onir.BlochezPretV = .T. onir.proc_tvav = orul.proc_tvav onir.proc_adaos = lnProcAdaos ENDIF Do Case CASE oset.model = 7 && ( oset.id_set = 218 ) onir.item9.label_item1.Caption = 'Pret nou fara TVA' onir.item9.text_item1.inputmask = get_mask(12,gnPPret) Case poact.id_set = 104 && RoaObInv - Imputare onir.item7.label_item1.Caption = 'Pret imputare cu TVA' onir.item8.label_item1.Caption = 'TVA imputare' onir.item9.label_item1.Caption = 'Pret imputare fara TVA' * onir.BlochezPretV = .T. Case poact.id_set = 26001 && ROAPRODUCTIE.PV_PRODUCTIE Local lnPret Store 0 To lnPret Private poPret Store '' To poPret Local lcschema, lcselect, lcFiltru, lcOrder, llAfiseaza, lcgroup, llModParam, lcFiltruOriginal lcschema = [] lcselect = [select pret from vcrm_politici_pret_art] lcOrder = [] lcFiltru = [] llAfiseaza = .F. lcgroup = "" llModParam = .T. lcFiltruOriginal = [id_pol=] + ALLTRIM(STR(poact.id_pol)) + [ and id_articol=] + ALLTRIM(STR(oStg.id_articol)) gencursor('poPret','crsPret',lcselect,lcFiltru,lcschema,lcOrder,llAfiseaza, lcgroup, llModParam, lcFiltruOriginal) poPret.ca_baza1.afisare() SELECT crsPret GO TOP lnPret = PRET IF USED('crsPret') USE IN crsPret ENDIF RELEASE poPret onir.cobj.PRET = lnPret onir.item2.label_item1.CAPTION = 'Pret unitar' onir.item2.text_item1.READONLY = .T. onir.item2.text_item1.TABSTOP = .F. LOCAL lcReteta, lnId_reteta STORE 0 TO lnId_reteta STORE '' TO lcReteta PRIVATE poReteta STORE '' TO poReteta lcschema = [] lcselect = [select id_reteta, reteta from vnom_retetar] lcOrder = [] lcFiltru = [] llAfiseaza = .F. lcgroup = "" llModParam = .T. lcFiltruOriginal = [principala=1 and id_articol=]+ALLTRIM(STR(onir.cobj.id_articol)) gencursor('poReteta','crsReteta',lcselect,lcFiltru,lcschema,lcOrder,llAfiseaza, lcgroup, llModParam, lcFiltruOriginal) poReteta.ca_baza1.afisare() SELECT crsReteta GO TOP lcReteta = ALLTRIM(reteta) lnId_reteta = id_reteta IF USED('crsReteta') USE IN crsReteta ENDIF RELEASE poReteta onir.cobj.reteta = lcReteta onir.cobj.id_reteta = lnId_reteta ENDCASE *onir.item4.text_item1.comment = onir.item4.text_item1.comment + IIF(INLIST(oset.model,3,4),[e],[]) && CANT sau CANTE onir.item4.text_item1.COMMENT = onir.item4.text_item1.COMMENT + IIF(LOWER(ALLTRIM(THISFORM.osel_dr.cantitate))=[cante],[e],[]) && CANT sau CANTE onir.proc_discount = lnProcDisc onir.proc_adaos = lnProcAdaos onir.SHOW(1) IF gnButon = 1 lcCant = [orul.] + ALLTRIM(THISFORM.osel_dr.cantitate) IF TYPE('ostg.cantitate') # 'U' AND INLIST(oset.model, 3, 4, 5, 6, 7) &&: bon, retur, transfer, retur transfer lnCantD = &lcCant lnCantD1 = &lcCant lnCantS = oStg.cantitate *!* MODIFICAT 11.04.2006 *!* DOAR LA ID_SET = 210 (TRANSFER OB INV IN FOL CATRE MAI MULTI RESPONSABILI) AM PERMIS SA SE SCOATA DE MAI MULTE ORI ACELASI REPER *!* ADUN CANTITATEA DEJA IESITA LA CEA CURENTA lnCant = 0 IF INLIST(oset.id_set,210,211,212,89) SELECT SUM(NVL(cant,0)) AS cant ; FROM (lcSelRul) WITH (BUFFERING = .T.); WHERE id_articol = oStg.id_articol AND PRET = oStg.PRET AND id_gestout = oStg.id_gestiune AND NVL(serie,'') = NVL(oStg.serie,'') ; INTO CURSOR crsCant SELECT crsCant CALCULATE SUM(cant) TO lnCant lnCantD = lnCantD + lnCant USE IN crsCant ENDIF IF ABS(lnCantD) > ABS(lnCantS) OR (SIGN(lnCantD1) * SIGN(lnCantS) < 0) lcTitlu = [Atentie] lcTip = [Avertizare] lcImagine = [exclam.ico] ofrm_eroare = CREATEOBJECT('frm_mesaj',lcTitlu,lcImagine,lcTip,"Cantitatea maxima existenta este:",oStg.cantitate) ofrm_eroare.SHOW(1) RELEASE ofrm_eroare &lcCant = oStg.cantitate - lnCant ENDIF *!* MODIFICAT 11.04.2006 *!* NU ADAUG ARTICOLE FARA CANTITATE IF &lcCant = 0 THISFORM.ct_grid_order1.cb_tx_gestin.SETFOCUS() RETURN ENDIF ENDIF DO case CASE INLIST(oset.model, 4, 6) && retur BON, retur TRANSFER &lcCant = -&lcCant case oset.model = 2 && NIR SELECT (lcSelRul) orul.acont = THISFORM.assign_analitic(orul.CONT,THISFORM.cobj,'orul') ENDCASE IF INLIST(oset.model,5,6,7) && TRANSFER, RETUR TRANSFER, DIFERENTA DE PRET lcCantDr = LOWER(ALLTRIM(THISFORM.osel_dr.cantitate)) lcCantTransf = [cant] + IIF(lcCantDr = [cante],[],[e]) IF !USED('crsTransfer') SELECT *, 0000 AS rec, 0 AS nuInConturiX FROM (lcSelRul) INTO CURSOR crsTransfer WHERE 1=2 NOFILTER READWRITE ENDIF SELECT crsTransfer APPEND BLANK GATHER NAME pcObj GATHER NAME oStg REPLACE cant WITH 0, cante WITH 0 REPLACE &lcCantTransf WITH &lcCant *REPLACE nuInConturiX WITH 1 *!* modificare 26.02.2007 Do Case Case INLIST(oset.id_set,75,218) && modificare 22.05.2007 : completez si pretv ca sa pot calcula adaosul Replace pretv With orul.pretv,tvav With orul.tvav,proc_Tvav With orul.proc_Tvav Case INLIST(oset.id_set, 207,254) orul.pretv = oStg.pretv orul.tvav = oStg.tvav orul.proc_tvav = oStg.proc_tvav Case oset.id_set = 89 && transfer intre persoane pcObj.id_gestin = orul.id_gestout pcObj.gestin = orul.id_gestout orul.id_gestin = orul.id_gestout orul.gestin = orul.gestout Endcase *!* IF oset.id_set = 89 && transfer intre persoane *!* pcObj.id_gestin = orul.id_gestout *!* pcObj.gestin = orul.id_gestout *!* orul.id_gestin = orul.id_gestout *!* orul.gestin = orul.gestout *!* ENDIF *!* modificare 26.02.2007 ^ REPLACE id_gestin WITH orul.id_gestin, gestin WITH orul.gestin REPLACE id_gestout WITH orul.id_gestout, gestout WITH orul.gestout *!* IF TYPE('orul.id_gestiune') = 'N' AND TYPE('crsTransfer.id_gestiunec') = 'N' *!* REPLACE id_gestiunec WITH orul.id_gestiune *!* ENDIF IF TYPE('orul.id_responsabil') = 'N' AND TYPE('crsTransfer.id_responsabilc') = 'N' REPLACE id_responsabilc WITH orul.id_responsabil ENDIF ENDIF IF oset.id_set = 104 IF gnImputare = 1 SELECT cursor_curent1 IF DNF<>0 uzura = (DNF-(dns_luni-IIF(!EMPTY(datapif) AND !ISNULL(datapif),((gnAn*12+gnLuna)-(YEAR(datapif)*12+MONTH(datapif))),0)))/DNF*100 ELSE uzura = 0 ENDIF DO CASE CASE pnImputare = 1 && procent orul.pret_imputare = ROUND((100 - uzura) * orul.pretv / 100,gnPC) CASE pnImputare = 2 && integral orul.pret_imputare = orul.pretv OTHERWISE orul.pret_imputare = orul.pretv ENDCASE ELSE orul.pret_imputare = orul.pretv ENDIF ENDIF SELECT (lcSelRul) APPEND BLANK GATHER NAME orul lnRecno = RECNO() *!* IF TYPE('ostg.id_gestiune') = 'N' *!* REPLACE id_gestiunec WITH ostg.id_gestiune *!* ENDIF IF TYPE('ostg.id_responsabil') = 'N' REPLACE id_responsabilc WITH oStg.id_responsabil ENDIF *!* MODIFICAT 11.04.2006 *!* MARIUS.MUTU - AM PUS RECNO('RUL_TEMP') IN CURSORUL DE TRANSFER - LA STERGERE SA POT STERGE SI LINIA CORESPONDENTA DIN CRSTRANSFER IF INLIST(oset.model,5,6,7) AND USED('crsTransfer') && TRANSFER, RETUR TRANSFER, DIFERENTA DE PRET SELECT crsTransfer REPLACE rec WITH lnRecno EndIf *!* 09.06.2008 *!* 231 - nir mf pretv cu modificarea listei de preturi *!* daca pretul de vanzare este diferit de pretul de vanzare din lista *!* modific pretul de vanzare din lista && 247 = roagest - nir marfa la pretv cu lista de preturi gestiune hibrid 23.10.2008 *!* 266 roagest - mf pret de ach * > factura nesosita - pret de lista ** 19.05.2010 If INLIST(oset.id_set,231,247,266) and poPreturi.pretvtva <> lnPretvTva and lnNIRPRETLISTAMOD = 1 lnPretftvaLista = poPreturi.pretv lnPretvtvaLista = poPreturi.pretvtva lnPretLista = Iif(lnListaPreturiCuTva = 1, lnPretvtvaLista, lnPretftvaLista) lcSql = [update crm_politici_pret_art set pret = ] + Alltrim(Str(lnPretLista,20,4)) + ; [, pretftva = ] + Alltrim(Str(lnPretftvaLista,20,4)) + [, pretctva = ] + Alltrim(Str(lnPretvtvaLista ,20,4)) + ; [ where id_pol=] + ALLTRIM(STR(poact.id_pol)) + [ and id_articol =] + ALLTRIM(STR(oStg.id_articol)) lnSucces = goExecutor.oExecute(lcSql) If lnSucces < 0 MessageBox(goExecutor.cEroare,0+16, 'Eroare') EndIf EndIf *!* 09.06.2008 ^ IF THISFORM.ct_grid_order1.cb_tx_gestin.VISIBLE THISFORM.ct_grid_order1.cb_tx_gestin._cbbase1.VALUE = orul.gestin THISFORM.ct_grid_order1.cb_tx_gestin._cbbase1.REFRESH ENDIF THISFORM.ct_grid_order1.actualizeaza_grid() THISFORM.ct_grid_order1._GRID1.AUTOFIT ELSE THISFORM.ct_grid_search1._GRID1.SETFOCUS ENDIF THISFORM.calcul_sume(lcSelRul) *!* SELECT crsTransfer *!* BROWSE *!* SELECT (lcSelRul) *!* BROWSE IF oset.productie AND INLIST(oset.id_set,26003,26004) && modificare 17.10.2007 AND ALLTRIM(UPPER(oset.formproduc))='FRM_ALEGE_SECTIE_COMANDA' pnValoareDecontata = thisform.nTotal pnCheltuieliDirecte = thisform.nTotal - pnValoareDecontata thisform.container_valoare_decontata1.Refresh ENDIF RELEASE orul RELEASE oStg ENDPROC PROCEDURE _shape1.DblClick IF thisform.WindowState = 2 thisform.WindowState = 0 ELSE thisform.WindowState = 2 ENDIF ENDPROC ENDDEFINE DEFINE CLASS valoare2rulaj AS frm_termin_renunt OF "_frm_child.vcx" *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder *< OBJECTDATA: ObjPath="_shape3" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Clb_facturi_transport" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="cmdFacturiTransport" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Clb_articole" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="cmdArticole" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Clb_valoare_repartizat" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="cbo_explicatieTVA" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="lb_explicatieTVA" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Caut_anluna1" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="_label1" UniqueID="" Timestamp="" /> * *m: calculvaloarerepartizat *m: do_cauta_articole *m: do_cauta_facturi_achizitie *m: do_cauta_facturi_transport *m: do_cauta_furnizor *m: make_rul_temp *p: cacont *p: ccont *p: cfurnizorname *p: clistaidarticole *p: clistaidfacturitransport *p: cnumefurnizor *p: cxmlarticole *p: cxmlfacturiachizitie *p: cxmlfacturitransport *p: ddata1 *p: ddata2 *p: nidfurnizor *p: nprocenttva *p: ntotalvaloarerepartizat *p: ofurnizor * * cacont = Caption = "Form" ccont = 301 cfurnizorname = clistaidarticole = clistaidfacturitransport = cnumefurnizor = cxmlarticole = cxmlfacturiachizitie = cxmlfacturitransport = ddata1 = {} ddata2 = {} DoCreate = .T. Height = 178 Name = "valoare2rulaj" nidfurnizor = 0 nprocenttva = 0 ntotalvaloarerepartizat = 0 ofurnizor = .F. Width = 599 _SHAPE1.Height = 29 _SHAPE1.Left = 0 _SHAPE1.Name = "_SHAPE1" _SHAPE1.Top = 0 _SHAPE1.Width = 600 _SHAPE1.ZOrderSet = 1 _SHAPE2.Height = 29 _SHAPE2.Left = 539 _SHAPE2.Name = "_SHAPE2" _SHAPE2.Top = 0 _SHAPE2.Width = 61 _SHAPE2.ZOrderSet = 2 LB_TITLU_ALB_B121.Caption = "Repartizare valori pe articole" LB_TITLU_ALB_B121.Name = "LB_TITLU_ALB_B121" LB_TITLU_ALB_B121.TabIndex = 10 LB_TITLU_ALB_B121.ZOrderSet = 3 BUT_TERMIN1.Left = 570 BUT_TERMIN1.Name = "BUT_TERMIN1" BUT_TERMIN1.TabIndex = 6 BUT_TERMIN1.Top = 1 BUT_TERMIN1.ZOrderSet = 4 GRIDSORT1.Name = "GRIDSORT1" BUT_RENUNT1.Left = 541 BUT_RENUNT1.Name = "BUT_RENUNT1" BUT_RENUNT1.TabIndex = 7 BUT_RENUNT1.Top = 1 BUT_RENUNT1.ZOrderSet = 6 * ADD OBJECT '_label1' AS _label WITH ; Caption = "Luna intrari articole", ; Left = 21, ; Name = "_label1", ; TabIndex = 4, ; Top = 146, ; ZOrderSet = 15 *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> ADD OBJECT '_shape3' AS _shape WITH ; BackStyle = 0, ; Height = 29, ; Left = 13, ; Name = "_shape3", ; Top = 138, ; Width = 372, ; ZOrderSet = 0 *< END OBJECT: ClassLib="_baza.vcx" BaseClass="shape" /> ADD OBJECT 'Caut_anluna1' AS caut_anluna WITH ; Left = 226, ; Name = "Caut_anluna1", ; TabIndex = 12, ; ToolTipText = "Luna in care se cauta intrarile de articole pe care se repartizeaza valoarea facturilor", ; Top = 142, ; ZOrderSet = 14, ; cboan.Name = "cboan", ; cboluna.Name = "cboluna" *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> ADD OBJECT 'cbo_explicatieTVA' AS combobox WITH ; BorderColor = 128,128,128, ; BorderStyle = 1, ; BoundTo = .T., ; ColumnCount = 1, ; ColumnLines = .F., ; ControlSource = "", ; FontSize = 10, ; Height = 20, ; InputMask = "", ; Left = 439, ; Name = "cbo_explicatieTVA", ; RowSource = "jtva_coloane.denumire,cota_tva,id_jtva_coloana", ; RowSourceType = 2, ; SpecialEffect = 1, ; Style = 2, ; TabIndex = 5, ; TabStop = .F., ; Top = 65, ; Width = 149, ; ZOrderSet = 12 *< END OBJECT: BaseClass="combobox" /> ADD OBJECT 'Clb_articole' AS clb_tx_simplu WITH ; Height = 29, ; Left = 13, ; Name = "Clb_articole", ; TabIndex = 3, ; Top = 110, ; Width = 372, ; ZOrderSet = 9, ; TEXT_SIMPLU1.Height = 23, ; TEXT_SIMPLU1.Left = 101, ; TEXT_SIMPLU1.Name = "TEXT_SIMPLU1", ; TEXT_SIMPLU1.ReadOnly = .T., ; TEXT_SIMPLU1.Top = 3, ; TEXT_SIMPLU1.Width = 265, ; LB_SIMPLU1.Caption = "Articole", ; LB_SIMPLU1.Name = "LB_SIMPLU1" *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> ADD OBJECT 'Clb_facturi_transport' AS clb_tx_simplu WITH ; Height = 29, ; Left = 12, ; Name = "Clb_facturi_transport", ; TabIndex = 1, ; Top = 48, ; Width = 372, ; ZOrderSet = 7, ; TEXT_SIMPLU1.Height = 23, ; TEXT_SIMPLU1.Left = 132, ; TEXT_SIMPLU1.Name = "TEXT_SIMPLU1", ; TEXT_SIMPLU1.ReadOnly = .T., ; TEXT_SIMPLU1.Top = 3, ; TEXT_SIMPLU1.Width = 234, ; LB_SIMPLU1.Caption = "Facturi de repartizat", ; LB_SIMPLU1.Name = "LB_SIMPLU1" *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> ADD OBJECT 'Clb_valoare_repartizat' AS clb_tx_simplu WITH ; Height = 29, ; Left = 12, ; Name = "Clb_valoare_repartizat", ; TabIndex = 2, ; Top = 76, ; Width = 372, ; ZOrderSet = 11, ; Text_simplu1.ControlSource = "thisform.nTotalValoareRepartizat", ; Text_simplu1.Format = "KR", ; Text_simplu1.Height = 23, ; Text_simplu1.InputMask = (get_mask(12,gnPc)), ; Text_simplu1.Left = 216, ; Text_simplu1.Name = "Text_simplu1", ; Text_simplu1.ReadOnly = .T., ; Text_simplu1.Top = 3, ; Text_simplu1.Width = 149, ; Lb_simplu1.Caption = "Valoare de repartizat", ; Lb_simplu1.Name = "Lb_simplu1" *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> ADD OBJECT 'cmdArticole' AS but_cautare WITH ; caction = do_cauta_articole, ; Left = 397, ; Name = "cmdArticole", ; TabIndex = 9, ; Top = 110, ; ZOrderSet = 10 *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> ADD OBJECT 'cmdFacturiTransport' AS but_cautare WITH ; caction = do_cauta_facturi_transport, ; Left = 396, ; Name = "cmdFacturiTransport", ; TabIndex = 8, ; Top = 48, ; ZOrderSet = 8 *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> ADD OBJECT 'lb_explicatieTVA' AS label WITH ; AutoSize = .T., ; BackStyle = 0, ; Caption = "TVA", ; FontName = "Arial", ; Height = 17, ; Left = 439, ; Name = "lb_explicatieTVA", ; TabIndex = 11, ; Top = 48, ; Width = 23, ; ZOrderSet = 13 *< END OBJECT: BaseClass="label" /> PROCEDURE calculvaloarerepartizat lcXMLFacturi = this.cXmlfacturitransport IF !EMPTY(lcXMLFacturi) XMLTOCURSOR(lcXMLFacturi, "crsFacturiTransport") lcNrFacturi = cursor2lista("crsFacturiTransport", "nract", ",") this.cListaIdFacturiTransport = cursor2lista("crsFacturiTransport","id_ireg_part",",") SELECT crsFacturiTransport lnProcent = 100 + this.nProcentTVA CALCULATE SUM(ROUND(totctva*100/lnProcent,gnPC)) TO this.nTotalValoareRepartizat this.clb_facturi_transport.teXT_SIMPLU1.Value = lcNrFacturi USE IN crsFacturiTransport ELSE this.clb_facturi_transport.teXT_SIMPLU1.Value = "" this.ntotalvaloarerepartizat = 0 ENDIF this.clb_valoare_repartizat.text_simplu1.Refresh() this.clb_facturi_transport.text_SIMPLU1.Refresh() ENDPROC PROCEDURE do_cauta_articole LOCAL lcArticole, lcXMLArticole lcXMLArticole = caut_articol(0, .F., .T.) this.cXMLArticole = lcXMLArticole IF !EMPTY(lcXMLArticole) XMLTOCURSOR(lcXMLArticole, "crsArticole") lcArticole = cursor2lista("crsArticole", "denumire", ",") this.cListaIdArticole = cursor2lista("crsArticole","id_articol",",") USE IN crsArticole this.clb_articole.teXT_SIMPLU1.Value = lcArticole this.clb_articole.text_SIMPLU1.Refresh() ENDIF ENDPROC PROCEDURE do_cauta_facturi_achizitie ENDPROC PROCEDURE do_cauta_facturi_transport LOCAL lcCont, lnIdPart, ldData1, ldData2, lcXMLFacturi lcCont = "401,408" ldData1 = DATE(gnAn, gnLuna, 1) ldData2 = GOMONTH(ldData1,2) - 1 && pot sa am factura de transport si in luna urmatoare IF this.nIdfurnizor <= 0 aMESSAGEBOX("Alegeti furnizorul",0+48,"Atentie") RETURN ENDIF lnIdPart = this.nIdfurnizor lcXMLFacturi = caut_facturi(lcCont, lnIdPart, ldData1, ldData2) IF gnButon = 1 this.cXmlfacturitransport = lcXMLFacturi this.calculvaloarerepartizat() ENDIF ENDPROC PROCEDURE do_cauta_furnizor ENDPROC PROCEDURE inainte_de_do_termin llSucces = .T. lcListaIdArticole = This.clistaidarticole lcListaIdFacturiTransport = This.cListaIdfacturitransport If Empty(lcListaIdArticole) llSucces = .F. AMESSAGEBOX('Alegeti articolele!', 0 + 48, 'Atentie') Endif If Empty(lcListaIdFacturiTransport) llSucces = .F. AMESSAGEBOX('Alegeti facturile de repartizat', 0 + 16, 'Facturi') Endif If llSucces If Type('oitem') = 'O' If Pemstatus(oitem,'adunadate',5) _Screen.MousePointer = 11 *!* modificare JC/JV 2007 oitem.id_jnetax = Null oitem.id_jtax = Null oitem.id_jtva = Null *!* modificare JC/JV 2007 ^ oitem.adunadate() _Screen.MousePointer = 0 Endif Endif Endif If llSucces _Screen.MousePointer = 11 llSucces = This.make_rul_temp() _Screen.MousePointer = 0 Endif Return llSucces ENDPROC PROCEDURE Init DODEFAULT() IF USED('xcont') SELECT xcont LOCATE FOR cont_part = "401" IF FOUND() lcNumePart = ALLTRIM(numepart) lnIdPart = idpart this.nIdFurnizor = lnIdPart this.cNumeFurnizor = lcNumePart ENDIF ENDIF ENDPROC PROCEDURE make_rul_temp LOCAL llSucces, lnSucces, lcListaIdArticole, lcListaIdFacturiTransport LOCAL lcSql, lcCursor, lnTotalValoareAchizitie, lnTotalValoareRepartizat, lnIdArticol, lnCant, lnCante, lnPret, lnIdGestiune LOCAL lcCont, lcAcont LOCAL lnCoeficient, lnValoareRepartizat, lnValoare, lnLuna, lnAn lcListaIdArticole = THIS.clistaidarticole lcListaIdFacturiTransport = THIS.cListaIdfacturitransport lnLuna = thisform.caut_anluna1.nluna lnAn = thisform.caut_anluna1.nan lcSql = [select v.*, v.id_gestiune as id_gestin, v.nume_gestiune as gestin, v.id_gestiune as id_gestout,] + ; [v.nume_gestiune as gestout, 0 as nuInConturiX from vrul v where 1=2] lcCursor = [rul_temp] lnSucces = goExecutor.oExecute(lcSql,lcCursor) IF lnSucces < 0 AMESSAGEBOX(goExecutor.cEroare,0+16, 'Eroare') ENDIF IF lnSucces > 0 lcselect = [SELECT A.DENUMIRE, A.CODMAT, G.NUME_GESTIUNE, S.id_articol, S.id_gestiune, S.pret, S.proc_tvav, S.cont, S.acont, S.cants, S.cant, S.cante, S.stoc FROM ] + ; [(select id_articol, id_gestiune, pret, proc_tvav, cont, acont, cants, cant, cante, (cants + cant - cante) as stoc from stoc where an = ] + ; TRANSFORM(m.lnAn) + [ and luna = ] + TRANSFORM(m.lnLuna) + [ and id_gestiune in (] + gcGestPermis + [)] + ; [ and (cants + cant - cante <> 0) and cant <> 0 and id_articol in (] + lcListaIdArticole + [)] + gcCondSucursala + ; [ order by id_articol) S LEFT JOIN NOM_ARTICOLE A ON S.ID_ARTICOL = A.ID_ARTICOL ] + ; [ LEFT JOIN NOM_GESTIUNI G ON S.ID_GESTIUNE = G.ID_GESTIUNE] *!* lcSql = [select id_articol, id_gestiune, pret, proc_tvav, cont, acont, cants, cant, cante, (cants + cant - cante) as stoc from stoc where an = ] + ; *!* TRANSFORM(gnAn) + [ and luna = ] + TRANSFORM(gnLuna) + [ and id_gestiune in (] + gcGestPermis + [)] + ; *!* [ and (cants + cant - cante <> 0) and cant <> 0 and id_articol in (] + lcListaIdArticole + [)] + ; *!* [ order by id_articol] *!* lcCursor = [crsStoc] *!* lnSucces = goExecutor.oExecute(lcSql,lcCursor) *!* IF lnSucces < 0 *!* AMESSAGEBOX(goExecutor.cEroare,0+16, 'Eroare') *!* ENDIF loHash = GetHash() WITH loHash .SetValue("cSelect", lcselect) .SetValue("cColoana", "DENUMIRE, CODMAT, NUME_GESTIUNE, CONT, ACONT, PRET, STOC, ID_ARTICOL, ID_GESTIUNE") .SetValue("cTitlu", "Alegeti intrarile (Mouse Click sau SPATIU pe 'DENUMIRE')") .SetValue("cTitluColoana", "DENUMIRE, COD MATERIAL, NUME_GESTIUNE, CONT, ACONT, PRET, STOC, ID ARTICOL, ID GESTIUNE") .SetValue("cPrimaColoana", "denumire") .SetValue("nTipReturn", 1) ENDWITH TRY lcXML = cauta_alfa_hash(loHash) && 11.07.2007 IF !EMPTY(lcXML) XMLTOCURSOR(lcXML, "crsStoc") ELSE lnSucces = -1 ENDIF CATCH lnSucces = -1 ENDTRY ENDIF *!* modificare serii numere - 10.2007 *!* IF lnSucces > 0 *!* && PLAJE NIR-URI CMP *!* lnTip = 4 && NIR PT CMP *!* lnSerie = 2 *!* lnId_entitate = 0 *!* lnNnir1 = 0 *!* lnNnir2 = 0 *!* lcselect = [select id_plaja,pl_inf,pl_sup from ] + gcS + [.vplaje_numere where ] +; *!* [inactiv = 0 and tip = ] + ALLTRIM(STR(lnTip)) + [ and serie = ] + ; *!* ALLTRIM(STR(lnSerie)) + [ and id_entitate = ] + ALLTRIM(STR(lnId_entitate)) *!* lcCursor = [crsplaja] *!* lnSucces = goExecutor.oExecute(lcselect,lcCursor) *!* IF lnSucces < 0 *!* AMESSAGEBOX(goExecutor.cEroare,0+16, 'Eroare') *!* ELSE *!* SELECT crsPlaja *!* lnNnir1 = pl_inf *!* lnNnir2 = pl_sup *!* ENDIF *!* USE IN crsPlaja *!* ENDIF *!* modificare serii numere - 10.2007 ^9 IF lnSucces > 0 *!* modificare v 2.2.33 : am adaugat PRET SELECT DISTINCT ID_ARTICOL, ID_GESTIUNE, PADR(NVL(CONT,''), 4, ' ') AS CONT, PADR(NVL(ACONT,''), 4, ' ') AS ACONT, pret ; FROM crsStoc ; INTO CURSOR crsJoinTemp *!* modificare serii numere - 10.2007 *!* modificare v 2.2.33 : pret, round(CANT*PRET,?gnPc) lcselect = [SELECT ID_ARTICOL, ID_GESTIUNE, CONT, ACONT, PRET, SUM(ROUND(CANT*PRET,?gnPc)) AS VALOARE FROM RUL ] + ; [ WHERE STERS = 0 AND AN = ] + TRANSFORM(m.lnAn) + [ AND LUNA = ] + TRANSFORM(m.lnLuna) + ; [ and id_gestiune in (] + gcGestPermis + [)] + ; [ AND CANT <> 0 and id_tip_rulaj <> 2] + gcCondSucursala *!* lcselect = [SELECT ID_ARTICOL, ID_GESTIUNE, CONT, ACONT, SUM(CANT*PRET) AS VALOARE FROM RUL ] + ; *!* [ WHERE STERS = 0 AND AN = ] + TRANSFORM(gnAn) + [ AND LUNA = ] + TRANSFORM(gnLuna) + [ and id_gestiune in (] + gcGestPermis + [)] + ; *!* [ AND CANT <> 0 and (NNIR NOT BETWEEN ] + TRANSFORM(lnNnir1) + [ AND ] + TRANSFORM(lnNnir2) + [)] *!* *!* [ AND id_articol in (] + lcListaIdArticole + [)] *!* modificare serii numere - 10.2007 ^ lcConditie = "" SELECT crsJoinTemp SCAN SCATTER NAME lorec lcConditie = lcConditie + [ OR (id_articol = ] + ALLTRIM(STR(lorec.ID_ARTICOL)) + [ and id_gestiune = ] + ALLTRIM(STR(lorec.ID_GESTIUNE)) + ; [ and cont = '] + ALLTRIM(lorec.CONT) + IIF(!EMPTY(ALLTRIM(lorec.ACONT)), [' and acont = '] + ALLTRIM(lorec.ACONT) + ['], [']) + [)] ENDSCAN USE IN crsJoinTemp IF !EMPTY(lcConditie) lcConditie = SUBSTR(lcConditie, 5) ENDIF lcselect = lcselect + IIF(!EMPTY(lcConditie), [ AND (] + lcConditie + [)], []) *!* modificare v 2.2.33 : am adaugat PRET lcselect = lcselect + [ GROUP BY ID_ARTICOL, ID_GESTIUNE, CONT, ACONT, PRET order by id_articol] lcCursor = [crsRulTemp] lnSucces = goExecutor.oExecute(lcselect,lcCursor) IF lnSucces < 0 AMESSAGEBOX(goExecutor.cEroare,0+16, 'Eroare') ENDIF *!* loHash = GetHash() *!* WITH loHash *!* .SetValue("cSelect", lcselect) *!* .SetValue("cColoana", "DENUMIRE, CODMAT, NUME_GESTIUNE, CONT, ACONT, VALOARE, ID_ARTICOL, ID_GESTIUNE") *!* .SetValue("cTitlu", "Alegeti intrarile") *!* .SetValue("cTitluColoana", "DENUMIRE, COD MATERIAL, NUME_GESTIUNE, CONT, ACONT, VALOARE, ID ARTICOL, ID GESTIUNE") *!* .SetValue("cPrimaColoana", "denumire") *!* .SetValue("nTipReturn", 1) *!* ENDWITH *!* lcXML = cauta_alfa_hash(loHash) && 11.07.2007 *!* IF !EMPTY(lcXML) *!* XMLTOCURSOR(lcXML, "crsRulTemp") *!* ELSE *!* lnSucces = -1 *!* ENDIF ENDIF IF lnSucces > 0 SELECT crsRulTemp CALCULATE SUM(ROUND(valoare,gnPc)) TO lnTotalValoareAchizitie lnTotalValoareRepartizat = THIS.ntotalvaloarerepartizat LOCAL lnValoareRepartizatSuma lnValoareRepartizatSuma = 0 SELECT crsStoc SCAN lnIdArticol = ID_ARTICOL lnCante = cants + cant - cante lnPret = PRET lnIdGestiune = ID_GESTIUNE lcCont = CONT lcAcont = ACONT lnStoc = stoc *!* SCOT STOCUL EXISTENT CU PRETUL VECHI SELECT rul_temp SCATTER NAME loRul BLANK WITH loRul .ID_ARTICOL = lnIdArticol .id_gestout = lnIdGestiune .ID_GESTIUNE = lnIdGestiune .cante = lnStoc .PRET = lnPret .CONT = lcCont .ACONT = lcAcont ENDWITH SELECT rul_temp APPEND BLANK GATHER NAME loRul *!* INTRODUC STOCUL EXISTENT CU PRETUL NOU *!* coeficient_lesie = valoare_achizitie_lesie / valoare_achizitie_totala *!* valoare_repartizata_lesie = valoare_totala_de_repartizat * coeficient_lesie *!* valoare_lesie = valoare_stoc_lesie + valoare_repartizata_lesie *!* pret_lesie = valoare_lesie / stoc_final_lesie SELECT crsRulTemp *!* modificare v 2.2.33 : am adaugat PRET LOCATE FOR ID_ARTICOL = lnIdArticol AND ID_GESTIUNE = lnIdGestiune AND CONT = lcCont AND NVL(ACONT,'XXXX') = NVL(lcAcont,'XXXX') AND pret = lnPret IF FOUND() *!* modificare v 2.2.33 : round(...) lnCoeficient = ROUND(valoare / lnTotalValoareAchizitie,2) ELSE lnCoeficient = 0 ENDIF && la ultimul reper valoarea de repartizat = total valoare de repartizat - valoarea repartizata pe reperele anterioare lnValoareRepartizat = ROUND(lnTotalValoareRepartizat * lnCoeficient, gnPc) IF RECCOUNT('crsStoc') = RECNO('crsStoc') && ultimul reper lnValoareRepartizat = lnTotalValoareRepartizat - lnValoareRepartizatSuma ELSE lnValoareRepartizatSuma = lnValoareRepartizatSuma + lnValoareRepartizat ENDIF lnValoare = ROUND(lnStoc * lnPret + lnValoareRepartizat, gnPc) lnPret = ROUND(lnValoare / lnStoc, gnPpret) SELECT rul_temp SCATTER NAME loRul BLANK WITH loRul .ID_ARTICOL = lnIdArticol .id_gestout = lnIdGestiune .ID_GESTIUNE = lnIdGestiune .cant = lnStoc .PRET = lnPret .CONT = lcCont .ACONT = lcAcont ENDWITH SELECT rul_temp APPEND BLANK GATHER NAME loRul ENDSCAN ENDIF SELECT rul_temp REPLACE ALL ID_TIP_RULAJ WITH 5 && RULAJ REPARTIZARE VALOARE PE ARTICOLE *!* modificare 08.11.2007 lcCont = cont *!* modificare 08.11.2007 ^ IF USED('ACTACTAN') SELECT ACTACTAN *!* modificare JC/JV 2007 REPLACE proc_tva WITH 0 FOR NVL(id_jtva_coloana,0)=0 *!* modificare JC/JV 2007 ^ GO TOP *!* modificare 08.11.2007 replace scd WITH lcCont *!* REPLACE SCD WITH rul_temp.CONT *!* modificare 08.11.2007 ^ SCATTER NAME loActactan SELECT rul_temp REPLACE ALL dataact WITH loActactan.dataact, ; nnir WITH loActactan.nnir, ; id_sectie WITH loActactan.id_sectie, ; id_responsabil WITH loActactan.id_responsabil, ; id_lucrare WITH loActactan.id_lucrare, nract WITH loActactan.nract, serie_act WITH loActactan.serie_act ENDIF IF USED('crsStoc') USE IN crsStoc ENDIF IF USED('crsRulTemp') USE IN crsRulTemp ENDIF llSucces = IIF(lnSucces > 0, .T., .F.) RETURN llSucces ENDPROC PROCEDURE cbo_explicatieTVA.Init Select jtva_coloane Locate For id_jtva_coloana = XSETS.id_jtax If ! Found() Go Top Endif Thisform.nProcenttva = cota_tva This.Value = Alltrim(denumire) ENDPROC PROCEDURE cbo_explicatieTVA.InteractiveChange Select jtva_coloane Thisform.nProcenttva = cota_tva Thisform.calculvaloarerepartizat() ENDPROC ENDDEFINE