diff --git a/src/cg/cg0500a.uml b/src/cg/cg0500a.uml index dc6e17dd1..a322445d7 100755 --- a/src/cg/cg0500a.uml +++ b/src/cg/cg0500a.uml @@ -182,6 +182,7 @@ BEGIN ITEM "TD18|TD18 Integ. acq. beni intracomunitari" ITEM "TD19|TD19 Integ./autof. acq. beni ex art. 17" ITEM "TD20|TD20 Autofattura" + ITEM "TD28|TD28 Fattura cartacea S.Marino" END BOOLEAN F_SOLAIVA diff --git a/src/fp/fp0700.cpp b/src/fp/fp0700.cpp index 9c7ffb026..46b713945 100644 --- a/src/fp/fp0700.cpp +++ b/src/fp/fp0700.cpp @@ -113,11 +113,6 @@ void TPAR_mask::load_sheet(const TString& tipo_sel) { const TRectype& rec = cur.curr(); const TString& tipodocsdi = rec.get(CAU_TIPODOCSDI); - - if (tipodocsdi == "TD28") - { - int i = 0; - } //COSA STA SUCCEDENDO QUI? PERCHE VA QUANDO VUOLE LUI? @@ -458,7 +453,7 @@ void TPAR_mask::export_paf() if (!sht.empty()) { { - TProgress_monitor pi(sht.items(), "Esportazione Regolarizzazioni"); + TProgress_monitor pi(sht.items(), "Esportazione Integrazioni"); FOR_EACH_SHEET_ROW_LOOP(sht, r) @@ -520,7 +515,7 @@ void TPAR_mask::print_reg() if (!sht.empty()) { { - TProgress_monitor pi(sht.items(), "Stampa Regolarizzazioni"); + TProgress_monitor pi(sht.items(), "Stampa Integrazioni"); FOR_EACH_SHEET_ROW_LOOP(sht, r) { @@ -866,6 +861,6 @@ bool Treg2Paf::destroy() int fp0700(int argc, char* argv[]) { Treg2Paf d2p; - d2p.run(argc, argv, TR("Invio Regolarizzazioni")); + d2p.run(argc, argv, TR("Invio Integrazioni")); return 0; } diff --git a/src/fp/fp0700a.uml b/src/fp/fp0700a.uml index 4c2cf5945..c53f5c8a5 100644 --- a/src/fp/fp0700a.uml +++ b/src/fp/fp0700a.uml @@ -39,7 +39,7 @@ END ENDPAGE -PAGE "Invio Regolarizzazioni" 0 2 0 0 +PAGE "Invio Integrazioni" 0 2 0 0 DATE F_DATAINI BEGIN @@ -59,10 +59,10 @@ RADIOBUTTON F_REGSEL 7 80 BEGIN PROMPT 1 3 "@bIntegrazioni da visualizzare" ITEM "|Da inviare" - //ITEM "N|Notificato" ITEM "D|Pre-Diagosticate" ITEM "E|In errore" ITEM "X|XML Generato" + ITEM "N|Notificato" FLAGS "Z" END @@ -83,7 +83,6 @@ BEGIN ITEM "TD17|TD17 Integ./autof. acq. servizi estero" ITEM "TD18|TD18 Integ. acq. beni intracomunitari" ITEM "TD19|TD19 Integ./autof. acq. beni ex art. 17" - ITEM "TD20|TD20 Autofattura" ITEM "TD28|TD28 Fattura cartacea S.Marino" END @@ -128,7 +127,7 @@ BEGIN END ENDPAGE -PAGE "Elenco Regolarizzazioni" 0 2 0 0 +PAGE "Elenco Integrazioni" 0 2 0 0 SPREADSHEET F_REGS BEGIN @@ -164,6 +163,7 @@ BEGIN ITEM "TD18|TD18 Integ. acq. beni intracomunitari" ITEM "TD19|TD19 Integ./autof. acq. beni ex art. 17" ITEM "TD20|TD20 Autofattura" + ITEM "TD28|TD28 Fattura cartacea S.Marino" END STRING S_COD_CAUS 3 @@ -240,6 +240,7 @@ BEGIN ITEM "TD18|TD18 Integ. acq. beni intracomunitari" ITEM "TD19|TD19 Integ./autof. acq. beni ex art. 17" ITEM "TD20|TD20 Autofattura" + ITEM "TD28|TD28 Fattura cartacea S.Marino" END STRING S_NUMDOC 10 diff --git a/src/fp/fplib01.cpp b/src/fp/fplib01.cpp index 7f0df1b32..d96f69e1c 100644 --- a/src/fp/fplib01.cpp +++ b/src/fp/fplib01.cpp @@ -3095,29 +3095,34 @@ bool TReg_fp::check_initial(const TMovimento_contabile& mov) TPartite_array par; par.add_numreg(mov.get_long(MOV_NUMREG)); - for (TPartita* p = par.first() ; p!= nullptr ; p=par.next()) - { - int riga_p = p->prima_fattura(); - if (riga_p >= 0) + //PROVVISORIO + if (_tipo_doc_sdi != "TD28") { + + for (TPartita* p = par.first(); p != nullptr; p = par.next()) { - const TRiga_partite& rp=p->riga(riga_p); + int riga_p = p->prima_fattura(); - for (int r = 0; r < rp.rate(); r++) + if (riga_p >= 0) { - const TRiga_scadenze & rata = rp.rata(r); - TString key_class; - - key_class << rata.get(SCAD_TIPOPAG) << rata.get(SCAD_ULTCLASS); + const TRiga_partite& rp = p->riga(riga_p); - if (cache().get("%CLR", key_class, "S12").empty()) + for (int r = 0; r < rp.rate(); r++) { - TString msg; - msg.cut(0) << "Non e' valorizzata la tipologia di pagamento SDI (MPXX) per la condizione di pagamento " << mov.get(MOV_CODPAG); - _log.log(1, msg); - return false; - } + const TRiga_scadenze & rata = rp.rata(r); + TString key_class; + key_class << rata.get(SCAD_TIPOPAG) << rata.get(SCAD_ULTCLASS); + + if (cache().get("%CLR", key_class, "S12").empty()) + { + TString msg; + msg.cut(0) << "Non e' valorizzata la tipologia di pagamento SDI (MPXX) per la condizione di pagamento " << mov.get(MOV_CODPAG); + _log.log(1, msg); + return false; + } + + } } } } @@ -3311,7 +3316,9 @@ bool TReg_fp::export_paf0100f() paf0100f.set("P1_TRASMITTPAESE", _paese); paf0100f.set("P1_TRASMITTCOD", _cofi); paf0100f.set("P1_FMTTRASMISS", _privato ? "FPR12" : "FPA12"); - paf0100f.set("P1_CODDEST", _coddest); + + if(_tipo_doc_sdi != "TD28") + paf0100f.set("P1_CODDEST", _coddest); TString80 tel; @@ -3369,6 +3376,8 @@ TString TReg_fp::get_line_descr(TAnagrafica cli) } else if (tdsdi == "TD20") descr = "Autofattura"; + else if (tdsdi == "TD28") + descr = "Fattura cartacea San Marino"; else error_box("Tipo documento non conforme"); @@ -3510,7 +3519,12 @@ bool TReg_fp::reg_to_paf(const TMovimento_contabile& mov) paf0700f.set("P7_TIPODOC", _tipo_doc_sdi); paf0700f.set("P7_DIVISA", "EUR"); // Fisso su euro in quanto effettuiamo il cambio - paf0700f.set("P7_DATA", mov.get_date(MOV_DATAREG)); // sembra sempre la data di registrazione visto che è na data di ricezione + + if (_tipo_doc_sdi == "TD28") + paf0700f.set("P7_DATA", mov.get_date(MOV_DATADOC)); //Se è un TD28 ci metto la data della fattura cartacea originale + else + paf0700f.set("P7_DATA", mov.get_date(MOV_DATAREG)); // sembra sempre la data di registrazione visto che è na data di ricezione + TString numdoc = mov.get(MOV_NUMDOC); if (numdoc.blank()) @@ -3543,7 +3557,8 @@ bool TReg_fp::reg_to_paf(const TMovimento_contabile& mov) paf2700f.set("PQ_IMPTOTDOC", mov.get(MOV_TOTDOC)); paf2700f.set("PQ_GESTIONE", stato_paf()); ok &= insert(paf2700f); - // + +// // paf1400 Dati fatture collegate TPaf_record& paf1400f = _paf_container.get_paf("PAF1400F");