- import_nota / import_adauga_factura: flux unificat note contabile + articole, sincronizare automata, total factura automat, TVA impartit pe conturile creditoare ale notelor (rundele 1-31) - runda 32: totalurile import_nota pe _label/_textbox din _baza.vcx (Arial 10), fara containerele clb_tx_simplu si fara bifa "Recalculeaza TVA" (recalcul mereu automat); "Sincronizeaza facturile secundare" mutata sub butoane - utile/Teste: harness UI VFP headless (vfp_ui_harness.ps1, ui_harness.prg, precompilare, mock-uri) in radacina; suitele e2e pentru achizitia din import grupate in utile/Teste/achizitie_import/ - docs: flux editare text vcx/scx, testare-ui-vfp si testare-vfp-mcp (mutate din ROAGEST, general valabile), inventar comun, orchestrare subagenti, conventie GO recno, depanare testare VFP Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_019DGibQKa5uK4P2TNSFFQNh
21203 lines
701 KiB
Plaintext
21203 lines
701 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="_label1" UniqueID="" Timestamp="" />
|
|
*< OBJECTDATA: ObjPath="txtFelDocDVI" UniqueID="" Timestamp="" />
|
|
*< OBJECTDATA: ObjPath="cmdFelDocDVI" 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="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="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="lblSumaLei" UniqueID="" Timestamp="" />
|
|
*< OBJECTDATA: ObjPath="txtProcentTva" UniqueID="" Timestamp="" />
|
|
*< OBJECTDATA: ObjPath="txtSumaLei" UniqueID="" Timestamp="" />
|
|
*< OBJECTDATA: ObjPath="_label2" 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 = 650
|
|
_shape1.Height = 29
|
|
_shape1.Left = 0
|
|
_shape1.Name = "_shape1"
|
|
_shape1.Top = 0
|
|
_shape1.Width = 653
|
|
_shape1.ZOrderSet = 3
|
|
_shape2.Left = 583
|
|
_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 = 620
|
|
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 = 628, ;
|
|
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 = 628, ;
|
|
ZOrderSet = 2
|
|
*< END OBJECT: ClassLib="_baza.vcx" BaseClass="shape" />
|
|
|
|
ADD OBJECT 'But_renunt1' AS but_renunt WITH ;
|
|
Left = 590, ;
|
|
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 = 522, ;
|
|
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 = 522, ;
|
|
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 = 365, ;
|
|
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 = 394, ;
|
|
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 = 499, ;
|
|
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 = 500, ;
|
|
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 = 231, ;
|
|
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 = 247, ;
|
|
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 = 628, ;
|
|
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 = 428, ;
|
|
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 = 533, ;
|
|
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 = 540, ;
|
|
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 = 147, ;
|
|
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 = 285, ;
|
|
Name = "txtDviTvaLei", ;
|
|
TabIndex = 26, ;
|
|
Top = 362, ;
|
|
Width = 112, ;
|
|
ZOrderSet = 46
|
|
*< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" />
|
|
|
|
ADD OBJECT 'txtDviTvaVal' AS _textbox WITH ;
|
|
Alignment = 1, ;
|
|
ControlSource = "Thisform.nDviTvaVal", ;
|
|
Enabled = .F., ;
|
|
Format = "RK", ;
|
|
Height = 23, ;
|
|
InputMask = "9999999.9999", ;
|
|
Left = 98, ;
|
|
Name = "txtDviTvaVal", ;
|
|
TabIndex = 25, ;
|
|
Top = 362, ;
|
|
Width = 112, ;
|
|
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 = 120, ;
|
|
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 = 114, ;
|
|
ZOrderSet = 23
|
|
*< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" />
|
|
|
|
ADD OBJECT 'txtSumaLei' AS _textbox WITH ;
|
|
Alignment = 1, ;
|
|
ControlSource = "Thisform.nSumaLei", ;
|
|
Format = "RK", ;
|
|
Height = 23, ;
|
|
InputMask = "9999999999.99", ;
|
|
Left = 125, ;
|
|
Name = "txtSumaLei", ;
|
|
TabIndex = 29, ;
|
|
Top = 151, ;
|
|
Width = 114, ;
|
|
ZOrderSet = 51
|
|
*< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" />
|
|
|
|
ADD OBJECT 'txtValuta' AS _textbox WITH ;
|
|
ControlSource = "Thisform.cValuta", ;
|
|
Enabled = .T., ;
|
|
Format = "K", ;
|
|
Left = 291, ;
|
|
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.Bound = .F., ;
|
|
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.Bound = .F., ;
|
|
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.Bound = .F., ;
|
|
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
|
|
TRY
|
|
GO tnRecNo
|
|
CATCH
|
|
GO TOP
|
|
ENDTRY
|
|
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="Grid1.cValuta.Header1" UniqueID="" Timestamp="" />
|
|
*< OBJECTDATA: ObjPath="Grid1.cValuta.Text1" UniqueID="" Timestamp="" />
|
|
*< OBJECTDATA: ObjPath="Grid1.cCurs.Header1" UniqueID="" Timestamp="" />
|
|
*< OBJECTDATA: ObjPath="Grid1.cCurs.Text1" UniqueID="" Timestamp="" />
|
|
*< OBJECTDATA: ObjPath="Grid1.cTip.Header1" UniqueID="" Timestamp="" />
|
|
*< OBJECTDATA: ObjPath="Grid1.cTip.Text1" UniqueID="" Timestamp="" />
|
|
*< OBJECTDATA: ObjPath="Text2" UniqueID="" Timestamp="" />
|
|
*< OBJECTDATA: ObjPath="TxtFtvaVal" UniqueID="" Timestamp="" />
|
|
*< OBJECTDATA: ObjPath="LblFtvaVal" UniqueID="" Timestamp="" />
|
|
*< OBJECTDATA: ObjPath="LblFtvaLei" UniqueID="" Timestamp="" />
|
|
*< OBJECTDATA: ObjPath="Label3" UniqueID="" Timestamp="" />
|
|
*< OBJECTDATA: ObjPath="Label1" UniqueID="" Timestamp="" />
|
|
*< OBJECTDATA: ObjPath="TxtFtvaLei" UniqueID="" Timestamp="" />
|
|
*< OBJECTDATA: ObjPath="Text3" UniqueID="" Timestamp="" />
|
|
*< OBJECTDATA: ObjPath="Cmd_executa1" UniqueID="" Timestamp="" />
|
|
*< OBJECTDATA: ObjPath="But_nou1" UniqueID="" Timestamp="" />
|
|
*< OBJECTDATA: ObjPath="But_sterge1" UniqueID="" Timestamp="" />
|
|
*< OBJECTDATA: ObjPath="But_copiaza1" UniqueID="" Timestamp="" />
|
|
*< OBJECTDATA: ObjPath="But_adauga_art" UniqueID="" Timestamp="" />
|
|
*< OBJECTDATA: ObjPath="But_copie_art" UniqueID="" Timestamp="" />
|
|
*< OBJECTDATA: ObjPath="But_sterge_art" UniqueID="" Timestamp="" />
|
|
*< OBJECTDATA: ObjPath="chkSpargeSecundare" UniqueID="" Timestamp="" />
|
|
*< OBJECTDATA: ObjPath="GridArt" UniqueID="" Timestamp="" />
|
|
*< OBJECTDATA: ObjPath="GridArt.cDenumire.Header1" UniqueID="" Timestamp="" />
|
|
*< OBJECTDATA: ObjPath="GridArt.cDenumire.Text1" UniqueID="" Timestamp="" />
|
|
*< OBJECTDATA: ObjPath="GridArt.cCodMat.Header1" UniqueID="" Timestamp="" />
|
|
*< OBJECTDATA: ObjPath="GridArt.cCodMat.Text1" UniqueID="" Timestamp="" />
|
|
*< OBJECTDATA: ObjPath="GridArt.cCant.Header1" UniqueID="" Timestamp="" />
|
|
*< OBJECTDATA: ObjPath="GridArt.cCant.Text1" UniqueID="" Timestamp="" />
|
|
*< OBJECTDATA: ObjPath="GridArt.cPretFactura.Header1" UniqueID="" Timestamp="" />
|
|
*< OBJECTDATA: ObjPath="GridArt.cPretFactura.Text1" UniqueID="" Timestamp="" />
|
|
*< OBJECTDATA: ObjPath="GridArt.cPretValutaCalculat.Header1" UniqueID="" Timestamp="" />
|
|
*< OBJECTDATA: ObjPath="GridArt.cPretValutaCalculat.Text1" UniqueID="" Timestamp="" />
|
|
*< OBJECTDATA: ObjPath="GridArt.cPretLeiCalculat.Header1" UniqueID="" Timestamp="" />
|
|
*< OBJECTDATA: ObjPath="GridArt.cPretLeiCalculat.Text1" UniqueID="" Timestamp="" />
|
|
*< OBJECTDATA: ObjPath="GridArt.cValoareValutaFactura.Header1" UniqueID="" Timestamp="" />
|
|
*< OBJECTDATA: ObjPath="GridArt.cValoareValutaFactura.Text1" UniqueID="" Timestamp="" />
|
|
*< OBJECTDATA: ObjPath="GridArt.cValoareValutaCalculat.Header1" UniqueID="" Timestamp="" />
|
|
*< OBJECTDATA: ObjPath="GridArt.cValoareValutaCalculat.Text1" UniqueID="" Timestamp="" />
|
|
*< OBJECTDATA: ObjPath="GridArt.cValoareLeiCalculat.Header1" UniqueID="" Timestamp="" />
|
|
*< OBJECTDATA: ObjPath="GridArt.cValoareLeiCalculat.Text1" UniqueID="" Timestamp="" />
|
|
*< OBJECTDATA: ObjPath="GridArt.cCont.Header1" UniqueID="" Timestamp="" />
|
|
*< OBJECTDATA: ObjPath="GridArt.cCont.Text1" UniqueID="" Timestamp="" />
|
|
*< OBJECTDATA: ObjPath="GridArt.cAcont.Header1" UniqueID="" Timestamp="" />
|
|
*< OBJECTDATA: ObjPath="GridArt.cAcont.Text1" UniqueID="" Timestamp="" />
|
|
*< OBJECTDATA: ObjPath="GridArt.cSerie.Header1" UniqueID="" Timestamp="" />
|
|
*< OBJECTDATA: ObjPath="GridArt.cSerie.Text1" UniqueID="" Timestamp="" />
|
|
*< OBJECTDATA: ObjPath="GridArt.cLot.Header1" UniqueID="" Timestamp="" />
|
|
*< OBJECTDATA: ObjPath="GridArt.cLot.Text1" UniqueID="" Timestamp="" />
|
|
*< OBJECTDATA: ObjPath="GridArt.cAdata_expirare.Header1" UniqueID="" Timestamp="" />
|
|
*< OBJECTDATA: ObjPath="GridArt.cAdata_expirare.Text1" UniqueID="" Timestamp="" />
|
|
*< OBJECTDATA: ObjPath="GridArt.Column1.Header1" UniqueID="" Timestamp="" />
|
|
*< OBJECTDATA: ObjPath="GridArt.Column1.Text1" UniqueID="" Timestamp="" />
|
|
*< OBJECTDATA: ObjPath="GridArt.cCotaTva.Header1" UniqueID="" Timestamp="" />
|
|
*< OBJECTDATA: ObjPath="GridArt.cCotaTva.Text1" UniqueID="" Timestamp="" />
|
|
*< OBJECTDATA: ObjPath="_grdfooter1" UniqueID="" Timestamp="" />
|
|
*< OBJECTDATA: ObjPath="lblIncLei" UniqueID="" Timestamp="" />
|
|
*< OBJECTDATA: ObjPath="TxtIncLei" UniqueID="" Timestamp="" />
|
|
*< OBJECTDATA: ObjPath="lblIncVal" UniqueID="" Timestamp="" />
|
|
*< OBJECTDATA: ObjPath="TxtIncVal" UniqueID="" Timestamp="" />
|
|
*< OBJECTDATA: ObjPath="lblDifLei" UniqueID="" Timestamp="" />
|
|
*< OBJECTDATA: ObjPath="TxtDifLei" UniqueID="" Timestamp="" />
|
|
*< OBJECTDATA: ObjPath="lblDifVal" UniqueID="" Timestamp="" />
|
|
*< OBJECTDATA: ObjPath="TxtDifVal" UniqueID="" Timestamp="" />
|
|
*< OBJECTDATA: ObjPath="But_modiparam1" UniqueID="" Timestamp="" />
|
|
*< OBJECTDATA: ObjPath="tmrSync" UniqueID="" Timestamp="" />
|
|
*< OBJECTDATA: ObjPath="lblSync" UniqueID="" Timestamp="" />
|
|
*< OBJECTDATA: ObjPath="lblLegenda" UniqueID="" Timestamp="" />
|
|
|
|
*<DefinedPropArrayMethod>
|
|
*m: actualizeaza_banda
|
|
*m: aplica_explicatie_tva
|
|
*m: assign_analitic
|
|
*m: calc_baze_cota_creditor
|
|
*m: calc_doc_key
|
|
*m: copiaza_valoare
|
|
*m: creeaza_rand_s
|
|
*m: do_adauga_articol
|
|
*m: do_adauga_factura
|
|
*m: do_calculeaza_diferente
|
|
*m: do_calculeaza_suma
|
|
*m: do_copiaza_nota
|
|
*m: do_executa_pret
|
|
*m: do_modifica_explicatie_tva
|
|
*m: do_modifica_fdoc
|
|
*m: do_modiparam
|
|
*m: do_sterge_articol
|
|
*m: gaseste_jtva_cota
|
|
*m: recalculeaza
|
|
*m: recalc_diferente
|
|
*m: recalc_tva_document
|
|
*m: refac_culori_documente
|
|
*m: sincronizeaza
|
|
*m: sparge_document
|
|
*m: uneste_document
|
|
*m: updateexplicatiesaft
|
|
*m: valideaza_sume
|
|
*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: cmesajsync && mesajele valideaza_sume/sparge_document/recalc_diferente (banda de sincronizare)
|
|
*p: ddvidata && memoria DVI: data DVI
|
|
*p: ldialogaratat && dialogul "Adauga factura" a fost deschis automat la Activate (o singura data)
|
|
*p: linsync && A1: guard de reintrare in sincronizeaza()
|
|
*p: lintern && Formularul este folosit pentru Import (.T.) sau pentru achizitii interne (.F.)
|
|
*p: lrecalctva && recalculeaza automat T-urile nemanuale cand se modifica totalul facturii
|
|
*p: lspargesecundare && spargerea facturilor secundare pe conturile/analiticele articolelor (implicit activa)
|
|
*p: lsyncpending && A1: sincronizare amanata, armata din Valid-uri, executata de tmrSync
|
|
*p: nbazaprincipala_lei && baza principala lei (nr_doc minim B/S), numitor procente per rand (sincronizeaza)
|
|
*p: nbazaprincipala_val && baza principala valuta, numitor procente per rand (sincronizeaza)
|
|
*p: nbaza_lei && baza lei totala (recalculeaza) - documentele cu S insumeaza S, fara S insumeaza B
|
|
*p: nbaza_val && baza valuta totala (recalculeaza)
|
|
*p: ndif_lei && diferenta lei randul D (recalc_diferente)
|
|
*p: ndif_val && diferenta valuta randul D (recalc_diferente)
|
|
*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: noldval && valoarea celulei la intrarea in focus (GotFocus) - Valid/LostFocus doar la modificare
|
|
*p: ntva_lei && TVA lei totala (recalculeaza)
|
|
*p: ntva_val && TVA valuta totala (recalculeaza)
|
|
*p: oact
|
|
*p: procent_lei && A3: procent incarcare lei (100 + transport/taxe), calculat direct in recalculeaza()
|
|
*p: procent_val && A3: procent incarcare valuta, calculat direct in recalculeaza()
|
|
*p: tprocente
|
|
*p: tsuma
|
|
*</DefinedPropArrayMethod>
|
|
|
|
*<PropValue>
|
|
BorderStyle = 3
|
|
cdvifeldoc = ""
|
|
cdvinr = ""
|
|
cdvipartener = ""
|
|
cdviserie = ""
|
|
cmesajsync = ""
|
|
ddvidata = {}
|
|
DoCreate = .T.
|
|
Height = 620
|
|
KeyPreview = .T.
|
|
ldialogaratat = .F.
|
|
linsync = .F.
|
|
lintern = .F.
|
|
lrecalctva = .T.
|
|
lspargesecundare = .T.
|
|
lsyncpending = .F.
|
|
Name = "import_nota"
|
|
nbazaprincipala_lei = 0
|
|
nbazaprincipala_val = 0
|
|
nbaza_lei = 0
|
|
nbaza_val = 0
|
|
ndif_lei = 0
|
|
ndif_val = 0
|
|
ndviidfdoc = 0
|
|
ndviidpartener = 0
|
|
nid_part_finalizarenir =
|
|
noldval = 0
|
|
ntva_lei = 0
|
|
ntva_val = 0
|
|
oact =
|
|
procent_lei = 0
|
|
procent_val = 0
|
|
tprocente = 0
|
|
tsuma = 0
|
|
Width = 1000
|
|
_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 = 1001
|
|
_shape2.Anchor = 8
|
|
_shape2.Left = 937
|
|
_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.Left = 968
|
|
BUT_TERMIN1.Name = "BUT_TERMIN1"
|
|
BUT_TERMIN1.Top = 1
|
|
Gridsort1.Name = "Gridsort1"
|
|
But_renunt1.Anchor = 8
|
|
But_renunt1.Left = 939
|
|
But_renunt1.Name = "But_renunt1"
|
|
But_renunt1.Top = 1
|
|
*</PropValue>
|
|
|
|
ADD OBJECT '_grdfooter1' AS _grdfooter WITH ;
|
|
Anchor = 14, ;
|
|
ccolwithlabel = cDenumire, ;
|
|
csourcegrid = , ;
|
|
csumcolumns = cValoareValutaFactura, cValoareValutaCalculat, cValoareLeiCalculat, ;
|
|
ctotallabelexpression = 'TOTAL', ;
|
|
Left = 4, ;
|
|
Name = "_grdfooter1", ;
|
|
Top = 573, ;
|
|
Width = 990
|
|
*< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" />
|
|
|
|
ADD OBJECT 'But_adauga_art' AS but_nou WITH ;
|
|
Anchor = 9, ;
|
|
caction = do_adauga_articol, ;
|
|
Left = 770, ;
|
|
Name = "But_adauga_art", ;
|
|
ToolTipText = "Adauga repere", ;
|
|
Top = 376
|
|
*< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" />
|
|
|
|
ADD OBJECT 'But_copiaza1' AS but_copiaza WITH ;
|
|
Anchor = 8, ;
|
|
caction = do_copiaza_nota, ;
|
|
Left = 843, ;
|
|
Name = "But_copiaza1", ;
|
|
ToolTipText = "Copiaza factura (Da=document, Nu=linie)", ;
|
|
Top = 1
|
|
*< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" />
|
|
|
|
ADD OBJECT 'But_copie_art' AS but_copiaza WITH ;
|
|
Anchor = 9, ;
|
|
caction = do_copie, ;
|
|
Left = 802, ;
|
|
Name = "But_copie_art", ;
|
|
ToolTipText = "Copiaza reperul curent", ;
|
|
Top = 376
|
|
*< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" />
|
|
|
|
ADD OBJECT 'But_modiparam1' AS but_modiparam WITH ;
|
|
Anchor = 8, ;
|
|
Left = 779, ;
|
|
Name = "But_modiparam1", ;
|
|
ToolTipText = "Import fisier XLS", ;
|
|
Top = 1
|
|
*< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" />
|
|
|
|
ADD OBJECT 'But_nou1' AS but_nou WITH ;
|
|
Anchor = 8, ;
|
|
Left = 811, ;
|
|
Name = "But_nou1", ;
|
|
Top = 1
|
|
*< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" />
|
|
|
|
ADD OBJECT 'But_sterge1' AS but_sterge WITH ;
|
|
Anchor = 8, ;
|
|
Left = 875, ;
|
|
Name = "But_sterge1", ;
|
|
ToolTipText = "Stergere linia sau nota curenta", ;
|
|
Top = 1, ;
|
|
Visible = .T.
|
|
*< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" />
|
|
|
|
ADD OBJECT 'But_sterge_art' AS but_sterge WITH ;
|
|
Anchor = 9, ;
|
|
caction = do_sterge_articol, ;
|
|
Left = 834, ;
|
|
Name = "But_sterge_art", ;
|
|
ToolTipText = "Sterge articolul curent", ;
|
|
Top = 376, ;
|
|
Visible = .T.
|
|
*< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" />
|
|
|
|
ADD OBJECT 'chkSpargeSecundare' AS _checkbox WITH ;
|
|
Alignment = 0, ;
|
|
Anchor = 9, ;
|
|
Caption = "Sincronizeaza facturile secundare", ;
|
|
ControlSource = "Thisform.lSpargeSecundare", ;
|
|
Height = 18, ;
|
|
Left = 764, ;
|
|
Name = "chkSpargeSecundare", ;
|
|
Top = 406, ;
|
|
Width = 214
|
|
*< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" />
|
|
|
|
ADD OBJECT 'Cmd_executa1' AS cmd_executa WITH ;
|
|
Anchor = 9, ;
|
|
Caption = "\<Recalculeaza", ;
|
|
FontBold = .T., ;
|
|
Height = 27, ;
|
|
Left = 870, ;
|
|
Name = "Cmd_executa1", ;
|
|
Top = 376, ;
|
|
Width = 124
|
|
*< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" />
|
|
|
|
ADD OBJECT 'Grid1' AS grid WITH ;
|
|
Anchor = 11, ;
|
|
BackColor = 255,255,255, ;
|
|
ColumnCount = 24, ;
|
|
DeleteMark = .F., ;
|
|
FontName = "Arial", ;
|
|
FontSize = 10, ;
|
|
HeaderHeight = 49, ;
|
|
Height = 288, ;
|
|
Left = 4, ;
|
|
Name = "Grid1", ;
|
|
Panel = 1, ;
|
|
RecordSource = "introdc", ;
|
|
RecordSourceType = 1, ;
|
|
RowHeight = 19, ;
|
|
TabIndex = 2, ;
|
|
Top = 60, ;
|
|
Width = 990, ;
|
|
ZOrderSet = 5, ;
|
|
Column1.BackColor = 255,255,255, ;
|
|
Column1.ColumnOrder = 5, ;
|
|
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 = 6, ;
|
|
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 = 7, ;
|
|
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 = 9, ;
|
|
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 = 22, ;
|
|
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 = 10, ;
|
|
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 = 12, ;
|
|
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 = 15, ;
|
|
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 = 16, ;
|
|
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 = 19, ;
|
|
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 = 23, ;
|
|
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 = 21, ;
|
|
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 = 11, ;
|
|
Column13.ControlSource = "ascd", ;
|
|
Column13.FontName = "Arial", ;
|
|
Column13.FontSize = 10, ;
|
|
Column13.Name = "cAscd", ;
|
|
Column13.Width = 40, ;
|
|
Column14.BackColor = 255,255,255, ;
|
|
Column14.ColumnOrder = 13, ;
|
|
Column14.ControlSource = "ascc", ;
|
|
Column14.FontName = "Arial", ;
|
|
Column14.FontSize = 10, ;
|
|
Column14.Name = "cAscc", ;
|
|
Column14.Width = 44, ;
|
|
Column15.BackColor = 255,255,255, ;
|
|
Column15.ColumnOrder = 8, ;
|
|
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 = 20, ;
|
|
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 = 4, ;
|
|
Column17.ControlSource = "serie_act", ;
|
|
Column17.FontName = "Arial", ;
|
|
Column17.FontSize = 10, ;
|
|
Column17.Name = "cSerie_act", ;
|
|
Column17.Width = 70, ;
|
|
Column18.BackColor = 255,255,255, ;
|
|
Column18.ColumnOrder = 2, ;
|
|
Column18.ControlSource = "dataact", ;
|
|
Column18.FontName = "Arial", ;
|
|
Column18.FontSize = 10, ;
|
|
Column18.Name = "cDataAct", ;
|
|
Column19.BackColor = 255,255,255, ;
|
|
Column19.ColumnOrder = 3, ;
|
|
Column19.ControlSource = "fdoc", ;
|
|
Column19.FontName = "Arial", ;
|
|
Column19.FontSize = 10, ;
|
|
Column19.Name = "cFDoc", ;
|
|
Column19.ReadOnly = .F., ;
|
|
Column20.BackColor = 255,255,255, ;
|
|
Column20.ColumnOrder = 24, ;
|
|
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 = 14, ;
|
|
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 = 17, ;
|
|
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 = 18, ;
|
|
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, ;
|
|
Column24.BackColor = 255,255,255, ;
|
|
Column24.Bound = .F., ;
|
|
Column24.ColumnOrder = 1, ;
|
|
Column24.ControlSource = "introdc.tip_rand + Iif(introdc.mod_manual=1,'*',' ')", ;
|
|
Column24.FontName = "Arial", ;
|
|
Column24.FontSize = 10, ;
|
|
Column24.Name = "cTip", ;
|
|
Column24.ReadOnly = .T., ;
|
|
Column24.Width = 32
|
|
*< 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.cTip.Header1' AS header WITH ;
|
|
Alignment = 2, ;
|
|
Caption = "Tip", ;
|
|
FontBold = .T., ;
|
|
FontName = "Arial", ;
|
|
FontSize = 10, ;
|
|
Name = "Header1"
|
|
*< END OBJECT: BaseClass="header" />
|
|
|
|
ADD OBJECT 'Grid1.cTip.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.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 'GridArt' AS grid WITH ;
|
|
Anchor = 15, ;
|
|
ColumnCount = 16, ;
|
|
DeleteMark = .F., ;
|
|
FontSize = 10, ;
|
|
Height = 145, ;
|
|
Left = 4, ;
|
|
Name = "GridArt", ;
|
|
Panel = 1, ;
|
|
RecordSource = "rul_temp", ;
|
|
RowHeight = 19, ;
|
|
TabIndex = 14, ;
|
|
Top = 428, ;
|
|
Width = 990, ;
|
|
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.Bound = .F., ;
|
|
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.Bound = .F., ;
|
|
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.Bound = .F., ;
|
|
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, ;
|
|
Column16.BackColor = 240,248,255, ;
|
|
Column16.ColumnOrder = 16, ;
|
|
Column16.ControlSource = "cota_tva", ;
|
|
Column16.FontName = "Arial", ;
|
|
Column16.FontSize = 10, ;
|
|
Column16.InputMask = (get_mask(3,2)), ;
|
|
Column16.Name = "cCotaTva", ;
|
|
Column16.Width = 60
|
|
*< END OBJECT: BaseClass="grid" />
|
|
|
|
ADD OBJECT 'GridArt.cAcont.Header1' AS header WITH ;
|
|
Alignment = 2, ;
|
|
Caption = "Analitic", ;
|
|
FontName = "Arial", ;
|
|
FontSize = 10, ;
|
|
Name = "Header1"
|
|
*< END OBJECT: BaseClass="header" />
|
|
|
|
ADD OBJECT 'GridArt.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 'GridArt.cAdata_expirare.Header1' AS header WITH ;
|
|
Alignment = 2, ;
|
|
Caption = "Data expirare", ;
|
|
FontName = "Arial", ;
|
|
FontSize = 10, ;
|
|
Name = "Header1"
|
|
*< END OBJECT: BaseClass="header" />
|
|
|
|
ADD OBJECT 'GridArt.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 'GridArt.cCant.Header1' AS header WITH ;
|
|
Alignment = 2, ;
|
|
Caption = "Cantitate", ;
|
|
FontName = "Arial", ;
|
|
FontSize = 10, ;
|
|
Name = "Header1"
|
|
*< END OBJECT: BaseClass="header" />
|
|
|
|
ADD OBJECT 'GridArt.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 'GridArt.cCodMat.Header1' AS header WITH ;
|
|
Alignment = 2, ;
|
|
Caption = "Cod material", ;
|
|
FontName = "Arial", ;
|
|
FontSize = 10, ;
|
|
Name = "Header1"
|
|
*< END OBJECT: BaseClass="header" />
|
|
|
|
ADD OBJECT 'GridArt.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 'GridArt.cCont.Header1' AS header WITH ;
|
|
Alignment = 2, ;
|
|
Caption = "Cont", ;
|
|
FontName = "Arial", ;
|
|
FontSize = 10, ;
|
|
Name = "Header1"
|
|
*< END OBJECT: BaseClass="header" />
|
|
|
|
ADD OBJECT 'GridArt.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 'GridArt.cCotaTva.Header1' AS header WITH ;
|
|
Alignment = 2, ;
|
|
Caption = "Cota TVA", ;
|
|
FontName = "Arial", ;
|
|
FontSize = 10, ;
|
|
Name = "Header1"
|
|
*< END OBJECT: BaseClass="header" />
|
|
|
|
ADD OBJECT 'GridArt.cCotaTva.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 'GridArt.cDenumire.Header1' AS header WITH ;
|
|
Alignment = 2, ;
|
|
Caption = "Denumire", ;
|
|
FontName = "Arial", ;
|
|
FontSize = 10, ;
|
|
Name = "Header1"
|
|
*< END OBJECT: BaseClass="header" />
|
|
|
|
ADD OBJECT 'GridArt.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 'GridArt.cLot.Header1' AS header WITH ;
|
|
Alignment = 2, ;
|
|
Caption = "Lot", ;
|
|
FontName = "Arial", ;
|
|
FontSize = 10, ;
|
|
Name = "Header1"
|
|
*< END OBJECT: BaseClass="header" />
|
|
|
|
ADD OBJECT 'GridArt.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 'GridArt.Column1.Header1' AS header WITH ;
|
|
Caption = "Disc. %", ;
|
|
FontName = "Arial", ;
|
|
FontSize = 10, ;
|
|
Name = "Header1"
|
|
*< END OBJECT: BaseClass="header" />
|
|
|
|
ADD OBJECT 'GridArt.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 'GridArt.cPretFactura.Header1' AS header WITH ;
|
|
Alignment = 2, ;
|
|
Caption = "Pret valuta factura", ;
|
|
FontName = "Arial", ;
|
|
FontSize = 10, ;
|
|
Name = "Header1"
|
|
*< END OBJECT: BaseClass="header" />
|
|
|
|
ADD OBJECT 'GridArt.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 'GridArt.cPretLeiCalculat.Header1' AS header WITH ;
|
|
Alignment = 2, ;
|
|
Caption = "Pret unitar", ;
|
|
FontName = "Arial", ;
|
|
FontSize = 10, ;
|
|
Name = "Header1"
|
|
*< END OBJECT: BaseClass="header" />
|
|
|
|
ADD OBJECT 'GridArt.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 'GridArt.cPretValutaCalculat.Header1' AS header WITH ;
|
|
Alignment = 2, ;
|
|
Caption = "Pret valuta calculat", ;
|
|
FontName = "Arial", ;
|
|
FontSize = 10, ;
|
|
Name = "Header1"
|
|
*< END OBJECT: BaseClass="header" />
|
|
|
|
ADD OBJECT 'GridArt.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 'GridArt.cSerie.Header1' AS header WITH ;
|
|
Alignment = 2, ;
|
|
Caption = "Serie", ;
|
|
FontName = "Arial", ;
|
|
FontSize = 10, ;
|
|
Name = "Header1"
|
|
*< END OBJECT: BaseClass="header" />
|
|
|
|
ADD OBJECT 'GridArt.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 'GridArt.cValoareLeiCalculat.Header1' AS header WITH ;
|
|
Alignment = 2, ;
|
|
Caption = "Valoare", ;
|
|
FontName = "Arial", ;
|
|
FontSize = 10, ;
|
|
Name = "Header1"
|
|
*< END OBJECT: BaseClass="header" />
|
|
|
|
ADD OBJECT 'GridArt.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 'GridArt.cValoareValutaCalculat.Header1' AS header WITH ;
|
|
Alignment = 2, ;
|
|
Caption = "Valoare valuta", ;
|
|
FontName = "Arial", ;
|
|
FontSize = 10, ;
|
|
Name = "Header1"
|
|
*< END OBJECT: BaseClass="header" />
|
|
|
|
ADD OBJECT 'GridArt.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 'GridArt.cValoareValutaFactura.Header1' AS header WITH ;
|
|
Alignment = 2, ;
|
|
Caption = "Valoare valuta factura", ;
|
|
FontName = "Arial", ;
|
|
FontSize = 10, ;
|
|
Name = "Header1"
|
|
*< END OBJECT: BaseClass="header" />
|
|
|
|
ADD OBJECT 'GridArt.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 'Label1' AS _label WITH ;
|
|
Anchor = 3, ;
|
|
AutoSize = .T., ;
|
|
BackStyle = 0, ;
|
|
Caption = "Suma", ;
|
|
FontBold = .T., ;
|
|
Height = 18, ;
|
|
Left = 8, ;
|
|
Name = "Label1", ;
|
|
TabIndex = 13, ;
|
|
Top = 353, ;
|
|
Width = 39, ;
|
|
ZOrderSet = 9
|
|
*< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" />
|
|
|
|
ADD OBJECT 'Label3' AS _label WITH ;
|
|
Anchor = 3, ;
|
|
AutoSize = .T., ;
|
|
BackStyle = 0, ;
|
|
Caption = "Suma val.", ;
|
|
FontBold = .T., ;
|
|
Height = 18, ;
|
|
Left = 130, ;
|
|
Name = "Label3", ;
|
|
TabIndex = 13, ;
|
|
Top = 353, ;
|
|
Width = 66, ;
|
|
ZOrderSet = 9
|
|
*< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" />
|
|
|
|
ADD OBJECT 'lblDifLei' AS _label WITH ;
|
|
Anchor = 3, ;
|
|
AutoSize = .T., ;
|
|
BackStyle = 0, ;
|
|
Caption = "Dif. lei", ;
|
|
FontBold = .F., ;
|
|
Height = 18, ;
|
|
Left = 795, ;
|
|
Name = "lblDifLei", ;
|
|
Top = 353, ;
|
|
Width = 38
|
|
*< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" />
|
|
|
|
ADD OBJECT 'lblDifVal' AS _label WITH ;
|
|
Anchor = 3, ;
|
|
AutoSize = .T., ;
|
|
BackStyle = 0, ;
|
|
Caption = "Dif. val.", ;
|
|
FontBold = .F., ;
|
|
Height = 18, ;
|
|
Left = 895, ;
|
|
Name = "lblDifVal", ;
|
|
Top = 353, ;
|
|
Width = 44
|
|
*< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" />
|
|
|
|
ADD OBJECT 'LblFtvaLei' AS _label WITH ;
|
|
Anchor = 3, ;
|
|
AutoSize = .T., ;
|
|
BackStyle = 0, ;
|
|
Caption = "F.TVA", ;
|
|
FontBold = .T., ;
|
|
Height = 18, ;
|
|
Left = 278, ;
|
|
Name = "LblFtvaLei", ;
|
|
TabIndex = 13, ;
|
|
Top = 353, ;
|
|
Width = 40, ;
|
|
ZOrderSet = 9
|
|
*< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" />
|
|
|
|
ADD OBJECT 'LblFtvaVal' AS _label WITH ;
|
|
Anchor = 3, ;
|
|
AutoSize = .T., ;
|
|
BackStyle = 0, ;
|
|
Caption = "F.TVA val.", ;
|
|
FontBold = .T., ;
|
|
Height = 18, ;
|
|
Left = 403, ;
|
|
Name = "LblFtvaVal", ;
|
|
TabIndex = 13, ;
|
|
Top = 353, ;
|
|
Width = 67, ;
|
|
ZOrderSet = 9
|
|
*< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" />
|
|
|
|
ADD OBJECT 'lblIncLei' AS _label WITH ;
|
|
Anchor = 3, ;
|
|
AutoSize = .T., ;
|
|
BackStyle = 0, ;
|
|
Caption = "Inc. lei %", ;
|
|
FontBold = .F., ;
|
|
Height = 18, ;
|
|
Left = 554, ;
|
|
Name = "lblIncLei", ;
|
|
Top = 353, ;
|
|
Width = 56
|
|
*< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" />
|
|
|
|
ADD OBJECT 'lblIncVal' AS _label WITH ;
|
|
Anchor = 3, ;
|
|
AutoSize = .T., ;
|
|
BackStyle = 0, ;
|
|
Caption = "Inc. val. %", ;
|
|
FontBold = .F., ;
|
|
Height = 18, ;
|
|
Left = 673, ;
|
|
Name = "lblIncVal", ;
|
|
Top = 353, ;
|
|
Width = 62
|
|
*< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" />
|
|
|
|
ADD OBJECT 'lblLegenda' AS label WITH ;
|
|
Anchor = 11, ;
|
|
Caption = "Tip rand: B=factura (nesincronizata) S=sincronizat pe cont T=TVA D=DIFERENTE *=modificat manual", ;
|
|
FontItalic = .T., ;
|
|
Height = 16, ;
|
|
Left = 4, ;
|
|
Name = "lblLegenda", ;
|
|
Top = 398, ;
|
|
Width = 756
|
|
*< END OBJECT: BaseClass="label" />
|
|
|
|
ADD OBJECT 'lblSync' AS label WITH ;
|
|
Anchor = 11, ;
|
|
BackColor = 226,239,218, ;
|
|
BackStyle = 1, ;
|
|
Caption = "Sincronizat", ;
|
|
FontBold = .T., ;
|
|
Height = 20, ;
|
|
Left = 4, ;
|
|
Name = "lblSync", ;
|
|
Top = 376, ;
|
|
Width = 756
|
|
*< END OBJECT: BaseClass="label" />
|
|
|
|
ADD OBJECT 'Text2' AS _textbox WITH ;
|
|
Alignment = 1, ;
|
|
Anchor = 3, ;
|
|
BackStyle = 0, ;
|
|
ControlSource = "", ;
|
|
DisabledForeColor = 0,64,128, ;
|
|
Enabled = .F., ;
|
|
FontBold = .F., ;
|
|
ForeColor = 0,64,128, ;
|
|
Format = "r", ;
|
|
Height = 23, ;
|
|
InputMask = (get_mask(12,gnPc)), ;
|
|
Left = 49, ;
|
|
Name = "Text2", ;
|
|
TabIndex = 12, ;
|
|
Top = 350, ;
|
|
Value = 0, ;
|
|
Width = 76, ;
|
|
ZOrderSet = 8
|
|
*< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" />
|
|
|
|
ADD OBJECT 'Text3' AS _textbox WITH ;
|
|
Alignment = 1, ;
|
|
Anchor = 3, ;
|
|
BackStyle = 0, ;
|
|
ControlSource = "", ;
|
|
DisabledForeColor = 0,64,128, ;
|
|
Enabled = .F., ;
|
|
FontBold = .F., ;
|
|
ForeColor = 0,64,128, ;
|
|
Format = "r", ;
|
|
Height = 23, ;
|
|
InputMask = (get_mask(12,gnPVAL)), ;
|
|
Left = 197, ;
|
|
Name = "Text3", ;
|
|
TabIndex = 12, ;
|
|
Top = 350, ;
|
|
Value = 0, ;
|
|
Width = 76, ;
|
|
ZOrderSet = 8
|
|
*< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" />
|
|
|
|
ADD OBJECT 'tmrSync' AS timer WITH ;
|
|
Enabled = .T., ;
|
|
Height = 23, ;
|
|
Interval = 0, ;
|
|
Left = -25, ;
|
|
Name = "tmrSync", ;
|
|
Top = 0, ;
|
|
Width = 23
|
|
*< END OBJECT: BaseClass="timer" />
|
|
|
|
ADD OBJECT 'TxtDifLei' AS _textbox WITH ;
|
|
Alignment = 1, ;
|
|
Anchor = 3, ;
|
|
BackStyle = 0, ;
|
|
ControlSource = "thisform.ndif_lei", ;
|
|
DisabledForeColor = 0,64,128, ;
|
|
Enabled = .F., ;
|
|
FontBold = .F., ;
|
|
ForeColor = 0,64,128, ;
|
|
Format = "r", ;
|
|
Height = 23, ;
|
|
InputMask = (get_mask(10,gnPc)), ;
|
|
Left = 838, ;
|
|
Name = "TxtDifLei", ;
|
|
Top = 350, ;
|
|
Width = 52
|
|
*< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" />
|
|
|
|
ADD OBJECT 'TxtDifVal' AS _textbox WITH ;
|
|
Alignment = 1, ;
|
|
Anchor = 3, ;
|
|
BackStyle = 0, ;
|
|
ControlSource = "thisform.ndif_val", ;
|
|
DisabledForeColor = 0,64,128, ;
|
|
Enabled = .F., ;
|
|
FontBold = .F., ;
|
|
ForeColor = 0,64,128, ;
|
|
Format = "r", ;
|
|
Height = 23, ;
|
|
InputMask = (get_mask(10,gnPval)), ;
|
|
Left = 946, ;
|
|
Name = "TxtDifVal", ;
|
|
Top = 350, ;
|
|
Width = 52
|
|
*< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" />
|
|
|
|
ADD OBJECT 'TxtFtvaLei' AS _textbox WITH ;
|
|
Alignment = 1, ;
|
|
Anchor = 3, ;
|
|
BackStyle = 0, ;
|
|
ControlSource = "", ;
|
|
DisabledForeColor = 0,64,128, ;
|
|
Enabled = .F., ;
|
|
FontBold = .F., ;
|
|
ForeColor = 0,64,128, ;
|
|
Format = "r", ;
|
|
Height = 23, ;
|
|
InputMask = (get_mask(12,gnPc)), ;
|
|
Left = 322, ;
|
|
Name = "TxtFtvaLei", ;
|
|
TabIndex = 12, ;
|
|
Top = 350, ;
|
|
Value = 0, ;
|
|
Width = 76, ;
|
|
ZOrderSet = 8
|
|
*< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" />
|
|
|
|
ADD OBJECT 'TxtFtvaVal' AS _textbox WITH ;
|
|
Alignment = 1, ;
|
|
Anchor = 3, ;
|
|
BackStyle = 0, ;
|
|
ControlSource = "", ;
|
|
DisabledForeColor = 0,64,128, ;
|
|
Enabled = .F., ;
|
|
FontBold = .F., ;
|
|
ForeColor = 0,64,128, ;
|
|
Format = "r", ;
|
|
Height = 23, ;
|
|
InputMask = (get_mask(12,gnPVAL)), ;
|
|
Left = 473, ;
|
|
Name = "TxtFtvaVal", ;
|
|
TabIndex = 12, ;
|
|
Top = 350, ;
|
|
Value = 0, ;
|
|
Width = 76, ;
|
|
ZOrderSet = 8
|
|
*< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" />
|
|
|
|
ADD OBJECT 'TxtIncLei' AS _textbox WITH ;
|
|
Alignment = 1, ;
|
|
Anchor = 3, ;
|
|
BackStyle = 0, ;
|
|
ControlSource = "thisform.procent_lei", ;
|
|
DisabledForeColor = 0,64,128, ;
|
|
Enabled = .F., ;
|
|
FontBold = .F., ;
|
|
ForeColor = 0,64,128, ;
|
|
Format = "r", ;
|
|
Height = 23, ;
|
|
InputMask = "999.99", ;
|
|
Left = 616, ;
|
|
Name = "TxtIncLei", ;
|
|
Top = 350, ;
|
|
Width = 52
|
|
*< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" />
|
|
|
|
ADD OBJECT 'TxtIncVal' AS _textbox WITH ;
|
|
Alignment = 1, ;
|
|
Anchor = 3, ;
|
|
BackStyle = 0, ;
|
|
ControlSource = "thisform.procent_val", ;
|
|
DisabledForeColor = 0,64,128, ;
|
|
Enabled = .F., ;
|
|
FontBold = .F., ;
|
|
ForeColor = 0,64,128, ;
|
|
Format = "r", ;
|
|
Height = 23, ;
|
|
InputMask = "999.99", ;
|
|
Left = 738, ;
|
|
Name = "TxtIncVal", ;
|
|
Top = 350, ;
|
|
Width = 52
|
|
*< END OBJECT: ClassLib="_baza.vcx" 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 actualizeaza_banda
|
|
*!* 16.07.2026 claude (T3, E2/D-M1/D-M4/D-M5) - banda de stare + totalurile formularului
|
|
If Empty(This.cmesajsync)
|
|
This.lblSync.BackColor = Rgb(226,239,218)
|
|
This.lblSync.Caption = 'Sincronizat | Incarcare pret (transport/taxe): +' + Alltrim(Str(This.procent_val * This.procent_lei / 100 - 100, 12, 4)) + ' %'
|
|
Else
|
|
This.lblSync.BackColor = Rgb(255,221,221)
|
|
This.lblSync.Caption = Left('NESINCRONIZAT: ' + Strtran(Strtran(This.cmesajsync, Chr(13), ''), Chr(10), ' | '), 254)
|
|
Endif
|
|
This.text2.Value = This.nbaza_lei + This.ntva_lei
|
|
This.text3.Value = This.nbaza_val + This.ntva_val
|
|
This.txtftvalei.Value = This.nbaza_lei
|
|
This.TxtIncLei.Refresh()
|
|
If !This.lIntern
|
|
This.txtftvaval.Value = This.nbaza_val
|
|
This.TxtIncVal.Refresh()
|
|
This.TxtDifVal.Refresh()
|
|
Endif
|
|
This.TxtDifLei.Refresh()
|
|
If Vartype(This._grdfooter1) = 'O'
|
|
This._grdfooter1.calcTotal()
|
|
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 (16.07.2026 claude, tip_rand/doc_key): se apeleaza cu randul curent din
|
|
*!* introdc pozitionat pe un rand non-T (B, sau S din T2); randul T al documentului
|
|
*!* (acelasi doc_key) se cauta cu Locate; pozitia initiala se restaureaza la iesire.
|
|
Lparameters tnIdJtvaColoana
|
|
Local lnPtva, lcExplicatieTva, lnId_tva, lnId_jtva_coloanaTVA, lnCota_tva, lcExplicatie_TVA
|
|
Local lcDocKey, lcTipRand, lcScd
|
|
|
|
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
|
|
lcDocKey = Padr(Thisform.calc_doc_key(), Len(doc_key))
|
|
lcTipRand = tip_rand
|
|
lcScd = scd
|
|
Replace id_jtva_coloana With tnIdJtvaColoana, ptva With lnPtva, explicatie_tva With lcExplicatieTva
|
|
|
|
If lcTipRand <> 'T'
|
|
Thisform.UpdateExplicatieSAFT()
|
|
If lnPtva = 0
|
|
Select introdc
|
|
Replace cu_tva With 0
|
|
Locate For doc_key == lcDocKey And tip_rand = 'T'
|
|
If Found()
|
|
Replace id_jtva_coloana With 0, ptva With 0, explicatie_tva With '', cu_tva With 0
|
|
Endif
|
|
Else && randul de TVA al documentului
|
|
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
|
|
Locate For doc_key == lcDocKey And tip_rand = 'T'
|
|
If Found()
|
|
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
|
|
Endif
|
|
Thisform.UpdateExplicatieSAFT()
|
|
Endif
|
|
Endif
|
|
Endif
|
|
|
|
Select introdc
|
|
*!* 16.07.2026 claude (T2) - pentru S extind Locate cu scd (mai multe S per doc - ambiguu altfel)
|
|
If lcTipRand == 'S'
|
|
Locate For doc_key == lcDocKey And tip_rand == lcTipRand And scd == lcScd
|
|
Else
|
|
Locate For doc_key == lcDocKey And tip_rand == lcTipRand
|
|
Endif
|
|
|
|
Return .T.
|
|
ENDPROC
|
|
|
|
PROCEDURE assign_analitic
|
|
*!* 16.07.2026 claude - copiat din import_nir.assign_analitic (T3 va muta import_nir);
|
|
*!* folosit de creeaza_rand_s pentru analiticul contului articolelor pe randul S.
|
|
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 calc_baze_cota_creditor
|
|
*!* runda27 (D3+D6): grupeaza bazele articolelor (rul_temp) pe cota TVA + creditorul
|
|
*!* (scc/ascc) al S-ului corespunzator contului articolului (scd==cont, ascd==acont);
|
|
*!* cand nu exista un S pereche, foloseste scc/ascc din toFallback. Partenerul TVA
|
|
*!* (id_partc/partc pe T) NU se preia de la S-uri - ramane cel ales la introducerea
|
|
*!* facturii (furnizor sau DVI). Rezultatul ramane deschis in crsGrupCota (cota_tva,
|
|
*!* scc, ascc, baza_lei, baza_val) - apelantul il elibereaza (Use In crsGrupCota).
|
|
Lparameters tcDocKey, toFallback
|
|
Local lcSelCbcc
|
|
lcSelCbcc = Select()
|
|
|
|
Select scd As cont, ascd As acont, scc, ascc From introdc ;
|
|
Where doc_key == tcDocKey And tip_rand == 'S' Into Cursor crsSccPerCont READWRITE
|
|
Select Distinct rul_temp.cont, rul_temp.acont From rul_temp Where !Deleted() Into Cursor crsContArt NOFILTER
|
|
Select crsContArt
|
|
Scan
|
|
Select crsSccPerCont
|
|
Locate For Alltrim(cont) == Alltrim(crsContArt.cont) And Alltrim(Nvl(acont,'')) == Alltrim(Nvl(crsContArt.acont,''))
|
|
If !Found()
|
|
Select crsSccPerCont
|
|
Append Blank
|
|
Replace cont With crsContArt.cont, acont With crsContArt.acont, scc With toFallback.scc, ascc With toFallback.ascc
|
|
Endif
|
|
Select crsContArt
|
|
Endscan
|
|
Use In crsContArt
|
|
|
|
If This.lIntern
|
|
Select rul_temp.cota_tva, crsSccPerCont.scc, crsSccPerCont.ascc, ;
|
|
Sum(Round(rul_temp.pret_lei*rul_temp.cant,gnPc)) As baza_lei, 0 As baza_val ;
|
|
From rul_temp Inner Join crsSccPerCont ;
|
|
On Alltrim(rul_temp.cont) == Alltrim(crsSccPerCont.cont) And Alltrim(Nvl(rul_temp.acont,'')) == Alltrim(Nvl(crsSccPerCont.acont,'')) ;
|
|
Where !Deleted("rul_temp") ;
|
|
Group By rul_temp.cota_tva, crsSccPerCont.scc, crsSccPerCont.ascc ;
|
|
Into Cursor crsGrupCota NOFILTER
|
|
Else
|
|
Select rul_temp.cota_tva, crsSccPerCont.scc, crsSccPerCont.ascc, ;
|
|
Sum(Round(rul_temp.pret_val*rul_temp.cant,gnPval)) As baza_val, 0 As baza_lei ;
|
|
From rul_temp Inner Join crsSccPerCont ;
|
|
On Alltrim(rul_temp.cont) == Alltrim(crsSccPerCont.cont) And Alltrim(Nvl(rul_temp.acont,'')) == Alltrim(Nvl(crsSccPerCont.acont,'')) ;
|
|
Where !Deleted("rul_temp") ;
|
|
Group By rul_temp.cota_tva, crsSccPerCont.scc, crsSccPerCont.ascc ;
|
|
Into Cursor crsGrupCota NOFILTER
|
|
Endif
|
|
Use In crsSccPerCont
|
|
|
|
Select (lcSelCbcc)
|
|
ENDPROC
|
|
|
|
PROCEDURE calc_doc_key
|
|
* cheia documentului: nr_doc e identificatorul unic per document (o factura + rand TVA + eventual DVI);
|
|
* campurile de business (serie_act/nract/id_fdoc/id_partc) raman informative in cheie, nu mai asigura unicitatea
|
|
Return Alltrim(Str(Nvl(introdc.nr_doc,0),8)) + '|' + Upper(Alltrim(Nvl(introdc.serie_act,''))) + '|' + Alltrim(Str(Nvl(introdc.nract,0),14)) + '|' + ;
|
|
Alltrim(Str(Nvl(introdc.id_fdoc,0),14)) + '|' + Alltrim(Str(Nvl(introdc.id_partc,0),14))
|
|
ENDPROC
|
|
|
|
PROCEDURE copiaza_valoare
|
|
*!* 16.07.2026 claude - propaga valoarea pe tot grupul doc_key (E1 generalizat,
|
|
*!* inlocuieste copierea pe perechea para din paritatea Recno); daca tcCamp e o
|
|
*!* cheie a documentului, regenereaza doc_key pe grup dupa propagare.
|
|
Lparameters tcCamp
|
|
Local lcSelect, lcCursor, luValoare, lcDocKeyOld, lcDocKeyNou, lnRecCurent, llCheie
|
|
lcCursor = Thisform.grid1.RecordSource
|
|
lcSelect = Select()
|
|
Select (lcCursor)
|
|
lnRecCurent = Recno()
|
|
lcDocKeyOld = doc_key
|
|
luValoare = &tcCamp
|
|
llCheie = Inlist(Lower(tcCamp), 'serie_act', 'nract', 'id_fdoc', 'fdoc', 'id_partc', 'partc')
|
|
|
|
Scan For doc_key == lcDocKeyOld And Recno() <> lnRecCurent
|
|
Replace (tcCamp) With luValoare
|
|
Endscan
|
|
|
|
If llCheie
|
|
Go lnRecCurent
|
|
lcDocKeyNou = Thisform.calc_doc_key()
|
|
Scan For doc_key == lcDocKeyOld
|
|
Replace doc_key With lcDocKeyNou
|
|
Endscan
|
|
Endif
|
|
|
|
Go lnRecCurent
|
|
Select (lcSelect)
|
|
Release lcSelect, lcCursor, luValoare, lcDocKeyOld, lcDocKeyNou, lnRecCurent, llCheie
|
|
ENDPROC
|
|
|
|
PROCEDURE creeaza_rand_s
|
|
*!* un rand S: copie completa a sablonului documentului (toSablon de la sparge_document,
|
|
*!* altfel randul B/S gasit aici); suprascrie doar scd/ascd, suma/suma_val, tip_rand, mod_manual.
|
|
*!* analiticul (tcAcont) vine de pe articole cand e furnizat (C2), altfel fallback assign_analitic.
|
|
Lparameters tcDocKey, tcCont, tnSumaLei, tnSumaVal, toSablon, tcAcont
|
|
Private loRandB, lcAcont
|
|
Local lcSelAnt
|
|
lcSelAnt = Select()
|
|
Select introdc
|
|
If Pcount() >= 5 And Vartype(toSablon) == 'O'
|
|
loRandB = toSablon
|
|
Else
|
|
Locate For doc_key == tcDocKey And tip_rand == 'B'
|
|
If !Found()
|
|
Locate For doc_key == tcDocKey And tip_rand == 'S'
|
|
Endif
|
|
If !Found()
|
|
Select (lcSelAnt)
|
|
Return
|
|
Endif
|
|
Scatter Name loRandB Memo
|
|
Endif
|
|
Append Blank
|
|
Gather Name loRandB Memo
|
|
If Pcount() >= 6 And Vartype(tcAcont) == 'C'
|
|
lcAcont = Alltrim(tcAcont)
|
|
Else
|
|
lcAcont = Thisform.assign_analitic(tcCont, Thisform.oact, 'loRandB')
|
|
Endif
|
|
Replace tip_rand With 'S', doc_key With tcDocKey, scd With tcCont, ascd With lcAcont, ;
|
|
suma With tnSumaLei, suma_val With tnSumaVal, mod_manual With 0
|
|
Select (lcSelAnt)
|
|
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_articol
|
|
*!* 16.07.2026 claude (T3-A) - filtrul se largeste la clasa 2+3 (precedent do_modiparam
|
|
*!* :7504), nu mai depinde de conturile prezente pe nota (spargerea le genereaza acum).
|
|
LOCAL lcXMLArticole, lcFiltru, lcCrsArt, lcCrsNir, lnPtvaPrincipal
|
|
*!* 16.07.2026 claude (3f) - filtrul ajunge in WHERE-ul Oracle prin cauta_nom_articole: sintaxa SQL, nu VFP.
|
|
lcFiltru = [Substr(Trim(a.cont),1,1) In ('2','3')]
|
|
lcXMLArticole = cauta_nom_articole(lcFiltru) && ocautare.prg - selectie multipla (click/SPACE); adauga singura a.inactiv = 0
|
|
|
|
*!* cota_tva implicita a articolelor noi = ptva de pe primul rand de baza (B/S) al
|
|
*!* facturii principale; randul T pereche poate fi al DVI-ului (alt document).
|
|
lnPtvaPrincipal = 0
|
|
SELECT introdc
|
|
GO TOP
|
|
LOCATE FOR Inlist(tip_rand,'B','S')
|
|
IF FOUND()
|
|
lnPtvaPrincipal = ptva
|
|
ENDIF
|
|
|
|
IF gnButon = 1 AND !EMPTY(lcXMLArticole)
|
|
lcCrsArt = [crsArtAlese]
|
|
XMLTOCURSOR(lcXMLArticole, lcCrsArt)
|
|
|
|
lcCrsNir = THIS.gridart.RECORDSOURCE
|
|
loAct = THIS.oact
|
|
|
|
SELECT (lcCrsArt)
|
|
SCAN
|
|
SCATTER NAME loArt
|
|
*!* F2: articol fara cont in nomenclator - blocam adaugarea lui, continuam cu restul
|
|
IF EMPTY(ALLTRIM(NVL(loArt.cont,'')))
|
|
amessagebox("Articolul " + ALLTRIM(loArt.denumire) + " nu are cont definit in nomenclator - nu a fost adaugat pe nota!",48,"Atentie")
|
|
LOOP
|
|
ENDIF
|
|
SELECT (lcCrsNir)
|
|
APPEND BLANK
|
|
GATHER NAME loAct
|
|
GATHER NAME loArt
|
|
REPLACE id_gestiune WITH loAct.id_gestin, cota_tva WITH lnPtvaPrincipal
|
|
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.gridart.REFRESH
|
|
ENDIF
|
|
|
|
THIS.gridart.cserie.SetFocus()
|
|
Thisform.sincronizeaza()
|
|
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).
|
|
*!* 16.07.2026 claude - identitatea randurilor e tip_rand+doc_key (nu paritatea Recno);
|
|
*!* fiecare document primeste un nr_doc nou (F1, index de sortare).
|
|
*!* 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, lnNrDoc, lnRecT
|
|
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
|
|
|
|
*!* 16.07.2026 claude - urmatorul nr_doc (F1); ignora randurile D (99999999, vin la T2)
|
|
lnNrDoc = 0
|
|
Select introdc
|
|
If Reccount() > 0
|
|
Calculate Max(Iif(Nvl(nr_doc,0) = 99999999, 0, Nvl(nr_doc,0))) To lnNrDoc
|
|
Endif
|
|
lnNrDoc = Max(Nvl(lnNrDoc,0), 0) + 1
|
|
|
|
* --- 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
|
|
* tip_rand/nr_doc intai (Gather din sablon aduce tip_rand='B'); doc_key citeste nr_doc deja scris,
|
|
* nu ordinea de evaluare in acelasi Replace
|
|
Replace tip_rand With 'B', nr_doc With lnNrDoc
|
|
Replace doc_key With Thisform.calc_doc_key(), suma_doc With toDlg.suma, suma_doc_val With toDlg.suma_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
|
|
* tip_rand/nr_doc/doc_key - vezi comentariul de la randul BAZA
|
|
Replace tip_rand With 'T', nr_doc With lnNrDoc
|
|
Replace doc_key With Thisform.calc_doc_key(), suma_doc With toDlg.suma, suma_doc_val With toDlg.suma_val
|
|
lnRecT = Recno()
|
|
|
|
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 un rand non-T (B) - repozitionez pe baza; aplica_explicatie_tva
|
|
* gaseste ea insasi randul T prin doc_key. 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 - doc_key ramane
|
|
* al documentului-mama (nr_doc neschimbat), desi randul poarta partener/conturi de vama
|
|
Skip -1
|
|
Thisform.aplica_explicatie_tva(toDlg.id_jtva_coloana)
|
|
Select introdc
|
|
*!* randul T al facturii curente, pe Recno-ul salvat la creare (Locate cu
|
|
*!* calc_doc_key() in FOR se evalueaza per rand scanat => gasea primul T din cursor)
|
|
Go lnRecT
|
|
* 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()
|
|
Thisform.sincronizeaza()
|
|
Select (lnSel)
|
|
Return .T.
|
|
ENDPROC
|
|
|
|
PROCEDURE do_calculeaza_diferente
|
|
PARAMETERS tnRecNo, tcCursor && modificare v 2.1.3 : am adaugat tcCursor (tnRecNo nefolosit la pozitionare - vezi lnRecCrt)
|
|
*!* modificare v 2.1.3
|
|
*!* lcSel = Thisform.gridart.RecordSource
|
|
If Empty(tcCursor)
|
|
lcSel = Thisform.gridart.RecordSource
|
|
Else
|
|
lcSel = tcCursor
|
|
Endif
|
|
*!* modificare v 2.1.3 ^
|
|
SELECT (lcSel)
|
|
If Eof() Or Bof()
|
|
lnRecCrt = 0
|
|
Else
|
|
lnRecCrt = Recno()
|
|
Endif
|
|
SUM ROUND(Pret*cant,gnPc) TO lnLeiTot
|
|
SUM ROUND(Pretd*cant,gnPval) TO lnValTot
|
|
|
|
thisform.ndif_lei = thisform.nbaza_lei - lnLeiTot
|
|
thisform.ndif_val = 0 && diferenta doar in lei (randul D fara valuta)
|
|
thisform.TxtDifLei.Refresh
|
|
thisform.TxtDifVal.Refresh
|
|
If Vartype(Thisform._grdfooter1) = 'O'
|
|
Thisform._grdfooter1.calcTotal()
|
|
Endif
|
|
|
|
SELECT (lcSel)
|
|
If lnRecCrt > 0
|
|
TRY
|
|
GO lnRecCrt
|
|
CATCH
|
|
GO TOP
|
|
ENDTRY
|
|
Else
|
|
LOCATE
|
|
Endif
|
|
|
|
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.text2.Value = Tsuma
|
|
*!* Thisform.text3.Value = tSumaVal
|
|
*!* Thisform.Refresh
|
|
|
|
|
|
ENDPROC
|
|
|
|
PROCEDURE do_copiaza_nota
|
|
*!* Buton copiere: meniu linie/document, ca la stergere (randul D nu se copiaza -
|
|
*!* e rand unic pe document). Copia primeste nr_doc nou (F1, ca la do_adauga_factura)
|
|
*!* si doc_key nou (calc_doc_key); seria/numarul/partenerul raman cele originale -
|
|
*!* utilizatorul le editeaza apoi in grila (doc_key ramane unic prin nr_doc).
|
|
Local lnSel, lnRaspuns, lcDoc, lcDocKey, lcTipRand, lnNrDoc, lcDocKeyNou, lnI, lnCnt, lnRecnoNou, loRec, lnRecnoCrt
|
|
Local laRecno[1]
|
|
lnSel = Select()
|
|
Select introdc
|
|
If Reccount() = 0 Or Eof() Or Bof()
|
|
Select (lnSel)
|
|
Return
|
|
Endif
|
|
lcTipRand = tip_rand
|
|
If lcTipRand == 'D'
|
|
amessagebox('Randul DIFERENTE nu se copiaza (e rand unic pe nota).', 0+48, 'Copiere')
|
|
Select (lnSel)
|
|
Return
|
|
Endif
|
|
lcDocKey = doc_key
|
|
lnRecnoCrt = Recno()
|
|
lcDoc = Alltrim(Nvl(fdoc,'')) + ' ' + Alltrim(Nvl(serie_act,'')) + ' ' + ;
|
|
Alltrim(Str(Nvl(nract,0),14)) + ' - ' + Alltrim(Nvl(partc,''))
|
|
lnRaspuns = amessagebox('Copiati nota ' + Alltrim(lcDoc) + Chr(13)+Chr(10) + ;
|
|
'Da = tot documentul (toate randurile lui)' + Chr(13)+Chr(10) + ;
|
|
'Nu = doar linia curenta', 3+32, 'Copiere')
|
|
If !Inlist(lnRaspuns, 6, 7)
|
|
Select (lnSel)
|
|
Return
|
|
Endif
|
|
|
|
*!* urmatorul nr_doc (F1) - ca la do_adauga_factura
|
|
lnNrDoc = 0
|
|
If Reccount() > 0
|
|
Calculate Max(Iif(Nvl(nr_doc,0) = 99999999, 0, Nvl(nr_doc,0))) To lnNrDoc
|
|
Endif
|
|
lnNrDoc = Max(Nvl(lnNrDoc,0), 0) + 1
|
|
lcDocKeyNou = ''
|
|
|
|
If lnRaspuns = 6
|
|
*!* colectez intai recno-urile B/T (nu S - se regenereaza la sincronizare), abia apoi
|
|
*!* copiez pe array: indexul ord_doc ar baga randurile noi in parcurgere daca as copia in Scan
|
|
lnCnt = 0
|
|
Scan For doc_key == lcDocKey And Inlist(tip_rand,'B','T')
|
|
lnCnt = lnCnt + 1
|
|
Dimension laRecno[lnCnt]
|
|
laRecno[lnCnt] = Recno()
|
|
Endscan
|
|
For lnI = 1 To lnCnt
|
|
Go laRecno[lnI]
|
|
Scatter Name loRec Memo
|
|
Append Blank
|
|
Gather Name loRec Memo
|
|
Replace nr_doc With lnNrDoc, mod_manual With 0
|
|
lnRecnoNou = Recno()
|
|
If Empty(lcDocKeyNou) And tip_rand == 'B'
|
|
lcDocKeyNou = Thisform.calc_doc_key()
|
|
Endif
|
|
Endfor
|
|
*!* document fara rand B (doar T) - cheia se calculeaza pe ultimul rand copiat
|
|
If Empty(lcDocKeyNou) And lnCnt > 0
|
|
Go lnRecnoNou
|
|
lcDocKeyNou = Thisform.calc_doc_key()
|
|
Endif
|
|
Replace doc_key With lcDocKeyNou For nr_doc == lnNrDoc
|
|
Locate For doc_key == Padr(lcDocKeyNou, Len(doc_key))
|
|
Else
|
|
*!* copie linie: un singur rand
|
|
*!* Calculate muta pointerul la EOF - revin pe linia sursa
|
|
Go lnRecnoCrt
|
|
Scatter Name loRec Memo
|
|
Append Blank
|
|
Gather Name loRec Memo
|
|
Replace nr_doc With lnNrDoc, mod_manual With 0
|
|
Replace doc_key With Thisform.calc_doc_key()
|
|
Endif
|
|
|
|
Thisform.do_executa()
|
|
Thisform.sincronizeaza()
|
|
Select (lnSel)
|
|
ENDPROC
|
|
|
|
PROCEDURE do_copie
|
|
lcSelect = this.gridart.RecordSource
|
|
SELECT (lcSelect)
|
|
SCATTER NAME loRec
|
|
|
|
INSERT INTO (lcSelect) FROM NAME loRec
|
|
this.do_reface()
|
|
this.gridart.SetFocus()
|
|
|
|
ENDPROC
|
|
|
|
PROCEDURE do_executa
|
|
Local lnSuma1, lnSuma2, lnSuma_val, Tsuma
|
|
Store 0 To lnSuma1, lnSuma2, lnSuma_val, Tsuma
|
|
LOCAL lnBazaVal, tSumaVal, lnBazaLei, lcDocKeyRec, lcTipRandRec, lcDocKeyCrt
|
|
lnBazaVal = 0
|
|
tSumaVal = 0
|
|
Sele introdc
|
|
*!* 16.07.2026 claude - E6: repozitionare finala pe doc_key+tip_rand, nu Goto absolut
|
|
lcDocKeyRec = ''
|
|
lcTipRandRec = ''
|
|
If Reccount() > 0 And Between(Recno(), 1, Reccount())
|
|
lcDocKeyRec = doc_key
|
|
lcTipRandRec = tip_rand
|
|
Endif
|
|
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
|
|
|
|
|
|
*!* 16.07.2026 claude - tip_rand+doc_key inlocuiesc paritatea Mod(Recno(),2): Scan doar
|
|
*!* pe randurile B, randul T al fiecarui document se cauta prin Locate pe doc_key
|
|
Scan For tip_rand = 'B'
|
|
lnSuma2 = suma
|
|
lnSuma_val = suma_val
|
|
*REPL explicatia4 WITH ALLT(STR(lnSuma2/lnSuma1*100,6,2))+'%'
|
|
*!* If in_valuta = 0
|
|
*!* procentele per rand (explicatia4/explicatia5) le scrie sincronizeaza(), dupa spargere - nu aici
|
|
*!* modificare v 2.1.39
|
|
*!* modificare v 2.1.39 ^
|
|
Tsuma = Tsuma + suma
|
|
|
|
lcDocKeyCrt = doc_key
|
|
Locate For doc_key == lcDocKeyCrt And tip_rand = 'T'
|
|
If Found()
|
|
*!* rand T marcat manual (mod_manual=1) - nu se rescrie suma/suma_val
|
|
If Nvl(mod_manual,0) <> 1
|
|
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
|
|
Repl suma With 0, suma_val With 0
|
|
Endif
|
|
Endif
|
|
Tsuma = Tsuma + suma
|
|
Endif
|
|
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
|
|
|
|
*!* 16.07.2026 claude - repozitionare finala pe doc_key+tip_rand (E6), fallback Go Top
|
|
Do Case
|
|
Case lcTipRandRec == 'D'
|
|
*!* randul D are doc_key gol - repozitionare dupa tip_rand
|
|
Locate For tip_rand == 'D'
|
|
If !Found()
|
|
Go Top
|
|
Endif
|
|
Case !Empty(lcDocKeyRec)
|
|
Locate For doc_key == lcDocKeyRec And tip_rand == lcTipRandRec
|
|
If !Found()
|
|
Go Top
|
|
Endif
|
|
Otherwise
|
|
Go Top
|
|
Endcase
|
|
|
|
|
|
Thisform.text2.Value = Tsuma
|
|
Thisform.text3.Value = tSumaVal
|
|
Thisform.refac_culori_documente()
|
|
Thisform.Refresh
|
|
|
|
|
|
ENDPROC
|
|
|
|
PROCEDURE do_executa_pret
|
|
PARAMETERS tnNivel, tRecNo, tnValue, tcCursor && modificare v 2.1.3 : am adaugat tcCursor
|
|
*!* DEBUG
|
|
*!* SUSPEND
|
|
*!* modificare v 2.1.3
|
|
*!* lcSel = Thisform.gridart.RecordSource
|
|
If Empty(tcCursor)
|
|
lcSel = Thisform.gridart.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
|
|
|
|
*!* 16.07.2026 claude (3f) - ncurs era proprietatea lui import_nir (nesetata pe import_nota); cursul documentului e oact.Curs.
|
|
lnPretLei = ROUND(ROUND(lnPretval*thisform.oact.Curs,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
|
|
*!* 16.07.2026 claude (A1) - sync amanata (nu direct din Valid/LostFocus de grid)
|
|
Thisform.lSyncPending = .T.
|
|
Thisform.tmrSync.Interval = 1
|
|
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_modiparam
|
|
Local lcSelect, lcFisier, lnIdArticol, lcCursor, lcCont, loAct, lnInregistrari, lnPtvaPrincipal
|
|
LOCAL loEx as Exception
|
|
Local lcAcont, lcDenumire, lcSelect2, lcSql, llSucces, lnSucces, loArticol
|
|
Local lcMesaj
|
|
Local lnRec
|
|
Local lnInStoc
|
|
Private pnIdArticol, lorul
|
|
loAct = This.oact
|
|
*!* cota_tva implicita = ptva de pe primul rand de baza (ca la do_adauga_articol)
|
|
lnPtvaPrincipal = 0
|
|
SELECT introdc
|
|
GO TOP
|
|
LOCATE FOR Inlist(tip_rand,'B','S')
|
|
IF FOUND()
|
|
lnPtvaPrincipal = ptva
|
|
ENDIF
|
|
|
|
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.gridart)
|
|
|
|
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, cota_tva With lnPtvaPrincipal
|
|
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_pret(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.gridart)
|
|
this.gridart.SetFocus()
|
|
Thisform.sincronizeaza()
|
|
|
|
ENDPROC
|
|
|
|
PROCEDURE do_reface
|
|
lcSel = Thisform.gridart.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
|
|
*!* 16.07.2026 claude (3f) - idem do_executa_pret: oact.Curs in loc de ncurs (inexistent pe import_nota).
|
|
lnPretlei = Round(Round(lnPretval*Thisform.oact.Curs,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)
|
|
|
|
*!* repozitionare explicita - do_calculeaza_diferente ramane pe pozitia de la intrare (aici EOF)
|
|
Select (lcSel)
|
|
If lnRec > 0
|
|
Try
|
|
Go lnRec
|
|
Catch
|
|
Go Top
|
|
Endtry
|
|
Else
|
|
Go Top
|
|
Endif
|
|
ENDPROC
|
|
|
|
PROCEDURE do_sterge
|
|
*!* Butonul de stergere: linia curenta sau nota (document) curenta din introdc.
|
|
*!* Randul D (fara document propriu, rand unic) pastreaza confirmarea simpla.
|
|
*!* Pentru restul, meniu Da=document (toate randurile B+S*+T cu acelasi doc_key,
|
|
*!* identitatea documentului), Nu=doar linia curenta, Cancel=renunta. Cu SET DELETED ON
|
|
*!* randurile sterse dispar din grid si din Scan/Sum-urile din flux. 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, lnRaspuns, lcDoc, lcDocKey, lcTipRand
|
|
lnSel = Select()
|
|
Select introdc
|
|
If Reccount() = 0 Or Eof() Or Bof()
|
|
Select (lnSel)
|
|
Return
|
|
Endif
|
|
lcDocKey = doc_key
|
|
lcTipRand = tip_rand
|
|
lcDoc = Alltrim(Nvl(fdoc,'')) + ' ' + Alltrim(Nvl(serie_act,'')) + ' ' + ;
|
|
Alltrim(Str(Nvl(nract,0),14)) + ' - ' + Alltrim(Nvl(partc,''))
|
|
If lcTipRand == 'D'
|
|
lnRaspuns = amessagebox('Stergeti nota ' + Alltrim(lcDoc) + Chr(13) + Chr(10) + ;
|
|
'(toate randurile documentului)?', 4+32, 'Stergere nota')
|
|
If lnRaspuns <> 6
|
|
Select (lnSel)
|
|
Return
|
|
Endif
|
|
Delete
|
|
Else
|
|
lnRaspuns = amessagebox('Stergeti nota ' + Alltrim(lcDoc) + Chr(13)+Chr(10) + ;
|
|
'Da = tot documentul (toate randurile lui)' + Chr(13)+Chr(10) + ;
|
|
'Nu = doar linia curenta', 3+32, 'Stergere')
|
|
Do Case
|
|
Case lnRaspuns = 6
|
|
Delete For doc_key == lcDocKey
|
|
Case lnRaspuns = 7
|
|
Delete
|
|
Otherwise
|
|
Select (lnSel)
|
|
Return
|
|
Endcase
|
|
Endif
|
|
Go Top
|
|
Thisform.do_executa()
|
|
Thisform.sincronizeaza()
|
|
Select (lnSel)
|
|
ENDPROC
|
|
|
|
PROCEDURE do_sterge_articol
|
|
*!* 16.07.2026 claude (T3d) - butonul de stergere articol pe grila GridArt (rul_temp)
|
|
Local lnSel, lnRaspuns, lcDenumire
|
|
If !Used('rul_temp')
|
|
Return
|
|
Endif
|
|
lnSel = Select()
|
|
Select rul_temp
|
|
If Reccount() = 0 Or Eof()
|
|
Select (lnSel)
|
|
Return
|
|
Endif
|
|
lcDenumire = Alltrim(Nvl(denumire,''))
|
|
lnRaspuns = amessagebox('Stergeti articolul ' + lcDenumire + '?', 4+32, 'Stergere articol')
|
|
If lnRaspuns <> 6
|
|
Select (lnSel)
|
|
Return
|
|
Endif
|
|
Delete
|
|
Select (lnSel)
|
|
This.gridart.Refresh()
|
|
This.sincronizeaza()
|
|
ENDPROC
|
|
|
|
PROCEDURE gaseste_jtva_cota
|
|
*!* 16.07.2026 claude (dec.6) - mapare cota->id_jtva_coloana in aceeasi familie
|
|
*!* (LEFT(coloana_jc,2), precedent frm_conversie ~:3087-3091). tnIdJtvaFamilie = un
|
|
*!* id_jtva_coloana din familia sursa (alta cota); tnCota = cota tinta. Returneaza 0
|
|
*!* daca nu gaseste (validare blocanta in apelant, nu inventez id-uri).
|
|
Lparameters tnIdJtvaFamilie, tnCota
|
|
Local lcSel, lcFamilie, lnGasit
|
|
lnGasit = 0
|
|
lcSel = Select()
|
|
If Used('jtva_coloane2')
|
|
Select jtva_coloane2
|
|
Locate For id_jtva_coloana = tnIdJtvaFamilie
|
|
If Found()
|
|
lcFamilie = Left(Nvl(coloana_jc,''), 2)
|
|
Locate For Left(Nvl(coloana_jc,''),2) == lcFamilie And cota_tva = tnCota
|
|
If Found()
|
|
lnGasit = id_jtva_coloana
|
|
Endif
|
|
Endif
|
|
Endif
|
|
Select (lcSel)
|
|
Return lnGasit
|
|
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 lcCursor, lcSel, lcSql, llAlegPartener, llRet, llVerificAnalitic, lnBazaLei, lnBazaVal
|
|
Local lnNrActPrima, lcSerieActPrima, lnIdJtvaPrima, lnTaxCodePrima, lcLogSumar
|
|
Local lnBazaVal2, lnNract, lnProcLei, lnProcVal, lnSucces, lnTvaLei, lnTvaVal, lnTvaVal2, loFact
|
|
Local llRulTempPlin
|
|
|
|
lnNract = 0
|
|
|
|
llRet = .F.
|
|
*!* fara sincronizare automata la Terminat - se salveaza exact ce vede utilizatorul;
|
|
*!* daca o sincronizare armata (lSyncPending) nu a apucat sa ruleze, doar atentionam
|
|
If Thisform.lSyncPending
|
|
amessagebox("Exista modificari nesincronizate - apasati Recalculeaza (F5) si verificati nota!",0+48,"Atentie")
|
|
Return .F.
|
|
Endif
|
|
If !Empty(Thisform.cmesajsync)
|
|
amessagebox(Thisform.cmesajsync,0+48,"Atentie")
|
|
Return .F.
|
|
Endif
|
|
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 And loFact.tip_rand <> 'D'
|
|
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
|
|
*!* 16.07.2026 claude (A3) - sumarile + procentele mutate in recalculeaza(); Sum
|
|
*!* Val(explicatia4/5) eliminat (nu se mai copiaza, formula noua e directa)
|
|
Thisform.recalculeaza()
|
|
lnBazaLei = Thisform.nbaza_lei
|
|
lnBazaVal = Thisform.nbaza_val
|
|
lnTvaLei = Thisform.ntva_lei
|
|
lnTvaVal = Thisform.ntva_val
|
|
lnProcLei = Thisform.procent_lei - Iif(tlIntern, 0, 100)
|
|
lnProcVal = Thisform.procent_val
|
|
|
|
Locate
|
|
poAct.proc_tva = (100 + ptva)/100
|
|
|
|
|
|
*!* rul_temp e creat in Load (nu mai aici); vezi acolo.
|
|
|
|
this.AlwaysOnTop = .F.
|
|
*!* 16.07.2026 claude (T3) - do_termin unificat: verificare/scriere migrate din
|
|
*!* import_nir.inainte_de_do_termin; import_nir nu se mai instantiaza (ramane rezerva)
|
|
Select * From actactan Into Cursor crsActactanTemp READWRITE NOFILTER
|
|
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'))
|
|
this.AlwaysOnTop = .T.
|
|
Return .F.
|
|
Endif
|
|
Use In (Select('crsActactanTemp'))
|
|
Select actactan
|
|
Go Top
|
|
lnNrActPrima = nract
|
|
lcSerieActPrima = serie_act
|
|
* completez TVA si TAXCODE cu datele de pe prima factura (ca in fluxul vechi)
|
|
lnIdJtvaPrima = id_jtva_coloana
|
|
lnTaxCodePrima = taxcode
|
|
If Used('rul_temp')
|
|
Select rul_temp
|
|
Replace All nract With lnNrActPrima, serie_act With lcSerieActPrima, id_jtva_coloana With lnIdJtvaPrima, taxcode With lnTaxCodePrima
|
|
Endif
|
|
If Used('rul_temp_obinv')
|
|
Select rul_temp_obinv
|
|
Replace All nract With lnNrActPrima, serie_act With lcSerieActPrima
|
|
Endif
|
|
***** 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
|
|
*!* 16.07.2026 claude (T3, F4) - sumar spargere in log, pentru reconstructie post-hoc la client
|
|
If Type('goLog') = 'O'
|
|
lcLogSumar = 'NIR import unificat: act ' + Alltrim(Nvl(lcSerieActPrima,'')) + ' ' + Alltrim(Str(Nvl(lnNrActPrima,0),14))
|
|
Select introdc
|
|
Scan For tip_rand = 'S' And !Deleted()
|
|
lcLogSumar = lcLogSumar + ' | S ' + Alltrim(Nvl(scd,'')) + '=' + Alltrim(Str(Nvl(suma,0),14,2))
|
|
Endscan
|
|
Locate For tip_rand = 'D'
|
|
If Found()
|
|
lcLogSumar = lcLogSumar + ' | D ' + Alltrim(Nvl(scd,'')) + '=' + Alltrim(Str(Nvl(suma,0),14,2))
|
|
Endif
|
|
goLog.Log(lcLogSumar)
|
|
Endif
|
|
lnSucces = oscrie_in_fisiere(0,.F.,.T.)
|
|
If lnSucces > 0
|
|
Use In (Select('crsNegest'))
|
|
Do listare_nir With poAct.nnir, gnTipGest In oproceduri_listari
|
|
llRet = .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'))
|
|
llRet = .F.
|
|
Endif
|
|
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)
|
|
|
|
*!* rul_temp e creat in Load - inainte de instantierea membrilor, ca GridArt
|
|
*!* (RecordSource = rul_temp) sa se lege de un cursor existent.
|
|
|
|
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"
|
|
*!* 16.07.2026 claude (T3-A, sectiunea F) - ascunde coloanele valutare si pe grila
|
|
*!* articolelor (ca in import_nir.Init), plus But_modiparam1 (XLS-ul cere pret valuta).
|
|
This.gridart.cPretFactura.ControlSource = "pret_lei"
|
|
This.gridart.cPretFactura.Header1.Caption = "Pret lei factura"
|
|
This.gridart.cPretFactura.InputMask = get_mask(10,gnPPret)
|
|
This.gridart.cPretValutaCalculat.Visible = .F.
|
|
This.gridart.cValoareValutaFactura.Visible = .F.
|
|
This.gridart.cValoareValutaCalculat.Visible = .F.
|
|
This.lblIncVal.Visible = .F.
|
|
This.TxtIncVal.Visible = .F.
|
|
This.lblDifVal.Visible = .F.
|
|
This.TxtDifVal.Visible = .F.
|
|
This.But_modiparam1.Visible = .F.
|
|
*!* modificare v 2.1.40
|
|
Else
|
|
*!* 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()
|
|
This._grdfooter1.attachToGrid(This.GridArt)
|
|
This._grdfooter1.calcTotal()
|
|
|
|
ENDPROC
|
|
|
|
PROCEDURE KeyPress
|
|
LPARAMETERS nKeyCode, nShiftAltCtrl
|
|
*!* 16.07.2026 claude (T3, D-M3) - F5 = Recalculeaza (sincronizare manuala)
|
|
If nKeyCode = -4
|
|
Nodefault
|
|
Thisform.sincronizeaza()
|
|
Return
|
|
Endif
|
|
DoDefault(nKeyCode, nShiftAltCtrl)
|
|
ENDPROC
|
|
|
|
PROCEDURE Load
|
|
*!* rul_temp trebuie sa existe inaintea instantierii membrilor: GridArt e legat de el
|
|
*!* prin RecordSource, iar crearea lui dupa (in Init) lasa grila nelegata si goala.
|
|
DoDefault()
|
|
llRulTempPlin = .F.
|
|
If Used('RUL_TEMP')
|
|
llRulTempPlin = (Reccount('RUL_TEMP') > 0)
|
|
Endif
|
|
If !m.llRulTempPlin
|
|
If Used('RUL_TEMP')
|
|
Use In (Select('RUL_TEMP'))
|
|
Endif
|
|
lcSqlRul = [select r.*, r.pret as pret_lei, r.pretd as pret_val, 000.00 as cota_tva from ] + gcs + [.vrul r where 1=2 ]
|
|
lnSuccesRul = goExecutor.oExecute(lcSqlRul,[rul_temp])
|
|
If lnSuccesRul < 0
|
|
amessagebox(goExecutor.cEroare,0+16,"Eroare")
|
|
Return .F.
|
|
Endif
|
|
Endif
|
|
ENDPROC
|
|
|
|
PROCEDURE recalculeaza
|
|
*!* 16.07.2026 claude (A3) - muta sumarile din inainte_de_do_termin (baza/tva) aici, ca
|
|
*!* proprietati de formular. Regula dec.1: cu S existent baza documentului e Suma(S) (B a
|
|
*!* disparut la spargere - D9); fara S ramane B - de aceea filtrul de mai jos e pe
|
|
*!* tip_rand IN ('B','S') fara distinctie (invarianta garantata de sparge_document).
|
|
*!* Procentele NU mai copiaza Sum Val(explicatia4/5) (eliminat la migrare) - se calculeaza
|
|
*!* direct. 16.07.2026b claude (C4 - corectii T2): pe import, procent_lei NU mai e
|
|
*!* 100*baza_totala/baza_principala (ar dubla incarcarea documentelor de transport in
|
|
*!* valuta - do_reface aplica intai procent_val pe pretd, apoi procent_lei pe pret derivat
|
|
*!* din pretd*curs) - procent_lei pe import = 100 + contributia DOAR a documentelor
|
|
*!* care NU participa la pretul in valuta (restul intra in procent_val). Ramura intern
|
|
*!* ramane neschimbata (echivalenta cu vechiul calcul din do_executa).
|
|
Local lnBazaLei, lnBazaVal, lnBazaVal2, lnTvaLei, lnTvaVal, lnTvaVal2, lcSel
|
|
Local lnMinNrDoc, lnBazaPrincipalaLei, lnBazaPrincipalaVal, lnBazaLeiOnly, lnBazaValBased
|
|
lcSel = Select()
|
|
If !Used('introdc')
|
|
Select (lcSel)
|
|
Return
|
|
Endif
|
|
Select introdc
|
|
If This.lIntern
|
|
Sum suma For Inlist(tip_rand,'B','S') And !Inlist(scd,'4426','4428') And !Empty(id_jtva_coloana) And participa_valuta To lnBazaLei
|
|
Sum suma For tip_rand = 'T' And !Empty(id_jtva_coloana) And participa_valuta To lnTvaLei
|
|
Else
|
|
Sum suma For Inlist(tip_rand,'B','S') And !Inlist(scd,'4426','4428') And !Empty(id_jtva_coloana) To lnBazaLei
|
|
Sum suma For tip_rand = 'T' And !Empty(id_jtva_coloana) To lnTvaLei
|
|
Endif
|
|
Sum suma_val For Inlist(tip_rand,'B','S') And !Inlist(scd,'4426','4428') And !Empty(id_jtva_coloana) And in_valuta = 1 And participa_valuta To lnBazaVal
|
|
Sum Round(suma/This.oact.Curs, gnPval) For Inlist(tip_rand,'B','S') And !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 tip_rand = 'T' And !Empty(id_jtva_coloana) And in_valuta = 1 And participa_valuta To lnTvaVal
|
|
Sum Round(suma/This.oact.Curs, gnPval) For tip_rand = 'T' And !Empty(id_jtva_coloana) And in_valuta = 0 And participa_valuta To lnTvaVal2
|
|
lnTvaVal = lnTvaVal + lnTvaVal2
|
|
|
|
*!* baza documentului principal (nr_doc minim dintre B/S), pentru procent_val, procent_lei (intern) si procentele pe rand
|
|
lnMinNrDoc = 99999998
|
|
Calculate Min(Iif(Inlist(tip_rand,'B','S'), nr_doc, 99999998)) To lnMinNrDoc
|
|
Sum suma_val For Inlist(tip_rand,'B','S') And nr_doc = lnMinNrDoc And !Inlist(scd,'4426','4428') And !Empty(id_jtva_coloana) And in_valuta = 1 To lnBazaPrincipalaVal
|
|
Sum suma For Inlist(tip_rand,'B','S') And nr_doc = lnMinNrDoc And !Inlist(scd,'4426','4428') And !Empty(id_jtva_coloana) To lnBazaPrincipalaLei
|
|
|
|
This.nbaza_lei = lnBazaLei
|
|
This.nbaza_val = lnBazaVal
|
|
This.ntva_lei = lnTvaLei
|
|
This.ntva_val = lnTvaVal
|
|
This.nbazaprincipala_lei = lnBazaPrincipalaLei
|
|
This.nbazaprincipala_val = lnBazaPrincipalaVal
|
|
If This.lIntern
|
|
This.procent_lei = Iif(lnBazaPrincipalaLei <> 0, 100 * lnBazaLei / lnBazaPrincipalaLei, 100)
|
|
Else
|
|
*!* C4b: documentele cu participa_valuta (si cele platite in lei, convertite la curs in
|
|
*!* nbaza_val) sunt acoperite de procent_val - in procent_lei raman doar neparticipantele
|
|
Sum suma For Inlist(tip_rand,'B','S') And !participa_valuta And !Inlist(scd,'4426','4428') And !Empty(id_jtva_coloana) To lnBazaLeiOnly
|
|
Sum suma For Inlist(tip_rand,'B','S') And participa_valuta And !Inlist(scd,'4426','4428') And !Empty(id_jtva_coloana) To lnBazaValBased
|
|
This.procent_lei = 100 + Iif(lnBazaValBased <> 0, 100 * lnBazaLeiOnly / lnBazaValBased, 0)
|
|
Endif
|
|
This.procent_val = Iif(lnBazaPrincipalaVal <> 0, 100 * lnBazaVal / lnBazaPrincipalaVal, 100)
|
|
Select (lcSel)
|
|
ENDPROC
|
|
|
|
PROCEDURE recalc_diferente
|
|
*!* 16.07.2026b claude (C5 - corectii T2) - randul D unic (doc_key='', nr_doc=99999999):
|
|
*!* diferenta = baza TOTALA (This.nbaza_lei/val, dupa recalculeaza) - Suma(pret*cant) cu
|
|
*!* pretul INCARCAT (do_reface-adjusted, ca vechiul do_calculeaza_diferente), NU suma_doc
|
|
*!* a principalei si NU pretul de factura (pret_lei/pret_val). Cont dominant = clasa 3 cu
|
|
*!* baza (aceeasi formula) ABS maxima (dec.9+E5); fara clasa 3 -> dominant clasa 2, cont fix 6588.
|
|
*!* Diferenta se determina si se scrie DOAR in lei (fara valuta). E3: D mosteneste antetul documentului principal.
|
|
Local lcSel, lnMinNrDoc, lnTotalLei, lnTotalVal
|
|
Local lcContDominant, lnBazaDominantaAbs, lcScd1, lnDiferentaLei, lnDiferentaVal, lcExplicatie
|
|
Local llGasitClasa3, loAntet
|
|
lcSel = Select()
|
|
|
|
If !Used('rul_temp') Or Reccount('rul_temp') = 0
|
|
*!* E7: fara articole - nimic de calculat; sterg D-ul ramas orfan, daca exista
|
|
Select introdc
|
|
Delete For tip_rand == 'D'
|
|
This.ndif_lei = 0
|
|
This.ndif_val = 0
|
|
Select (lcSel)
|
|
Return
|
|
Endif
|
|
|
|
Select introdc
|
|
lnMinNrDoc = 99999998
|
|
Calculate Min(Iif(Inlist(tip_rand,'B','S'), nr_doc, 99999998)) To lnMinNrDoc
|
|
Locate For nr_doc = lnMinNrDoc And Inlist(tip_rand,'B','S')
|
|
If !Found()
|
|
Select (lcSel)
|
|
Return
|
|
Endif
|
|
|
|
Select Sum(Round(pret*cant,gnPc)) As tot_lei, Sum(Round(pretd*cant,gnPval)) As tot_val ;
|
|
From rul_temp Where !Deleted() Into Cursor crsTotArt NOFILTER
|
|
lnTotalLei = Nvl(crsTotArt.tot_lei, 0)
|
|
lnTotalVal = Nvl(crsTotArt.tot_val, 0)
|
|
Use In crsTotArt
|
|
|
|
*!* contul dominant: clasa 3 cu baza (pret incarcat) ABS maxima (dec.9+E5);
|
|
*!* fara clasa 3 -> clasa 2 (imobilizari), nota D cu cont fix 6588
|
|
Select cont, Sum(Round(pret*cant,gnPc)) As baza_lei ;
|
|
From rul_temp Where !Deleted() And Inlist(Left(Alltrim(Nvl(cont,'')),1),'2','3') Group By cont Into Cursor crsGrupDom NOFILTER
|
|
lcContDominant = ''
|
|
lnBazaDominantaAbs = -1
|
|
Select crsGrupDom
|
|
Scan For Left(Alltrim(cont),1) == '3'
|
|
If Abs(baza_lei) > lnBazaDominantaAbs
|
|
lnBazaDominantaAbs = Abs(baza_lei)
|
|
lcContDominant = Alltrim(cont)
|
|
Endif
|
|
Select crsGrupDom
|
|
Endscan
|
|
llGasitClasa3 = !Empty(lcContDominant)
|
|
If !llGasitClasa3
|
|
Select crsGrupDom
|
|
Scan
|
|
If Abs(baza_lei) > lnBazaDominantaAbs
|
|
lnBazaDominantaAbs = Abs(baza_lei)
|
|
lcContDominant = Alltrim(cont)
|
|
Endif
|
|
Select crsGrupDom
|
|
Endscan
|
|
Endif
|
|
Use In crsGrupDom
|
|
|
|
lnDiferentaLei = Round(This.nbaza_lei - lnTotalLei, gnPc)
|
|
This.ndif_lei = lnDiferentaLei
|
|
This.ndif_val = 0
|
|
|
|
If lnDiferentaLei = 0
|
|
Select introdc
|
|
Delete For tip_rand == 'D'
|
|
Select (lcSel)
|
|
Return
|
|
Endif
|
|
|
|
lcScd1 = ''
|
|
If llGasitClasa3
|
|
Do Case
|
|
Case Left(lcContDominant,2) == '34'
|
|
lcScd1 = '711'
|
|
Case lcContDominant == '371'
|
|
lcScd1 = '607'
|
|
Case Inlist(lcContDominant, '381', '388')
|
|
lcScd1 = '608'
|
|
Otherwise
|
|
lcScd1 = '60' + Substr(lcContDominant,3,2)
|
|
Endcase
|
|
Else
|
|
lcScd1 = '6588' && dominant clasa 2 (imobilizari): alte cheltuieli de exploatare, fix
|
|
Endif
|
|
|
|
lcExplicatie = 'DIFERENTA'
|
|
|
|
Select introdc
|
|
Locate For tip_rand == 'D'
|
|
If !Found()
|
|
Locate For nr_doc = lnMinNrDoc And Inlist(tip_rand,'B','S')
|
|
Scatter Name loAntet Memo
|
|
Select introdc
|
|
Append Blank
|
|
Gather Name loAntet Memo
|
|
Replace tip_rand With 'D', doc_key With '', nr_doc With 99999999, mod_manual With 0
|
|
Replace partc With '', id_partc With 0, partd With '', id_partd With 0
|
|
Endif
|
|
Replace scd With lcScd1, scc With lcContDominant, suma With lnDiferentaLei, suma_val With 0, ;
|
|
explicatia With lcExplicatie, id_jtva_coloana With Null, ptva With 0, cu_tva With 0, ;
|
|
in_valuta With 0, participa_valuta With .F., nume_val With '', id_valuta With 0, curs With 0
|
|
|
|
Select (lcSel)
|
|
ENDPROC
|
|
|
|
PROCEDURE recalc_tva_document
|
|
*!* recalculeaza randurile T nemanuale (mod_manual<>1) ale documentului tcDocKey,
|
|
*!* proportional cu bazele pe cota TVA (rul_temp) cand exista mai multe cote; nu
|
|
*!* creeaza/sterge randuri T, nu atinge randurile T manuale.
|
|
Lparameters tcDocKey
|
|
Local lcSel, lnRec, llValuta, lnCurs, lnTotal, lnTotalVal, lnBazaTotala, lnPondere
|
|
Local lnCntTSec, lnTotSLei2, lnPtvaSec, lnRestLei2, lnRestVal2, lnMaxAbs2, lnRecMaxAbs2
|
|
lcSel = Select()
|
|
lnRec = Recno('introdc')
|
|
|
|
Select introdc
|
|
Locate For doc_key == tcDocKey And tip_rand == 'T' And mod_manual <> 1
|
|
If !Found()
|
|
Select (lcSel)
|
|
If Between(lnRec, 1, Reccount('introdc'))
|
|
Go lnRec In introdc
|
|
Endif
|
|
Return
|
|
Endif
|
|
|
|
Local loRandT
|
|
Scatter Name loRandT Memo
|
|
llValuta = (loRandT.in_valuta = 1)
|
|
lnCurs = Iif(Nvl(loRandT.curs,0) <> 0, loRandT.curs, Thisform.oact.Curs)
|
|
lnTotal = loRandT.suma_doc
|
|
lnTotalVal = loRandT.suma_doc_val
|
|
*!* bazele articolelor (rul_temp) descriu doar documentul principal (nr_doc minim intre B/S)
|
|
Local lnMinNrDoc, llPrincipal
|
|
lnMinNrDoc = 99999998
|
|
Calculate Min(Iif(Inlist(tip_rand,'B','S'), nr_doc, 99999998)) To lnMinNrDoc
|
|
llPrincipal = (loRandT.nr_doc = lnMinNrDoc)
|
|
|
|
Local lnCntCote
|
|
lnCntCote = 0
|
|
If Used('rul_temp')
|
|
*!* runda27 (D6): aceeasi grupare cota+creditor ca in sparge_document (D3), reutilizata
|
|
Thisform.calc_baze_cota_creditor(tcDocKey, loRandT)
|
|
lnCntCote = Reccount('crsGrupCota')
|
|
Endif
|
|
|
|
If llPrincipal And lnCntCote > 1
|
|
*!* principal cu mai multe cote/creditoare: bazele pe cota_tva+scc+ascc (rul_temp -> S), pondere = baza_grup / baza_totala
|
|
If This.lIntern
|
|
Select Sum(baza_lei) As tot From crsGrupCota Into Cursor crsBazaTot NOFILTER
|
|
Else
|
|
Select Sum(baza_val) As tot From crsGrupCota Into Cursor crsBazaTot NOFILTER
|
|
Endif
|
|
lnBazaTotala = Nvl(crsBazaTot.tot, 0)
|
|
Use In crsBazaTot
|
|
If lnBazaTotala = 0
|
|
Use In crsGrupCota
|
|
Select (lcSel)
|
|
If Between(lnRec, 1, Reccount('introdc'))
|
|
Go lnRec In introdc
|
|
Endif
|
|
Return
|
|
Endif
|
|
|
|
Select crsGrupCota
|
|
Scan
|
|
lnPondere = Iif(This.lIntern, baza_lei, baza_val) / lnBazaTotala
|
|
Select introdc
|
|
Scan For doc_key == tcDocKey And tip_rand == 'T' And mod_manual <> 1 And ptva == crsGrupCota.cota_tva ;
|
|
And Alltrim(Nvl(scc,'')) == Alltrim(Nvl(crsGrupCota.scc,'')) And Alltrim(Nvl(ascc,'')) == Alltrim(Nvl(crsGrupCota.ascc,''))
|
|
If This.lIntern
|
|
Replace suma With Round(lnTotal * lnPondere * ptva / 100, gnPc), suma_val With 0
|
|
Else
|
|
If llValuta
|
|
Replace suma_val With Round(lnTotalVal * lnPondere * ptva / 100, gnPval)
|
|
Replace suma With Round(suma_val * lnCurs, gnPc)
|
|
Else
|
|
*!* document secundar platit in lei: pondere aplicata direct pe suma_doc in lei
|
|
Replace suma With Round(lnTotal * lnPondere * ptva / 100, gnPc), suma_val With 0
|
|
Endif
|
|
Endif
|
|
Endscan
|
|
Select crsGrupCota
|
|
Endscan
|
|
Use In crsGrupCota
|
|
Else
|
|
If Used('crsGrupCota')
|
|
Use In crsGrupCota
|
|
Endif
|
|
*!* o singura cota / document secundar / fara rul_temp: T = total nou x ptva / 100;
|
|
*!* daca T-urile secundarei sunt sparte pe creditori, fiecare primeste cota-parte
|
|
*!* proportionala cu S-urile creditorului sau
|
|
Select Count(*) As nr From introdc Where doc_key == tcDocKey And tip_rand == 'T' And mod_manual <> 1 Into Cursor crsCntTSec NOFILTER
|
|
lnCntTSec = crsCntTSec.nr
|
|
Use In crsCntTSec
|
|
lnTotSLei2 = 0
|
|
lnPtvaSec = 0
|
|
If lnCntTSec > 1
|
|
Select introdc
|
|
Locate For doc_key == tcDocKey And tip_rand == 'T' And mod_manual <> 1
|
|
lnPtvaSec = ptva
|
|
Select scc, ascc, Sum(suma) As s_lei From introdc ;
|
|
Where doc_key == tcDocKey And tip_rand == 'S' ;
|
|
Group By scc, ascc Into Cursor crsGrupSccR NOFILTER
|
|
Select Sum(s_lei) As tot From crsGrupSccR Into Cursor crsTotSR NOFILTER
|
|
lnTotSLei2 = Nvl(crsTotSR.tot,0)
|
|
Use In crsTotSR
|
|
Endif
|
|
Select introdc
|
|
Scan For doc_key == tcDocKey And tip_rand == 'T' And mod_manual <> 1
|
|
lnPondere = Iif(lnCntTSec > 1, 1 / lnCntTSec, 1)
|
|
If lnCntTSec > 1 And lnTotSLei2 <> 0
|
|
Select crsGrupSccR
|
|
Locate For Alltrim(Nvl(scc,'')) == Alltrim(Nvl(introdc.scc,'')) And Alltrim(Nvl(ascc,'')) == Alltrim(Nvl(introdc.ascc,''))
|
|
lnPondere = Iif(Found(), crsGrupSccR.s_lei / lnTotSLei2, 0)
|
|
Select introdc
|
|
Endif
|
|
If This.lIntern
|
|
Replace suma With Round(lnTotal * lnPondere * ptva / 100, gnPc), suma_val With 0
|
|
Else
|
|
If llValuta
|
|
Replace suma_val With Round(lnTotalVal * lnPondere * ptva / 100, gnPval)
|
|
Replace suma With Round(suma_val * lnCurs, gnPc)
|
|
Else
|
|
Replace suma With Round(lnTotal * lnPondere * ptva / 100, gnPc), suma_val With 0
|
|
Endif
|
|
Endif
|
|
Select introdc
|
|
Endscan
|
|
If Used('crsGrupSccR')
|
|
Use In crsGrupSccR
|
|
Endif
|
|
If lnCntTSec > 1
|
|
*!* reziduul de rotunjire pe T-ul cu |suma| maxima (modelul D5)
|
|
Select Sum(suma) As s_lei, Sum(suma_val) As s_val From introdc ;
|
|
Where doc_key == tcDocKey And tip_rand == 'T' And mod_manual <> 1 Into Cursor crsSumTSec2 NOFILTER
|
|
If This.lIntern Or !llValuta
|
|
lnRestLei2 = Round(lnTotal * lnPtvaSec / 100, gnPc) - Round(Nvl(crsSumTSec2.s_lei,0), gnPc)
|
|
lnRestVal2 = 0
|
|
Else
|
|
lnRestVal2 = Round(lnTotalVal * lnPtvaSec / 100, gnPval) - Round(Nvl(crsSumTSec2.s_val,0), gnPval)
|
|
lnRestLei2 = 0
|
|
Endif
|
|
Use In crsSumTSec2
|
|
If lnRestLei2 <> 0 Or lnRestVal2 <> 0
|
|
lnMaxAbs2 = -1
|
|
lnRecMaxAbs2 = 0
|
|
Select introdc
|
|
Scan For doc_key == tcDocKey And tip_rand == 'T' And mod_manual <> 1
|
|
If Abs(suma) > lnMaxAbs2
|
|
lnMaxAbs2 = Abs(suma)
|
|
lnRecMaxAbs2 = Recno()
|
|
Endif
|
|
Endscan
|
|
If lnRecMaxAbs2 > 0
|
|
Go lnRecMaxAbs2 In introdc
|
|
If lnRestVal2 <> 0
|
|
Replace suma_val With suma_val + lnRestVal2
|
|
Replace suma With Round(suma_val * lnCurs, gnPc)
|
|
Else
|
|
Replace suma With suma + lnRestLei2
|
|
Endif
|
|
Endif
|
|
Endif
|
|
Endif
|
|
Endif
|
|
|
|
Select (lcSel)
|
|
If Between(lnRec, 1, Reccount('introdc'))
|
|
Go lnRec In introdc
|
|
Endif
|
|
ENDPROC
|
|
|
|
PROCEDURE refac_culori_documente
|
|
* M1: culoare fundal + eticheta document, precalculate pe cursorul introdc.
|
|
* Cheia document = doc_key (nr_doc+serie_act+nract+id_fdoc+id_partc, calc_doc_key).
|
|
* primul rand B/S al unui doc_key defineste documentul - B dispare dupa spargere (dec.9);
|
|
* randul 'T' mosteneste culoarea/eticheta. Repozitionare finala pe doc_key+tip_rand (E6).
|
|
Local lcSel, lnDocCount, lnIdx, i, lcCheie, lnPrevColor, lcPrevLabel, lcPrevDocKey
|
|
Local laCol[6], laKeys[100], lcDocKeyRec, lcTipRandRec
|
|
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
|
|
lcDocKeyRec = ''
|
|
lcTipRandRec = ''
|
|
If Reccount() > 0 And Between(Recno(), 1, Reccount())
|
|
lcDocKeyRec = doc_key
|
|
lcTipRandRec = tip_rand
|
|
Endif
|
|
lnDocCount = 0
|
|
lnPrevColor = 16777215
|
|
lcPrevLabel = '-'
|
|
lcPrevDocKey = Chr(255)
|
|
Go Top
|
|
Scan
|
|
Do Case
|
|
Case Inlist(tip_rand, 'B', 'S') And !(doc_key == lcPrevDocKey)
|
|
lcPrevDocKey = doc_key
|
|
lcCheie = Thisform.calc_doc_key()
|
|
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)
|
|
Case Inlist(tip_rand, 'B', 'S')
|
|
*!* S-urile urmatoare ale aceluiasi document
|
|
Replace doc_color With lnPrevColor, doc_label With lcPrevLabel
|
|
Otherwise
|
|
Replace doc_color With lnPrevColor, doc_label With Iif(lcPrevLabel == '-', '-', lcPrevLabel + ' TVA')
|
|
Endcase
|
|
Endscan
|
|
Do Case
|
|
Case lcTipRandRec == 'D'
|
|
*!* randul D are doc_key gol - repozitionare dupa tip_rand
|
|
Locate For tip_rand == 'D'
|
|
If !Found()
|
|
Go Top
|
|
Endif
|
|
Case !Empty(lcDocKeyRec)
|
|
Locate For doc_key == lcDocKeyRec And tip_rand == lcTipRandRec
|
|
If !Found()
|
|
Go Top
|
|
Endif
|
|
Otherwise
|
|
Go Top
|
|
Endcase
|
|
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
|
|
*!* 16.07.2026 claude (T3-A) - reface preturile articolelor la afisare (ca in import_nir.Show),
|
|
*!* doar daca exista deja articole (rul_temp populat la reintrare din verificare/listare).
|
|
If Reccount('rul_temp') > 0
|
|
This.do_reface()
|
|
Endif
|
|
ENDPROC
|
|
|
|
PROCEDURE sincronizeaza
|
|
*!* 16.07.2026 claude (A1+F3+D-C1) - orchestratorul sincronizarii; NU se apeleaza direct
|
|
*!* din Valid (eroare VFP 2166) - armare prin lSyncPending+tmrSync. Guard de reintrare lInSync.
|
|
If This.lInSync
|
|
Return
|
|
Endif
|
|
This.lInSync = .T.
|
|
|
|
Local lcDocKeyPoz, lcTipRandPoz, lcScdPoz, lcDocKeyCrt, lnMinNrDocProc, lnValRandProc, ;
|
|
lnMinNrDocGlobal, lcDocKeyBucla, lnNrDocDoc, llEsteParticipant
|
|
lcDocKeyPoz = ''
|
|
lcTipRandPoz = ''
|
|
lcScdPoz = ''
|
|
If Used('introdc') And Reccount('introdc') > 0 And Between(Recno('introdc'), 1, Reccount('introdc'))
|
|
Select introdc
|
|
lcDocKeyPoz = doc_key
|
|
lcTipRandPoz = tip_rand
|
|
lcScdPoz = scd
|
|
Endif
|
|
|
|
This.cmesajsync = ''
|
|
|
|
*!* directia nota->articole: recalculez procentele, apoi (T3) do_reface repreteste articolele
|
|
This.recalculeaza()
|
|
If Pemstatus(This, 'do_reface', 5)
|
|
This.do_reface()
|
|
Endif
|
|
|
|
*!* directia articole->nota: principala se sparge intotdeauna; secundarele doar daca
|
|
*!* Thisform.lSpargeSecundare e activ si documentul chiar participa la pretul articolelor
|
|
If Used('introdc')
|
|
Select Distinct doc_key ;
|
|
From introdc ;
|
|
Where Inlist(tip_rand,'B','S') And !Empty(doc_key) ;
|
|
Into Cursor crsDocs Nofilter
|
|
Select introdc
|
|
lnMinNrDocGlobal = 99999998
|
|
Calculate Min(Iif(Inlist(tip_rand,'B','S'), nr_doc, 99999998)) To lnMinNrDocGlobal
|
|
Select crsDocs
|
|
Scan
|
|
lcDocKeyBucla = crsDocs.doc_key
|
|
Select introdc
|
|
Locate For doc_key == lcDocKeyBucla And Inlist(tip_rand,'B','S')
|
|
If !Found()
|
|
Loop
|
|
Endif
|
|
lnNrDocDoc = nr_doc
|
|
If lnNrDocDoc = lnMinNrDocGlobal
|
|
Thisform.sparge_document(lcDocKeyBucla)
|
|
Else
|
|
llEsteParticipant = !Empty(id_jtva_coloana) And (!This.lIntern Or participa_valuta)
|
|
If Thisform.lSpargeSecundare And llEsteParticipant
|
|
Thisform.sparge_document(lcDocKeyBucla)
|
|
Else
|
|
Thisform.uneste_document(lcDocKeyBucla)
|
|
Endif
|
|
Endif
|
|
Select crsDocs
|
|
Endscan
|
|
Use In crsDocs
|
|
Endif
|
|
|
|
This.recalc_diferente()
|
|
|
|
*!* procente per rand (dupa spargere): raportate la baza documentului principal (nr_doc minim B/S).
|
|
*!* NU se scriu in recalculeaza() - acolo ruleaza inaintea sparge_document(), deci S-urile
|
|
*!* documentului principal inca nu exista la momentul respectiv.
|
|
If Used('introdc') And Reccount('introdc') > 0
|
|
Select introdc
|
|
lnMinNrDocProc = 99999998
|
|
Calculate Min(Iif(Inlist(tip_rand,'B','S'), nr_doc, 99999998)) To lnMinNrDocProc
|
|
Scan For Inlist(tip_rand,'B','S')
|
|
If nr_doc = lnMinNrDocProc
|
|
Replace explicatia4 With '100.00'
|
|
Replace explicatia5 With Iif(in_valuta = 1 Or participa_valuta, '100.00', '')
|
|
Else
|
|
Replace explicatia4 With Iif(This.nbazaprincipala_lei <> 0, Allt(Str(suma/This.nbazaprincipala_lei*100,6,2)), '')
|
|
lnValRandProc = Iif(in_valuta = 1, suma_val, Round(suma/This.oact.Curs, gnPval))
|
|
Replace explicatia5 With Iif(This.nbazaprincipala_val <> 0, Allt(Str(lnValRandProc/This.nbazaprincipala_val*100,6,2)), '')
|
|
Endif
|
|
Endscan
|
|
Endif
|
|
This.valideaza_sume()
|
|
|
|
*!* D-C1: restaurare pozitie (randul D dupa tip_rand - doc_key-ul lui e gol;
|
|
*!* fallback: primul rand al documentului, apoi Go Top)
|
|
Select introdc
|
|
Do Case
|
|
Case lcTipRandPoz == 'D'
|
|
Locate For tip_rand == 'D'
|
|
If !Found()
|
|
Go Top
|
|
Endif
|
|
Case !Empty(lcDocKeyPoz)
|
|
Locate For doc_key == lcDocKeyPoz And tip_rand == lcTipRandPoz And scd == lcScdPoz
|
|
If !Found()
|
|
Locate For doc_key == lcDocKeyPoz
|
|
Endif
|
|
If !Found()
|
|
Go Top
|
|
Endif
|
|
Otherwise
|
|
Go Top
|
|
Endcase
|
|
This.grid1.Refresh()
|
|
|
|
This.refac_culori_documente()
|
|
This.actualizeaza_banda()
|
|
This.lInSync = .F.
|
|
ENDPROC
|
|
|
|
PROCEDURE sparge_document
|
|
*!* 16.07.2026b claude (corectii T2 dupa review) - sparge documentul tcDocKey pe conturile
|
|
*!* articolelor din rul_temp. C1: B poate fi deja sters de la o spargere anterioara - daca
|
|
*!* nu exista, template-ul e primul rand S al documentului (nu mai ies fara sa fac nimic);
|
|
*!* sursa unica a totalului documentului e suma_doc/suma_doc_val (nu loBaza.suma, care pe
|
|
*!* un rand S ar fi doar cota unui cont). C2: baza de repartizare e in moneda documentului
|
|
*!* (This.lIntern): import -> pret_val*cant (D-H4: suma_val editabil, suma=val*curs);
|
|
*!* intern -> pret_lei*cant, suma_val=0. C7: la 0 articole S-urile dispar NECONDITIONAT
|
|
*!* (E7), B se recreeaza din primul S daca lipseste.
|
|
Lparameters tcDocKey
|
|
Local lcSel, lnAreArticole, llPrincipal, lnMinNrDoc, llValuta, lnCurs, llAreB, lnBazaArtTot
|
|
Local loBaza, lnSumaDoc, lnSumaDocVal, lnRestLei, lnRestVal, lcContMaxAbs, lnMaxAbs, llAreManual, lnBazaTotala
|
|
Local lnPondere, lnSumaS, lnSumaSVal, lnIdJtvaOrig, lnCotaCrt, lnIdJtvaCrt, lnRecMaxAbs
|
|
Local loRandTS, lnTotTLei, lnTotTVal, lnTotSLei
|
|
lcSel = Select()
|
|
|
|
Select introdc
|
|
Locate For doc_key == tcDocKey And tip_rand == 'B'
|
|
llAreB = Found()
|
|
If llAreB
|
|
Scatter Name loBaza Memo
|
|
Else
|
|
Locate For doc_key == tcDocKey And tip_rand == 'S'
|
|
If !Found()
|
|
*!* documentul nu (mai) exista (nici B, nici S) - nimic de facut
|
|
Select (lcSel)
|
|
Return
|
|
Endif
|
|
Scatter Name loBaza Memo
|
|
Endif
|
|
If llAreB And Empty(Alltrim(Nvl(loBaza.scd_orig,'')))
|
|
loBaza.scd_orig = Nvl(loBaza.scd,'')
|
|
loBaza.ascd_orig = Nvl(loBaza.ascd,'')
|
|
Endif
|
|
lnSumaDoc = loBaza.suma_doc
|
|
lnSumaDocVal = loBaza.suma_doc_val
|
|
|
|
*!* documentul "principal" (are articole) = nr_doc minim dintre B/S existente
|
|
*!* (v1: articolele apartin intotdeauna primului document - decizia 3)
|
|
lnMinNrDoc = 99999998
|
|
Calculate Min(Iif(Inlist(tip_rand,'B','S'), nr_doc, 99999998)) To lnMinNrDoc
|
|
llPrincipal = (loBaza.nr_doc = lnMinNrDoc)
|
|
|
|
lnAreArticole = 0
|
|
If Used('rul_temp')
|
|
Select Count(*) As nr From rul_temp Where !Deleted() Into Cursor crsCntArt NOFILTER
|
|
lnAreArticole = crsCntArt.nr
|
|
Use In crsCntArt
|
|
Endif
|
|
|
|
*!* articole fara cantitati/preturi (baza totala 0): documentele raman nesparte
|
|
lnBazaArtTot = 0
|
|
If lnAreArticole > 0
|
|
If This.lIntern
|
|
Select Sum(Round(pret_lei*cant,gnPc)) As tot From rul_temp Where !Deleted() Into Cursor crsBazaArtTot NOFILTER
|
|
Else
|
|
Select Sum(Round(pret_val*cant,gnPval)) As tot From rul_temp Where !Deleted() Into Cursor crsBazaArtTot NOFILTER
|
|
Endif
|
|
lnBazaArtTot = Nvl(crsBazaArtTot.tot, 0)
|
|
Use In crsBazaArtTot
|
|
If lnBazaArtTot = 0
|
|
If !("Articolele nu au inca cantitati/preturi" $ Thisform.cmesajsync)
|
|
Thisform.cmesajsync = Thisform.cmesajsync + Iif(Empty(Thisform.cmesajsync),'',Chr(13)+Chr(10)) + ;
|
|
"Articolele nu au inca cantitati/preturi - completati-le; documentele raman nesincronizate."
|
|
Endif
|
|
Select (lcSel)
|
|
Return
|
|
Endif
|
|
Endif
|
|
|
|
llAreManual = .F.
|
|
Select introdc
|
|
Locate For doc_key == tcDocKey And Inlist(tip_rand,'S','D') And mod_manual = 1
|
|
If Found()
|
|
llAreManual = .T.
|
|
Endif
|
|
|
|
If lnAreArticole = 0
|
|
*!* E7 (C7): fara articole -> S-urile dispar NECONDITIONAT; B se recreeaza daca lipseste
|
|
Select introdc
|
|
Locate For doc_key == tcDocKey And tip_rand == 'S'
|
|
If Found()
|
|
If !llAreB
|
|
Local loRandS, lcScdSablon
|
|
Scatter Name loRandS Memo
|
|
lcScdSablon = ''
|
|
If Used('introdc_sablon')
|
|
Select introdc_sablon
|
|
Go 1
|
|
lcScdSablon = scd
|
|
Select introdc
|
|
Endif
|
|
Append Blank
|
|
Gather Name loRandS Memo
|
|
Replace tip_rand With 'B', doc_key With tcDocKey, scd With Iif(!Empty(Alltrim(Nvl(loRandS.scd_orig,''))), Alltrim(loRandS.scd_orig), lcScdSablon), ascd With Alltrim(Nvl(loRandS.ascd_orig,'')), ;
|
|
suma With lnSumaDoc, suma_val With lnSumaDocVal, mod_manual With 0
|
|
Endif
|
|
Select introdc
|
|
Delete For doc_key == tcDocKey And tip_rand == 'S'
|
|
Endif
|
|
Select (lcSel)
|
|
Return
|
|
Endif
|
|
|
|
If llAreManual
|
|
*!* D-H3 (simplificat la T2): editari manuale prezente - nu rescriu S-urile documentului
|
|
Select (lcSel)
|
|
Return
|
|
Endif
|
|
|
|
llValuta = (loBaza.in_valuta = 1)
|
|
lnCurs = Iif(Nvl(loBaza.curs,0) <> 0, loBaza.curs, Thisform.oact.Curs)
|
|
|
|
*!* partenerul debit completat pe S-uri se pastreaza la regenerare (per cont+analitic)
|
|
Select scd, ascd, id_partd, partd From introdc ;
|
|
Where doc_key == tcDocKey And tip_rand == 'S' And Nvl(id_partd,0) <> 0 ;
|
|
Into Cursor crsPartS NOFILTER
|
|
|
|
*!* runda27 (D2): scc/ascc/id_partc/partc editate manual pe un S se pastreaza la
|
|
*!* regenerare (spre deosebire de crsPartS, se reaplica NECONDITIONAT mai jos)
|
|
Select scd, ascd, scc, ascc, id_partc, partc From introdc ;
|
|
Where doc_key == tcDocKey And tip_rand == 'S' And !Empty(Alltrim(Nvl(scc,''))) ;
|
|
Into Cursor crsSccS NOFILTER
|
|
|
|
*!* C1: sterg S-urile existente ale documentului inainte de regenerare (altfel se
|
|
*!* acumuleaza duplicate la fiecare resincronizare)
|
|
Select introdc
|
|
Delete For doc_key == tcDocKey And tip_rand == 'S'
|
|
|
|
*!* C2: grupez articolele pe cont+analitic, in moneda documentului (import: pret_val; intern: pret_lei)
|
|
If This.lIntern
|
|
Select cont, acont, Sum(Round(pret_lei*cant,gnPc)) As baza_lei, 0 As baza_val ;
|
|
From rul_temp Where !Deleted() Group By cont, acont Into Cursor crsGrupCont NOFILTER
|
|
Else
|
|
Select cont, acont, Sum(Round(pret_val*cant,gnPval)) As baza_val, 0 As baza_lei ;
|
|
From rul_temp Where !Deleted() Group By cont, acont Into Cursor crsGrupCont NOFILTER
|
|
Endif
|
|
|
|
If llPrincipal
|
|
*!* factura principala: rand S per cont, la baza proprie a contului
|
|
Select crsGrupCont
|
|
Scan
|
|
If This.lIntern
|
|
Thisform.creeaza_rand_s(tcDocKey, cont, baza_lei, 0, loBaza, acont)
|
|
Else
|
|
Thisform.creeaza_rand_s(tcDocKey, cont, Round(baza_val*lnCurs,gnPc), baza_val, loBaza, acont)
|
|
Endif
|
|
Select crsGrupCont
|
|
Endscan
|
|
Else
|
|
*!* transport/taxe (dec.2 revizuita): proportional cu bazele articolelor per cont,
|
|
*!* raportat la baza totala a facturii principale (in moneda documentului); debit =
|
|
*!* contul articolelor, credit = mostenit din randul B/S sablon (scc), prin
|
|
*!* creeaza_rand_s (A2)
|
|
If This.lIntern
|
|
Select Sum(baza_lei) As tot From crsGrupCont Into Cursor crsBazaTotala NOFILTER
|
|
Else
|
|
Select Sum(baza_val) As tot From crsGrupCont Into Cursor crsBazaTotala NOFILTER
|
|
Endif
|
|
lnBazaTotala = Nvl(crsBazaTotala.tot, 0)
|
|
Use In crsBazaTotala
|
|
If lnBazaTotala = 0
|
|
Use In crsGrupCont
|
|
If Used('crsPartS')
|
|
Use In crsPartS
|
|
Endif
|
|
Select (lcSel)
|
|
Return
|
|
Endif
|
|
Select crsGrupCont
|
|
Scan
|
|
If This.lIntern
|
|
lnPondere = baza_lei / lnBazaTotala
|
|
lnSumaS = Round(lnSumaDoc * lnPondere, gnPc)
|
|
lnSumaSVal = 0
|
|
Else
|
|
lnPondere = baza_val / lnBazaTotala
|
|
If loBaza.in_valuta = 1
|
|
lnSumaSVal = Round(lnSumaDocVal * lnPondere, gnPval)
|
|
lnSumaS = Round(lnSumaSVal * lnCurs, gnPc)
|
|
Else
|
|
*!* document secundar platit in lei: se repartizeaza direct suma in lei
|
|
lnSumaSVal = 0
|
|
lnSumaS = Round(lnSumaDoc * lnPondere, gnPc)
|
|
Endif
|
|
Endif
|
|
Thisform.creeaza_rand_s(tcDocKey, cont, lnSumaS, lnSumaSVal, loBaza, acont)
|
|
Select crsGrupCont
|
|
Endscan
|
|
Endif
|
|
Use In crsGrupCont
|
|
|
|
*!* E2: rotunjire independenta per moneda - reziduul pe randul S cu |suma| maxima,
|
|
*!* raportat la suma_doc/suma_doc_val (sursa unica, C1)
|
|
Select Sum(suma) As s_lei, Sum(suma_val) As s_val From introdc Where doc_key == tcDocKey And tip_rand == 'S' Into Cursor crsSumS NOFILTER
|
|
lnRestLei = Round(lnSumaDoc - Nvl(crsSumS.s_lei,0), gnPc)
|
|
lnRestVal = Round(lnSumaDocVal - Nvl(crsSumS.s_val,0), gnPval)
|
|
Use In crsSumS
|
|
If lnRestLei <> 0
|
|
lcContMaxAbs = ''
|
|
lnMaxAbs = -1
|
|
Select introdc
|
|
Scan For doc_key == tcDocKey And tip_rand == 'S'
|
|
If Abs(suma) > lnMaxAbs
|
|
lnMaxAbs = Abs(suma)
|
|
lcContMaxAbs = scd
|
|
Endif
|
|
Endscan
|
|
Locate For doc_key == tcDocKey And tip_rand == 'S' And scd == lcContMaxAbs
|
|
If Found()
|
|
Replace suma With suma + lnRestLei
|
|
Endif
|
|
Endif
|
|
If llValuta And lnRestVal <> 0
|
|
lcContMaxAbs = ''
|
|
lnMaxAbs = -1
|
|
Select introdc
|
|
Scan For doc_key == tcDocKey And tip_rand == 'S'
|
|
If Abs(suma_val) > lnMaxAbs
|
|
lnMaxAbs = Abs(suma_val)
|
|
lcContMaxAbs = scd
|
|
Endif
|
|
Endscan
|
|
Locate For doc_key == tcDocKey And tip_rand == 'S' And scd == lcContMaxAbs
|
|
If Found()
|
|
Replace suma_val With suma_val + lnRestVal
|
|
Endif
|
|
Endif
|
|
|
|
If Used('crsPartS') And Reccount('crsPartS') > 0
|
|
Select crsPartS
|
|
Scan
|
|
Select introdc
|
|
Replace id_partd With crsPartS.id_partd, partd With crsPartS.partd ;
|
|
For doc_key == tcDocKey And tip_rand == 'S' And Nvl(id_partd,0) = 0 ;
|
|
And Alltrim(scd) == Alltrim(crsPartS.scd) And Alltrim(Nvl(ascd,'')) == Alltrim(Nvl(crsPartS.ascd,''))
|
|
Select crsPartS
|
|
Endscan
|
|
Endif
|
|
If Used('crsPartS')
|
|
Use In crsPartS
|
|
Endif
|
|
|
|
*!* runda27 (D2): reaplic scc/ascc/id_partc/partc pe cheia scd+ascd, NECONDITIONAT -
|
|
*!* creditorul ales de utilizator per cont invinge mostenirea din sablon
|
|
If Used('crsSccS') And Reccount('crsSccS') > 0
|
|
Select crsSccS
|
|
Scan
|
|
Select introdc
|
|
Replace scc With crsSccS.scc, ascc With crsSccS.ascc, id_partc With crsSccS.id_partc, partc With crsSccS.partc ;
|
|
For doc_key == tcDocKey And tip_rand == 'S' ;
|
|
And Alltrim(scd) == Alltrim(crsSccS.scd) And Alltrim(Nvl(ascd,'')) == Alltrim(Nvl(crsSccS.ascd,''))
|
|
Select crsSccS
|
|
Endscan
|
|
Endif
|
|
If Used('crsSccS')
|
|
Use In crsSccS
|
|
Endif
|
|
|
|
*!* dec.6: cate un rand T per cota TVA prezenta pe articolele documentului (doar la principal)
|
|
If llPrincipal
|
|
Select introdc
|
|
Locate For doc_key == tcDocKey And tip_rand == 'T'
|
|
If Found()
|
|
Local loRandT
|
|
Scatter Name loRandT Memo
|
|
lnIdJtvaOrig = id_jtva_coloana
|
|
Select rul_temp
|
|
Replace cota_tva With loRandT.ptva For Nvl(cota_tva,0) <= 0
|
|
*!* runda27 (D3): grupare pe cota + creditor (scc/ascc) al S-ului corespunzator contului articolului
|
|
Thisform.calc_baze_cota_creditor(tcDocKey, loBaza)
|
|
If Reccount('crsGrupCota') > 0
|
|
Select introdc
|
|
*!* T-urile manuale (mod_manual=1) nu se sterg - raman neatinse
|
|
Delete For doc_key == tcDocKey And tip_rand == 'T' And mod_manual <> 1
|
|
Select crsGrupCota
|
|
Scan
|
|
lnCotaCrt = cota_tva
|
|
*!* cota are deja un rand T manual - nu se recreaza (evita duplicat)
|
|
Select introdc
|
|
Locate For doc_key == tcDocKey And tip_rand == 'T' And ptva == lnCotaCrt And mod_manual = 1 ;
|
|
And Alltrim(Nvl(scc,'')) == Alltrim(Nvl(crsGrupCota.scc,'')) And Alltrim(Nvl(ascc,'')) == Alltrim(Nvl(crsGrupCota.ascc,''))
|
|
If Found()
|
|
Select crsGrupCota
|
|
Loop
|
|
Endif
|
|
If lnCotaCrt = loRandT.ptva
|
|
lnIdJtvaCrt = lnIdJtvaOrig
|
|
Else
|
|
lnIdJtvaCrt = Thisform.gaseste_jtva_cota(lnIdJtvaOrig, lnCotaCrt)
|
|
Endif
|
|
If lnIdJtvaCrt = 0
|
|
Thisform.cmesajsync = Thisform.cmesajsync + Iif(Empty(Thisform.cmesajsync),'',Chr(13)+Chr(10)) + ;
|
|
"Nu am gasit coloana TVA pentru cota " + Transform(lnCotaCrt) + "% (document " + Alltrim(Nvl(loRandT.fdoc,'')) + ")."
|
|
Else
|
|
Select introdc
|
|
Append Blank
|
|
Gather Name loRandT Memo
|
|
If This.lIntern
|
|
Replace tip_rand With 'T', doc_key With tcDocKey, nr_doc With loRandT.nr_doc, ;
|
|
id_jtva_coloana With lnIdJtvaCrt, ptva With lnCotaCrt, ;
|
|
scc With crsGrupCota.scc, ascc With crsGrupCota.ascc, ;
|
|
suma With Round(crsGrupCota.baza_lei * lnCotaCrt / 100, gnPc), suma_val With 0
|
|
Else
|
|
Replace tip_rand With 'T', doc_key With tcDocKey, nr_doc With loRandT.nr_doc, ;
|
|
id_jtva_coloana With lnIdJtvaCrt, ptva With lnCotaCrt, ;
|
|
scc With crsGrupCota.scc, ascc With crsGrupCota.ascc, ;
|
|
suma_val With Round(crsGrupCota.baza_val * lnCotaCrt / 100, gnPval)
|
|
Replace suma With Round(suma_val * lnCurs, gnPc)
|
|
Endif
|
|
If lnIdJtvaCrt <> lnIdJtvaOrig
|
|
Select jtva_coloane2
|
|
Locate For id_jtva_coloana = lnIdJtvaCrt
|
|
If Found()
|
|
Select introdc
|
|
Replace explicatie_tva With jtva_coloane2.denumire
|
|
Endif
|
|
Endif
|
|
Endif
|
|
Select crsGrupCota
|
|
Endscan
|
|
|
|
*!* runda27 (D5): rotunjire reziduala per cota - suma T-urilor nemanuale ale unei cote
|
|
*!* cu mai multe creditoare trebuie sa fie exact baza_totala_cota*cota/100; reziduul
|
|
*!* merge pe T-ul cu |suma| maxima al cotei. Sarit daca exista deja un T manual pe
|
|
*!* cota respectiva (baza lui nu mai apartine lotului auto).
|
|
Select Distinct cota_tva From crsGrupCota Into Cursor crsCoteRund NOFILTER
|
|
Select crsCoteRund
|
|
Scan
|
|
lnCotaCrt = crsCoteRund.cota_tva
|
|
Select introdc
|
|
Locate For doc_key == tcDocKey And tip_rand == 'T' And ptva == lnCotaCrt And mod_manual = 1
|
|
If !Found()
|
|
Select Sum(baza_lei) As tot_lei, Sum(baza_val) As tot_val, Count(*) As nr_grup ;
|
|
From crsGrupCota Where cota_tva == lnCotaCrt Into Cursor crsBazaCota NOFILTER
|
|
If crsBazaCota.nr_grup > 1
|
|
If This.lIntern
|
|
Select Sum(suma) As s From introdc Where doc_key == tcDocKey And tip_rand == 'T' And ptva == lnCotaCrt And mod_manual <> 1 Into Cursor crsSumTCota NOFILTER
|
|
lnRestLei = Round(crsBazaCota.tot_lei * lnCotaCrt / 100, gnPc) - Round(Nvl(crsSumTCota.s,0), gnPc)
|
|
Use In crsSumTCota
|
|
If lnRestLei <> 0
|
|
lnMaxAbs = -1
|
|
lnRecMaxAbs = 0
|
|
Select introdc
|
|
Scan For doc_key == tcDocKey And tip_rand == 'T' And ptva == lnCotaCrt And mod_manual <> 1
|
|
If Abs(suma) > lnMaxAbs
|
|
lnMaxAbs = Abs(suma)
|
|
lnRecMaxAbs = Recno()
|
|
Endif
|
|
Endscan
|
|
If lnRecMaxAbs > 0
|
|
Go lnRecMaxAbs In introdc
|
|
Replace suma With suma + lnRestLei
|
|
Endif
|
|
Endif
|
|
Else
|
|
Select Sum(suma_val) As s From introdc Where doc_key == tcDocKey And tip_rand == 'T' And ptva == lnCotaCrt And mod_manual <> 1 Into Cursor crsSumTCota NOFILTER
|
|
lnRestVal = Round(crsBazaCota.tot_val * lnCotaCrt / 100, gnPval) - Round(Nvl(crsSumTCota.s,0), gnPval)
|
|
Use In crsSumTCota
|
|
If lnRestVal <> 0
|
|
lnMaxAbs = -1
|
|
lnRecMaxAbs = 0
|
|
Select introdc
|
|
Scan For doc_key == tcDocKey And tip_rand == 'T' And ptva == lnCotaCrt And mod_manual <> 1
|
|
If Abs(suma_val) > lnMaxAbs
|
|
lnMaxAbs = Abs(suma_val)
|
|
lnRecMaxAbs = Recno()
|
|
Endif
|
|
Endscan
|
|
If lnRecMaxAbs > 0
|
|
Go lnRecMaxAbs In introdc
|
|
Replace suma_val With suma_val + lnRestVal
|
|
Replace suma With Round(suma_val * lnCurs, gnPc)
|
|
Endif
|
|
Endif
|
|
Endif
|
|
Endif
|
|
Use In crsBazaCota
|
|
Endif
|
|
Select crsCoteRund
|
|
Endscan
|
|
Use In crsCoteRund
|
|
Endif
|
|
Use In crsGrupCota
|
|
Endif
|
|
Endif
|
|
|
|
If !llPrincipal
|
|
*!* secundara: T-urile nemanuale se regrupeaza pe creditorii S-urilor (scc/ascc),
|
|
*!* impartind totalul T existent proportional cu sumele S per creditor
|
|
Select introdc
|
|
Locate For doc_key == tcDocKey And tip_rand == 'T' And mod_manual <> 1
|
|
If Found()
|
|
Scatter Name loRandTS Memo
|
|
Select Sum(suma) As s_lei, Sum(suma_val) As s_val From introdc ;
|
|
Where doc_key == tcDocKey And tip_rand == 'T' And mod_manual <> 1 Into Cursor crsTotTSec NOFILTER
|
|
lnTotTLei = Nvl(crsTotTSec.s_lei,0)
|
|
lnTotTVal = Nvl(crsTotTSec.s_val,0)
|
|
Use In crsTotTSec
|
|
Select scc, ascc, Sum(suma) As s_lei From introdc ;
|
|
Where doc_key == tcDocKey And tip_rand == 'S' ;
|
|
Group By scc, ascc Into Cursor crsGrupSccT NOFILTER
|
|
Select Sum(s_lei) As tot From crsGrupSccT Into Cursor crsTotSSec NOFILTER
|
|
lnTotSLei = Nvl(crsTotSSec.tot,0)
|
|
Use In crsTotSSec
|
|
If Reccount('crsGrupSccT') > 0 And lnTotSLei <> 0
|
|
Select introdc
|
|
Delete For doc_key == tcDocKey And tip_rand == 'T' And mod_manual <> 1
|
|
Select crsGrupSccT
|
|
Scan
|
|
lnPondere = crsGrupSccT.s_lei / lnTotSLei
|
|
Select introdc
|
|
Append Blank
|
|
Gather Name loRandTS Memo
|
|
Replace scc With crsGrupSccT.scc, ascc With crsGrupSccT.ascc, ;
|
|
suma With Round(lnTotTLei * lnPondere, gnPc), ;
|
|
suma_val With Round(lnTotTVal * lnPondere, gnPval)
|
|
Select crsGrupSccT
|
|
Endscan
|
|
*!* reziduul de rotunjire pe T-ul cu |suma| maxima (modelul D5)
|
|
Select Sum(suma) As s_lei, Sum(suma_val) As s_val From introdc ;
|
|
Where doc_key == tcDocKey And tip_rand == 'T' And mod_manual <> 1 Into Cursor crsSumTSec NOFILTER
|
|
lnRestLei = Round(lnTotTLei - Nvl(crsSumTSec.s_lei,0), gnPc)
|
|
lnRestVal = Round(lnTotTVal - Nvl(crsSumTSec.s_val,0), gnPval)
|
|
Use In crsSumTSec
|
|
If lnRestLei <> 0 Or lnRestVal <> 0
|
|
lnMaxAbs = -1
|
|
lnRecMaxAbs = 0
|
|
Select introdc
|
|
Scan For doc_key == tcDocKey And tip_rand == 'T' And mod_manual <> 1
|
|
If Abs(suma) > lnMaxAbs
|
|
lnMaxAbs = Abs(suma)
|
|
lnRecMaxAbs = Recno()
|
|
Endif
|
|
Endscan
|
|
If lnRecMaxAbs > 0
|
|
Go lnRecMaxAbs In introdc
|
|
Replace suma With suma + lnRestLei, suma_val With suma_val + lnRestVal
|
|
Endif
|
|
Endif
|
|
Endif
|
|
Use In crsGrupSccT
|
|
Endif
|
|
Endif
|
|
|
|
*!* B dispare dupa spargere (dec.9=D9)
|
|
Select introdc
|
|
Delete For doc_key == tcDocKey And tip_rand == 'B'
|
|
|
|
Select (lcSel)
|
|
ENDPROC
|
|
|
|
PROCEDURE uneste_document
|
|
*!* reface randul B al unui document din S-urile lui (cand spargerea secundarelor e oprita)
|
|
Lparameters tcDocKey
|
|
Local lcSel, lcScdB, lcAscdB, lnMaxAbs
|
|
Local lnCntTU, lnSumTULei, lnSumTUVal, lnRecTU
|
|
lcSel = Select()
|
|
Select introdc
|
|
Locate For doc_key == tcDocKey And tip_rand == 'S'
|
|
If !Found()
|
|
Select (lcSel)
|
|
Return
|
|
Endif
|
|
*!* editari manuale prezente - nu ating documentul
|
|
Locate For doc_key == tcDocKey And Inlist(tip_rand,'S','D') And mod_manual = 1
|
|
If Found()
|
|
Select (lcSel)
|
|
Return
|
|
Endif
|
|
Local loS
|
|
Locate For doc_key == tcDocKey And tip_rand == 'S'
|
|
Scatter Name loS Memo
|
|
*!* contul B: cel original (scd_orig) daca exista, altfel al S-ului cu |suma| maxima
|
|
lcScdB = Alltrim(Nvl(loS.scd_orig,''))
|
|
lcAscdB = Alltrim(Nvl(loS.ascd_orig,''))
|
|
If Empty(lcScdB)
|
|
lnMaxAbs = -1
|
|
Scan For doc_key == tcDocKey And tip_rand == 'S'
|
|
If Abs(suma) > lnMaxAbs
|
|
lnMaxAbs = Abs(suma)
|
|
lcScdB = Alltrim(scd)
|
|
lcAscdB = Alltrim(Nvl(ascd,''))
|
|
Endif
|
|
Endscan
|
|
Endif
|
|
Append Blank
|
|
Gather Name loS Memo
|
|
Replace tip_rand With 'B', doc_key With tcDocKey, scd With lcScdB, ascd With lcAscdB, ;
|
|
suma With loS.suma_doc, suma_val With loS.suma_doc_val, mod_manual With 0
|
|
Delete For doc_key == tcDocKey And tip_rand == 'S'
|
|
*!* T-urile nemanuale sparte pe creditori se reunesc intr-unul singur (documentul revine la B unic)
|
|
Select Count(*) As nr, Sum(suma) As s_lei, Sum(suma_val) As s_val From introdc ;
|
|
Where doc_key == tcDocKey And tip_rand == 'T' And mod_manual <> 1 Into Cursor crsTU NOFILTER
|
|
lnCntTU = crsTU.nr
|
|
lnSumTULei = Nvl(crsTU.s_lei,0)
|
|
lnSumTUVal = Nvl(crsTU.s_val,0)
|
|
Use In crsTU
|
|
If lnCntTU > 1
|
|
Select introdc
|
|
Locate For doc_key == tcDocKey And tip_rand == 'T' And mod_manual <> 1
|
|
lnRecTU = Recno()
|
|
Delete For doc_key == tcDocKey And tip_rand == 'T' And mod_manual <> 1 And Recno() <> lnRecTU
|
|
Go lnRecTU In introdc
|
|
Replace suma With lnSumTULei, suma_val With lnSumTUVal
|
|
Endif
|
|
Select (lcSel)
|
|
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 valideaza_sume
|
|
*!* 16.07.2026 claude - Suma(S) vs suma_doc per document (E2), articole fara cont (F2);
|
|
*!* cmesajsync acumuleaza si mesajele deja setate de sparge_document/recalc_diferente
|
|
*!* (jtva lipsa - dec.6, 2xx nerepartizat - dec.9). Return .F. daca exista vreun mesaj.
|
|
Local lcSel, lcMesaje, lcDocKeyCrt, lnSumaS, lnSumaDoc, lnSumaSVal, lnSumaDocVal, lcSelAna, lnSuccesAna, lcArtMesaj, lcContCrt, lcAcontCrt, lcDenCrt, lcMsgCrt, lcConturiAna
|
|
lcSel = Select()
|
|
lcMesaje = Thisform.cmesajsync
|
|
|
|
If Used('introdc')
|
|
Select Distinct doc_key From introdc Where tip_rand == 'S' Into Cursor crsDocSparte NOFILTER
|
|
Select crsDocSparte
|
|
Scan
|
|
lcDocKeyCrt = doc_key
|
|
Select introdc
|
|
Locate For doc_key == lcDocKeyCrt And tip_rand == 'S'
|
|
lnSumaDoc = suma_doc
|
|
lnSumaDocVal = suma_doc_val
|
|
Select Sum(suma) As s_lei, Sum(suma_val) As s_val From introdc Where doc_key == lcDocKeyCrt And tip_rand == 'S' Into Cursor crsSumS NOFILTER
|
|
lnSumaS = Nvl(crsSumS.s_lei,0)
|
|
lnSumaSVal = Nvl(crsSumS.s_val,0)
|
|
Use In crsSumS
|
|
If Round(lnSumaS - lnSumaDoc, gnPc) <> 0 Or Round(lnSumaSVal - lnSumaDocVal, gnPval) <> 0
|
|
*!* pe documente in valuta, mesajul in moneda documentului (sumele in lei nu apar in grila)
|
|
If introdc.in_valuta = 1
|
|
lcMesaje = lcMesaje + Iif(Empty(lcMesaje),'',Chr(13)+Chr(10)) + ;
|
|
"Document " + Alltrim(Nvl(introdc.fdoc,'')) + " " + Alltrim(Nvl(introdc.serie_act,'')) + Transform(introdc.nract) + ;
|
|
": suma subrandurilor (" + Transform(lnSumaSVal) + " " + Alltrim(Nvl(introdc.nume_val,'')) + " / " + Transform(lnSumaS) + " lei)" + ;
|
|
" difera de suma facturii (" + Transform(lnSumaDocVal) + " " + Alltrim(Nvl(introdc.nume_val,'')) + " / " + Transform(lnSumaDoc) + " lei)."
|
|
Else
|
|
lcMesaje = lcMesaje + Iif(Empty(lcMesaje),'',Chr(13)+Chr(10)) + ;
|
|
"Document " + Alltrim(Nvl(introdc.fdoc,'')) + " " + Alltrim(Nvl(introdc.serie_act,'')) + Transform(introdc.nract) + ;
|
|
": suma subrandurilor (" + Transform(lnSumaS) + ") difera de suma facturii (" + Transform(lnSumaDoc) + ")."
|
|
Endif
|
|
Endif
|
|
Select crsDocSparte
|
|
Endscan
|
|
Use In crsDocSparte
|
|
Endif
|
|
|
|
*!* F2: articol fara cont in nomenclator (validarea completa la adaugare vine cu do_adauga la T3)
|
|
If Used('rul_temp')
|
|
Select Count(*) As nr From rul_temp Where !Deleted() And Empty(Alltrim(Nvl(cont,''))) Into Cursor crsFaraCont NOFILTER
|
|
If crsFaraCont.nr > 0
|
|
lcMesaje = lcMesaje + Iif(Empty(lcMesaje),'',Chr(13)+Chr(10)) + ;
|
|
Transform(crsFaraCont.nr) + " articol(e) fara cont in nomenclator."
|
|
Endif
|
|
Use In crsFaraCont
|
|
Endif
|
|
|
|
*!* F3: analitic pe cont articol (cont cu analitice in plan neasignat/necunoscut - vezi assign_analitic/verificare_note_contabile)
|
|
If Used('rul_temp') And Reccount('rul_temp') > 0
|
|
lcConturiAna = cursor2listac('rul_temp','cont',',',[!Deleted() And !Empty(Alltrim(Nvl(cont,'')))])
|
|
If !Empty(lcConturiAna)
|
|
lcSelAna = [select cont, acont from ] + gcS + [.vplcont_analitic where inactiv = 0 and an = ?gnAn and acont is not null and rtrim(cont) in (] + lcConturiAna + [) order by cont]
|
|
lnSuccesAna = goExecutor.oExecute(lcSelAna,'crsPlanAna')
|
|
If lnSuccesAna < 0
|
|
lcMesaje = lcMesaje + Iif(Empty(lcMesaje),'',Chr(13)+Chr(10)) + ;
|
|
"Eroare verificare analitic articole: " + goExecutor.cEroare
|
|
Else
|
|
If lnSuccesAna > 0
|
|
lcArtMesaj = ''
|
|
Select rul_temp
|
|
Scan For !Deleted() And !Empty(Alltrim(Nvl(cont,'')))
|
|
lcContCrt = Alltrim(cont)
|
|
lcAcontCrt = Alltrim(Nvl(acont,''))
|
|
lcDenCrt = Alltrim(Nvl(denumire,''))
|
|
Select crsPlanAna
|
|
Locate For Alltrim(cont) == lcContCrt
|
|
If Found()
|
|
If Empty(lcAcontCrt)
|
|
lcMsgCrt = "Articol " + lcDenCrt + ": contul " + lcContCrt + " are analitice definite, analiticul nu e completat."
|
|
If !(lcMsgCrt $ lcArtMesaj)
|
|
lcArtMesaj = lcArtMesaj + Iif(Empty(lcArtMesaj),'',Chr(13)+Chr(10)) + lcMsgCrt
|
|
Endif
|
|
Else
|
|
Locate For Alltrim(cont) == lcContCrt And Alltrim(Nvl(acont,'')) == lcAcontCrt
|
|
If !Found()
|
|
lcMsgCrt = "Articol " + lcDenCrt + ": analiticul " + lcContCrt + "." + lcAcontCrt + " nu exista in planul de conturi."
|
|
If !(lcMsgCrt $ lcArtMesaj)
|
|
lcArtMesaj = lcArtMesaj + Iif(Empty(lcArtMesaj),'',Chr(13)+Chr(10)) + lcMsgCrt
|
|
Endif
|
|
Endif
|
|
Endif
|
|
Endif
|
|
Select rul_temp
|
|
Endscan
|
|
If !Empty(lcArtMesaj)
|
|
lcMesaje = lcMesaje + Iif(Empty(lcMesaje),'',Chr(13)+Chr(10)) + lcArtMesaj
|
|
Endif
|
|
Endif
|
|
Use In crsPlanAna
|
|
Endif
|
|
Endif
|
|
Endif
|
|
|
|
Thisform.cmesajsync = lcMesaje
|
|
Select (lcSel)
|
|
Return Empty(lcMesaje)
|
|
ENDPROC
|
|
|
|
PROCEDURE chkSpargeSecundare.Valid
|
|
*!* NU sincronizeaza() direct (eroare VFP 2166) - doar armeaza tmrSync
|
|
Thisform.lSyncPending = .T.
|
|
Thisform.tmrSync.Interval = 1
|
|
ENDPROC
|
|
|
|
PROCEDURE Cmd_executa1.Click
|
|
*!* 16.07.2026 claude (T3) - butonul benzii: sincronizare manuala (nu do_executa direct)
|
|
Thisform.sincronizeaza()
|
|
ENDPROC
|
|
|
|
PROCEDURE Grid1.cAscc.Text1.Click
|
|
this.LostFocus(.t.)
|
|
ENDPROC
|
|
|
|
PROCEDURE Grid1.cAscc.Text1.GotFocus
|
|
*!* valoarea la intrarea in celula - Valid recalculeaza doar daca s-a modificat
|
|
Thisform.nOldVal = This.Value
|
|
Dodefault()
|
|
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.cAscc.Text1.Valid
|
|
*!* rand S: schimbarea manuala a analiticului creditor muta si TVA-ul la resincronizare.
|
|
*!* Garda pe nOldVal: Valid re-declansat de regenerarea randurilor din sincronizare nu
|
|
*!* rearmeaza timerul; grila poate scrie campul INAINTE de Valid (ex. Enter), deci
|
|
*!* armarea nu depinde de compararea cu campul
|
|
If Thisform.lInSync
|
|
Return
|
|
Endif
|
|
If This.Value = Thisform.nOldVal
|
|
Return
|
|
Endif
|
|
If introdc.tip_rand == 'S'
|
|
If !(Alltrim(This.Value) == Alltrim(Nvl(introdc.ascc,'')))
|
|
Select introdc
|
|
Replace ascc With This.Value
|
|
Endif
|
|
Thisform.lSyncPending = .T.
|
|
Thisform.tmrSync.Interval = 1
|
|
Endif
|
|
Thisform.nOldVal = This.Value
|
|
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%
|
|
*!* 16.07.2026 claude - delegat la aplica_explicatie_tva (era duplicat pe paritate)
|
|
|
|
LOCAL lnId, lnPtva
|
|
lnId = jtva_coloane2.id_jtva_coloana
|
|
lnPtva = jtva_coloane2.cota_Tva
|
|
|
|
Select introdc
|
|
Replace id_jtva_coloana With lnId, ptva With lnPtva
|
|
If introdc.tip_rand = 'B'
|
|
Thisform.aplica_explicatie_tva(lnId)
|
|
Endif
|
|
|
|
Thisform.grid1.cSuma.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.cFDoc.Text1.When
|
|
*!* 16.07.2026 claude (T3c2, D-H2) - blocat pe randul D (diferente, fara act propriu)
|
|
Return !(introdc.tip_rand == 'D')
|
|
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.cNract.Text1.When
|
|
*!* 16.07.2026 claude (T3c2, D-H2) - blocat pe randul D (diferente, fara act propriu)
|
|
Return !(introdc.tip_rand == 'D')
|
|
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
|
|
*!* 16.07.2026 claude - propaga pe doc_key (inlocuieste MOD(RECNO(),2)+SKIP)
|
|
LOCAL lcSelect, lcDocKey, lnIdPart, lcPart, lcCont, lnRecCurent
|
|
lcSelect = SELECT()
|
|
|
|
SELECT introdc
|
|
lnRecCurent = RECNO()
|
|
lcDocKey = doc_key
|
|
lnIdPart = id_partc
|
|
lcPart = partc
|
|
lcCont = scc
|
|
SCAN FOR !EMPTY(lcDocKey) AND doc_key == lcDocKey AND RECNO() <> lnRecCurent
|
|
IF scc = lcCont AND EMPTY(id_partc)
|
|
REPLACE id_partc WITH lnIdPart, partc WITH lcPart
|
|
ENDIF
|
|
ENDSCAN
|
|
GO lnRecCurent
|
|
|
|
SELECT (lcSelect)
|
|
|
|
ENDPROC
|
|
|
|
PROCEDURE Grid1.cPartC.Text1.When
|
|
Return .T.
|
|
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
|
|
*!* 16.07.2026 claude - propaga pe doc_key (inlocuieste MOD(RECNO(),2)+SKIP)
|
|
LOCAL lcSelect, lcDocKey, lnIdPart, lcPart, lcCont, lnRecCurent
|
|
lcSelect = SELECT()
|
|
|
|
SELECT introdc
|
|
lnRecCurent = RECNO()
|
|
lcDocKey = doc_key
|
|
lnIdPart = id_partd
|
|
lcPart = partd
|
|
lcCont = scd
|
|
SCAN FOR !EMPTY(lcDocKey) AND doc_key == lcDocKey AND RECNO() <> lnRecCurent
|
|
IF scd = lcCont AND EMPTY(id_partd)
|
|
REPLACE id_partd WITH lnIdPart, partd WITH lcPart
|
|
ENDIF
|
|
ENDSCAN
|
|
GO lnRecCurent
|
|
|
|
SELECT (lcSelect)
|
|
|
|
ENDPROC
|
|
|
|
PROCEDURE Grid1.cParticipaValuta.Check1.Valid
|
|
thisform.do_executa
|
|
ENDPROC
|
|
|
|
PROCEDURE Grid1.cScc.Text1.GotFocus
|
|
*!* valoarea la intrarea in celula - Valid recalculeaza doar daca s-a modificat
|
|
Thisform.nOldVal = This.Value
|
|
Dodefault()
|
|
ENDPROC
|
|
|
|
PROCEDURE Grid1.cScc.Text1.Valid
|
|
*!* rand S: schimbarea manuala a creditorului nu seteaza mod_manual (ar bloca
|
|
*!* sparge_document prin llAreManual) - doar rearmeaza sincronizarea, care muta si TVA-ul.
|
|
*!* Garda pe nOldVal: Valid re-declansat de regenerarea randurilor din sincronizare nu
|
|
*!* rearmeaza timerul; grila poate scrie campul INAINTE de Valid (ex. Enter), deci
|
|
*!* armarea nu depinde de compararea cu campul
|
|
If Thisform.lInSync
|
|
Return
|
|
Endif
|
|
If This.Value = Thisform.nOldVal
|
|
Return
|
|
Endif
|
|
If introdc.tip_rand == 'S'
|
|
If !(Alltrim(This.Value) == Alltrim(Nvl(introdc.scc,'')))
|
|
Select introdc
|
|
Replace scc With This.Value
|
|
Endif
|
|
Thisform.lSyncPending = .T.
|
|
Thisform.tmrSync.Interval = 1
|
|
Endif
|
|
Thisform.nOldVal = This.Value
|
|
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.cSerie_act.Text1.When
|
|
*!* 16.07.2026 claude (T3c2, D-H2) - blocat pe randul D (diferente, fara act propriu)
|
|
Return !(introdc.tip_rand == 'D')
|
|
ENDPROC
|
|
|
|
PROCEDURE Grid1.cSuma.Text1.GotFocus
|
|
*!* valoarea la intrarea in celula - Valid recalculeaza doar daca s-a modificat
|
|
Thisform.nOldVal = This.Value
|
|
Dodefault()
|
|
ENDPROC
|
|
|
|
PROCEDURE Grid1.cSuma.Text1.Valid
|
|
*!* 16.07.2026 claude (A1+dec.5) - NU sincronizeaza() direct (eroare VFP 2166); doar
|
|
*!* marcheaza documentul si armeaza tmrSync. 16.07.2026b claude (C6): suma_doc se
|
|
*!* propaga pe grup DOAR cand editez randul B (nu si pe T, unde userul editeaza suma
|
|
*!* de TVA - altfel suma_doc ar deveni eronat egala cu TVA-ul).
|
|
If This.Value = Thisform.nOldVal
|
|
*!* nemodificat (ex. navigare cu sagetile) - fara recalcul si fara resincronizare
|
|
Return
|
|
Endif
|
|
If Inlist(introdc.tip_rand, 'S', 'D', 'T')
|
|
Select introdc
|
|
Replace mod_manual With 1
|
|
If introdc.tip_rand == 'S' And !Empty(Nvl(introdc.doc_key,''))
|
|
*!* S modificat manual: actualizez automat totalul facturii (suma_doc) - modificarea e intentia utilizatorului
|
|
Local lcDocKeyS, lnSLei, lnSVal, lnRecS
|
|
Replace suma With This.Value
|
|
lcDocKeyS = introdc.doc_key
|
|
lnRecS = Recno('introdc')
|
|
Select Sum(suma) As s_lei, Sum(suma_val) As s_val From introdc Where doc_key == lcDocKeyS And tip_rand == 'S' Into Cursor crsSumSDoc NOFILTER
|
|
lnSLei = Nvl(crsSumSDoc.s_lei,0)
|
|
lnSVal = Nvl(crsSumSDoc.s_val,0)
|
|
Use In crsSumSDoc
|
|
Select introdc
|
|
Go lnRecS
|
|
If Round(lnSLei - suma_doc, gnPc) <> 0 Or Round(lnSVal - suma_doc_val, gnPval) <> 0
|
|
Replace suma_doc With lnSLei, suma_doc_val With lnSVal
|
|
Thisform.copiaza_valoare([suma_doc])
|
|
Thisform.copiaza_valoare([suma_doc_val])
|
|
If Thisform.lRecalcTva
|
|
Thisform.recalc_tva_document(lcDocKeyS)
|
|
Endif
|
|
Endif
|
|
Endif
|
|
Else
|
|
If introdc.tip_rand == 'B'
|
|
Select introdc
|
|
Replace suma_doc With suma
|
|
Thisform.copiaza_valoare([suma_doc])
|
|
Endif
|
|
Endif
|
|
thisform.do_executa
|
|
Thisform.lSyncPending = .T.
|
|
Thisform.tmrSync.Interval = 1
|
|
ENDPROC
|
|
|
|
PROCEDURE Grid1.cSuma.Text1.When
|
|
*!* 16.07.2026 claude (T3c2, D-H2) - blocat pe randul S cu suma in valuta (editabil doar cSumaVal)
|
|
Return !(introdc.tip_rand == 'S' And introdc.in_valuta = 1)
|
|
ENDPROC
|
|
|
|
PROCEDURE Grid1.cSumaVal.Text1.GotFocus
|
|
*!* valoarea la intrarea in celula - Valid recalculeaza doar daca s-a modificat
|
|
Thisform.nOldVal = This.Value
|
|
Dodefault()
|
|
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 = Thisform.nOldVal
|
|
*!* nemodificat (ex. navigare cu sagetile) - fara recalcul si fara resincronizare
|
|
Return
|
|
Endif
|
|
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
|
|
*!* 16.07.2026 claude (A1+dec.5) - vezi Grid1.cSuma.Text1.Valid. 16.07.2026b claude (C6):
|
|
*!* suma_doc se propaga pe grup DOAR pe randul B (nu si pe T).
|
|
If Inlist(introdc.tip_rand, 'S', 'D', 'T')
|
|
Select introdc
|
|
Replace mod_manual With 1
|
|
If introdc.tip_rand == 'S' And !Empty(Nvl(introdc.doc_key,''))
|
|
*!* S modificat manual: actualizez automat totalul facturii (suma_doc) - modificarea e intentia utilizatorului
|
|
Local lcDocKeyS, lnSLei, lnSVal, lnRecS
|
|
lcDocKeyS = introdc.doc_key
|
|
lnRecS = Recno('introdc')
|
|
Select Sum(suma) As s_lei, Sum(suma_val) As s_val From introdc Where doc_key == lcDocKeyS And tip_rand == 'S' Into Cursor crsSumSDoc NOFILTER
|
|
lnSLei = Nvl(crsSumSDoc.s_lei,0)
|
|
lnSVal = Nvl(crsSumSDoc.s_val,0)
|
|
Use In crsSumSDoc
|
|
Select introdc
|
|
Go lnRecS
|
|
If Round(lnSLei - suma_doc, gnPc) <> 0 Or Round(lnSVal - suma_doc_val, gnPval) <> 0
|
|
Replace suma_doc With lnSLei, suma_doc_val With lnSVal
|
|
Thisform.copiaza_valoare([suma_doc])
|
|
Thisform.copiaza_valoare([suma_doc_val])
|
|
If Thisform.lRecalcTva
|
|
Thisform.recalc_tva_document(lcDocKeyS)
|
|
Endif
|
|
Endif
|
|
Endif
|
|
Else
|
|
If introdc.tip_rand == 'B'
|
|
Select introdc
|
|
Replace suma_doc With suma, suma_doc_val With suma_val
|
|
Thisform.copiaza_valoare([suma_doc])
|
|
Thisform.copiaza_valoare([suma_doc_val])
|
|
Endif
|
|
Endif
|
|
Thisform.do_executa
|
|
Thisform.lSyncPending = .T.
|
|
Thisform.tmrSync.Interval = 1
|
|
ENDPROC
|
|
|
|
PROCEDURE Grid1.cSumaVal.Text1.When
|
|
*!* 16.07.2026 claude (T3c2, D-H2) - blocat pe randul S cu suma in lei (editabil doar cSuma)
|
|
Return !(introdc.tip_rand == 'S' And introdc.in_valuta = 0)
|
|
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
|
|
*!* 16.07.2026 claude - italic pe randul T (inlocuieste Mod(Recno('introdc'),2)=0)
|
|
thisform.grid1.SetAll("dynamicbackcolor", "", "Column")
|
|
thisform.grid1.SetAll("dynamicforecolor", "", "Column")
|
|
thisform.grid1.SetAll("DynamicBackColor", "introdc.doc_color", "Column")
|
|
thisform.grid1.SetAll("DynamicFontItalic", "introdc.tip_rand == 'T'", "Column")
|
|
*!* 16.07.2026 claude (T3c2, D-H4) - gri pe coloanele blocate dinamic (vezi metodele .When)
|
|
thisform.grid1.cSuma.DynamicBackColor = "Iif(introdc.tip_rand = 'S' And introdc.in_valuta = 1, Rgb(229,229,229), introdc.doc_color)"
|
|
thisform.grid1.cSumaVal.DynamicBackColor = "Iif(introdc.tip_rand = 'S' And introdc.in_valuta = 0, Rgb(229,229,229), introdc.doc_color)"
|
|
thisform.grid1.cSerie_act.DynamicBackColor = "Iif(introdc.tip_rand = 'D', Rgb(229,229,229), introdc.doc_color)"
|
|
thisform.grid1.cNract.DynamicBackColor = "Iif(introdc.tip_rand = 'D', Rgb(229,229,229), introdc.doc_color)"
|
|
thisform.grid1.cFDoc.DynamicBackColor = "Iif(introdc.tip_rand = 'D', Rgb(229,229,229), introdc.doc_color)"
|
|
ENDPROC
|
|
|
|
PROCEDURE GridArt.cCant.Text1.GotFocus
|
|
Thisform.nOldVal = This.Value
|
|
Dodefault()
|
|
ENDPROC
|
|
|
|
PROCEDURE GridArt.cCant.Text1.InteractiveChange
|
|
*!* DODEFAULT()
|
|
*!* this.LostFocus(.T.)
|
|
|
|
ENDPROC
|
|
|
|
PROCEDURE GridArt.cCant.Text1.LostFocus
|
|
PARAMETERS tlCalcul
|
|
|
|
If This.Value = Thisform.nOldVal
|
|
&& nemodificat - fara recalcul
|
|
Return
|
|
Endif
|
|
REPLACE cant WITH this.Value
|
|
lnRec = RECNO()
|
|
thisform.do_executa_pret(3,lnRec,this.value)
|
|
ENDPROC
|
|
|
|
PROCEDURE GridArt.cCotaTva.Text1.GotFocus
|
|
*!* valoarea la intrarea in celula - Valid rearmeaza sincronizarea doar daca s-a modificat
|
|
Thisform.nOldVal = This.Value
|
|
Dodefault()
|
|
ENDPROC
|
|
|
|
PROCEDURE GridArt.cCotaTva.Text1.Valid
|
|
*!* 16.07.2026 claude (T3-A, dec.6/D7) - editarea cotei TVA per articol nu recalculeaza
|
|
*!* direct (A1) - doar armeaza sincronizarea amanata (tmrSync regenereaza liniile T pe cota).
|
|
If This.Value = Thisform.nOldVal
|
|
Return
|
|
Endif
|
|
Thisform.lSyncPending = .T.
|
|
Thisform.tmrSync.Interval = 1
|
|
ENDPROC
|
|
|
|
PROCEDURE GridArt.Column1.Text1.LostFocus
|
|
Parameters tlCalcul
|
|
|
|
*IF tlCalcul
|
|
|
|
* REPLACE pret_val WITH this.Value
|
|
lnRec = Recno()
|
|
*!* thisform.do_executa_pret(3,lnRec,this.Value)
|
|
*!* modificare v 2.1.37
|
|
*!* thisform.do_executa_pret(1,lnRec,pret_val)
|
|
If Thisform.lIntern
|
|
Thisform.do_executa_pret(1,lnRec,pret_lei)
|
|
Else
|
|
Thisform.do_executa_pret(1,lnRec,pret_val)
|
|
Endif
|
|
*!* modificare v 2.1.37 ^
|
|
*ENDIF
|
|
ENDPROC
|
|
|
|
PROCEDURE GridArt.cPretFactura.Text1.GotFocus
|
|
Thisform.nOldVal = This.Value
|
|
Dodefault()
|
|
ENDPROC
|
|
|
|
PROCEDURE GridArt.cPretFactura.Text1.InteractiveChange
|
|
*!* DODEFAULT()
|
|
*!* this.LostFocus(.t.)
|
|
|
|
ENDPROC
|
|
|
|
PROCEDURE GridArt.cPretFactura.Text1.LostFocus
|
|
PARAMETERS tlCalcul
|
|
|
|
If This.Value = Thisform.nOldVal
|
|
&& nemodificat - fara recalcul
|
|
Return
|
|
Endif
|
|
*IF tlCalcul
|
|
|
|
* REPLACE pret_val WITH this.Value
|
|
lnRec = RECNO()
|
|
thisform.do_executa_pret(1,lnRec,this.Value)
|
|
*ENDIF
|
|
ENDPROC
|
|
|
|
PROCEDURE GridArt.cPretLeiCalculat.Text1.GotFocus
|
|
Thisform.nOldVal = This.Value
|
|
Dodefault()
|
|
ENDPROC
|
|
|
|
PROCEDURE GridArt.cPretLeiCalculat.Text1.InteractiveChange
|
|
*!* DODEFAULT()
|
|
*!* this.LostFocus(.t.)
|
|
ENDPROC
|
|
|
|
PROCEDURE GridArt.cPretLeiCalculat.Text1.LostFocus
|
|
PARAMETERS tlCalcul
|
|
|
|
If This.Value = Thisform.nOldVal
|
|
&& nemodificat - fara recalcul
|
|
Return
|
|
Endif
|
|
REPLACE pret WITH this.Value
|
|
lnRec = RECNO()
|
|
thisform.do_executa_pret(3,lnRec,this.Value)
|
|
ENDPROC
|
|
|
|
PROCEDURE GridArt.cPretValutaCalculat.Text1.GotFocus
|
|
Thisform.nOldVal = This.Value
|
|
Dodefault()
|
|
ENDPROC
|
|
|
|
PROCEDURE GridArt.cPretValutaCalculat.Text1.InteractiveChange
|
|
*!* DODEFAULT()
|
|
*!* this.LostFocus(.t.)
|
|
ENDPROC
|
|
|
|
PROCEDURE GridArt.cPretValutaCalculat.Text1.LostFocus
|
|
PARAMETERS tlCalcul
|
|
|
|
If This.Value = Thisform.nOldVal
|
|
&& nemodificat - fara recalcul
|
|
Return
|
|
Endif
|
|
lnRec = RECNO()
|
|
thisform.do_executa_pret(2,lnRec,this.value)
|
|
ENDPROC
|
|
|
|
PROCEDURE tmrSync.Timer
|
|
*!* 16.07.2026 claude (A1) - executa sincronizarea amanata (armata din Valid-urile de grid);
|
|
*!* Interval=0 opreste repetarea pana la urmatoarea armare.
|
|
If Thisform.lSyncPending
|
|
Thisform.lSyncPending = .F.
|
|
This.Interval = 0
|
|
Thisform.sincronizeaza()
|
|
Endif
|
|
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
|