Files
comun/clase/ointroduceri.vc2

18185 lines
594 KiB
Plaintext

*--------------------------------------------------------------------------------------------------------------------------------------------------------
* (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="" />
*<PropValue>
BackColor = 255,255,255
BorderColor = 255,255,255
Height = 28
Name = "container_valoare_decontata"
Width = 245
*</PropValue>
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"
*<PropValue>
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"
*</PropValue>
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="" />
*<DefinedPropArrayMethod>
*m: do_cauta_gestiune
*m: do_cauta_produs
*</DefinedPropArrayMethod>
*<PropValue>
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
*</PropValue>
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="" />
*<DefinedPropArrayMethod>
*m: do_cauta_sectie
*</DefinedPropArrayMethod>
*<PropValue>
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
*</PropValue>
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="" />
*<DefinedPropArrayMethod>
*m: do_cauta_comanda
*m: do_cauta_sectie
*</DefinedPropArrayMethod>
*<PropValue>
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
*</PropValue>
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="" />
*<DefinedPropArrayMethod>
*m: do_actualizeaza_um
*m: do_calculeaza_pret
*m: do_conversie
*p: calias
*p: ccursor
*p: cum
*p: ncantitate
*p: npret
*p: ntip
*</DefinedPropArrayMethod>
*<PropValue>
BorderStyle = 1
calias =
ccursor =
cum =
DoCreate = .T.
Height = 270
Name = "frm_conversie"
ncantitate = 0
npret = 0
ntip = 0
Width = 480
_memberdata = <VFPData>
<memberdata name="ccursor" display="cCursor"/>
<memberdata name="ntip" display="nTip"/>
</VFPData>
_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"
*</PropValue>
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 = "\<Volum -> masa", ;
Page1.Name = "Page1", ;
Page1.PageOrder = 2, ;
Page2.BackColor = 255,255,255, ;
Page2.Caption = "\<Conversii", ;
Page2.Name = "Page2", ;
Page2.PageOrder = 1
*< END OBJECT: ClassLib="_frm_base.vcx" BaseClass="pageframe" />
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="" />
*<DefinedPropArrayMethod>
*p: nprocentuzura
*</DefinedPropArrayMethod>
*<PropValue>
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"
*</PropValue>
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"
*<DefinedPropArrayMethod>
*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
*</DefinedPropArrayMethod>
*<PropValue>
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 = <VFPData>
<memberdata name="aplicatva" display="AplicaTVA"/>
<memberdata name="updatepaymentsaft" display="UpdatePaymentSAFT"/>
<memberdata name="cpaymentcode" display="cPaymentCode"/>
<memberdata name="updateexplicatiesaft" display="UpdateExplicatieSAFT"/>
<memberdata name="ntaxcodeachizitie" display="nTaxCodeAchizitie"/>
<memberdata name="ntaxcodevanzare" display="nTaxCodeVanzare"/>
<memberdata name="updatelabelsaft" display="UpdateLabelSaft"/>
</VFPData>
_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"
*</PropValue>
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"
*<DefinedPropArrayMethod>
*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
*</DefinedPropArrayMethod>
*<PropValue>
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"
*</PropValue>
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="" />
*<DefinedPropArrayMethod>
*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
*</DefinedPropArrayMethod>
*<PropValue>
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
*</PropValue>
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="" />
*<DefinedPropArrayMethod>
*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
*</DefinedPropArrayMethod>
*<PropValue>
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
*</PropValue>
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 = "\<Adaugã repere", ;
FontBold = .F., ;
Height = 27, ;
Left = 10, ;
Name = "Cmd_adauga1", ;
TabIndex = 17, ;
Top = 393, ;
Width = 96
*< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" />
ADD OBJECT 'Cmd_adauga2' AS cmd_adauga WITH ;
Anchor = 4, ;
caction = do_copie, ;
Caption = "\<Copiazã reper", ;
FontBold = .F., ;
Height = 27, ;
Left = 118, ;
Name = "Cmd_adauga2", ;
TabIndex = 17, ;
Top = 393, ;
Width = 96
*< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" />
ADD OBJECT 'Cmd_executa1' AS cmd_executa WITH ;
Anchor = 4, ;
caction = do_Reface, ;
Caption = "\<Recalculeazã", ;
FontBold = .F., ;
Height = 27, ;
Left = 224, ;
Name = "Cmd_executa1", ;
TabIndex = 5, ;
Top = 393, ;
Width = 89
*< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" />
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 <Formularul Precedent> 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="" />
*<DefinedPropArrayMethod>
*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
*</DefinedPropArrayMethod>
*<PropValue>
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 = <VFPData>
<memberdata name="updateexplicatiesaft" display="UpdateExplicatieSAFT"/>
</VFPData>
_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
*</PropValue>
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 = "\<Recalculare", ;
FontBold = .T., ;
Height = 27, ;
Left = 684, ;
Name = "Cmd_executa1", ;
Top = 373, ;
Width = 99
*< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" />
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"
*<DefinedPropArrayMethod>
*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
*</DefinedPropArrayMethod>
*<PropValue>
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 = <VFPData>
<memberdata name="nidresponsabil" display="nIdResponsabil"/>
<memberdata name="nresp" display="nResp"/>
</VFPData>
_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"
*</PropValue>
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"
*<DefinedPropArrayMethod>
*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
*</DefinedPropArrayMethod>
*<PropValue>
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"
*</PropValue>
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="" />
*<DefinedPropArrayMethod>
*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
*</DefinedPropArrayMethod>
*<PropValue>
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
*</PropValue>
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