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()