diff --git a/clase/anaf_efactura.vc2 b/clase/anaf_efactura.vc2
index 0c9a79e..28004d7 100644
--- a/clase/anaf_efactura.vc2
+++ b/clase/anaf_efactura.vc2
@@ -9322,6 +9322,12 @@ DEFINE CLASS frm_import_efactura AS _frmbase OF "_frm_base.vcx"
*< OBJECTDATA: ObjPath="grdDetaliiFacturi.cDistribuie.Header1" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="grdDetaliiFacturi.cDistribuie.Text1" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="grdDetaliiFacturi.cDistribuie._CHECKBOX1" UniqueID="" Timestamp="" />
+ *< OBJECTDATA: ObjPath="grdDetaliiFacturi.cExplicatia.Header1" UniqueID="" Timestamp="" />
+ *< OBJECTDATA: ObjPath="grdDetaliiFacturi.cExplicatia.Text1" UniqueID="" Timestamp="" />
+ *< OBJECTDATA: ObjPath="grdDetaliiFacturi.cExplicatia4.Header1" UniqueID="" Timestamp="" />
+ *< OBJECTDATA: ObjPath="grdDetaliiFacturi.cExplicatia4.Text1" UniqueID="" Timestamp="" />
+ *< OBJECTDATA: ObjPath="grdDetaliiFacturi.cExplicatia5.Header1" UniqueID="" Timestamp="" />
+ *< OBJECTDATA: ObjPath="grdDetaliiFacturi.cExplicatia5.Text1" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="grdFacturi" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="grdFacturi.cAles.Header1" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="grdFacturi.cAles.Text1" UniqueID="" Timestamp="" />
@@ -9385,43 +9391,47 @@ DEFINE CLASS frm_import_efactura AS _frmbase OF "_frm_base.vcx"
*< OBJECTDATA: ObjPath="But_excel1" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="But_reset_criterii1" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="But_listare1" UniqueID="" Timestamp="" />
- *< OBJECTDATA: ObjPath="Cmd_BifeazaTot1" UniqueID="" Timestamp="" />
- *< OBJECTDATA: ObjPath="Cmd_Anulare1" UniqueID="" Timestamp="" />
+ *< OBJECTDATA: ObjPath="Cmd_executa2" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="Cmd_executa1" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="lblNrAct" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="txtNrAct" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="lblDataAct" UniqueID="" Timestamp="" />
+ *< OBJECTDATA: ObjPath="_label1" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="txtDataAct" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="lblDataScad" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="txtDataScad" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="lblSerieAct" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="txtSerieAct" UniqueID="" Timestamp="" />
+ *< OBJECTDATA: ObjPath="lblResponsabil" UniqueID="" Timestamp="" />
+ *< OBJECTDATA: ObjPath="txtResponsabil" UniqueID="" Timestamp="" />
+ *< OBJECTDATA: ObjPath="lblVenChelt" UniqueID="" Timestamp="" />
+ *< OBJECTDATA: ObjPath="txtVenChelt" UniqueID="" Timestamp="" />
+ *< OBJECTDATA: ObjPath="lblSectie" UniqueID="" Timestamp="" />
+ *< OBJECTDATA: ObjPath="txtExplicatia" UniqueID="" Timestamp="" />
+ *< OBJECTDATA: ObjPath="txtSectie" UniqueID="" Timestamp="" />
+ *< OBJECTDATA: ObjPath="lblContract" UniqueID="" Timestamp="" />
+ *< OBJECTDATA: ObjPath="txtContract" UniqueID="" Timestamp="" />
+ *< OBJECTDATA: ObjPath="lblLucrare" UniqueID="" Timestamp="" />
+ *< OBJECTDATA: ObjPath="txtLucrare" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="lblPartener" UniqueID="" Timestamp="" />
- *< OBJECTDATA: ObjPath="txtCodFiscal" UniqueID="" Timestamp="" />
- *< OBJECTDATA: ObjPath="chkDistribuieDiscount" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="txtPartener" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="chkTVAIncasare" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="lblValuta" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="txtValuta" UniqueID="" Timestamp="" />
- *< OBJECTDATA: ObjPath="txtAcont" UniqueID="" Timestamp="" />
- *< OBJECTDATA: ObjPath="lblCurs" UniqueID="" Timestamp="" />
- *< OBJECTDATA: ObjPath="txtCurs" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="lblCont" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="txtCont" UniqueID="" Timestamp="" />
- *< OBJECTDATA: ObjPath="lblLucrare" UniqueID="" Timestamp="" />
- *< OBJECTDATA: ObjPath="txtLucrare" UniqueID="" Timestamp="" />
- *< OBJECTDATA: ObjPath="lblContract" UniqueID="" Timestamp="" />
- *< OBJECTDATA: ObjPath="txtContract" UniqueID="" Timestamp="" />
- *< OBJECTDATA: ObjPath="lblSectie" UniqueID="" Timestamp="" />
- *< OBJECTDATA: ObjPath="txtSectie" UniqueID="" Timestamp="" />
- *< OBJECTDATA: ObjPath="lblVenChelt" UniqueID="" Timestamp="" />
- *< OBJECTDATA: ObjPath="txtVenChelt" UniqueID="" Timestamp="" />
- *< OBJECTDATA: ObjPath="lblResponsabil" UniqueID="" Timestamp="" />
- *< OBJECTDATA: ObjPath="txtResponsabil" UniqueID="" Timestamp="" />
- *< OBJECTDATA: ObjPath="Cmd_executa2" UniqueID="" Timestamp="" />
- *< OBJECTDATA: ObjPath="txtExplicatia" UniqueID="" Timestamp="" />
- *< OBJECTDATA: ObjPath="_label1" UniqueID="" Timestamp="" />
+ *< OBJECTDATA: ObjPath="lblCurs" UniqueID="" Timestamp="" />
+ *< OBJECTDATA: ObjPath="txtCurs" UniqueID="" Timestamp="" />
+ *< OBJECTDATA: ObjPath="txtCodFiscal" UniqueID="" Timestamp="" />
+ *< OBJECTDATA: ObjPath="txtAcont" UniqueID="" Timestamp="" />
+ *< OBJECTDATA: ObjPath="chkDistribuieDiscount" UniqueID="" Timestamp="" />
+ *< OBJECTDATA: ObjPath="Cmd_Anulare1" UniqueID="" Timestamp="" />
+ *< OBJECTDATA: ObjPath="Cmd_BifeazaTot1" UniqueID="" Timestamp="" />
+ *< OBJECTDATA: ObjPath="txtExplicatia4" UniqueID="" Timestamp="" />
+ *< OBJECTDATA: ObjPath="lblExplicatia4" UniqueID="" Timestamp="" />
+ *< OBJECTDATA: ObjPath="txtExplicatia5" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="chkDiferente" UniqueID="" Timestamp="" />
+ *< OBJECTDATA: ObjPath="lblExplicatia5" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="chkLipsaRegistru" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="but_cont" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="but_gestiune" UniqueID="" Timestamp="" />
@@ -9466,6 +9476,7 @@ DEFINE CLASS frm_import_efactura AS _frmbase OF "_frm_base.vcx"
*m: modificanote
*m: modifica_partener
*m: numaradiferenteimport
+ *m: pozitioneazalistasubimport
*m: scrienote
*p: cantetlot
*p: llotactiv
@@ -9516,6 +9527,7 @@ DEFINE CLASS frm_import_efactura AS _frmbase OF "_frm_base.vcx"
+
_shape1.Anchor = 10
_shape1.Height = 29
@@ -9624,7 +9636,7 @@ DEFINE CLASS frm_import_efactura AS _frmbase OF "_frm_base.vcx"
ADD OBJECT 'But_modifica1' AS but_modifica WITH ;
Left = 559, ;
Name = "But_modifica1", ;
- TabIndex = 7, ;
+ TabIndex = 9, ;
Top = 371, ;
Visible = .T.
*< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" />
@@ -9632,7 +9644,7 @@ DEFINE CLASS frm_import_efactura AS _frmbase OF "_frm_base.vcx"
ADD OBJECT 'But_nou1' AS but_nou WITH ;
Left = 589, ;
Name = "But_nou1", ;
- TabIndex = 8, ;
+ TabIndex = 10, ;
Top = 371
*< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" />
@@ -9732,9 +9744,9 @@ DEFINE CLASS frm_import_efactura AS _frmbase OF "_frm_base.vcx"
ForeColor = 255,255,255, ;
Left = 524, ;
Name = "chkDistribuieDiscount", ;
- TabIndex = 10, ;
+ TabIndex = 12, ;
ToolTipText = "Distribuie discount general pe articole", ;
- Top = 451, ;
+ Top = 448, ;
Value = .F., ;
ZOrderSet = 23
*< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" />
@@ -9762,7 +9774,7 @@ DEFINE CLASS frm_import_efactura AS _frmbase OF "_frm_base.vcx"
ControlSource = "crsFacturi.TVAIncasare", ;
Left = 624, ;
Name = "chkTVAIncasare", ;
- TabIndex = 9, ;
+ TabIndex = 11, ;
Top = 377, ;
ZOrderSet = 23
*< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" />
@@ -9808,7 +9820,7 @@ DEFINE CLASS frm_import_efactura AS _frmbase OF "_frm_base.vcx"
Height = 27, ;
Left = 741, ;
Name = "Cmd_executa1", ;
- TabIndex = 20, ;
+ TabIndex = 27, ;
Top = 405, ;
Width = 140, ;
ZOrderSet = 12
@@ -9822,7 +9834,7 @@ DEFINE CLASS frm_import_efactura AS _frmbase OF "_frm_base.vcx"
Height = 27, ;
Left = 741, ;
Name = "Cmd_executa2", ;
- TabIndex = 21, ;
+ TabIndex = 28, ;
Top = 373, ;
Width = 140, ;
ZOrderSet = 12
@@ -9847,7 +9859,7 @@ DEFINE CLASS frm_import_efactura AS _frmbase OF "_frm_base.vcx"
ADD OBJECT 'grdDetaliiFacturi' AS _grdbase WITH ;
Anchor = 15, ;
BackColor = 255,255,255, ;
- ColumnCount = 25, ;
+ ColumnCount = 28, ;
DeleteMark = .F., ;
FontName = "Arial", ;
FontSize = 10, ;
@@ -10082,7 +10094,31 @@ DEFINE CLASS frm_import_efactura AS _frmbase OF "_frm_base.vcx"
Column25.Name = "cDistribuie", ;
Column25.ReadOnly = .F., ;
Column25.Sparse = .F., ;
- Column25.Width = 57
+ Column25.Width = 57, ;
+ Column26.BackColor = 255,255,255, ;
+ Column26.ColumnOrder = 26, ;
+ Column26.ControlSource = "crsDetaliiFacturi.explicatia", ;
+ Column26.FontName = "Arial", ;
+ Column26.FontSize = 10, ;
+ Column26.Name = "cExplicatia", ;
+ Column26.ReadOnly = .F., ;
+ Column26.Width = 120, ;
+ Column27.BackColor = 255,255,255, ;
+ Column27.ColumnOrder = 27, ;
+ Column27.ControlSource = "crsDetaliiFacturi.explicatia4", ;
+ Column27.FontName = "Arial", ;
+ Column27.FontSize = 10, ;
+ Column27.Name = "cExplicatia4", ;
+ Column27.ReadOnly = .F., ;
+ Column27.Width = 120, ;
+ Column28.BackColor = 255,255,255, ;
+ Column28.ColumnOrder = 28, ;
+ Column28.ControlSource = "crsDetaliiFacturi.explicatia5", ;
+ Column28.FontName = "Arial", ;
+ Column28.FontSize = 10, ;
+ Column28.Name = "cExplicatia5", ;
+ Column28.ReadOnly = .F., ;
+ Column28.Width = 120
*< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" />
ADD OBJECT 'grdDetaliiFacturi.cAcont.Header1' AS header WITH ;
@@ -10363,6 +10399,60 @@ DEFINE CLASS frm_import_efactura AS _frmbase OF "_frm_base.vcx"
SelectedBackColor = 100,185,255
*< END OBJECT: BaseClass="textbox" />
+ ADD OBJECT 'grdDetaliiFacturi.cExplicatia.Header1' AS header WITH ;
+ Alignment = 2, ;
+ Caption = "Explicatia", ;
+ FontSize = 10, ;
+ Name = "Header1"
+ *< END OBJECT: BaseClass="header" />
+
+ ADD OBJECT 'grdDetaliiFacturi.cExplicatia.Text1' AS textbox WITH ;
+ BackColor = 255,255,255, ;
+ BorderStyle = 0, ;
+ FontSize = 10, ;
+ ForeColor = 0,0,0, ;
+ Margin = 0, ;
+ Name = "Text1", ;
+ ReadOnly = .F., ;
+ SelectedBackColor = 100,185,255
+ *< END OBJECT: BaseClass="textbox" />
+
+ ADD OBJECT 'grdDetaliiFacturi.cExplicatia4.Header1' AS header WITH ;
+ Alignment = 2, ;
+ Caption = "Explicatia 4", ;
+ FontSize = 10, ;
+ Name = "Header1"
+ *< END OBJECT: BaseClass="header" />
+
+ ADD OBJECT 'grdDetaliiFacturi.cExplicatia4.Text1' AS textbox WITH ;
+ BackColor = 255,255,255, ;
+ BorderStyle = 0, ;
+ FontSize = 10, ;
+ ForeColor = 0,0,0, ;
+ Margin = 0, ;
+ Name = "Text1", ;
+ ReadOnly = .F., ;
+ SelectedBackColor = 100,185,255
+ *< END OBJECT: BaseClass="textbox" />
+
+ ADD OBJECT 'grdDetaliiFacturi.cExplicatia5.Header1' AS header WITH ;
+ Alignment = 2, ;
+ Caption = "Explicatia 5", ;
+ FontSize = 10, ;
+ Name = "Header1"
+ *< END OBJECT: BaseClass="header" />
+
+ ADD OBJECT 'grdDetaliiFacturi.cExplicatia5.Text1' AS textbox WITH ;
+ BackColor = 255,255,255, ;
+ BorderStyle = 0, ;
+ FontSize = 10, ;
+ ForeColor = 0,0,0, ;
+ Margin = 0, ;
+ Name = "Text1", ;
+ ReadOnly = .F., ;
+ SelectedBackColor = 100,185,255
+ *< END OBJECT: BaseClass="textbox" />
+
ADD OBJECT 'grdDetaliiFacturi.cGestiune._combobox1' AS _combobox WITH ;
BorderStyle = 0, ;
BoundColumn = 2, ;
@@ -11470,6 +11560,24 @@ DEFINE CLASS frm_import_efactura AS _frmbase OF "_frm_base.vcx"
ZOrderSet = 17
*< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" />
+ ADD OBJECT 'lblExplicatia4' AS _label WITH ;
+ Anchor = 0, ;
+ Caption = "Expl. 4", ;
+ Left = 185, ;
+ Name = "lblExplicatia4", ;
+ Top = 471, ;
+ ZOrderSet = 52
+ *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" />
+
+ ADD OBJECT 'lblExplicatia5' AS _label WITH ;
+ Anchor = 0, ;
+ Caption = "Expl. 5", ;
+ Left = 356, ;
+ Name = "lblExplicatia5", ;
+ Top = 471, ;
+ ZOrderSet = 53
+ *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" />
+
ADD OBJECT 'lblGrupRegistru' AS _label WITH ;
Anchor = 0, ;
Caption = "Registru TVA", ;
@@ -11566,7 +11674,7 @@ DEFINE CLASS frm_import_efactura AS _frmbase OF "_frm_base.vcx"
Height = 23, ;
Left = 300, ;
Name = "txtAcont", ;
- TabIndex = 12, ;
+ TabIndex = 14, ;
Top = 397, ;
Width = 47, ;
ZOrderSet = 27
@@ -11579,7 +11687,7 @@ DEFINE CLASS frm_import_efactura AS _frmbase OF "_frm_base.vcx"
Left = 445, ;
Name = "txtCodFiscal", ;
ReadOnly = .T., ;
- TabIndex = 7, ;
+ TabIndex = 9, ;
ToolTipText = "Cod fiscal. Dublu click pentru alegere partener", ;
Top = 373, ;
Width = 108, ;
@@ -11593,7 +11701,7 @@ DEFINE CLASS frm_import_efactura AS _frmbase OF "_frm_base.vcx"
Height = 23, ;
Left = 239, ;
Name = "txtCont", ;
- TabIndex = 11, ;
+ TabIndex = 13, ;
ToolTipText = "Dublu click pentru alegere cont", ;
Top = 397, ;
Width = 55, ;
@@ -11607,7 +11715,7 @@ DEFINE CLASS frm_import_efactura AS _frmbase OF "_frm_base.vcx"
Left = 239, ;
Name = "txtContract", ;
ReadOnly = .T., ;
- TabIndex = 18, ;
+ TabIndex = 20, ;
ToolTipText = "Dublu click pentru alegere contract", ;
Top = 446, ;
Width = 109, ;
@@ -11621,7 +11729,7 @@ DEFINE CLASS frm_import_efactura AS _frmbase OF "_frm_base.vcx"
Height = 23, ;
Left = 584, ;
Name = "txtCurs", ;
- TabIndex = 14, ;
+ TabIndex = 16, ;
Top = 397, ;
Width = 61, ;
ZOrderSet = 27
@@ -11662,11 +11770,39 @@ DEFINE CLASS frm_import_efactura AS _frmbase OF "_frm_base.vcx"
Name = "txtExplicatia", ;
TabIndex = 5, ;
ToolTipText = "Explicatia din Registrul Jurnal", ;
- Top = 469, ;
- Width = 165, ;
+ Top = 470, ;
+ Width = 100, ;
ZOrderSet = 27
*< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" />
+ ADD OBJECT 'txtExplicatia4' AS _textbox WITH ;
+ Anchor = 0, ;
+ ControlSource = "crsFacturi.explicatia4ROA", ;
+ Format = "!K", ;
+ Height = 23, ;
+ Left = 239, ;
+ Name = "txtExplicatia4", ;
+ TabIndex = 6, ;
+ ToolTipText = "Explicatia 2 din Registrul Jurnal", ;
+ Top = 470, ;
+ Width = 109, ;
+ ZOrderSet = 50
+ *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" />
+
+ ADD OBJECT 'txtExplicatia5' AS _textbox WITH ;
+ Anchor = 0, ;
+ ControlSource = "crsFacturi.explicatia5ROA", ;
+ Format = "!K", ;
+ Height = 23, ;
+ Left = 410, ;
+ Name = "txtExplicatia5", ;
+ TabIndex = 7, ;
+ ToolTipText = "Explicatia 3 din Registrul Jurnal", ;
+ Top = 470, ;
+ Width = 109, ;
+ ZOrderSet = 51
+ *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" />
+
ADD OBJECT 'txtLucrare' AS _textbox WITH ;
Anchor = 0, ;
ControlSource = "crsFacturi.nrord", ;
@@ -11674,7 +11810,7 @@ DEFINE CLASS frm_import_efactura AS _frmbase OF "_frm_base.vcx"
Left = 239, ;
Name = "txtLucrare", ;
ReadOnly = .T., ;
- TabIndex = 15, ;
+ TabIndex = 17, ;
ToolTipText = "Dublu click pentru alegere lucrare", ;
Top = 421, ;
Width = 109, ;
@@ -11700,7 +11836,7 @@ DEFINE CLASS frm_import_efactura AS _frmbase OF "_frm_base.vcx"
Left = 239, ;
Name = "txtPartener", ;
ReadOnly = .T., ;
- TabIndex = 6, ;
+ TabIndex = 8, ;
ToolTipText = "Dublu click pentru alegere partener", ;
Top = 373, ;
Width = 203, ;
@@ -11714,7 +11850,7 @@ DEFINE CLASS frm_import_efactura AS _frmbase OF "_frm_base.vcx"
Left = 584, ;
Name = "txtResponsabil", ;
ReadOnly = .T., ;
- TabIndex = 17, ;
+ TabIndex = 19, ;
ToolTipText = "Dublu click pentru alegere Responsabil", ;
Top = 421, ;
Width = 109, ;
@@ -11728,7 +11864,7 @@ DEFINE CLASS frm_import_efactura AS _frmbase OF "_frm_base.vcx"
Left = 410, ;
Name = "txtSectie", ;
ReadOnly = .T., ;
- TabIndex = 16, ;
+ TabIndex = 18, ;
ToolTipText = "Dublu click pentru alegere sectie", ;
Top = 421, ;
Width = 109, ;
@@ -11755,7 +11891,7 @@ DEFINE CLASS frm_import_efactura AS _frmbase OF "_frm_base.vcx"
Left = 410, ;
Name = "txtValuta", ;
ReadOnly = .T., ;
- TabIndex = 13, ;
+ TabIndex = 15, ;
Top = 397, ;
Width = 45, ;
ZOrderSet = 25
@@ -11768,7 +11904,7 @@ DEFINE CLASS frm_import_efactura AS _frmbase OF "_frm_base.vcx"
Left = 410, ;
Name = "txtVenChelt", ;
ReadOnly = .T., ;
- TabIndex = 19, ;
+ TabIndex = 21, ;
ToolTipText = "Dublu click pentru alegere Tip venit/cheltuiala", ;
Top = 446, ;
Width = 109, ;
@@ -11891,7 +12027,7 @@ DEFINE CLASS frm_import_efactura AS _frmbase OF "_frm_base.vcx"
Endif
ENDPROC
- PROCEDURE ActualizeazaRandImportat
+ PROCEDURE actualizeazarandimportat
* reciteste jtotctva/diferenta din Registrul TVA pentru factura, fara sa mute pozitia curenta din crsFacturi
LPARAMETERS tnIdEfactura
LOCAL lcView, lcSql, llSucces, lnSelect
@@ -11976,11 +12112,14 @@ DEFINE CLASS frm_import_efactura AS _frmbase OF "_frm_base.vcx"
ENDPROC
PROCEDURE aplicafiltrudecompletat
+ *!* tlGoTop: .T. cand utilizatorul schimba o bifa de filtru - lista porneste de sus, nu ramane pe randul curent
+ LPARAMETERS tlGoTop
IF !USED('crsFacturi')
RETURN
ENDIF
- LOCAL lcFiltru, lnIdCurent
+ LOCAL lcFiltru, lnIdCurent, llGoTop
+ llGoTop = (Vartype(m.tlGoTop) = 'L' And m.tlGoTop)
lnIdCurent = 0
SELECT crsFacturi
IF !EOF()
@@ -12002,11 +12141,13 @@ DEFINE CLASS frm_import_efactura AS _frmbase OF "_frm_base.vcx"
SET FILTER TO
ENDIF
- IF m.lnIdCurent <> 0
- LOCATE FOR id = m.lnIdCurent
- ENDIF
- IF m.lnIdCurent = 0 OR !FOUND()
+ IF m.llGoTop OR m.lnIdCurent = 0
GO TOP
+ ELSE
+ LOCATE FOR id = m.lnIdCurent
+ IF !FOUND()
+ GO TOP
+ ENDIF
ENDIF
Thisform.grdFacturi.Refresh()
@@ -12606,7 +12747,7 @@ DEFINE CLASS frm_import_efactura AS _frmbase OF "_frm_base.vcx"
PROCEDURE do_coada
* Coada ghidata de contabilizare: proceseaza facturile bifate si eligibile, una dupa alta, prin do_executa
- LOCAL loCoada, lnTotal, lnCurent, lnRuta, llSucces, lcMotivEsec, lnIdEfactura, lnIdFactInainte, lnIdFactDupa, lcCaptionOriginal, lnAltGrid
+ LOCAL loCoada, lnTotal, lnCurent, lnRuta, llSucces, lcMotivEsec, lnIdEfactura, lnIdFactInainte, lnIdFactDupa, lcCaptionOriginal
LOCAL ARRAY laRecnos[1]
PRIVATE pnIdEfactura
@@ -12667,13 +12808,7 @@ DEFINE CLASS frm_import_efactura AS _frmbase OF "_frm_base.vcx"
Thisform.lblCoadaAntet.Refresh()
Thisform.cAntetLot = '[' + Alltrim(Str(m.lnCurent)) + '/' + Alltrim(Str(m.lnTotal)) + '] ' + Alltrim(Nvl(crsFacturi.xfurnizor,'')) + ' ' + Alltrim(Nvl(crsFacturi.numar_act,'')) + ' - '
_screen.Caption = lcCaptionOriginal + ' - ' + Alltrim(Thisform.lblCoadaAntet.Caption)
- Thisform.LockScreen = .T.
- lnAltGrid = Thisform.grdFacturi.Height
- Thisform.grdFacturi.Height = Thisform.grdFacturi.HeaderHeight + 6 * Thisform.grdFacturi.RowHeight
- Thisform.grdFacturi.Refresh()
- Thisform.grdFacturi.Height = m.lnAltGrid
- Thisform.grdFacturi.Refresh()
- Thisform.LockScreen = .F.
+ Thisform.PozitioneazaListaSubImport()
Thisform.CompleteazaFactura()
SELECT crsFacturi
@@ -12915,8 +13050,9 @@ DEFINE CLASS frm_import_efactura AS _frmbase OF "_frm_base.vcx"
PROCEDURE do_import
* un singur buton de import: coada de contabilizare cand exista facturi bifate, altfel doar factura curenta
- Local loCoadaImp, loContorImp, lnBifateImp
+ Local loCoadaImp, loContorImp, lnBifateImp, lnIdCurentImp
This.actualizeazalipsurirandcurent()
+ lnIdCurentImp = Iif(Used('crsFacturi'), Nvl(crsFacturi.Id, 0), 0)
lnBifateImp = 0
If This.lLotActiv
SELECT crsFacturi
@@ -12932,6 +13068,15 @@ DEFINE CLASS frm_import_efactura AS _frmbase OF "_frm_base.vcx"
This.do_executa()
Endif
This.do_cauta()
+ *!* do_cauta reface cursorul, deci lista sare pe primul rand: repun randul de la care s-a pornit importul
+ If m.lnIdCurentImp <> 0 And Used('crsFacturi')
+ Select crsFacturi
+ Locate For Id = m.lnIdCurentImp
+ If !Found()
+ Go Top
+ Endif
+ Thisform.grdFacturi.Refresh()
+ Endif
ENDPROC
PROCEDURE do_listare
@@ -13160,7 +13305,7 @@ DEFINE CLASS frm_import_efactura AS _frmbase OF "_frm_base.vcx"
Local lcXMLFacturaDetalii, llAcont, llCalcTVA, llCursorCreat, llPlata, llPrimite, llSucces
Local lnTVAIncasare, llTaxareInversa, lnDeducere, lnDiscountFaraTVA, lnIdJtva, lnIdSet, lnInValuta, lnTaxeFaraTVA
Local lnTotalCuTVA, lnTotalFaraTVA, lnTotalTVA, lnTotaldePlata, lnValoareFaraTVA, loFactura, lnTotalFaraTVA, lnTotalTVA
- Local lcCont, lcAcont, loRec
+ Local lcCont, lcAcont, loRec, lcExplicatia4, lcExplicatia5
Local lcContTVA, lcTitlu, lnPTVA
Local lcContCredit, lcContDebit, lcFiltru
Local lcScc, lcScd, lnCurs, lnIdValuta, lnIdEfactura, llDistribuieArticole
@@ -13206,6 +13351,8 @@ DEFINE CLASS frm_import_efactura AS _frmbase OF "_frm_base.vcx"
lnTaxeFaraTVA = Nvl(loFactura.taxe_fara_tva, 0) && taxe la nivelul facturii
llDistribuieDiscountTaxe = This.chkDistribuieDiscount.Value and (m.lnDiscountFaraTVA <> 0 or m.lnTaxeFaraTVA <> 0)
lcExplicatia = ALLTRIM(LEFT(loFactura.explicatiaROA, 100))
+ lcExplicatia4 = Alltrim(Left(Nvl(loFactura.explicatia4ROA, ''), 100))
+ lcExplicatia5 = Alltrim(Left(Nvl(loFactura.explicatia5ROA, ''), 100))
* Verific daca exista bife pe articole sa distribui valoarea pe restul articolelor (discount-uri, taxe)
SELECT crsDetaliiFacturi
@@ -13347,7 +13494,7 @@ DEFINE CLASS frm_import_efactura AS _frmbase OF "_frm_base.vcx"
id_fdoc WITH thisform.nIdFdoc, fdoc WITH thisform.cFdoc, id_sectie WITH loFactura.id_Sectie, sectie WITH loFactura.sectie, ;
nrord WITH loFactura.nrord, id_lucrare WITH loFactura.id_Lucrare, contract WITH loFactura.contract, id_ctr WITH loFactura.id_ctr,;
dst_chlt WITH loFactura.dst_chlt, id_venchelt WITH loFactura.id_Venchelt, nresp WITH loFactura.nresp, id_responsabil WITH loFactura.id_responsabil, ;
- explicatia with m.lcExplicatia, scd WITH m.lcScd, scc WITH m.lcScc
+ explicatia with m.lcExplicatia, scd WITH m.lcScd, scc WITH m.lcScc, explicatia4 with m.lcExplicatia4, explicatia5 with m.lcExplicatia5
* Nu completez explicatia cu denumirea primului articol pentru ca se completeaza si pe nota de TVA. Nu doresc explicatii completate in nota contabila.
If m.llPrimite
@@ -13363,9 +13510,12 @@ DEFINE CLASS frm_import_efactura AS _frmbase OF "_frm_base.vcx"
CAST(0 As I) As id_jtax, Space(200) As denumiretax, ;
m.lcTipJ As tipjurnal, Cast(Null As I) As taxcode, Cast(Null As C(5)) As paymentcode, ;
SUM(ValoareFaraTVA) As ValoareFaraTVA, ;
- CAST(0 As N(16,4)) As suma, Cast(0 As N(16,4)) As suma_val, Cast(0 As N(5)) As id_valuta, Cast('' As C(5)) As nume_val, Cast(0 As N(16,4)) As Curs, discount ;
+ CAST(0 As N(16,4)) As suma, Cast(0 As N(16,4)) As suma_val, Cast(0 As N(5)) As id_valuta, Cast('' As C(5)) As nume_val, Cast(0 As N(16,4)) As Curs, discount, ;
+ Max(Upper(Nvl(explicatia, Space(100)))) As expl_art, ;
+ Max(Upper(Nvl(explicatia4, Space(100)))) As expl4_art, ;
+ Max(Upper(Nvl(explicatia5, Space(100)))) As expl5_art ;
from crsDetaliiFacturiTemp ;
- group By scd, ascd, scc, ascc, proctva, tiptva, discount ;
+ group By scd, ascd, scc, ascc, proctva, tiptva, discount, explicatia, explicatia4, explicatia5 ;
INTO Cursor cnote_contabile Readwrite
IF m.lnDeducere = 1 AND NVL(goCalendar.impozit_profit,0) = 1 && Deducere 50% cheltuieli si TVA pentru Platitorii de Impozit pe Profit
@@ -13480,7 +13630,7 @@ DEFINE CLASS frm_import_efactura AS _frmbase OF "_frm_base.vcx"
CREATE CURSOR xcont (contPart C(4), idPart N(10) NULL, numePart V(250))
INSERT INTO xcont (contpart, idpart, numepart) VALUES (m.lcCont, loFactura.IdPartROA, loFactura.PartenerROA)
- lnTopLot = Iif(Empty(Thisform.cAntetLot), 0, Iif(Thisform.WindowState = 2, 0, Thisform.Top) + Thisform.grdFacturi.Top + Thisform.grdFacturi.HeaderHeight + 6 * Thisform.grdFacturi.RowHeight)
+ lnTopLot = Thisform.PozitioneazaListaSubImport()
DO introducere_compacta WITH 'achi_mat',lcContDebit, m.lcContCredit,m.llCalcTVA, m.llPlata, m.lcTitlu,m.lcContTVA,m.lnIdSet, m.llAcont, m.lnDeducere, m.llCursorCreat, m.lnTotalCuTVA, m.lnTopLot
@@ -13512,6 +13662,7 @@ DEFINE CLASS frm_import_efactura AS _frmbase OF "_frm_base.vcx"
Local lnTotalTVA, loJtva, loTotal, loRec, lnIdEfactura
Local lcContDiscount, lcDetalii, lcXmlDisc, llDistribuieDiscountTaxe, lnDiscount, lnDiscountFaraTVA
Local lnPret, lnProcTVA, lnProcent, lnValoareArticol, lnValoareFaraTVA, loFactParse, lcContTaxe, llDistribuieArticole
+ Local lcExplicatia4, lcExplicatia5
LOCAL lcMesaj, lcMesajTemp, lcRaspuns
lcMesaj = ''
@@ -13552,6 +13703,8 @@ DEFINE CLASS frm_import_efactura AS _frmbase OF "_frm_base.vcx"
lnTaxeFaraTVA = Nvl(loFactura.taxe_fara_tva, 0) && taxe la nivelul facturii
llDistribuieDiscountTaxe = This.chkDistribuieDiscount.Value and (m.lnDiscountFaraTVA <> 0 or m.lnTaxeFaraTVA <> 0)
lcExplicatia = Alltrim(LEFT(loFactura.explicatiaROA, 100))
+ lcExplicatia4 = Alltrim(Left(Nvl(loFactura.explicatia4ROA, ''), 100))
+ lcExplicatia5 = Alltrim(Left(Nvl(loFactura.explicatia5ROA, ''), 100))
* Verific daca exista bife pe articole sa distribui valoarea pe restul articolelor (discount-uri, taxe)
SELECT crsDetaliiFacturi
@@ -13880,7 +14033,7 @@ DEFINE CLASS frm_import_efactura AS _frmbase OF "_frm_base.vcx"
* CONTABILITATE
*************************************
* tip 1 = baza, 2 = TVA, 3 = adaos comercial marfa 371
- Select 1 As tip, Cast(0 As N(5)) As id_note, Max(Upper(articol)) As explicatia, ;
+ Select 1 As tip, Cast(0 As N(5)) As id_note, Max(Upper(Nvl(explicatia, ''))) As explicatia, Max(Upper(Nvl(explicatia4, ''))) As explicatia4, Max(Upper(Nvl(explicatia5, ''))) As explicatia5, ;
scd, ascd, scc, ascc, m.lnIdSet As id_set, Cast(0 As I) As ordine, m.lnInValuta As in_valuta, 1 As cu_tva, proctva As ptva, 1 + Round(proctva/100,2) As proc_tva, tiptva, ;
CAST(0 As I) As id_jtax, Space(50) As denumiretax, ;
CAST(0 As I) As id_jtva_coloana , Space(50) As explicatie_Tva , ;
@@ -13889,9 +14042,9 @@ DEFINE CLASS frm_import_efactura AS _frmbase OF "_frm_base.vcx"
CAST(0 As N(16,4)) As suma, Cast(0 As N(16,4)) As suma_val, Cast(0 As N(5)) As id_valuta, Cast('' As C(5)) As nume_val, Cast(0 As N(16,4)) As Curs, ;
id_gestiune As id_gestin, Space(100) As gestin, lnNnir As nnir, discount ;
from crsDetaliiFacturiTemp ;
- group By proctva, tiptva, scd, ascd, scc, ascc, id_gestiune, discount ;
+ group By proctva, tiptva, scd, ascd, scc, ascc, id_gestiune, discount, explicatia, explicatia4, explicatia5 ;
UNION ;
- Select 2 As tip, Cast(0 As N(5)) As id_note, Max(Upper(articol)) As explicatia, ;
+ Select 2 As tip, Cast(0 As N(5)) As id_note, Max(Upper(Nvl(explicatia, ''))) As explicatia, Max(Upper(Nvl(explicatia4, ''))) As explicatia4, Max(Upper(Nvl(explicatia5, ''))) As explicatia5, ;
scd2 As scd, ascd2 As ascd, scc2 As scc, ascc2 As ascc, m.lnIdSet As id_set, Cast(0 As I) As ordine, m.lnInValuta As in_valuta, 1 As cu_tva, proctva As ptva, 1 + Round(proctva/100,2) As proc_tva, tiptva, ;
CAST(0 As I) As id_jtax, Space(50) As denumiretax, ;
CAST(0 As I) As id_jtva_coloana , Space(50) As explicatie_Tva , ;
@@ -13900,9 +14053,9 @@ DEFINE CLASS frm_import_efactura AS _frmbase OF "_frm_base.vcx"
CAST(0 As N(16,4)) As suma, Cast(0 As N(16,4)) As suma_val, Cast(0 As N(5)) As id_valuta, Cast('' As C(5)) As nume_val, Cast(0 As N(16,4)) As Curs, ;
id_gestiune As id_gestin, Space(100) As gestin, lnNnir As nnir, discount ;
from crsDetaliiFacturiTemp ;
- group By proctva, tiptva, scd2, ascd2, scc2, ascc2, id_gestiune, discount ;
+ group By proctva, tiptva, scd2, ascd2, scc2, ascc2, id_gestiune, discount, explicatia, explicatia4, explicatia5 ;
UNION ;
- Select 3 As tip, Cast(0 As N(5)) As id_note, 'VALOARE ADAOS FARA TVA' As explicatia, ;
+ Select 3 As tip, Cast(0 As N(5)) As id_note, Space(100) As explicatia, Space(100) As explicatia4, Space(100) As explicatia5, ;
cont As scd, acont As ascd, '378 ' As scc, Space(4) As ascc, m.lnIdSet As id_set, Cast(0 As I) As ordine, m.lnInValuta As in_valuta, 0 As cu_tva, proc_tvav As ptva, proc_tvav As proc_tva, ' ' as tiptva, ;
CAST(0 As I) As id_jtax, Space(50) As denumiretax, ;
CAST(0 As I) As id_jtva_coloana , Space(50) As explicatie_Tva , ;
@@ -13914,7 +14067,7 @@ DEFINE CLASS frm_import_efactura AS _frmbase OF "_frm_base.vcx"
WHERE Cont = '371' And valoare_adaos <> 0 ;
group By Cont, acont, proc_tvav, id_gestiune ;
UNION ;
- Select 4 As tip, Cast(0 As N(5)) As id_note, 'VALOARE TVA ADAOS' As explicatia, ;
+ Select 4 As tip, Cast(0 As N(5)) As id_note, Space(100) As explicatia, Space(100) As explicatia4, Space(100) As explicatia5, ;
cont As scd, acont As ascd, '4428' As scc, Space(4) As ascc, m.lnIdSet As id_set, Cast(0 As I) As ordine, m.lnInValuta As in_valuta, 0 As cu_tva, proc_tvav As ptva, proc_tvav As proc_tva, ' ' as tiptva, ;
CAST(0 As I) As id_jtax, Space(50) As denumiretax, ;
CAST(0 As I) As id_jtva_coloana , Space(50) As explicatie_Tva , ;
@@ -13925,7 +14078,7 @@ DEFINE CLASS frm_import_efactura AS _frmbase OF "_frm_base.vcx"
from trul ;
WHERE Cont = '371' And valoare_adaos <> 0 ;
group By Cont, acont, proc_tvav, id_gestiune ;
- ORDER By 1, 11, 4, 6 ;
+ ORDER By 1, 13, 6, 8 ;
INTO Cursor cnote_contabile Readwrite
* ordonat dupa tip, procent tva, scd, scc
@@ -14080,7 +14233,9 @@ DEFINE CLASS frm_import_efactura AS _frmbase OF "_frm_base.vcx"
nrord With loFactura.nrord, id_lucrare With loFactura.id_lucrare, contract With loFactura.contract, id_ctr With loFactura.id_ctr,;
dst_chlt With loFactura.dst_chlt, id_venchelt With loFactura.id_venchelt, nresp With loFactura.nresp, id_responsabil With loFactura.id_responsabil
- Update tact Set explicatia = m.lcExplicatia && nu doresc explicatia primul articol pe baza, tva, discount
+ Update tact Set explicatia = m.lcExplicatia Where Empty(Nvl(explicatia, '')) && nu doresc explicatia primul articol pe baza, tva, discount
+ Update tact Set explicatia4 = m.lcExplicatia4 Where Empty(Nvl(explicatia4, ''))
+ Update tact Set explicatia5 = m.lcExplicatia5 Where Empty(Nvl(explicatia5, ''))
Update tact Set id_partc = loFactura.IdPartROA, partc = loFactura.PartenerROA Where scc = m.lcCont
Update tact Set id_partd = loFactura.IdPartROA, partd = loFactura.PartenerROA Where scd = m.lcCont
@@ -14104,7 +14259,7 @@ DEFINE CLASS frm_import_efactura AS _frmbase OF "_frm_base.vcx"
Omodif = Createobject([frm_modific2024], m.lnIdSet)
Omodif.Lb_titlu_alb_b121.Caption = m.lcTitlu
*!* DO FORM frm_modific2024 NAME omodif LINKED WITH m.lnIdSet NOSHOW
- lnTopLot = Iif(Empty(Thisform.cAntetLot), 0, Iif(Thisform.WindowState = 2, 0, Thisform.Top) + Thisform.grdFacturi.Top + Thisform.grdFacturi.HeaderHeight + 6 * Thisform.grdFacturi.RowHeight)
+ lnTopLot = Thisform.PozitioneazaListaSubImport()
Omodif.Show(1, .F., m.lnTopLot)
If m.gnButon=1
@@ -14511,6 +14666,19 @@ DEFINE CLASS frm_import_efactura AS _frmbase OF "_frm_base.vcx"
This.chkLipsaRegistru.Caption = ALLTRIM(IIF(EMPTY(NVL(This.chkLipsaRegistru.Tag,'')), This.chkLipsaRegistru.Caption, This.chkLipsaRegistru.Tag)) + IIF(m.lnLipsa > 0, ' (' + ALLTRIM(STR(m.lnLipsa)) + ')', '')
ENDPROC
+ PROCEDURE pozitioneazalistasubimport
+ *!* deruleaza randul curent in primele randuri vizibile si intoarce top-ul de sub ele, ca formularul de import sa nu-l acopere
+ Local lnAltGrid
+ Thisform.LockScreen = .T.
+ lnAltGrid = Thisform.grdFacturi.Height
+ Thisform.grdFacturi.Height = Thisform.grdFacturi.HeaderHeight + 6 * Thisform.grdFacturi.RowHeight
+ Thisform.grdFacturi.Refresh()
+ Thisform.grdFacturi.Height = m.lnAltGrid
+ Thisform.grdFacturi.Refresh()
+ Thisform.LockScreen = .F.
+ Return Iif(Thisform.WindowState = 2, 0, Thisform.Top) + Thisform.grdFacturi.Top + Thisform.grdFacturi.HeaderHeight + 6 * Thisform.grdFacturi.RowHeight
+ ENDPROC
+
PROCEDURE scrienote
ENDPROC
@@ -14628,11 +14796,11 @@ DEFINE CLASS frm_import_efactura AS _frmbase OF "_frm_base.vcx"
ENDPROC
PROCEDURE chkCuGestiune.Valid
- Thisform.AplicaFiltruDeCompletat()
+ Thisform.AplicaFiltruDeCompletat(.T.)
ENDPROC
PROCEDURE chkDeCompletat.Valid
- Thisform.AplicaFiltruDeCompletat()
+ Thisform.AplicaFiltruDeCompletat(.T.)
ENDPROC
PROCEDURE chkDiferente.Valid
diff --git a/programe/import_efactura.prg b/programe/import_efactura.prg
index 8301b57..40d6dbb 100644
--- a/programe/import_efactura.prg
+++ b/programe/import_efactura.prg
@@ -38,7 +38,7 @@ PROCEDURE vizImportEFactura
ldData1 = GOMONTH(DATE(m.gnAn, m.gnLuna, 1), 1)
lcData2 = '01' + PADL(MONTH(m.ldData1),2,'0') + ALLTRIM(STR(YEAR(m.ldData1)))
TEXT To lcSchema Noshow
-ales N(1), id N(20), id_fact N(20), data_act D, data_scad D, numar_act C(30), xfurnizor C(200), xclient C(200), partener C(200), id_incarcare C(36), id_descarcare c(36) null, tip_mesaj_raspuns C(50) null,mesaj_raspuns C(250) null, data_raspuns D null, trimis N(1) null, data_trimis T null, cod_fiscal C(30) null, cod_fiscal_emitent C(30) null, cod_fiscal_beneficiar C(30) null, detalii M null, total_fara_tva N(16,4), total_tva N(16,4), total_tva_ron N(16,4), total_cu_tva N(16,4), discount_fara_tva N(16,4), taxe_fara_tva N(16,4), valoare_fara_tva N(16,4), total_de_plata N(16,4), nume_valuta C(5), test N(1) null, jtotctva N(16,4) null, descriere M null, detalii_plata M null, diferenta N(16,4) null, procesat N(1), SerieActRoa V(10) Null, NrActRoa N(14) Null, IdPartRoa N(10) Null, PartenerRoa V(100) null, codFiscalROA V(20), idValutaROA N(5) null,numeValutaROA V(5) null, cursROA N(16,6) null,Cont c(4) Null,ACont c(4) Null,TVAIncasare N(1),Fdoc V(20) null,Id_Fdoc N(5) Null,Nrord V(100) null,Id_Lucrare I Null,Contract V(100) Null,Id_Ctr I Null,Sectie V(100) null,Id_Sectie I Null,dst_chlt V(100) null, Id_venchelt I NUll, nresp V(100) null, Id_responsabil I NUll , completat N(1), completatdet N(1), creditnote N(1), explicatiaROA V(100) null, eligibil_lot N(1), motiv_lot V(120), eroare_lot N(1), de_completat V(80), gest c(1), part_inactiv N(1)
+ales N(1), id N(20), id_fact N(20), data_act D, data_scad D, numar_act C(30), xfurnizor C(200), xclient C(200), partener C(200), id_incarcare C(36), id_descarcare c(36) null, tip_mesaj_raspuns C(50) null,mesaj_raspuns C(250) null, data_raspuns D null, trimis N(1) null, data_trimis T null, cod_fiscal C(30) null, cod_fiscal_emitent C(30) null, cod_fiscal_beneficiar C(30) null, detalii M null, total_fara_tva N(16,4), total_tva N(16,4), total_tva_ron N(16,4), total_cu_tva N(16,4), discount_fara_tva N(16,4), taxe_fara_tva N(16,4), valoare_fara_tva N(16,4), total_de_plata N(16,4), nume_valuta C(5), test N(1) null, jtotctva N(16,4) null, descriere M null, detalii_plata M null, diferenta N(16,4) null, procesat N(1), SerieActRoa V(10) Null, NrActRoa N(14) Null, IdPartRoa N(10) Null, PartenerRoa V(100) null, codFiscalROA V(20), idValutaROA N(5) null,numeValutaROA V(5) null, cursROA N(16,6) null,Cont c(4) Null,ACont c(4) Null,TVAIncasare N(1),Fdoc V(20) null,Id_Fdoc N(5) Null,Nrord V(100) null,Id_Lucrare I Null,Contract V(100) Null,Id_Ctr I Null,Sectie V(100) null,Id_Sectie I Null,dst_chlt V(100) null, Id_venchelt I NUll, nresp V(100) null, Id_responsabil I NUll , completat N(1), completatdet N(1), creditnote N(1), explicatiaROA V(100) null, explicatia4ROA V(100) null, explicatia5ROA V(100) null, eligibil_lot N(1), motiv_lot V(120), eroare_lot N(1), de_completat V(80), gest c(1), part_inactiv N(1)
ENDTEXT
*!* diferenta ramane goala cand factura nu e in Registrul TVA sau e in valuta si tine cont de semnul notei de credit, ca la borderou
@@ -46,7 +46,7 @@ ales N(1), id N(20), id_fact N(20), data_act D, data_scad D, numar_act C(30), xf
SELECT 0 as ales, id, id_fact, data_act, data_scad, numar_act, xfurnizor, xclient, partener, id_incarcare, id_descarcare, tip_mesaj_raspuns, mesaj_raspuns, data_raspuns, NVL(trimis,0) as trimis, data_trimis, cod_fiscal, cod_fiscal_emitent, cod_fiscal_beneficiar, '' as detalii, total_fara_tva, total_tva, total_tva_ron, total_cu_tva, discount_fara_tva, taxe_fara_tva, valoare_fara_tva, total_de_plata, nume_valuta, test, jtotctva, descriere, detalii_plata, case when jtotctva is null then null when NVL(nume_valuta,'RON') <> 'RON' then null else decode(creditnote,0,1,-1) * NVL(total_cu_tva,0.00) - (NVL(jtotctva,0.00) - NVL(jtva_ti,0.00)) end as diferenta, procesat,
'' as SerieActRoa, CAST(null as Number(14)) as NrActRoa, CAST(null as Number(20)) as idPartRoa, '' as PartenerRoa, '' as codFiscalROA, CAST(null as Number(10)) as idValutaROA, '' as numeValutaROA, CAST(null as Number(16,6)) as cursROA,
'' as Cont, '' as acont, 0 as TVAIncasare, '' as Fdoc, CAST(0 as Number(5)) as Id_Fdoc, '' as Nrord, CAST(0 as Number(10)) as id_Lucrare, '' as Contract, CAST(null as Number(10)) as id_ctr,
- '' Sectie, CAST(0 as Number(10)) as id_Sectie, '' as dst_chlt, CAST(0 as Number(10)) as id_Venchelt, '' as nresp, CAST(0 as Number(10)) as id_responsabil, 0 as completat, 0 as completatdet, creditnote, '' as explicatiaROA, 1 as eligibil_lot, '' as motiv_lot, 0 as eroare_lot, '' as de_completat, '' as gest, 0 as part_inactiv
+ '' Sectie, CAST(0 as Number(10)) as id_Sectie, '' as dst_chlt, CAST(0 as Number(10)) as id_Venchelt, '' as nresp, CAST(0 as Number(10)) as id_responsabil, 0 as completat, 0 as completatdet, creditnote, '' as explicatiaROA, '' as explicatia4ROA, '' as explicatia5ROA, 1 as eligibil_lot, '' as motiv_lot, 0 as eroare_lot, '' as de_completat, '' as gest, 0 as part_inactiv
FROM <>
ENDTEXT
@@ -64,10 +64,10 @@ SELECT 0 as ales, id, id_fact, data_act, data_scad, numar_act, xfurnizor, xclien
* DETALII FACTURI PRIMITE/TRIMISE/EMISE
TEXT To lcSchema Noshow
-distribuie N(1), id_tip N(10) null, id_articol N(20) null, id_gestiune N(20) null, cont C(4) null, acont C(4) null, sursa_cont V(10) null, id N(20), id_efactura N(20), nr N(5), articol V(250), descriere V(250), detalii M, cantitate N(18,6), um V(20), um_iso V(50), um_roa V(50), pret N(20,6), proctva N(7,2), tiptva V(2), valoarefaratva N(20,6), discountfaratva N(20,6), in_stoc N(1), articol_roa V(250), codmat_roa V(50), codbare V(50), codclient V(100), codfurnizor V(100), codcpv V(50), codnc8 V(50), nume_gestiune V(50), cgest V(20), tva N(20,6), pretv N(20,6), tvav N(20,6), pretvtva N(20,6)
+distribuie N(1), id_tip N(10) null, id_articol N(20) null, id_gestiune N(20) null, cont C(4) null, acont C(4) null, sursa_cont V(10) null, id N(20), id_efactura N(20), nr N(5), articol V(250), descriere V(250), detalii M, cantitate N(18,6), um V(20), um_iso V(50), um_roa V(50), pret N(20,6), proctva N(7,2), tiptva V(2), valoarefaratva N(20,6), discountfaratva N(20,6), in_stoc N(1), articol_roa V(250), codmat_roa V(50), codbare V(50), codclient V(100), codfurnizor V(100), codcpv V(50), codnc8 V(50), nume_gestiune V(50), cgest V(20), tva N(20,6), pretv N(20,6), tvav N(20,6), pretvtva N(20,6), explicatia V(100), explicatia4 V(100), explicatia5 V(100)
ENDTEXT
TEXT To lcSelect Noshow
-select 0 as distribuie, CAST(0 as number(10)) as id_tip, id_articol, id_gestiune, cont, acont, sursa_cont, id, id_efactura, nr, articol, descriere, detalii, cantitate, um, um_iso, um_roa, pret, proctva, tiptva, valoarefaratva, discountfaratva, in_stoc, articol_roa, codmat_roa, codbare, codclient, codfurnizor, codcpv, codnc8, nume_gestiune, cgest, 0 as tva, 0 as pretv, 0 as tvav, 0 as pretvtva from anaf_vefactura_detalii
+select 0 as distribuie, CAST(0 as number(10)) as id_tip, id_articol, id_gestiune, cont, acont, sursa_cont, id, id_efactura, nr, articol, descriere, detalii, cantitate, um, um_iso, um_roa, pret, proctva, tiptva, valoarefaratva, discountfaratva, in_stoc, articol_roa, codmat_roa, codbare, codclient, codfurnizor, codcpv, codnc8, nume_gestiune, cgest, 0 as tva, 0 as pretv, 0 as tvav, 0 as pretvtva, '' as explicatia, '' as explicatia4, '' as explicatia5 from anaf_vefactura_detalii
ENDTEXT
lcOrder = [nr]
lcgroup = []
diff --git a/programe/pmenu.prg b/programe/pmenu.prg
index 5248817..8efd6f5 100644
--- a/programe/pmenu.prg
+++ b/programe/pmenu.prg
@@ -887,6 +887,13 @@ Procedure introducere_compacta
Where N.ID_SET = tn_idset ;
Into Cursor introdc Readwrite Order By ordine
+ * Explicatii pe articol, cand cursorul de note le aduce (import eFactura)
+ If Type('introdc.expl4_art') = 'C'
+ Update introdc Set explicatia = expl_art Where !Empty(Nvl(expl_art, ''))
+ Update introdc Set explicatia4 = expl4_art Where !Empty(Nvl(expl4_art, ''))
+ Update introdc Set explicatia5 = expl5_art Where !Empty(Nvl(expl5_art, ''))
+ Endif
+
If !Used('saft_taxtable')
update_saft_taxtable()
ENDIF
diff --git a/utile/Teste/efactura_import/test_cablare_partener_ef.prg b/utile/Teste/efactura_import/test_cablare_partener_ef.prg
index 9423e26..6e73b46 100644
--- a/utile/Teste/efactura_import/test_cablare_partener_ef.prg
+++ b/utile/Teste/efactura_import/test_cablare_partener_ef.prg
@@ -66,7 +66,7 @@ TRY
*-- crsFacturi/crsDetaliiFacturi si cursoarele ajutatoare cerute de Init, copie din import_efactura.prg
TEXT TO lcSchemaFacturi NOSHOW
-ales N(1), id N(20), id_fact N(20), data_act D, data_scad D, numar_act C(30), xfurnizor C(200), xclient C(200), partener C(200), id_incarcare C(36), id_descarcare c(36) null, tip_mesaj_raspuns C(50) null,mesaj_raspuns C(250) null, data_raspuns D null, trimis N(1) null, data_trimis T null, cod_fiscal C(30) null, cod_fiscal_emitent C(30) null, cod_fiscal_beneficiar C(30) null, detalii M null, total_fara_tva N(16,4), total_tva N(16,4), total_tva_ron N(16,4), total_cu_tva N(16,4), discount_fara_tva N(16,4), taxe_fara_tva N(16,4), valoare_fara_tva N(16,4), total_de_plata N(16,4), nume_valuta C(5), test N(1) null, jtotctva N(16,4) null, descriere M null, detalii_plata M null, diferenta N(16,4) null, procesat N(1), SerieActRoa V(10) Null, NrActRoa N(14) Null, IdPartRoa N(10) Null, PartenerRoa V(100) null, codFiscalROA V(20), idValutaROA N(5) null,numeValutaROA V(5) null, cursROA N(16,6) null,Cont c(4) Null,ACont c(4) Null,TVAIncasare N(1),Fdoc V(20) null,Id_Fdoc N(5) Null,Nrord V(100) null,Id_Lucrare I Null,Contract V(100) Null,Id_Ctr I Null,Sectie V(100) null,Id_Sectie I Null,dst_chlt V(100) null, Id_venchelt I NUll, nresp V(100) null, Id_responsabil I NUll , completat N(1), completatdet N(1), creditnote N(1), explicatiaROA V(100) null, eligibil_lot N(1), motiv_lot V(120), eroare_lot N(1), de_completat V(80), gest c(1), part_inactiv N(1)
+ales N(1), id N(20), id_fact N(20), data_act D, data_scad D, numar_act C(30), xfurnizor C(200), xclient C(200), partener C(200), id_incarcare C(36), id_descarcare c(36) null, tip_mesaj_raspuns C(50) null,mesaj_raspuns C(250) null, data_raspuns D null, trimis N(1) null, data_trimis T null, cod_fiscal C(30) null, cod_fiscal_emitent C(30) null, cod_fiscal_beneficiar C(30) null, detalii M null, total_fara_tva N(16,4), total_tva N(16,4), total_tva_ron N(16,4), total_cu_tva N(16,4), discount_fara_tva N(16,4), taxe_fara_tva N(16,4), valoare_fara_tva N(16,4), total_de_plata N(16,4), nume_valuta C(5), test N(1) null, jtotctva N(16,4) null, descriere M null, detalii_plata M null, diferenta N(16,4) null, procesat N(1), SerieActRoa V(10) Null, NrActRoa N(14) Null, IdPartRoa N(10) Null, PartenerRoa V(100) null, codFiscalROA V(20), idValutaROA N(5) null,numeValutaROA V(5) null, cursROA N(16,6) null,Cont c(4) Null,ACont c(4) Null,TVAIncasare N(1),Fdoc V(20) null,Id_Fdoc N(5) Null,Nrord V(100) null,Id_Lucrare I Null,Contract V(100) Null,Id_Ctr I Null,Sectie V(100) null,Id_Sectie I Null,dst_chlt V(100) null, Id_venchelt I NUll, nresp V(100) null, Id_responsabil I NUll , completat N(1), completatdet N(1), creditnote N(1), explicatiaROA V(100) null, explicatia4ROA V(100) null, explicatia5ROA V(100) null, eligibil_lot N(1), motiv_lot V(120), eroare_lot N(1), de_completat V(80), gest c(1), part_inactiv N(1)
ENDTEXT
IF USED('crsFacturi')
@@ -96,7 +96,7 @@ ales N(1), id N(20), id_fact N(20), data_act D, data_scad D, numar_act C(30), xf
100, 'RON', 0, 0, 0, 0, 'x', 1, '', 0)
TEXT TO lcSchemaDetalii NOSHOW
-distribuie N(1), id_tip N(10) null, id_articol N(20) null, id_gestiune N(20) null, cont C(4) null, acont C(4) null, sursa_cont V(10) null, id N(20), id_efactura N(20), nr N(5), articol V(250), descriere V(250), detalii M, cantitate N(18,6), um V(20), um_iso V(50), um_roa V(50), pret N(20,6), proctva N(7,2), tiptva V(2), valoarefaratva N(20,6), discountfaratva N(20,6), in_stoc N(1), articol_roa V(250), codmat_roa V(50), codbare V(50), codclient V(100), codfurnizor V(100), codcpv V(50), codnc8 V(50), nume_gestiune V(50), cgest V(20), tva N(20,6), pretv N(20,6), tvav N(20,6), pretvtva N(20,6)
+distribuie N(1), id_tip N(10) null, id_articol N(20) null, id_gestiune N(20) null, cont C(4) null, acont C(4) null, sursa_cont V(10) null, id N(20), id_efactura N(20), nr N(5), articol V(250), descriere V(250), detalii M, cantitate N(18,6), um V(20), um_iso V(50), um_roa V(50), pret N(20,6), proctva N(7,2), tiptva V(2), valoarefaratva N(20,6), discountfaratva N(20,6), in_stoc N(1), articol_roa V(250), codmat_roa V(50), codbare V(50), codclient V(100), codfurnizor V(100), codcpv V(50), codnc8 V(50), nume_gestiune V(50), cgest V(20), tva N(20,6), pretv N(20,6), tvav N(20,6), pretvtva N(20,6), explicatia V(100), explicatia4 V(100), explicatia5 V(100)
ENDTEXT
IF USED('crsDetaliiFacturi')
USE IN crsDetaliiFacturi
diff --git a/utile/Teste/efactura_import/test_import_efactura_smoke.prg b/utile/Teste/efactura_import/test_import_efactura_smoke.prg
index b0d4cea..83ab85b 100644
--- a/utile/Teste/efactura_import/test_import_efactura_smoke.prg
+++ b/utile/Teste/efactura_import/test_import_efactura_smoke.prg
@@ -54,13 +54,13 @@ lcData1 = '01' + Padl(Int(m.gnLuna),2,'0') + Alltrim(Str(m.gnAn))
ldData1 = GOMONTH(DATE(m.gnAn, m.gnLuna, 1), 1)
lcData2 = '01' + PADL(MONTH(m.ldData1),2,'0') + ALLTRIM(STR(YEAR(m.ldData1)))
TEXT To lcSchema Noshow
-ales N(1), id N(20), id_fact N(20), data_act D, data_scad D, numar_act C(30), xfurnizor C(200), xclient C(200), partener C(200), id_incarcare C(36), id_descarcare c(36) null, tip_mesaj_raspuns C(50) null,mesaj_raspuns C(250) null, data_raspuns D null, trimis N(1) null, data_trimis T null, cod_fiscal C(30) null, cod_fiscal_emitent C(30) null, cod_fiscal_beneficiar C(30) null, detalii M null, total_fara_tva N(16,4), total_tva N(16,4), total_tva_ron N(16,4), total_cu_tva N(16,4), discount_fara_tva N(16,4), taxe_fara_tva N(16,4), valoare_fara_tva N(16,4), total_de_plata N(16,4), nume_valuta C(5), test N(1) null, jtotctva N(16,4) null, descriere M null, detalii_plata M null, diferenta N(16,4) null, procesat N(1), SerieActRoa V(10) Null, NrActRoa N(14) Null, IdPartRoa N(10) Null, PartenerRoa V(100) null, codFiscalROA V(20), idValutaROA N(5) null,numeValutaROA V(5) null, cursROA N(16,6) null,Cont c(4) Null,ACont c(4) Null,TVAIncasare N(1),Fdoc V(20) null,Id_Fdoc N(5) Null,Nrord V(100) null,Id_Lucrare I Null,Contract V(100) Null,Id_Ctr I Null,Sectie V(100) null,Id_Sectie I Null,dst_chlt V(100) null, Id_venchelt I NUll, nresp V(100) null, Id_responsabil I NUll , completat N(1), completatdet N(1), creditnote N(1), explicatiaROA V(100) null, eligibil_lot N(1), motiv_lot V(120), eroare_lot N(1), de_completat V(200), gest c(1), part_inactiv N(1)
+ales N(1), id N(20), id_fact N(20), data_act D, data_scad D, numar_act C(30), xfurnizor C(200), xclient C(200), partener C(200), id_incarcare C(36), id_descarcare c(36) null, tip_mesaj_raspuns C(50) null,mesaj_raspuns C(250) null, data_raspuns D null, trimis N(1) null, data_trimis T null, cod_fiscal C(30) null, cod_fiscal_emitent C(30) null, cod_fiscal_beneficiar C(30) null, detalii M null, total_fara_tva N(16,4), total_tva N(16,4), total_tva_ron N(16,4), total_cu_tva N(16,4), discount_fara_tva N(16,4), taxe_fara_tva N(16,4), valoare_fara_tva N(16,4), total_de_plata N(16,4), nume_valuta C(5), test N(1) null, jtotctva N(16,4) null, descriere M null, detalii_plata M null, diferenta N(16,4) null, procesat N(1), SerieActRoa V(10) Null, NrActRoa N(14) Null, IdPartRoa N(10) Null, PartenerRoa V(100) null, codFiscalROA V(20), idValutaROA N(5) null,numeValutaROA V(5) null, cursROA N(16,6) null,Cont c(4) Null,ACont c(4) Null,TVAIncasare N(1),Fdoc V(20) null,Id_Fdoc N(5) Null,Nrord V(100) null,Id_Lucrare I Null,Contract V(100) Null,Id_Ctr I Null,Sectie V(100) null,Id_Sectie I Null,dst_chlt V(100) null, Id_venchelt I NUll, nresp V(100) null, Id_responsabil I NUll , completat N(1), completatdet N(1), creditnote N(1), explicatiaROA V(100) null, explicatia4ROA V(100) null, explicatia5ROA V(100) null, eligibil_lot N(1), motiv_lot V(120), eroare_lot N(1), de_completat V(200), gest c(1), part_inactiv N(1)
ENDTEXT
TEXT To lcSelect TEXTMERGE Noshow
SELECT 0 as ales, id, id_fact, data_act, data_scad, numar_act, xfurnizor, xclient, partener, id_incarcare, id_descarcare, tip_mesaj_raspuns, mesaj_raspuns, data_raspuns, NVL(trimis,0) as trimis, data_trimis, cod_fiscal, cod_fiscal_emitent, cod_fiscal_beneficiar, '' as detalii, total_fara_tva, total_tva, total_tva_ron, total_cu_tva, discount_fara_tva, taxe_fara_tva, valoare_fara_tva, total_de_plata, nume_valuta, test, jtotctva, descriere, detalii_plata, case when jtotctva is null then null when NVL(nume_valuta,'RON') <> 'RON' then null else decode(creditnote,0,1,-1) * NVL(total_cu_tva,0.00) - (NVL(jtotctva,0.00) - NVL(jtva_ti,0.00)) end as diferenta, procesat,
'' as SerieActRoa, CAST(null as Number(14)) as NrActRoa, CAST(null as Number(20)) as idPartRoa, '' as PartenerRoa, '' as codFiscalROA, CAST(null as Number(10)) as idValutaROA, '' as numeValutaROA, CAST(null as Number(16,6)) as cursROA,
'' as Cont, '' as acont, 0 as TVAIncasare, '' as Fdoc, CAST(0 as Number(5)) as Id_Fdoc, '' as Nrord, CAST(0 as Number(10)) as id_Lucrare, '' as Contract, CAST(null as Number(10)) as id_ctr,
-'' Sectie, CAST(0 as Number(10)) as id_Sectie, '' as dst_chlt, CAST(0 as Number(10)) as id_Venchelt, '' as nresp, CAST(0 as Number(10)) as id_responsabil, 0 as completat, 0 as completatdet, creditnote, '' as explicatiaROA, 1 as eligibil_lot, '' as motiv_lot, 0 as eroare_lot, '' as de_completat, '' as gest, 0 as part_inactiv
+'' Sectie, CAST(0 as Number(10)) as id_Sectie, '' as dst_chlt, CAST(0 as Number(10)) as id_Venchelt, '' as nresp, CAST(0 as Number(10)) as id_responsabil, 0 as completat, 0 as completatdet, creditnote, '' as explicatiaROA, '' as explicatia4ROA, '' as explicatia5ROA, 1 as eligibil_lot, '' as motiv_lot, 0 as eroare_lot, '' as de_completat, '' as gest, 0 as part_inactiv
FROM anaf_vefactura_primit
ENDTEXT
lcOrder = [data_act,numar_act,data_raspuns]
@@ -86,10 +86,10 @@ ENDIF
lnRecnoFixt = RECNO('crsFacturi')
TEXT To lcSchema Noshow
-distribuie N(1), id_tip N(10) null, id_articol N(20) null, id_gestiune N(20) null, cont C(4) null, acont C(4) null, sursa_cont V(10) null, id N(20), id_efactura N(20), nr N(5), articol V(250), descriere V(250), detalii M, cantitate N(18,6), um V(20), um_iso V(50), um_roa V(50), pret N(20,6), proctva N(7,2), tiptva V(2), valoarefaratva N(20,6), discountfaratva N(20,6), in_stoc N(1), articol_roa V(250), codmat_roa V(50), codbare V(50), codclient V(100), codfurnizor V(100), codcpv V(50), codnc8 V(50), nume_gestiune V(50), cgest V(20), tva N(20,6), pretv N(20,6), tvav N(20,6), pretvtva N(20,6)
+distribuie N(1), id_tip N(10) null, id_articol N(20) null, id_gestiune N(20) null, cont C(4) null, acont C(4) null, sursa_cont V(10) null, id N(20), id_efactura N(20), nr N(5), articol V(250), descriere V(250), detalii M, cantitate N(18,6), um V(20), um_iso V(50), um_roa V(50), pret N(20,6), proctva N(7,2), tiptva V(2), valoarefaratva N(20,6), discountfaratva N(20,6), in_stoc N(1), articol_roa V(250), codmat_roa V(50), codbare V(50), codclient V(100), codfurnizor V(100), codcpv V(50), codnc8 V(50), nume_gestiune V(50), cgest V(20), tva N(20,6), pretv N(20,6), tvav N(20,6), pretvtva N(20,6), explicatia V(100), explicatia4 V(100), explicatia5 V(100)
ENDTEXT
TEXT To lcSelect Noshow
-select 0 as distribuie, CAST(0 as number(10)) as id_tip, id_articol, id_gestiune, cont, acont, sursa_cont, id, id_efactura, nr, articol, descriere, detalii, cantitate, um, um_iso, um_roa, pret, proctva, tiptva, valoarefaratva, discountfaratva, in_stoc, articol_roa, codmat_roa, codbare, codclient, codfurnizor, codcpv, codnc8, nume_gestiune, cgest, 0 as tva, 0 as pretv, 0 as tvav, 0 as pretvtva from anaf_vefactura_detalii
+select 0 as distribuie, CAST(0 as number(10)) as id_tip, id_articol, id_gestiune, cont, acont, sursa_cont, id, id_efactura, nr, articol, descriere, detalii, cantitate, um, um_iso, um_roa, pret, proctva, tiptva, valoarefaratva, discountfaratva, in_stoc, articol_roa, codmat_roa, codbare, codclient, codfurnizor, codcpv, codnc8, nume_gestiune, cgest, 0 as tva, 0 as pretv, 0 as tvav, 0 as pretvtva, '' as explicatia, '' as explicatia4, '' as explicatia5 from anaf_vefactura_detalii
ENDTEXT
lcOrder = [nr]
lcgroup = []
@@ -237,6 +237,10 @@ IF TYPE('loFormA') = 'O'
TRANSFORM(loFormA.grdFacturi.cDeCompletat.ColumnOrder) + '/' + TRANSFORM(loFormA.grdFacturi.cGest.ColumnOrder) + '/' + ;
TRANSFORM(loFormA.grdFacturi.cNr.ColumnOrder) + '/' + TRANSFORM(loFormA.grdFacturi.cData.ColumnOrder)
DO TVerdict WITH lcOrdine == '1/2/3/4/5', 'E8 ordinea coloanelor ales/decompletat/gest/nr/data = 1/2/3/4/5', lcOrdine
+
+ lcExpl = TYPE('loFormA.txtExplicatia4') + '/' + TYPE('loFormA.txtExplicatia5') + '/' + ;
+ TYPE('loFormA.grdDetaliiFacturi.cExplicatia') + '/' + TYPE('loFormA.grdDetaliiFacturi.cExplicatia4') + '/' + TYPE('loFormA.grdDetaliiFacturi.cExplicatia5')
+ DO TVerdict WITH lcExpl == 'O/O/O/O/O', 'E9 controalele Explicatia 2/3 (antet + grid) exista', lcExpl
DO TVerdict WITH PEMSTATUS(loFormA, 'do_coada', 5), 'E5 metoda do_coada exista', TRANSFORM(PEMSTATUS(loFormA, 'do_coada', 5))
DO TVerdict WITH PEMSTATUS(loFormA, 'do_anulare_lot', 5), 'E6 metoda do_anulare_lot exista', TRANSFORM(PEMSTATUS(loFormA, 'do_anulare_lot', 5))
diff --git a/utile/Teste/efactura_import/test_pozitie_lista_ef.prg b/utile/Teste/efactura_import/test_pozitie_lista_ef.prg
index c285fcf..b27ab86 100644
--- a/utile/Teste/efactura_import/test_pozitie_lista_ef.prg
+++ b/utile/Teste/efactura_import/test_pozitie_lista_ef.prg
@@ -45,7 +45,7 @@ TRY
*-- crsFacturi/crsDetaliiFacturi si cursoarele ajutatoare cerute de Init, copie din import_efactura.prg
TEXT TO lcSchemaFacturi NOSHOW
-ales N(1), id N(20), id_fact N(20), data_act D, data_scad D, numar_act C(30), xfurnizor C(200), xclient C(200), partener C(200), id_incarcare C(36), id_descarcare c(36) null, tip_mesaj_raspuns C(50) null,mesaj_raspuns C(250) null, data_raspuns D null, trimis N(1) null, data_trimis T null, cod_fiscal C(30) null, cod_fiscal_emitent C(30) null, cod_fiscal_beneficiar C(30) null, detalii M null, total_fara_tva N(16,4), total_tva N(16,4), total_tva_ron N(16,4), total_cu_tva N(16,4), discount_fara_tva N(16,4), taxe_fara_tva N(16,4), valoare_fara_tva N(16,4), total_de_plata N(16,4), nume_valuta C(5), test N(1) null, jtotctva N(16,4) null, descriere M null, detalii_plata M null, diferenta N(16,4) null, procesat N(1), SerieActRoa V(10) Null, NrActRoa N(14) Null, IdPartRoa N(10) Null, PartenerRoa V(100) null, codFiscalROA V(20), idValutaROA N(5) null,numeValutaROA V(5) null, cursROA N(16,6) null,Cont c(4) Null,ACont c(4) Null,TVAIncasare N(1),Fdoc V(20) null,Id_Fdoc N(5) Null,Nrord V(100) null,Id_Lucrare I Null,Contract V(100) Null,Id_Ctr I Null,Sectie V(100) null,Id_Sectie I Null,dst_chlt V(100) null, Id_venchelt I NUll, nresp V(100) null, Id_responsabil I NUll , completat N(1), completatdet N(1), creditnote N(1), explicatiaROA V(100) null, eligibil_lot N(1), motiv_lot V(120), eroare_lot N(1), de_completat V(80), gest c(1), part_inactiv N(1)
+ales N(1), id N(20), id_fact N(20), data_act D, data_scad D, numar_act C(30), xfurnizor C(200), xclient C(200), partener C(200), id_incarcare C(36), id_descarcare c(36) null, tip_mesaj_raspuns C(50) null,mesaj_raspuns C(250) null, data_raspuns D null, trimis N(1) null, data_trimis T null, cod_fiscal C(30) null, cod_fiscal_emitent C(30) null, cod_fiscal_beneficiar C(30) null, detalii M null, total_fara_tva N(16,4), total_tva N(16,4), total_tva_ron N(16,4), total_cu_tva N(16,4), discount_fara_tva N(16,4), taxe_fara_tva N(16,4), valoare_fara_tva N(16,4), total_de_plata N(16,4), nume_valuta C(5), test N(1) null, jtotctva N(16,4) null, descriere M null, detalii_plata M null, diferenta N(16,4) null, procesat N(1), SerieActRoa V(10) Null, NrActRoa N(14) Null, IdPartRoa N(10) Null, PartenerRoa V(100) null, codFiscalROA V(20), idValutaROA N(5) null,numeValutaROA V(5) null, cursROA N(16,6) null,Cont c(4) Null,ACont c(4) Null,TVAIncasare N(1),Fdoc V(20) null,Id_Fdoc N(5) Null,Nrord V(100) null,Id_Lucrare I Null,Contract V(100) Null,Id_Ctr I Null,Sectie V(100) null,Id_Sectie I Null,dst_chlt V(100) null, Id_venchelt I NUll, nresp V(100) null, Id_responsabil I NUll , completat N(1), completatdet N(1), creditnote N(1), explicatiaROA V(100) null, explicatia4ROA V(100) null, explicatia5ROA V(100) null, eligibil_lot N(1), motiv_lot V(120), eroare_lot N(1), de_completat V(80), gest c(1), part_inactiv N(1)
ENDTEXT
IF USED('crsFacturi')
@@ -76,7 +76,7 @@ ales N(1), id N(20), id_fact N(20), data_act D, data_scad D, numar_act C(30), xf
100, 'RON', 0, 0, 0, 0, 'x', 1, '', 0, '', '')
TEXT TO lcSchemaDetalii NOSHOW
-distribuie N(1), id_tip N(10) null, id_articol N(20) null, id_gestiune N(20) null, cont C(4) null, acont C(4) null, sursa_cont V(10) null, id N(20), id_efactura N(20), nr N(5), articol V(250), descriere V(250), detalii M, cantitate N(18,6), um V(20), um_iso V(50), um_roa V(50), pret N(20,6), proctva N(7,2), tiptva V(2), valoarefaratva N(20,6), discountfaratva N(20,6), in_stoc N(1), articol_roa V(250), codmat_roa V(50), codbare V(50), codclient V(100), codfurnizor V(100), codcpv V(50), codnc8 V(50), nume_gestiune V(50), cgest V(20), tva N(20,6), pretv N(20,6), tvav N(20,6), pretvtva N(20,6)
+distribuie N(1), id_tip N(10) null, id_articol N(20) null, id_gestiune N(20) null, cont C(4) null, acont C(4) null, sursa_cont V(10) null, id N(20), id_efactura N(20), nr N(5), articol V(250), descriere V(250), detalii M, cantitate N(18,6), um V(20), um_iso V(50), um_roa V(50), pret N(20,6), proctva N(7,2), tiptva V(2), valoarefaratva N(20,6), discountfaratva N(20,6), in_stoc N(1), articol_roa V(250), codmat_roa V(50), codbare V(50), codclient V(100), codfurnizor V(100), codcpv V(50), codnc8 V(50), nume_gestiune V(50), cgest V(20), tva N(20,6), pretv N(20,6), tvav N(20,6), pretvtva N(20,6), explicatia V(100), explicatia4 V(100), explicatia5 V(100)
ENDTEXT
IF USED('crsDetaliiFacturi')
USE IN crsDetaliiFacturi
diff --git a/utile/Teste/efactura_import/test_progres_lot_ui.prg b/utile/Teste/efactura_import/test_progres_lot_ui.prg
index 0d8bed0..4bd7dcd 100644
--- a/utile/Teste/efactura_import/test_progres_lot_ui.prg
+++ b/utile/Teste/efactura_import/test_progres_lot_ui.prg
@@ -64,17 +64,28 @@ DO HarnessLog WITH 'proceduri incarcate'
* cele 10 facturi ZZTEST folosite in lot, in ordinea dorita in coada (C4 pe pozitia 6, din mijlocul
* lotului - singura cu articol gestionabil - ruta 2, frm_modific2024)
-LOCAL ARRAY laIdLot(10)
-laIdLot(1) = 7360 && A1-C
-laIdLot(2) = 7364 && A2-C
-laIdLot(3) = 7368 && A3-C
-laIdLot(4) = 7372 && A4-C
-laIdLot(5) = 7380 && A5-C
-laIdLot(6) = 7408 && C4-C - Import gestiune
-laIdLot(7) = 7387 && A7-C
-laIdLot(8) = 7392 && B1-C
-laIdLot(9) = 7402 && C1-C
-laIdLot(10) = 7382 && A6-C
+* id-urile se citesc din baza dupa numarul facturii: fiecare re-semanare le schimba
+LOCAL ARRAY laIdLot(10), laCodLot(10)
+LOCAL lnJ, lnIdTemp
+laCodLot(1) = 'ZZT-A1-C'
+laCodLot(2) = 'ZZT-A2-C'
+laCodLot(3) = 'ZZT-A3-C'
+laCodLot(4) = 'ZZT-A4-C'
+laCodLot(5) = 'ZZT-A5-C'
+laCodLot(6) = 'ZZT-C4-C' && Import gestiune, pozitia 6 in lot
+laCodLot(7) = 'ZZT-A7-C'
+laCodLot(8) = 'ZZT-B1-C'
+laCodLot(9) = 'ZZT-C1-C'
+laCodLot(10) = 'ZZT-A6-C'
+FOR lnJ = 1 TO 10
+ * scalar intermediar: @element_de_array direct in oSelecteaza2Value da eroarea 11
+ lnIdTemp = 0
+ goExecutor.oSelecteaza2Value("select max(id) from anaf_efactura where xnumar_act = '" + laCodLot(lnJ) + "'", @lnIdTemp)
+ laIdLot(lnJ) = lnIdTemp
+ IF NVL(laIdLot(lnJ), 0) = 0
+ DO HarnessLog WITH 'PRECONDITIE: lipseste factura ' + laCodLot(lnJ) + ' - ruleaza seed_test_import_efactura.ps1'
+ ENDIF
+ENDFOR
LOCAL lcListaId, lnI
lcListaId = ''
@@ -316,13 +327,13 @@ PROCEDURE BuildCursoare
ENDIF
TEXT TO lcSchema NOSHOW
-ales N(1), id N(20), id_fact N(20), data_act D, data_scad D, numar_act C(30), xfurnizor C(200), xclient C(200), partener C(200), id_incarcare C(36), id_descarcare c(36) null, tip_mesaj_raspuns C(50) null,mesaj_raspuns C(250) null, data_raspuns D null, trimis N(1) null, data_trimis T null, cod_fiscal C(30) null, cod_fiscal_emitent C(30) null, cod_fiscal_beneficiar C(30) null, detalii M null, total_fara_tva N(16,4), total_tva N(16,4), total_tva_ron N(16,4), total_cu_tva N(16,4), discount_fara_tva N(16,4), taxe_fara_tva N(16,4), valoare_fara_tva N(16,4), total_de_plata N(16,4), nume_valuta C(5), test N(1) null, jtotctva N(16,4) null, descriere M null, detalii_plata M null, diferenta N(16,4) null, procesat N(1), SerieActRoa V(10) Null, NrActRoa N(14) Null, IdPartRoa N(10) Null, PartenerRoa V(100) null, codFiscalROA V(20), idValutaROA N(5) null,numeValutaROA V(5) null, cursROA N(16,6) null,Cont c(4) Null,ACont c(4) Null,TVAIncasare N(1),Fdoc V(20) null,Id_Fdoc N(5) Null,Nrord V(100) null,Id_Lucrare I Null,Contract V(100) Null,Id_Ctr I Null,Sectie V(100) null,Id_Sectie I Null,dst_chlt V(100) null, Id_venchelt I NUll, nresp V(100) null, Id_responsabil I NUll , completat N(1), completatdet N(1), creditnote N(1), explicatiaROA V(100) null, eligibil_lot N(1), motiv_lot V(120), eroare_lot N(1), de_completat V(200), part_inactiv N(1)
+ales N(1), id N(20), id_fact N(20), data_act D, data_scad D, numar_act C(30), xfurnizor C(200), xclient C(200), partener C(200), id_incarcare C(36), id_descarcare c(36) null, tip_mesaj_raspuns C(50) null,mesaj_raspuns C(250) null, data_raspuns D null, trimis N(1) null, data_trimis T null, cod_fiscal C(30) null, cod_fiscal_emitent C(30) null, cod_fiscal_beneficiar C(30) null, detalii M null, total_fara_tva N(16,4), total_tva N(16,4), total_tva_ron N(16,4), total_cu_tva N(16,4), discount_fara_tva N(16,4), taxe_fara_tva N(16,4), valoare_fara_tva N(16,4), total_de_plata N(16,4), nume_valuta C(5), test N(1) null, jtotctva N(16,4) null, descriere M null, detalii_plata M null, diferenta N(16,4) null, procesat N(1), SerieActRoa V(10) Null, NrActRoa N(14) Null, IdPartRoa N(10) Null, PartenerRoa V(100) null, codFiscalROA V(20), idValutaROA N(5) null,numeValutaROA V(5) null, cursROA N(16,6) null,Cont c(4) Null,ACont c(4) Null,TVAIncasare N(1),Fdoc V(20) null,Id_Fdoc N(5) Null,Nrord V(100) null,Id_Lucrare I Null,Contract V(100) Null,Id_Ctr I Null,Sectie V(100) null,Id_Sectie I Null,dst_chlt V(100) null, Id_venchelt I NUll, nresp V(100) null, Id_responsabil I NUll , completat N(1), completatdet N(1), creditnote N(1), explicatiaROA V(100) null, explicatia4ROA V(100) null, explicatia5ROA V(100) null, eligibil_lot N(1), motiv_lot V(120), eroare_lot N(1), de_completat V(80), gest c(1), part_inactiv N(1)
ENDTEXT
TEXT TO lcSelect TEXTMERGE NOSHOW
SELECT 0 as ales, id, id_fact, data_act, data_scad, numar_act, xfurnizor, xclient, partener, id_incarcare, id_descarcare, tip_mesaj_raspuns, mesaj_raspuns, data_raspuns, NVL(trimis,0) as trimis, data_trimis, cod_fiscal, cod_fiscal_emitent, cod_fiscal_beneficiar, '' as detalii, total_fara_tva, total_tva, total_tva_ron, total_cu_tva, discount_fara_tva, taxe_fara_tva, valoare_fara_tva, total_de_plata, nume_valuta, test, jtotctva, descriere, detalii_plata, case when jtotctva is null then null when NVL(nume_valuta,'RON') <> 'RON' then null else decode(creditnote,0,1,-1) * NVL(total_cu_tva,0.00) - (NVL(jtotctva,0.00) - NVL(jtva_ti,0.00)) end as diferenta, procesat,
'' as SerieActRoa, CAST(null as Number(14)) as NrActRoa, CAST(null as Number(20)) as idPartRoa, '' as PartenerRoa, '' as codFiscalROA, CAST(null as Number(10)) as idValutaROA, '' as numeValutaROA, CAST(null as Number(16,6)) as cursROA,
'' as Cont, '' as acont, 0 as TVAIncasare, '' as Fdoc, CAST(0 as Number(5)) as Id_Fdoc, '' as Nrord, CAST(0 as Number(10)) as id_Lucrare, '' as Contract, CAST(null as Number(10)) as id_ctr,
-'' Sectie, CAST(0 as Number(10)) as id_Sectie, '' as dst_chlt, CAST(0 as Number(10)) as id_Venchelt, '' as nresp, CAST(0 as Number(10)) as id_responsabil, 0 as completat, 0 as completatdet, creditnote, '' as explicatiaROA, 1 as eligibil_lot, '' as motiv_lot, 0 as eroare_lot, '' as de_completat, 0 as part_inactiv
+'' Sectie, CAST(0 as Number(10)) as id_Sectie, '' as dst_chlt, CAST(0 as Number(10)) as id_Venchelt, '' as nresp, CAST(0 as Number(10)) as id_responsabil, 0 as completat, 0 as completatdet, creditnote, '' as explicatiaROA, '' as explicatia4ROA, '' as explicatia5ROA, 1 as eligibil_lot, '' as motiv_lot, 0 as eroare_lot, '' as de_completat, '' as gest, 0 as part_inactiv
FROM anaf_vefactura_primit
ENDTEXT
lcOrder = [data_act,numar_act,data_raspuns]
@@ -340,10 +351,10 @@ FROM anaf_vefactura_primit
poFacturi.ca_baza1.afisare()
TEXT TO lcSchema NOSHOW
-distribuie N(1), id_tip N(10) null, id_articol N(20) null, id_gestiune N(20) null, cont C(4) null, acont C(4) null, sursa_cont V(10) null, id N(20), id_efactura N(20), nr N(5), articol V(250), descriere V(250), detalii M, cantitate N(18,6), um V(20), um_iso V(50), um_roa V(50), pret N(20,6), proctva N(7,2), tiptva V(2), valoarefaratva N(20,6), discountfaratva N(20,6), in_stoc N(1), articol_roa V(250), codmat_roa V(50), codbare V(50), codclient V(100), codfurnizor V(100), codcpv V(50), codnc8 V(50), nume_gestiune V(50), cgest V(20), tva N(20,6), pretv N(20,6), tvav N(20,6), pretvtva N(20,6)
+distribuie N(1), id_tip N(10) null, id_articol N(20) null, id_gestiune N(20) null, cont C(4) null, acont C(4) null, sursa_cont V(10) null, id N(20), id_efactura N(20), nr N(5), articol V(250), descriere V(250), detalii M, cantitate N(18,6), um V(20), um_iso V(50), um_roa V(50), pret N(20,6), proctva N(7,2), tiptva V(2), valoarefaratva N(20,6), discountfaratva N(20,6), in_stoc N(1), articol_roa V(250), codmat_roa V(50), codbare V(50), codclient V(100), codfurnizor V(100), codcpv V(50), codnc8 V(50), nume_gestiune V(50), cgest V(20), tva N(20,6), pretv N(20,6), tvav N(20,6), pretvtva N(20,6), explicatia V(100), explicatia4 V(100), explicatia5 V(100)
ENDTEXT
TEXT TO lcSelect NOSHOW
-select 0 as distribuie, CAST(0 as number(10)) as id_tip, id_articol, id_gestiune, cont, acont, sursa_cont, id, id_efactura, nr, articol, descriere, detalii, cantitate, um, um_iso, um_roa, pret, proctva, tiptva, valoarefaratva, discountfaratva, in_stoc, articol_roa, codmat_roa, codbare, codclient, codfurnizor, codcpv, codnc8, nume_gestiune, cgest, 0 as tva, 0 as pretv, 0 as tvav, 0 as pretvtva from anaf_vefactura_detalii
+select 0 as distribuie, CAST(0 as number(10)) as id_tip, id_articol, id_gestiune, cont, acont, sursa_cont, id, id_efactura, nr, articol, descriere, detalii, cantitate, um, um_iso, um_roa, pret, proctva, tiptva, valoarefaratva, discountfaratva, in_stoc, articol_roa, codmat_roa, codbare, codclient, codfurnizor, codcpv, codnc8, nume_gestiune, cgest, 0 as tva, 0 as pretv, 0 as tvav, 0 as pretvtva, '' as explicatia, '' as explicatia4, '' as explicatia5 from anaf_vefactura_detalii
ENDTEXT
lcOrder = [id_efactura,nr]
lcGroup = []
diff --git a/utile/Teste/efactura_import/test_repro_visible_null.prg b/utile/Teste/efactura_import/test_repro_visible_null.prg
index e3a6150..e677a54 100644
--- a/utile/Teste/efactura_import/test_repro_visible_null.prg
+++ b/utile/Teste/efactura_import/test_repro_visible_null.prg
@@ -78,13 +78,13 @@ lcData1 = '01' + Padl(Int(m.gnLuna),2,'0') + Alltrim(Str(m.gnAn))
ldData1 = GOMONTH(DATE(m.gnAn, m.gnLuna, 1), 1)
lcData2 = '01' + PADL(MONTH(m.ldData1),2,'0') + ALLTRIM(STR(YEAR(m.ldData1)))
TEXT To lcSchema Noshow
-ales N(1), id N(20), id_fact N(20), data_act D, data_scad D, numar_act C(30), xfurnizor C(200), xclient C(200), partener C(200), id_incarcare C(36), id_descarcare c(36) null, tip_mesaj_raspuns C(50) null,mesaj_raspuns C(250) null, data_raspuns D null, trimis N(1) null, data_trimis T null, cod_fiscal C(30) null, cod_fiscal_emitent C(30) null, cod_fiscal_beneficiar C(30) null, detalii M null, total_fara_tva N(16,4), total_tva N(16,4), total_tva_ron N(16,4), total_cu_tva N(16,4), discount_fara_tva N(16,4), taxe_fara_tva N(16,4), valoare_fara_tva N(16,4), total_de_plata N(16,4), nume_valuta C(5), test N(1) null, jtotctva N(16,4) null, descriere M null, detalii_plata M null, diferenta N(16,4) null, procesat N(1), SerieActRoa V(10) Null, NrActRoa N(14) Null, IdPartRoa N(10) Null, PartenerRoa V(100) null, codFiscalROA V(20), idValutaROA N(5) null,numeValutaROA V(5) null, cursROA N(16,6) null,Cont c(4) Null,ACont c(4) Null,TVAIncasare N(1),Fdoc V(20) null,Id_Fdoc N(5) Null,Nrord V(100) null,Id_Lucrare I Null,Contract V(100) Null,Id_Ctr I Null,Sectie V(100) null,Id_Sectie I Null,dst_chlt V(100) null, Id_venchelt I NUll, nresp V(100) null, Id_responsabil I NUll , completat N(1), completatdet N(1), creditnote N(1), explicatiaROA V(100) null, eligibil_lot N(1), motiv_lot V(120), eroare_lot N(1)
+ales N(1), id N(20), id_fact N(20), data_act D, data_scad D, numar_act C(30), xfurnizor C(200), xclient C(200), partener C(200), id_incarcare C(36), id_descarcare c(36) null, tip_mesaj_raspuns C(50) null,mesaj_raspuns C(250) null, data_raspuns D null, trimis N(1) null, data_trimis T null, cod_fiscal C(30) null, cod_fiscal_emitent C(30) null, cod_fiscal_beneficiar C(30) null, detalii M null, total_fara_tva N(16,4), total_tva N(16,4), total_tva_ron N(16,4), total_cu_tva N(16,4), discount_fara_tva N(16,4), taxe_fara_tva N(16,4), valoare_fara_tva N(16,4), total_de_plata N(16,4), nume_valuta C(5), test N(1) null, jtotctva N(16,4) null, descriere M null, detalii_plata M null, diferenta N(16,4) null, procesat N(1), SerieActRoa V(10) Null, NrActRoa N(14) Null, IdPartRoa N(10) Null, PartenerRoa V(100) null, codFiscalROA V(20), idValutaROA N(5) null,numeValutaROA V(5) null, cursROA N(16,6) null,Cont c(4) Null,ACont c(4) Null,TVAIncasare N(1),Fdoc V(20) null,Id_Fdoc N(5) Null,Nrord V(100) null,Id_Lucrare I Null,Contract V(100) Null,Id_Ctr I Null,Sectie V(100) null,Id_Sectie I Null,dst_chlt V(100) null, Id_venchelt I NUll, nresp V(100) null, Id_responsabil I NUll , completat N(1), completatdet N(1), creditnote N(1), explicatiaROA V(100) null, explicatia4ROA V(100) null, explicatia5ROA V(100) null, eligibil_lot N(1), motiv_lot V(120), eroare_lot N(1), de_completat V(80), gest c(1), part_inactiv N(1)
ENDTEXT
TEXT To lcSelect TEXTMERGE Noshow
SELECT 0 as ales, id, id_fact, data_act, data_scad, numar_act, xfurnizor, xclient, partener, id_incarcare, id_descarcare, tip_mesaj_raspuns, mesaj_raspuns, data_raspuns, NVL(trimis,0) as trimis, data_trimis, cod_fiscal, cod_fiscal_emitent, cod_fiscal_beneficiar, '' as detalii, total_fara_tva, total_tva, total_tva_ron, total_cu_tva, discount_fara_tva, taxe_fara_tva, valoare_fara_tva, total_de_plata, nume_valuta, test, jtotctva, descriere, detalii_plata, case when jtotctva is null then null when NVL(nume_valuta,'RON') <> 'RON' then null else decode(creditnote,0,1,-1) * NVL(total_cu_tva,0.00) - (NVL(jtotctva,0.00) - NVL(jtva_ti,0.00)) end as diferenta, procesat,
'' as SerieActRoa, CAST(null as Number(14)) as NrActRoa, CAST(null as Number(20)) as idPartRoa, '' as PartenerRoa, '' as codFiscalROA, CAST(null as Number(10)) as idValutaROA, '' as numeValutaROA, CAST(null as Number(16,6)) as cursROA,
'' as Cont, '' as acont, 0 as TVAIncasare, '' as Fdoc, CAST(0 as Number(5)) as Id_Fdoc, '' as Nrord, CAST(0 as Number(10)) as id_Lucrare, '' as Contract, CAST(null as Number(10)) as id_ctr,
-'' Sectie, CAST(0 as Number(10)) as id_Sectie, '' as dst_chlt, CAST(0 as Number(10)) as id_Venchelt, '' as nresp, CAST(0 as Number(10)) as id_responsabil, 0 as completat, 0 as completatdet, creditnote, '' as explicatiaROA, 1 as eligibil_lot, '' as motiv_lot, 0 as eroare_lot
+'' Sectie, CAST(0 as Number(10)) as id_Sectie, '' as dst_chlt, CAST(0 as Number(10)) as id_Venchelt, '' as nresp, CAST(0 as Number(10)) as id_responsabil, 0 as completat, 0 as completatdet, creditnote, '' as explicatiaROA, '' as explicatia4ROA, '' as explicatia5ROA, 1 as eligibil_lot, '' as motiv_lot, 0 as eroare_lot, '' as de_completat, '' as gest, 0 as part_inactiv
FROM anaf_vefactura_primit
ENDTEXT
lcOrder = [data_act,numar_act,data_raspuns]
@@ -111,10 +111,10 @@ DO TLog WITH 'rand testat: id=' + TRANSFORM(crsFacturi.id) + ' numar_act=' + ALL
* cursoare cerute de Init-ul formularului (copie din vizImportEFactura)
lnIdEF = crsFacturi.id
TEXT To lcSchema Noshow
-distribuie N(1), id_tip N(10) null, id_articol N(20) null, id_gestiune N(20) null, cont C(4) null, acont C(4) null, sursa_cont V(10) null, id N(20), id_efactura N(20), nr N(5), articol V(250), descriere V(250), detalii M, cantitate N(18,6), um V(20), um_iso V(50), um_roa V(50), pret N(20,6), proctva N(7,2), tiptva V(2), valoarefaratva N(20,6), discountfaratva N(20,6), in_stoc N(1), articol_roa V(250), codmat_roa V(50), codbare V(50), codclient V(100), codfurnizor V(100), codcpv V(50), codnc8 V(50), nume_gestiune V(50), cgest V(20), tva N(20,6), pretv N(20,6), tvav N(20,6), pretvtva N(20,6)
+distribuie N(1), id_tip N(10) null, id_articol N(20) null, id_gestiune N(20) null, cont C(4) null, acont C(4) null, sursa_cont V(10) null, id N(20), id_efactura N(20), nr N(5), articol V(250), descriere V(250), detalii M, cantitate N(18,6), um V(20), um_iso V(50), um_roa V(50), pret N(20,6), proctva N(7,2), tiptva V(2), valoarefaratva N(20,6), discountfaratva N(20,6), in_stoc N(1), articol_roa V(250), codmat_roa V(50), codbare V(50), codclient V(100), codfurnizor V(100), codcpv V(50), codnc8 V(50), nume_gestiune V(50), cgest V(20), tva N(20,6), pretv N(20,6), tvav N(20,6), pretvtva N(20,6), explicatia V(100), explicatia4 V(100), explicatia5 V(100)
ENDTEXT
TEXT To lcSelect Noshow
-select 0 as distribuie, CAST(0 as number(10)) as id_tip, id_articol, id_gestiune, cont, acont, sursa_cont, id, id_efactura, nr, articol, descriere, detalii, cantitate, um, um_iso, um_roa, pret, proctva, tiptva, valoarefaratva, discountfaratva, in_stoc, articol_roa, codmat_roa, codbare, codclient, codfurnizor, codcpv, codnc8, nume_gestiune, cgest, 0 as tva, 0 as pretv, 0 as tvav, 0 as pretvtva from anaf_vefactura_detalii
+select 0 as distribuie, CAST(0 as number(10)) as id_tip, id_articol, id_gestiune, cont, acont, sursa_cont, id, id_efactura, nr, articol, descriere, detalii, cantitate, um, um_iso, um_roa, pret, proctva, tiptva, valoarefaratva, discountfaratva, in_stoc, articol_roa, codmat_roa, codbare, codclient, codfurnizor, codcpv, codnc8, nume_gestiune, cgest, 0 as tva, 0 as pretv, 0 as tvav, 0 as pretvtva, '' as explicatia, '' as explicatia4, '' as explicatia5 from anaf_vefactura_detalii
ENDTEXT
lcOrder = [nr]
lcgroup = []
diff --git a/utile/Teste/efactura_import/test_sursa_cont_cursor.prg b/utile/Teste/efactura_import/test_sursa_cont_cursor.prg
index b6f2345..1121e29 100644
--- a/utile/Teste/efactura_import/test_sursa_cont_cursor.prg
+++ b/utile/Teste/efactura_import/test_sursa_cont_cursor.prg
@@ -56,10 +56,10 @@ TRY
PRIVATE poFacturiDetalii
poFacturiDetalii = Null
TEXT To lcSchema Noshow
-distribuie N(1), id_tip N(10) null, id_articol N(20) null, id_gestiune N(20) null, cont C(4) null, acont C(4) null, sursa_cont V(10) null, id N(20), id_efactura N(20), nr N(5), articol V(250), descriere V(250), detalii M, cantitate N(18,6), um V(20), um_iso V(50), um_roa V(50), pret N(20,6), proctva N(7,2), tiptva V(2), valoarefaratva N(20,6), discountfaratva N(20,6), in_stoc N(1), articol_roa V(250), codmat_roa V(50), codbare V(50), codclient V(100), codfurnizor V(100), codcpv V(50), codnc8 V(50), nume_gestiune V(50), cgest V(20), tva N(20,6), pretv N(20,6), tvav N(20,6), pretvtva N(20,6)
+distribuie N(1), id_tip N(10) null, id_articol N(20) null, id_gestiune N(20) null, cont C(4) null, acont C(4) null, sursa_cont V(10) null, id N(20), id_efactura N(20), nr N(5), articol V(250), descriere V(250), detalii M, cantitate N(18,6), um V(20), um_iso V(50), um_roa V(50), pret N(20,6), proctva N(7,2), tiptva V(2), valoarefaratva N(20,6), discountfaratva N(20,6), in_stoc N(1), articol_roa V(250), codmat_roa V(50), codbare V(50), codclient V(100), codfurnizor V(100), codcpv V(50), codnc8 V(50), nume_gestiune V(50), cgest V(20), tva N(20,6), pretv N(20,6), tvav N(20,6), pretvtva N(20,6), explicatia V(100), explicatia4 V(100), explicatia5 V(100)
ENDTEXT
TEXT To lcSelect Noshow
-select 0 as distribuie, CAST(0 as number(10)) as id_tip, id_articol, id_gestiune, cont, acont, sursa_cont, id, id_efactura, nr, articol, descriere, detalii, cantitate, um, um_iso, um_roa, pret, proctva, tiptva, valoarefaratva, discountfaratva, in_stoc, articol_roa, codmat_roa, codbare, codclient, codfurnizor, codcpv, codnc8, nume_gestiune, cgest, 0 as tva, 0 as pretv, 0 as tvav, 0 as pretvtva from anaf_vefactura_detalii
+select 0 as distribuie, CAST(0 as number(10)) as id_tip, id_articol, id_gestiune, cont, acont, sursa_cont, id, id_efactura, nr, articol, descriere, detalii, cantitate, um, um_iso, um_roa, pret, proctva, tiptva, valoarefaratva, discountfaratva, in_stoc, articol_roa, codmat_roa, codbare, codclient, codfurnizor, codcpv, codnc8, nume_gestiune, cgest, 0 as tva, 0 as pretv, 0 as tvav, 0 as pretvtva, '' as explicatia, '' as explicatia4, '' as explicatia5 from anaf_vefactura_detalii
ENDTEXT
lcOrder = [nr]
lcgroup = []
diff --git a/utile/Teste/efactura_import/test_sursa_cont_ui.prg b/utile/Teste/efactura_import/test_sursa_cont_ui.prg
index f48b610..d954bbf 100644
--- a/utile/Teste/efactura_import/test_sursa_cont_ui.prg
+++ b/utile/Teste/efactura_import/test_sursa_cont_ui.prg
@@ -27,6 +27,7 @@ SET PROCEDURE TO ('D:\ROA\ROACONT\COMUN\utile\Teste\ui_harness.prg') ADDITIVE
DO ('D:\ROA\ROACONT\COMUN\utile\Teste\test_init_env_auto.prg') WITH 'CENTRAL', 'MARIUSM_AUTO', 'ROMFASTSOFT', 2026, 1
SET PROCEDURE TO import_efactura.prg ADDITIVE
SET PROCEDURE TO recunoastere_articol_ef.prg ADDITIVE
+SET PROCEDURE TO coada_contabilizare_ef.prg ADDITIVE
SET PROCEDURE TO ('D:\ROA\ROACONT\COMUN\utile\Teste\efactura_import\fixtura_zip_din_baza.prg') ADDITIVE
PUBLIC gnPass, gnFail
@@ -36,6 +37,7 @@ gnFail = 0
DO HarnessLog WITH 'INIT gnHandle=' + TRANSFORM(gnHandle) + ' gcS=' + TRANSFORM(gcS)
lnFixtIdEF = FixturaIdEFactura()
+FixturaSincronizeazaPerioada() && perioada = data facturii fixtura, altfel filtrul crsFacturi n-o vede
DO HarnessLog WITH 'id_efactura fixture=' + TRANSFORM(lnFixtIdEF)
IF NVL(lnFixtIdEF,0) = 0
DO TVerdict WITH .F., 'PRECONDITIE fixture', 'lipseste anaf_efactura - ruleaza intai test_import_zip_efactura.prg'
@@ -57,13 +59,13 @@ lcData1 = '01' + Padl(Int(m.gnLuna),2,'0') + Alltrim(Str(m.gnAn))
ldData1 = GOMONTH(DATE(m.gnAn, m.gnLuna, 1), 1)
lcData2 = '01' + PADL(MONTH(m.ldData1),2,'0') + ALLTRIM(STR(YEAR(m.ldData1)))
TEXT To lcSchema Noshow
-ales N(1), id N(20), id_fact N(20), data_act D, data_scad D, numar_act C(30), xfurnizor C(200), xclient C(200), partener C(200), id_incarcare C(36), id_descarcare c(36) null, tip_mesaj_raspuns C(50) null,mesaj_raspuns C(250) null, data_raspuns D null, trimis N(1) null, data_trimis T null, cod_fiscal C(30) null, cod_fiscal_emitent C(30) null, cod_fiscal_beneficiar C(30) null, detalii M null, total_fara_tva N(16,4), total_tva N(16,4), total_tva_ron N(16,4), total_cu_tva N(16,4), discount_fara_tva N(16,4), taxe_fara_tva N(16,4), valoare_fara_tva N(16,4), total_de_plata N(16,4), nume_valuta C(5), test N(1) null, jtotctva N(16,4) null, descriere M null, detalii_plata M null, diferenta N(16,4) null, procesat N(1), SerieActRoa V(10) Null, NrActRoa N(14) Null, IdPartRoa N(10) Null, PartenerRoa V(100) null, codFiscalROA V(20), idValutaROA N(5) null,numeValutaROA V(5) null, cursROA N(16,6) null,Cont c(4) Null,ACont c(4) Null,TVAIncasare N(1),Fdoc V(20) null,Id_Fdoc N(5) Null,Nrord V(100) null,Id_Lucrare I Null,Contract V(100) Null,Id_Ctr I Null,Sectie V(100) null,Id_Sectie I Null,dst_chlt V(100) null, Id_venchelt I NUll, nresp V(100) null, Id_responsabil I NUll , completat N(1), completatdet N(1), creditnote N(1), explicatiaROA V(100) null
+ales N(1), id N(20), id_fact N(20), data_act D, data_scad D, numar_act C(30), xfurnizor C(200), xclient C(200), partener C(200), id_incarcare C(36), id_descarcare c(36) null, tip_mesaj_raspuns C(50) null,mesaj_raspuns C(250) null, data_raspuns D null, trimis N(1) null, data_trimis T null, cod_fiscal C(30) null, cod_fiscal_emitent C(30) null, cod_fiscal_beneficiar C(30) null, detalii M null, total_fara_tva N(16,4), total_tva N(16,4), total_tva_ron N(16,4), total_cu_tva N(16,4), discount_fara_tva N(16,4), taxe_fara_tva N(16,4), valoare_fara_tva N(16,4), total_de_plata N(16,4), nume_valuta C(5), test N(1) null, jtotctva N(16,4) null, descriere M null, detalii_plata M null, diferenta N(16,4) null, procesat N(1), SerieActRoa V(10) Null, NrActRoa N(14) Null, IdPartRoa N(10) Null, PartenerRoa V(100) null, codFiscalROA V(20), idValutaROA N(5) null,numeValutaROA V(5) null, cursROA N(16,6) null,Cont c(4) Null,ACont c(4) Null,TVAIncasare N(1),Fdoc V(20) null,Id_Fdoc N(5) Null,Nrord V(100) null,Id_Lucrare I Null,Contract V(100) Null,Id_Ctr I Null,Sectie V(100) null,Id_Sectie I Null,dst_chlt V(100) null, Id_venchelt I NUll, nresp V(100) null, Id_responsabil I NUll , completat N(1), completatdet N(1), creditnote N(1), explicatiaROA V(100) null, explicatia4ROA V(100) null, explicatia5ROA V(100) null, eligibil_lot N(1), motiv_lot V(120), eroare_lot N(1), de_completat V(80), gest c(1), part_inactiv N(1)
ENDTEXT
TEXT To lcSelect TEXTMERGE Noshow
SELECT 0 as ales, id, id_fact, data_act, data_scad, numar_act, xfurnizor, xclient, partener, id_incarcare, id_descarcare, tip_mesaj_raspuns, mesaj_raspuns, data_raspuns, NVL(trimis,0) as trimis, data_trimis, cod_fiscal, cod_fiscal_emitent, cod_fiscal_beneficiar, '' as detalii, total_fara_tva, total_tva, total_tva_ron, total_cu_tva, discount_fara_tva, taxe_fara_tva, valoare_fara_tva, total_de_plata, nume_valuta, test, jtotctva, descriere, detalii_plata, case when jtotctva is null then null when NVL(nume_valuta,'RON') <> 'RON' then null else decode(creditnote,0,1,-1) * NVL(total_cu_tva,0.00) - (NVL(jtotctva,0.00) - NVL(jtva_ti,0.00)) end as diferenta, procesat,
'' as SerieActRoa, CAST(null as Number(14)) as NrActRoa, CAST(null as Number(20)) as idPartRoa, '' as PartenerRoa, '' as codFiscalROA, CAST(null as Number(10)) as idValutaROA, '' as numeValutaROA, CAST(null as Number(16,6)) as cursROA,
'' as Cont, '' as acont, 0 as TVAIncasare, '' as Fdoc, CAST(0 as Number(5)) as Id_Fdoc, '' as Nrord, CAST(0 as Number(10)) as id_Lucrare, '' as Contract, CAST(null as Number(10)) as id_ctr,
-'' Sectie, CAST(0 as Number(10)) as id_Sectie, '' as dst_chlt, CAST(0 as Number(10)) as id_Venchelt, '' as nresp, CAST(0 as Number(10)) as id_responsabil, 0 as completat, 0 as completatdet, creditnote, '' as explicatiaROA
+'' Sectie, CAST(0 as Number(10)) as id_Sectie, '' as dst_chlt, CAST(0 as Number(10)) as id_Venchelt, '' as nresp, CAST(0 as Number(10)) as id_responsabil, 0 as completat, 0 as completatdet, creditnote, '' as explicatiaROA, '' as explicatia4ROA, '' as explicatia5ROA, 1 as eligibil_lot, '' as motiv_lot, 0 as eroare_lot, '' as de_completat, '' as gest, 0 as part_inactiv
FROM anaf_vefactura_primit
ENDTEXT
lcOrder = [data_act,numar_act,data_raspuns]
@@ -84,10 +86,10 @@ LOCATE FOR id = m.lnFixtIdEF
DO TVerdict WITH FOUND(), 'setup: factura fixtura vizibila in crsFacturi', 'FOUND=' + TRANSFORM(FOUND()) + ' din ' + TRANSFORM(RECCOUNT('crsFacturi')) + ' randuri'
TEXT To lcSchema Noshow
-distribuie N(1), id_tip N(10) null, id_articol N(20) null, id_gestiune N(20) null, cont C(4) null, acont C(4) null, sursa_cont V(10) null, id N(20), id_efactura N(20), nr N(5), articol V(250), descriere V(250), detalii M, cantitate N(18,6), um V(20), um_iso V(50), um_roa V(50), pret N(20,6), proctva N(7,2), tiptva V(2), valoarefaratva N(20,6), discountfaratva N(20,6), in_stoc N(1), articol_roa V(250), codmat_roa V(50), codbare V(50), codclient V(100), codfurnizor V(100), codcpv V(50), codnc8 V(50), nume_gestiune V(50), cgest V(20), tva N(20,6), pretv N(20,6), tvav N(20,6), pretvtva N(20,6)
+distribuie N(1), id_tip N(10) null, id_articol N(20) null, id_gestiune N(20) null, cont C(4) null, acont C(4) null, sursa_cont V(10) null, id N(20), id_efactura N(20), nr N(5), articol V(250), descriere V(250), detalii M, cantitate N(18,6), um V(20), um_iso V(50), um_roa V(50), pret N(20,6), proctva N(7,2), tiptva V(2), valoarefaratva N(20,6), discountfaratva N(20,6), in_stoc N(1), articol_roa V(250), codmat_roa V(50), codbare V(50), codclient V(100), codfurnizor V(100), codcpv V(50), codnc8 V(50), nume_gestiune V(50), cgest V(20), tva N(20,6), pretv N(20,6), tvav N(20,6), pretvtva N(20,6), explicatia V(100), explicatia4 V(100), explicatia5 V(100)
ENDTEXT
TEXT To lcSelect Noshow
-select 0 as distribuie, CAST(0 as number(10)) as id_tip, id_articol, id_gestiune, cont, acont, sursa_cont, id, id_efactura, nr, articol, descriere, detalii, cantitate, um, um_iso, um_roa, pret, proctva, tiptva, valoarefaratva, discountfaratva, in_stoc, articol_roa, codmat_roa, codbare, codclient, codfurnizor, codcpv, codnc8, nume_gestiune, cgest, 0 as tva, 0 as pretv, 0 as tvav, 0 as pretvtva from anaf_vefactura_detalii
+select 0 as distribuie, CAST(0 as number(10)) as id_tip, id_articol, id_gestiune, cont, acont, sursa_cont, id, id_efactura, nr, articol, descriere, detalii, cantitate, um, um_iso, um_roa, pret, proctva, tiptva, valoarefaratva, discountfaratva, in_stoc, articol_roa, codmat_roa, codbare, codclient, codfurnizor, codcpv, codnc8, nume_gestiune, cgest, 0 as tva, 0 as pretv, 0 as tvav, 0 as pretvtva, '' as explicatia, '' as explicatia4, '' as explicatia5 from anaf_vefactura_detalii
ENDTEXT
lcOrder = [nr]
lcgroup = []
@@ -344,7 +346,10 @@ DO HarnessDone WITH IIF(gnFail = 0, 'done OK', 'done CU ESECURI')
* curatenie
IF TYPE('loConf') = 'O'
- loConf.Release()
+ TRY
+ loConf.Release() && do_termin il poate fi eliberat deja
+ CATCH
+ ENDTRY
ENDIF
IF TYPE('loForm') = 'O'
loForm.Release()