Merge branch 'claude/todos-roacont'

This commit is contained in:
2026-08-07 00:00:58 +03:00
8 changed files with 583 additions and 44 deletions

View File

@@ -609,12 +609,12 @@ DEFINE CLASS anaf_efactura AS _frmbase OF "_frm_base.vcx"
BackStyle = 1, ;
Caption = "Trimise (cu diferente Reg. Vz.)", ;
Height = 25, ;
Left = 522, ;
Left = 687, ;
Name = "chkDiferente", ;
Style = 0, ;
Top = 151, ;
Value = .F., ;
Width = 197
Width = 238
*< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" />
ADD OBJECT 'pgfeFactura.Page1.chkErori' AS _checkbox WITH ;
@@ -625,12 +625,12 @@ DEFINE CLASS anaf_efactura AS _frmbase OF "_frm_base.vcx"
BackStyle = 1, ;
Caption = "Trimise (cu raspuns Erori)", ;
Height = 25, ;
Left = 346, ;
Left = 470, ;
Name = "chkErori", ;
Style = 0, ;
Top = 151, ;
Value = .F., ;
Width = 170
Width = 211
*< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" />
ADD OBJECT 'pgfeFactura.Page1.chkFortareRaspunsuri' AS _checkbox WITH ;
@@ -655,12 +655,12 @@ DEFINE CLASS anaf_efactura AS _frmbase OF "_frm_base.vcx"
BackStyle = 1, ;
Caption = "Netrimise", ;
Height = 25, ;
Left = 112, ;
Left = 154, ;
Name = "chkNetrimise", ;
Style = 0, ;
Top = 151, ;
Value = .F., ;
Width = 79
Width = 117
*< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" />
ADD OBJECT 'pgfeFactura.Page1.chkPersFizice' AS _checkbox WITH ;
@@ -690,7 +690,7 @@ DEFINE CLASS anaf_efactura AS _frmbase OF "_frm_base.vcx"
Style = 0, ;
Top = 151, ;
Value = .F., ;
Width = 98
Width = 141
*< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" />
ADD OBJECT 'pgfeFactura.Page1.chkTrimis' AS _checkbox WITH ;
@@ -716,12 +716,12 @@ DEFINE CLASS anaf_efactura AS _frmbase OF "_frm_base.vcx"
BackStyle = 1, ;
Caption = "Trimise (fara raspuns)", ;
Height = 25, ;
Left = 195, ;
Left = 277, ;
Name = "chkTrimise", ;
Style = 0, ;
Top = 151, ;
Value = .F., ;
Width = 147
Width = 187
*< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" />
ADD OBJECT 'pgfeFactura.Page1.chkValidareOnline' AS _checkbox WITH ;
@@ -5363,7 +5363,7 @@ DEFINE CLASS anaf_efactura AS _frmbase OF "_frm_base.vcx"
PROCEDURE do_cauta
LOCAL lcfiltru, lcFiltru2, lcFiltru3, lcval1, lcColoana, ldData1, ldData2
Local lcData1, lcData2, llErori, llNetrimise, llPJ, llTrimise, llDiferente, lnActivePage, lcCond, lcDif2, lcDif3, lcLipsa
Local lcData1, lcData2, llErori, llNetrimise, llPJ, llTrimise, llDiferente, lnActivePage, lcCond, lcDif1, lcDif2, lcDif3, lcLipsa, lcFiltruBaza1, lcFiltruBaza2, lcFiltruBaza3, lcPJ, lcNetrimise, lcTrimise, lcErori
WAIT WINDOW 'Selectie inregistrari...' NOWAIT
@@ -5411,19 +5411,25 @@ DEFINE CLASS anaf_efactura AS _frmbase OF "_frm_base.vcx"
lcFiltru3 = m.lcFiltru3 + " and (" + ALLTRIM(THISFORM.filtru_pretty) + ")"
ENDIF
* Filtrul de baza (fara bifele paginii 1), pentru numarul independent din caption (NumaraDiferente)
lcFiltruBaza1 = m.lcFiltru
lcPJ = [(tip_persoana=1)]
lcNetrimise = [(NVL(trimis,0) = 0)]
lcTrimise = [(trimis = 1 and data_raspuns IS NULL)]
lcErori = [(trimis = 1 and tip_mesaj_raspuns = 'ERORI FACTURA')]
IF m.llPJ
lcFiltru = m.lcfiltru + " and (tip_persoana=1)"
lcFiltru = m.lcfiltru + " and " + m.lcPJ
ENDIF
IF m.llDiferente
lcFiltru = m.lcFiltru + " and (jtotctva is null or ABS(decode(creditnote,0,1,-1) * ROUND(NVL(xtotal_cu_tva , 0.00) * decode(in_valuta,1,curs,1), 2)-NVL(jtotctva, 0.00)) > 0.15)"
ENDIF
* Bifele Diferente / Lipsa din registrul de TVA de pe paginile Primite si Trimise
* Bifele Diferente / Lipsa din registrul de TVA, folosite si de NumaraDiferente pentru numarul din caption
lcLipsa = [(jtotctva is null)]
lcDif1 = [(jtotctva is null or ABS(decode(creditnote,0,1,-1) * ROUND(NVL(xtotal_cu_tva , 0.00) * decode(in_valuta,1,curs,1), 2)-NVL(jtotctva, 0.00)) > 0.15)]
lcDif2 = [(jtotctva is not null and (NVL(nume_valuta,'RON') <> 'RON' or ABS(decode(creditnote,0,1,-1) * NVL(total_cu_tva, 0.00)-(NVL(jtotctva, 0.00)-NVL(jtva_ti, 0.00))) > 0.15))]
lcDif3 = [(jtotctva is not null and (NVL(nume_valuta,'RON') <> 'RON' or ABS(decode(creditnote,0,1,-1) * NVL(total_cu_tva, 0.00)-NVL(jtotctva, 0.00)) > 0.15))]
lcFiltruBaza2 = m.lcFiltru2
lcCond = []
WITH this.pgfeFactura.page2
IF .chkDiferente.Value
@@ -5437,6 +5443,7 @@ DEFINE CLASS anaf_efactura AS _frmbase OF "_frm_base.vcx"
lcFiltru2 = m.lcFiltru2 + [ and (] + m.lcCond + [)]
ENDIF
lcFiltruBaza3 = m.lcFiltru3
lcCond = []
WITH this.pgfeFactura.page3
IF .chkDiferente.Value
@@ -5455,14 +5462,18 @@ DEFINE CLASS anaf_efactura AS _frmbase OF "_frm_base.vcx"
IF m.llErori
lcFiltru = m.lcfiltru + " and (NVL(trimis,0) = 0 or tip_mesaj_raspuns = 'ERORI FACTURA')"
ELSE
lcFiltru = m.lcfiltru + " and (NVL(trimis,0) = 0)"
lcFiltru = m.lcfiltru + " and " + m.lcNetrimise
ENDIF
CASE m.llTrimise
lcFiltru = m.lcfiltru + " and (trimis = 1 and data_raspuns IS NULL)"
lcFiltru = m.lcfiltru + " and " + m.lcTrimise
CASE m.llErori
lcFiltru = m.lcfiltru + " and (trimis = 1 and tip_mesaj_raspuns = 'ERORI FACTURA')"
lcFiltru = m.lcfiltru + " and " + m.lcErori
ENDCASE
IF m.llDiferente
lcFiltru = m.lcFiltru + " and (" + m.lcDif1 + ")"
ENDIF
If Empty(m.lcFiltru)
aMessagebox("Alegeti un criteriu!",0+48,"Atentie")
Return
@@ -5512,6 +5523,8 @@ DEFINE CLASS anaf_efactura AS _frmbase OF "_frm_base.vcx"
This.pgfeFactura.page2._grdfooter1.calctotal()
This.pgfeFactura.page3._grdfooter1.calctotal()
This.NumaraDiferente(m.lcFiltruBaza1, m.lcFiltruBaza2, m.lcFiltruBaza3, m.lcDif1, m.lcDif2, m.lcDif3, m.lcLipsa, m.lcNetrimise, m.lcTrimise, m.lcErori, m.lcPJ)
WAIT CLEAR
Return m.lcFiltru
@@ -6032,6 +6045,16 @@ DEFINE CLASS anaf_efactura AS _frmbase OF "_frm_base.vcx"
* Mesajul era trunchiat la 41 de caractere
This.cMesajFurnizor = SPACE(200)
* Caption de baza pentru bifele Diferente/Lipsa, refolosit de NumaraDiferente/SeteazaCaptionDiferente
This.pgfeFactura.page1.chkPJ.Tag = This.pgfeFactura.page1.chkPJ.Caption
This.pgfeFactura.page1.chkNetrimise.Tag = This.pgfeFactura.page1.chkNetrimise.Caption
This.pgfeFactura.page1.chkTrimise.Tag = This.pgfeFactura.page1.chkTrimise.Caption
This.pgfeFactura.page1.chkErori.Tag = This.pgfeFactura.page1.chkErori.Caption
This.pgfeFactura.page1.chkDiferente.Tag = This.pgfeFactura.page1.chkDiferente.Caption
This.pgfeFactura.page2.chkDiferente.Tag = This.pgfeFactura.page2.chkDiferente.Caption
This.pgfeFactura.page2.chkLipsaRegistru.Tag = This.pgfeFactura.page2.chkLipsaRegistru.Caption
This.pgfeFactura.page3.chkDiferente.Tag = This.pgfeFactura.page3.chkDiferente.Caption
This.pgfeFactura.page3.chkLipsaRegistru.Tag = This.pgfeFactura.page3.chkLipsaRegistru.Caption
DODEFAULT()
ENDPROC
@@ -6044,6 +6067,147 @@ DEFINE CLASS anaf_efactura AS _frmbase OF "_frm_base.vcx"
Thisform.oAnaf.AnafeFacturaServer.lTest = m.tlTest
ENDPROC
PROCEDURE NumaraDiferente
LPARAMETERS tcFiltruBaza1, tcFiltruBaza2, tcFiltruBaza3, tcDif1, tcDif2, tcDif3, tcLipsa, tcNetrimise, tcTrimise, tcErori, tcPJ
LOCAL lnActivePage, lcView, lcFiltruBaza, lcDif, llLipsa, lcSql, llSucces, lnDif, lnLipsa, lnNetrimise, lnTrimise, lnErori, lnPJ, lcCursor, llFaraBife, lnSelect, lnRec
lnActivePage = This.pgfeFactura.ActivePage
lnDif = 0
lnLipsa = 0
*!* fara nicio bifa, cursorul afisat e chiar setul de baza: numaram local, fara interogare
DO CASE
CASE m.lnActivePage = 1
lcCursor = 'crsFacturiEmise'
llFaraBife = EMPTY(This.pgfeFactura.page1.chkPJ.Value) AND EMPTY(This.pgfeFactura.page1.chkNetrimise.Value) ;
AND EMPTY(This.pgfeFactura.page1.chkTrimise.Value) AND EMPTY(This.pgfeFactura.page1.chkErori.Value) ;
AND EMPTY(This.pgfeFactura.page1.chkDiferente.Value)
CASE m.lnActivePage = 2
lcCursor = 'crsFacturiTrimise'
llFaraBife = EMPTY(This.pgfeFactura.page3.chkDiferente.Value) AND EMPTY(This.pgfeFactura.page3.chkLipsaRegistru.Value)
CASE m.lnActivePage = 3
lcCursor = 'crsFacturiPrimite'
llFaraBife = EMPTY(This.pgfeFactura.page2.chkDiferente.Value) AND EMPTY(This.pgfeFactura.page2.chkLipsaRegistru.Value)
OTHERWISE
RETURN
ENDCASE
IF m.llFaraBife AND USED(m.lcCursor)
lnSelect = SELECT()
lnRec = RECNO(m.lcCursor)
IF m.lnActivePage = 1
SELECT SUM(IIF(NVL(tip_persoana,1) = 1, 1, 0)) as npj, ;
SUM(IIF(NVL(trimis,0) = 0, 1, 0)) as nnetrimise, ;
SUM(IIF(NVL(trimis,0) = 1 AND EMPTY(NVL(data_raspuns, {})), 1, 0)) as ntrimise, ;
SUM(IIF(NVL(trimis,0) = 1 AND ALLTRIM(NVL(tip_mesaj_raspuns,'')) == 'ERORI FACTURA', 1, 0)) as nerori, ;
SUM(IIF(ISNULL(jtotctva) OR ABS(NVL(diferenta,0)) > 0.15, 1, 0)) as ndif ;
FROM crsFacturiEmise INTO CURSOR crsNumarBifeLocal NOFILTER
lnPJ = NVL(crsNumarBifeLocal.npj,0)
lnNetrimise = NVL(crsNumarBifeLocal.nnetrimise,0)
lnTrimise = NVL(crsNumarBifeLocal.ntrimise,0)
lnErori = NVL(crsNumarBifeLocal.nerori,0)
lnDif = NVL(crsNumarBifeLocal.ndif,0)
USE IN (SELECT('crsNumarBifeLocal'))
This.SeteazaCaptionDiferente(This.pgfeFactura.page1.chkDiferente, m.lnDif)
This.SeteazaCaptionDiferente(This.pgfeFactura.page1.chkNetrimise, m.lnNetrimise)
This.SeteazaCaptionDiferente(This.pgfeFactura.page1.chkTrimise, m.lnTrimise)
This.SeteazaCaptionDiferente(This.pgfeFactura.page1.chkErori, m.lnErori)
This.SeteazaCaptionDiferente(This.pgfeFactura.page1.chkPJ, m.lnPJ)
ELSE
SELECT SUM(IIF(!ISNULL(jtotctva) AND (ALLTRIM(NVL(nume_valuta,'RON')) <> 'RON' OR ABS(NVL(diferenta,0)) > 0.15), 1, 0)) as ndif, ;
SUM(IIF(ISNULL(jtotctva), 1, 0)) as nlipsa ;
FROM (m.lcCursor) INTO CURSOR crsNumarBifeLocal NOFILTER
lnDif = NVL(crsNumarBifeLocal.ndif,0)
lnLipsa = NVL(crsNumarBifeLocal.nlipsa,0)
USE IN (SELECT('crsNumarBifeLocal'))
IF m.lnActivePage = 2
This.SeteazaCaptionDiferente(This.pgfeFactura.page3.chkDiferente, m.lnDif)
This.SeteazaCaptionDiferente(This.pgfeFactura.page3.chkLipsaRegistru, m.lnLipsa)
ELSE
This.SeteazaCaptionDiferente(This.pgfeFactura.page2.chkDiferente, m.lnDif)
This.SeteazaCaptionDiferente(This.pgfeFactura.page2.chkLipsaRegistru, m.lnLipsa)
ENDIF
ENDIF
SELECT (m.lcCursor)
IF m.lnRec > 0 AND m.lnRec <= RECCOUNT()
GO m.lnRec
ENDIF
SELECT (m.lnSelect)
RETURN
ENDIF
* Pagina 1: fiecare bifa se numara independent pe filtrul de baza, indiferent de celelalte bife
IF m.lnActivePage = 1
lnNetrimise = 0
lnTrimise = 0
lnErori = 0
lnPJ = 0
IF !EMPTY(NVL(m.tcFiltruBaza1,''))
lcSql = "select count(case when " + m.tcDif1 + " then 1 end) as ndif" + ;
", count(case when " + m.tcNetrimise + " then 1 end) as nnetrimise" + ;
", count(case when " + m.tcTrimise + " then 1 end) as ntrimise" + ;
", count(case when " + m.tcErori + " then 1 end) as nerori" + ;
", count(case when " + m.tcPJ + " then 1 end) as npj" + ;
" from anaf_vefactura_emis where 1=1 " + m.tcFiltruBaza1
llSucces = goExecutor.oExecuta(m.lcSql, 'crsNumarDiferente')
IF m.llSucces
lnDif = NVL(crsNumarDiferente.ndif,0)
lnNetrimise = NVL(crsNumarDiferente.nnetrimise,0)
lnTrimise = NVL(crsNumarDiferente.ntrimise,0)
lnErori = NVL(crsNumarDiferente.nerori,0)
lnPJ = NVL(crsNumarDiferente.npj,0)
ENDIF
ENDIF
This.SeteazaCaptionDiferente(This.pgfeFactura.page1.chkDiferente, m.lnDif)
This.SeteazaCaptionDiferente(This.pgfeFactura.page1.chkNetrimise, m.lnNetrimise)
This.SeteazaCaptionDiferente(This.pgfeFactura.page1.chkTrimise, m.lnTrimise)
This.SeteazaCaptionDiferente(This.pgfeFactura.page1.chkErori, m.lnErori)
This.SeteazaCaptionDiferente(This.pgfeFactura.page1.chkPJ, m.lnPJ)
RETURN
ENDIF
DO CASE
CASE m.lnActivePage = 2
lcView = 'anaf_vefactura_trimis'
lcFiltruBaza = m.tcFiltruBaza3
lcDif = m.tcDif3
llLipsa = .T.
CASE m.lnActivePage = 3
lcView = 'anaf_vefactura_primit'
lcFiltruBaza = m.tcFiltruBaza2
lcDif = m.tcDif2
llLipsa = .T.
OTHERWISE
RETURN
ENDCASE
* Numarul se reseteaza pe 0 (caption fara paranteza) cand filtrul e gol sau interogarea esueaza
IF !EMPTY(NVL(m.lcFiltruBaza,'')) AND !EMPTY(NVL(m.lcDif,''))
lcSql = "select count(case when " + m.lcDif + " then 1 end) as ndif" + ;
IIF(m.llLipsa, ", count(case when " + m.tcLipsa + " then 1 end) as nlipsa", "") + ;
" from " + m.lcView + " where 1=1 " + m.lcFiltruBaza
llSucces = goExecutor.oExecuta(m.lcSql, 'crsNumarDiferente')
IF m.llSucces
lnDif = NVL(crsNumarDiferente.ndif,0)
IF m.llLipsa
lnLipsa = NVL(crsNumarDiferente.nlipsa,0)
ENDIF
ENDIF
ENDIF
DO CASE
CASE m.lnActivePage = 2
This.SeteazaCaptionDiferente(This.pgfeFactura.page3.chkDiferente, m.lnDif)
This.SeteazaCaptionDiferente(This.pgfeFactura.page3.chkLipsaRegistru, m.lnLipsa)
CASE m.lnActivePage = 3
This.SeteazaCaptionDiferente(This.pgfeFactura.page2.chkDiferente, m.lnDif)
This.SeteazaCaptionDiferente(This.pgfeFactura.page2.chkLipsaRegistru, m.lnLipsa)
ENDCASE
ENDPROC
PROCEDURE refreshdetaliifacturi
Lparameters tcTip
* tcTip: EMISE/TRIMISE/PRIMITE
@@ -6119,6 +6283,13 @@ DEFINE CLASS anaf_efactura AS _frmbase OF "_frm_base.vcx"
ENDPROC
PROCEDURE SeteazaCaptionDiferente
LPARAMETERS toCheck, tnNumar
LOCAL lcBaza
lcBaza = IIF(EMPTY(NVL(toCheck.Tag,'')), toCheck.Caption, toCheck.Tag)
toCheck.Caption = ALLTRIM(lcBaza) + IIF(NVL(tnNumar,0) > 0, ' (' + ALLTRIM(STR(tnNumar)) + ')', '')
ENDPROC
PROCEDURE Show
LPARAMETERS nStyle
DODEFAULT(nStyle)
@@ -6165,6 +6336,8 @@ DEFINE CLASS anaf_efactura AS _frmbase OF "_frm_base.vcx"
this.pgfeFactura.page2.grdFacturiPrimite.HeaderHeight = 35
this.pgfeFactura.page3.grdFacturiTrimise.HeaderHeight = 35
*!* numerele de pe bife apar de la deschidere, numarate local din cursorul deja adus
This.NumaraDiferente()
ENDPROC
@@ -8884,6 +9057,7 @@ DEFINE CLASS frm_import_efactura AS _frmbase OF "_frm_base.vcx"
*m: importmodifica
*m: listarenir
*m: modificanote
*m: numaradiferenteimport
*m: scrienote
*p: lprimite
*p: nidborderou
@@ -9098,12 +9272,12 @@ DEFINE CLASS frm_import_efactura AS _frmbase OF "_frm_base.vcx"
BackStyle = 1, ;
Caption = "Cu diferente Reg. TVA", ;
Height = 18, ;
Left = 180, ;
Left = 190, ;
Name = "chkDiferente", ;
Style = 0, ;
Top = 35, ;
Value = .F., ;
Width = 159
Width = 191
*< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" />
ADD OBJECT 'chkDistribuieDiscount' AS _checkbox WITH ;
@@ -9136,7 +9310,7 @@ DEFINE CLASS frm_import_efactura AS _frmbase OF "_frm_base.vcx"
Style = 0, ;
Top = 35, ;
Value = .F., ;
Width = 159
Width = 174
*< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" />
ADD OBJECT 'chkTVAIncasare' AS _checkbox WITH ;
@@ -11531,7 +11705,7 @@ DEFINE CLASS frm_import_efactura AS _frmbase OF "_frm_base.vcx"
ENDPROC
PROCEDURE do_cauta
Local lcCond, lcDif, lcLipsa
Local lcCond, lcDif, lcLipsa, lcFiltruBaza
lcFiltru = '' && filtru facturi primite
* DACA FILTRUL NU CONTINE DATA_ACT, SELECTEZ DOAR INREGISTRARILE DIN LUNA CURENTA PANA LA ZI
@@ -11547,6 +11721,14 @@ DEFINE CLASS frm_import_efactura AS _frmbase OF "_frm_base.vcx"
lcFiltru = m.lcFiltru + [ and ((data_act >= to_date('] + m.lcData1 + [','ddmmyyyy') and data_act < to_date('] + m.lcData2 + [','ddmmyyyy')) or (data_act is null and data_raspuns >= to_date('] + m.lcData1 + [','ddmmyyyy')))]
ENDIF
* Filtre buton cautare
IF LEN(THISFORM.filtru_pretty)>0
lcFiltru = m.lcFiltru + " and (" + ALLTRIM(THISFORM.filtru_pretty) + ")"
ENDIF
* Filtrul de baza (fara chkDiferente/chkLipsaRegistru), pentru numarul independent din caption
lcFiltruBaza = m.lcFiltru
* Bifele Diferente / Lipsa din registrul de TVA
lcLipsa = [(jtotctva is null)]
lcDif = [(jtotctva is not null and (NVL(nume_valuta,'RON') <> 'RON' or ABS(decode(creditnote,0,1,-1) * NVL(total_cu_tva,0.00) - (NVL(jtotctva,0.00) - NVL(jtva_ti,0.00))) > 0.15))]
@@ -11561,11 +11743,6 @@ DEFINE CLASS frm_import_efactura AS _frmbase OF "_frm_base.vcx"
lcFiltru = m.lcFiltru + [ and (] + m.lcCond + [)]
ENDIF
* Filtre buton cautare
IF LEN(THISFORM.filtru_pretty)>0
lcFiltru = m.lcFiltru + " and (" + ALLTRIM(THISFORM.filtru_pretty) + ")"
ENDIF
If Empty(m.lcFiltru)
aMessagebox("Alegeti un criteriu!",0+48,"Atentie")
Return
@@ -11584,6 +11761,8 @@ DEFINE CLASS frm_import_efactura AS _frmbase OF "_frm_base.vcx"
ENDIF
This.NumaraDiferenteImport(m.lcFiltruBaza, m.lcDif, m.lcLipsa)
Return m.lcFiltru
ENDPROC
@@ -12988,6 +13167,10 @@ DEFINE CLASS frm_import_efactura AS _frmbase OF "_frm_base.vcx"
this.grdFacturi.SetAll("DynamicForeColor","IIF(creditnote = 1, RGB(225,0,0), RGB(0,0,0))", "Column")
this.gridextra1.setup()
this.gridextra2.setup()
* Caption de baza pentru bifele Diferente/Lipsa, refolosit de NumaraDiferenteImport
This.chkDiferente.Tag = This.chkDiferente.Caption
This.chkLipsaRegistru.Tag = This.chkLipsaRegistru.Caption
ENDPROC
PROCEDURE KeyPress
@@ -13179,6 +13362,51 @@ DEFINE CLASS frm_import_efactura AS _frmbase OF "_frm_base.vcx"
ENDPROC
PROCEDURE NumaraDiferenteImport
LPARAMETERS tcFiltruBaza, tcDif, tcLipsa
LOCAL lcView, lcSql, llSucces, lnDif, lnLipsa, lnSelect, lnRec
lnDif = 0
lnLipsa = 0
*!* fara nicio bifa, cursorul afisat e chiar setul de baza: numaram local, fara interogare
IF EMPTY(This.chkDiferente.Value) AND EMPTY(This.chkLipsaRegistru.Value) AND USED('crsFacturi')
lnSelect = SELECT()
lnRec = RECNO('crsFacturi')
SELECT SUM(IIF(!ISNULL(jtotctva) AND (ALLTRIM(NVL(nume_valuta,'RON')) <> 'RON' OR ABS(NVL(diferenta,0)) > 0.15), 1, 0)) as ndif, ;
SUM(IIF(ISNULL(jtotctva), 1, 0)) as nlipsa ;
FROM crsFacturi INTO CURSOR crsNumarBifeLocal NOFILTER
lnDif = NVL(crsNumarBifeLocal.ndif,0)
lnLipsa = NVL(crsNumarBifeLocal.nlipsa,0)
USE IN (SELECT('crsNumarBifeLocal'))
This.chkDiferente.Caption = ALLTRIM(IIF(EMPTY(NVL(This.chkDiferente.Tag,'')), This.chkDiferente.Caption, This.chkDiferente.Tag)) + IIF(m.lnDif > 0, ' (' + ALLTRIM(STR(m.lnDif)) + ')', '')
This.chkLipsaRegistru.Caption = ALLTRIM(IIF(EMPTY(NVL(This.chkLipsaRegistru.Tag,'')), This.chkLipsaRegistru.Caption, This.chkLipsaRegistru.Tag)) + IIF(m.lnLipsa > 0, ' (' + ALLTRIM(STR(m.lnLipsa)) + ')', '')
SELECT crsFacturi
IF m.lnRec > 0 AND m.lnRec <= RECCOUNT()
GO m.lnRec
ENDIF
SELECT (m.lnSelect)
RETURN
ENDIF
lcView = IIF(This.lPrimite, 'anaf_vefactura_primit', 'anaf_vefactura_trimis')
* Numarul se reseteaza pe 0 (caption fara paranteza) cand filtrul e gol sau interogarea esueaza
IF !EMPTY(NVL(m.tcFiltruBaza,'')) AND !EMPTY(NVL(m.tcDif,''))
lcSql = "select count(case when " + m.tcDif + " then 1 end) as ndif" + ;
", count(case when " + m.tcLipsa + " then 1 end) as nlipsa" + ;
" from " + m.lcView + " where 1=1 " + m.tcFiltruBaza
llSucces = goExecutor.oExecuta(m.lcSql, 'crsNumarDiferenteImport')
IF m.llSucces
lnDif = NVL(crsNumarDiferenteImport.ndif,0)
lnLipsa = NVL(crsNumarDiferenteImport.nlipsa,0)
ENDIF
ENDIF
This.chkDiferente.Caption = ALLTRIM(IIF(EMPTY(NVL(This.chkDiferente.Tag,'')), This.chkDiferente.Caption, This.chkDiferente.Tag)) + IIF(m.lnDif > 0, ' (' + ALLTRIM(STR(m.lnDif)) + ')', '')
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 scrienote
ENDPROC
@@ -13194,6 +13422,8 @@ DEFINE CLASS frm_import_efactura AS _frmbase OF "_frm_base.vcx"
Thisform.CompleteazaFactura() && cap factura
Thisform.actualizeaza_grid2()
Thisform.CompleteazaDetaliiFactura() && detalii factura
*!* numerele de pe bife apar de la deschidere, numarate local din cursorul deja adus
This.NumaraDiferenteImport()
ENDPROC

