diff --git a/programe/import_efactura.prg b/programe/import_efactura.prg index 30e81cc..ce3249f 100644 --- a/programe/import_efactura.prg +++ b/programe/import_efactura.prg @@ -3,6 +3,12 @@ *!* 13.08.2024 *!* vizImportEFactura + discountfaratva +*!* 28.07.2026 +*!* marius.mutu +*!* borderoul eFactura, facturi primite: diferenta ignora TVA-ul de taxare inversa (coloana +*!* jtva_ti din view-ul anaf_vefactura_primit), ca sa nu mai apara colorate fals facturile +*!* cu 4426=4427; degradare automata daca migrarea DB nu a ajuns inca la client + Procedure importEfacturaPrimite DO vizImportEFactura WITH 'PRIMITE' ENDPROC @@ -18,6 +24,7 @@ PROCEDURE vizImportEFactura Private poFacturi, poFacturiDetalii Local loFrmFacturi As "frm_efactura_import", lcTip, llPrimite Local lcData1, lcFiltru, lcFiltruOriginal, lcOrder, lcSchema, lcgroup, llAfiseaza, llModParam + Local lcExprDiferenta, llAreJtvaTi poFacturi = Null poFacturiDetalii = Null @@ -25,7 +32,14 @@ PROCEDURE vizImportEFactura llPrimite = (m.lcTip = 'PRIMITE') lcTabel = IIF(m.lcTip = 'PRIMITE', 'anaf_vefactura_primit', 'anaf_vefactura_trimis') - + + llAreJtvaTi = .F. + IF goExecutor.oExecuta("select column_name from user_tab_columns where table_name = '" + Upper(m.lcTabel) + "' and column_name = 'JTVA_TI'", 'cColoaneJTva') And Used('cColoaneJTva') + llAreJtvaTi = (Reccount('cColoaneJTva') > 0) + Use In (Select('cColoaneJTva')) + ENDIF + lcExprDiferenta = IIF(m.llAreJtvaTi, [NVL(total_cu_tva,0.00) - (NVL(jtotctva,0.00) - NVL(jtva_ti,0.00)) as diferenta], [NVL(total_cu_tva, 0.00)-NVL(jtotctva, 0.00) as diferenta]) + * FACTURI PRIMITE/TRIMISE lcData1 = '01' + Padl(Int(m.gnLuna),2,'0') + Alltrim(Str(m.gnAn)) TEXT To lcSchema Noshow @@ -33,7 +47,7 @@ ales N(1), id N(20), id_fact N(20), data_act D, data_scad D, numar_act C(30), xf 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, NVL(total_cu_tva, 0.00)-NVL(jtotctva, 0.00) as diferenta, procesat, +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, <>, 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