View File

@@ -13065,13 +13065,16 @@ DEFINE CLASS frm_modific2024 AS _frmbase OF "_frm_base.vcx"
ENDPROC
PROCEDURE do_modifica_explicatie_tva
LOCAL lnCotaFiltru
If tact.cu_tva = 1
*!* modificare ROACONT v 2.4.4
*!* filtreaza explicatiile dupa cota TVA a liniei curente; proc_tva e in forma 1.19, cota 0/gol = fara filtru
lnCotaFiltru = Round((Nvl(tact.proc_tva,0) - 1) * 100, 2)
If TYPE('tact.tipnota') = 'N' AND tact.tipnota = 1
*!* explicatii TVA exigibile din JC ( 1 ), JV ( 3 ) sau toate ( 5 )
locauta = caut_explicatie_tva(Nvl(tact.id_jtva_coloana,-1),,,iif(tact.scc=[4428],1,iif(tact.scd=[4428],3,5)))
locauta = caut_explicatie_tva(Nvl(tact.id_jtva_coloana,-1),,,iif(tact.scc=[4428],1,iif(tact.scd=[4428],3,5)),lnCotaFiltru)
Else
locauta = caut_explicatie_tva(Nvl(tact.id_jtva_coloana,-1))
locauta = caut_explicatie_tva(Nvl(tact.id_jtva_coloana,-1),,,,lnCotaFiltru)
Endif
*!* locauta = caut_explicatie_tva(Nvl(tact.id_jtva_coloana,-1))
*!* modificare ROACONT v 2.4.4 ^

View File

@@ -3063,6 +3063,31 @@ DEFINE CLASS frm_verificare_parteneri_istoric AS _frmbase OF "_frm_base.vcx"
*< OBJECTDATA: ObjPath="_grdbase1.cDataOraV.Text1" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="_grdbase1.cUtilV.Header1" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="_grdbase1.cUtilV.Text1" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="_grdbase1.cDataOravAnaf.Header1" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="_grdbase1.cDataOravAnaf.Text1" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="_grdbase1.cTvaIncasare.Header1" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="_grdbase1.cTvaIncasare.Text1" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="_grdbase1.cTvaIncasare._checkbox1" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="_grdbase1.cSplitTva.Header1" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="_grdbase1.cSplitTva.Text1" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="_grdbase1.cSplitTva._checkbox1" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="_grdbase1.cInactiv.Header1" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="_grdbase1.cInactiv.Text1" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="_grdbase1.cInactiv._checkbox1" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="_grdbase1.cDataInceputScpTva.Header1" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="_grdbase1.cDataInceputScpTva.Text1" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="_grdbase1.cDataSfarsitScpTva.Header1" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="_grdbase1.cDataSfarsitScpTva.Text1" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="_grdbase1.cDataAnulImpScpTva.Header1" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="_grdbase1.cDataAnulImpScpTva.Text1" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="_grdbase1.cDataInceputTvaInc.Header1" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="_grdbase1.cDataInceputTvaInc.Text1" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="_grdbase1.cDataSfarsitTvaInc.Header1" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="_grdbase1.cDataSfarsitTvaInc.Text1" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="_grdbase1.cDataInactivare.Header1" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="_grdbase1.cDataInactivare.Text1" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="_grdbase1.cDataReactivare.Header1" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="_grdbase1.cDataReactivare.Text1" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="Gridextra1" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="lblInfo" UniqueID="" Timestamp="" />
@@ -3112,7 +3137,7 @@ DEFINE CLASS frm_verificare_parteneri_istoric AS _frmbase OF "_frm_base.vcx"
ADD OBJECT '_grdbase1' AS _grdbase WITH ;
Anchor = 15, ;
ColumnCount = 16, ;
ColumnCount = 27, ;
DeleteMark = .F., ;
HeaderHeight = 32, ;
Height = 190, ;
@@ -3157,19 +3182,19 @@ DEFINE CLASS frm_verificare_parteneri_istoric AS _frmbase OF "_frm_base.vcx"
Column6.ControlSource = "codpostal", ;
Column6.Name = "cCodPostal", ;
Column6.ReadOnly = .T., ;
Column6.Visible = .T., ;
Column6.Visible = .F., ;
Column6.Width = 75, ;
Column7.ColumnOrder = 11, ;
Column7.ControlSource = "telefon", ;
Column7.Name = "cTelefon", ;
Column7.ReadOnly = .T., ;
Column7.Visible = .T., ;
Column7.Visible = .F., ;
Column7.Width = 75, ;
Column8.ColumnOrder = 12, ;
Column8.ControlSource = "fax", ;
Column8.Name = "cFax", ;
Column8.ReadOnly = .T., ;
Column8.Visible = .T., ;
Column8.Visible = .F., ;
Column8.Width = 75, ;
Column9.ColumnOrder = 6, ;
Column9.ControlSource = "platitortvavies", ;
@@ -3177,7 +3202,7 @@ DEFINE CLASS frm_verificare_parteneri_istoric AS _frmbase OF "_frm_base.vcx"
Column9.Name = "cPlatitorTVAVies", ;
Column9.ReadOnly = .T., ;
Column9.Sparse = .F., ;
Column9.Visible = .T., ;
Column9.Visible = .F., ;
Column9.Width = 54, ;
Column10.ColumnOrder = 5, ;
Column10.ControlSource = "datatvamfin", ;
@@ -3210,7 +3235,57 @@ DEFINE CLASS frm_verificare_parteneri_istoric AS _frmbase OF "_frm_base.vcx"
Column16.ControlSource = "utilv", ;
Column16.Name = "cUtilV", ;
Column16.ReadOnly = .T., ;
Column16.Width = 114
Column16.Width = 114, ;
Column17.ControlSource = "dataorav_anaf", ;
Column17.Name = "cDataOravAnaf", ;
Column17.ReadOnly = .T., ;
Column17.Width = 85, ;
Column18.ControlSource = "tvaincasare", ;
Column18.CurrentControl = "_checkbox1", ;
Column18.Name = "cTvaIncasare", ;
Column18.ReadOnly = .T., ;
Column18.Sparse = .F., ;
Column18.Width = 54, ;
Column19.ControlSource = "splittva", ;
Column19.CurrentControl = "_checkbox1", ;
Column19.Name = "cSplitTva", ;
Column19.ReadOnly = .T., ;
Column19.Sparse = .F., ;
Column19.Width = 54, ;
Column20.ControlSource = "inactiv", ;
Column20.CurrentControl = "_checkbox1", ;
Column20.Name = "cInactiv", ;
Column20.ReadOnly = .T., ;
Column20.Sparse = .F., ;
Column20.Width = 54, ;
Column21.ControlSource = "data_inceput_scptva", ;
Column21.Name = "cDataInceputScpTva", ;
Column21.ReadOnly = .T., ;
Column21.Width = 85, ;
Column22.ControlSource = "data_sfarsit_scptva", ;
Column22.Name = "cDataSfarsitScpTva", ;
Column22.ReadOnly = .T., ;
Column22.Width = 85, ;
Column23.ControlSource = "data_anul_imp_scptva", ;
Column23.Name = "cDataAnulImpScpTva", ;
Column23.ReadOnly = .T., ;
Column23.Width = 85, ;
Column24.ControlSource = "data_inceput_tvainc", ;
Column24.Name = "cDataInceputTvaInc", ;
Column24.ReadOnly = .T., ;
Column24.Width = 85, ;
Column25.ControlSource = "data_sfarsit_tvainc", ;
Column25.Name = "cDataSfarsitTvaInc", ;
Column25.ReadOnly = .T., ;
Column25.Width = 85, ;
Column26.ControlSource = "data_inactivare", ;
Column26.Name = "cDataInactivare", ;
Column26.ReadOnly = .T., ;
Column26.Width = 85, ;
Column27.ControlSource = "data_reactivare", ;
Column27.Name = "cDataReactivare", ;
Column27.ReadOnly = .T., ;
Column27.Width = 85
*< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" />
ADD OBJECT '_grdbase1.cAdresa.Header1' AS header WITH ;
@@ -3261,6 +3336,70 @@ DEFINE CLASS frm_verificare_parteneri_istoric AS _frmbase OF "_frm_base.vcx"
Visible = .T.
*< END OBJECT: BaseClass="textbox" />
ADD OBJECT '_grdbase1.cDataAnulImpScpTva.Header1' AS header WITH ;
Alignment = 2, ;
Caption = "Anulare scutire TVA", ;
Name = "Header1", ;
WordWrap = .T.
*< END OBJECT: BaseClass="header" />
ADD OBJECT '_grdbase1.cDataAnulImpScpTva.Text1' AS textbox WITH ;
BackColor = 255,255,255, ;
BorderStyle = 0, ;
ForeColor = 0,0,0, ;
Margin = 0, ;
Name = "Text1", ;
ReadOnly = .T.
*< END OBJECT: BaseClass="textbox" />
ADD OBJECT '_grdbase1.cDataInactivare.Header1' AS header WITH ;
Alignment = 2, ;
Caption = "Data inactivare", ;
Name = "Header1", ;
WordWrap = .T.
*< END OBJECT: BaseClass="header" />
ADD OBJECT '_grdbase1.cDataInactivare.Text1' AS textbox WITH ;
BackColor = 255,255,255, ;
BorderStyle = 0, ;
ForeColor = 0,0,0, ;
Margin = 0, ;
Name = "Text1", ;
ReadOnly = .T.
*< END OBJECT: BaseClass="textbox" />
ADD OBJECT '_grdbase1.cDataInceputScpTva.Header1' AS header WITH ;
Alignment = 2, ;
Caption = "Inceput scutire TVA", ;
Name = "Header1", ;
WordWrap = .T.
*< END OBJECT: BaseClass="header" />
ADD OBJECT '_grdbase1.cDataInceputScpTva.Text1' AS textbox WITH ;
BackColor = 255,255,255, ;
BorderStyle = 0, ;
ForeColor = 0,0,0, ;
Margin = 0, ;
Name = "Text1", ;
ReadOnly = .T.
*< END OBJECT: BaseClass="textbox" />
ADD OBJECT '_grdbase1.cDataInceputTvaInc.Header1' AS header WITH ;
Alignment = 2, ;
Caption = "Inceput TVA incasare", ;
Name = "Header1", ;
WordWrap = .T.
*< END OBJECT: BaseClass="header" />
ADD OBJECT '_grdbase1.cDataInceputTvaInc.Text1' AS textbox WITH ;
BackColor = 255,255,255, ;
BorderStyle = 0, ;
ForeColor = 0,0,0, ;
Margin = 0, ;
Name = "Text1", ;
ReadOnly = .T.
*< END OBJECT: BaseClass="textbox" />
ADD OBJECT '_grdbase1.cDataOra.Header1' AS header WITH ;
Alignment = 2, ;
Caption = "Creat la", ;
@@ -3289,6 +3428,69 @@ DEFINE CLASS frm_verificare_parteneri_istoric AS _frmbase OF "_frm_base.vcx"
Name = "Text1"
*< END OBJECT: BaseClass="textbox" />
ADD OBJECT '_grdbase1.cDataOravAnaf.Header1' AS header WITH ;
Alignment = 2, ;
Caption = "Data ANAF", ;
Name = "Header1"
*< END OBJECT: BaseClass="header" />
ADD OBJECT '_grdbase1.cDataOravAnaf.Text1' AS textbox WITH ;
BackColor = 255,255,255, ;
BorderStyle = 0, ;
ForeColor = 0,0,0, ;
Margin = 0, ;
Name = "Text1", ;
ReadOnly = .T.
*< END OBJECT: BaseClass="textbox" />
ADD OBJECT '_grdbase1.cDataReactivare.Header1' AS header WITH ;
Alignment = 2, ;
Caption = "Data reactivare", ;
Name = "Header1", ;
WordWrap = .T.
*< END OBJECT: BaseClass="header" />
ADD OBJECT '_grdbase1.cDataReactivare.Text1' AS textbox WITH ;
BackColor = 255,255,255, ;
BorderStyle = 0, ;
ForeColor = 0,0,0, ;
Margin = 0, ;
Name = "Text1", ;
ReadOnly = .T.
*< END OBJECT: BaseClass="textbox" />
ADD OBJECT '_grdbase1.cDataSfarsitScpTva.Header1' AS header WITH ;
Alignment = 2, ;
Caption = "Sfarsit scutire TVA", ;
Name = "Header1", ;
WordWrap = .T.
*< END OBJECT: BaseClass="header" />
ADD OBJECT '_grdbase1.cDataSfarsitScpTva.Text1' AS textbox WITH ;
BackColor = 255,255,255, ;
BorderStyle = 0, ;
ForeColor = 0,0,0, ;
Margin = 0, ;
Name = "Text1", ;
ReadOnly = .T.
*< END OBJECT: BaseClass="textbox" />
ADD OBJECT '_grdbase1.cDataSfarsitTvaInc.Header1' AS header WITH ;
Alignment = 2, ;
Caption = "Sfarsit TVA incasare", ;
Name = "Header1", ;
WordWrap = .T.
*< END OBJECT: BaseClass="header" />
ADD OBJECT '_grdbase1.cDataSfarsitTvaInc.Text1' AS textbox WITH ;
BackColor = 255,255,255, ;
BorderStyle = 0, ;
ForeColor = 0,0,0, ;
Margin = 0, ;
Name = "Text1", ;
ReadOnly = .T.
*< END OBJECT: BaseClass="textbox" />
ADD OBJECT '_grdbase1.cDataTVAMfin.Header1' AS header WITH ;
Alignment = 2, ;
Caption = "Data TVA MFIN", ;
@@ -3337,6 +3539,29 @@ DEFINE CLASS frm_verificare_parteneri_istoric AS _frmbase OF "_frm_base.vcx"
Visible = .T.
*< END OBJECT: BaseClass="textbox" />
ADD OBJECT '_grdbase1.cInactiv._checkbox1' AS _checkbox WITH ;
Alignment = 2, ;
Caption = "", ;
Left = 19, ;
Name = "_checkbox1", ;
ReadOnly = .T., ;
Top = 96
*< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" />
ADD OBJECT '_grdbase1.cInactiv.Header1' AS header WITH ;
Alignment = 2, ;
Caption = "Inactiv", ;
Name = "Header1"
*< END OBJECT: BaseClass="header" />
ADD OBJECT '_grdbase1.cInactiv.Text1' AS textbox WITH ;
BackColor = 255,255,255, ;
BorderStyle = 0, ;
ForeColor = 0,0,0, ;
Margin = 0, ;
Name = "Text1"
*< END OBJECT: BaseClass="textbox" />
ADD OBJECT '_grdbase1.cJudet.Header1' AS header WITH ;
Alignment = 2, ;
Caption = "Judet", ;
@@ -3418,6 +3643,29 @@ DEFINE CLASS frm_verificare_parteneri_istoric AS _frmbase OF "_frm_base.vcx"
Visible = .T.
*< END OBJECT: BaseClass="textbox" />
ADD OBJECT '_grdbase1.cSplitTva._checkbox1' AS _checkbox WITH ;
Alignment = 2, ;
Caption = "", ;
Left = 19, ;
Name = "_checkbox1", ;
ReadOnly = .T., ;
Top = 120
*< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" />
ADD OBJECT '_grdbase1.cSplitTva.Header1' AS header WITH ;
Alignment = 2, ;
Caption = "Split TVA", ;
Name = "Header1"
*< END OBJECT: BaseClass="header" />
ADD OBJECT '_grdbase1.cSplitTva.Text1' AS textbox WITH ;
BackColor = 255,255,255, ;
BorderStyle = 0, ;
ForeColor = 0,0,0, ;
Margin = 0, ;
Name = "Text1"
*< END OBJECT: BaseClass="textbox" />
ADD OBJECT '_grdbase1.cStare.Header1' AS header WITH ;
Alignment = 2, ;
Caption = "Stare", ;
@@ -3448,6 +3696,29 @@ DEFINE CLASS frm_verificare_parteneri_istoric AS _frmbase OF "_frm_base.vcx"
Visible = .T.
*< END OBJECT: BaseClass="textbox" />
ADD OBJECT '_grdbase1.cTvaIncasare._checkbox1' AS _checkbox WITH ;
Alignment = 2, ;
Caption = "", ;
Left = 19, ;
Name = "_checkbox1", ;
ReadOnly = .T., ;
Top = 144
*< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" />
ADD OBJECT '_grdbase1.cTvaIncasare.Header1' AS header WITH ;
Alignment = 2, ;
Caption = "TVA incasare", ;
Name = "Header1"
*< END OBJECT: BaseClass="header" />
ADD OBJECT '_grdbase1.cTvaIncasare.Text1' AS textbox WITH ;
BackColor = 255,255,255, ;
BorderStyle = 0, ;
ForeColor = 0,0,0, ;
Margin = 0, ;
Name = "Text1"
*< END OBJECT: BaseClass="textbox" />
ADD OBJECT '_grdbase1.cUtil.Header1' AS header WITH ;
Alignment = 2, ;
Caption = "Creat de", ;