From d57246546872e141e15c21496dd093f443b0f341 Mon Sep 17 00:00:00 2001 From: Simoe Date: Thu, 12 May 2022 13:12:25 +0200 Subject: [PATCH] Patch level : 12.0 Files correlati : fp MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Commento: - Aggiunto il campo regime fiscale nella maschera del programma di "Invio Integrazioni". Il regime che viene selezionato dall'utente è quello che poi verrà scritto nei paf della webapp e mandato allo sdi. Prima mancava il riferimento e l'integrazione veniva scartata -Corretta l'abilitazione e la disabilitazione di alcuni pulsanti nella maschera del programma di "Invio Fatture" --- src/fp/fp0300.cpp | 10 +++++++--- src/fp/fp0700.cpp | 8 +++++++- src/fp/fp0700a.h | 5 +++-- src/fp/fp0700a.uml | 23 +++++++++++++++++++++++ src/fp/fplib.h | 2 ++ src/fp/fplib01.cpp | 2 +- 6 files changed, 43 insertions(+), 7 deletions(-) diff --git a/src/fp/fp0300.cpp b/src/fp/fp0300.cpp index ab03eb2fd..3d02748eb 100644 --- a/src/fp/fp0300.cpp +++ b/src/fp/fp0300.cpp @@ -153,19 +153,23 @@ void TPA_mask::fill() save_all_fields(); TSheet_field& docs = sfield(F_DOCS); - TString_array& sht = docs.rows_array(); - sht.destroy(); + //TString_array& sht = docs.rows_array(); + + docs.reset(); const TDate dal = get(F_DATAINI); const TDate al = get(F_DATAEND); TString filter_selected = get(F_FATTSEL); bool provvisorio = get(F_PROVVISORIO); - enable(DLG_OK, filter_selected.empty() || filter_selected == "E" || filter_selected == "X"); + enable(DLG_OK, filter_selected.empty() || filter_selected == "E"); enable(DLG_SAVEREC, (is_f8() && filter_selected == "X") || filter_selected == "D"); enable(DLG_FINDREC, filter_selected == "D"); enable(DLG_PRINT, _enable_chiave_fixer && filter_selected.empty()); + docs.enable_column(S_SELECTED, filter_selected!="X" || is_f8()); + docs.enable_column(S_CODSDI, filter_selected != "X"); + docs.enable_column(S_ONLYGEN, filter_selected != "X"); // Record di controllo per eventuali elaborazioni precedenti TString hfatt(LEN_HFATT), bfatt(LEN_BFATT); TPaf_record paf0100f("PAF0100F"); diff --git a/src/fp/fp0700.cpp b/src/fp/fp0700.cpp index 5179cb8ca..d1ca70713 100644 --- a/src/fp/fp0700.cpp +++ b/src/fp/fp0700.cpp @@ -146,11 +146,14 @@ void TPAR_mask::fill() TString query; const bool diagn = get_bool(F_DIAGN); - enable(DLG_OK, filter_selected.empty() || filter_selected == "E" || filter_selected == "X" || filter_selected == "D"); + enable(DLG_OK, filter_selected.empty() || filter_selected == "E" || filter_selected == "D"); enable(DLG_PRINT, true); enable(DLG_SAVEREC, (is_f8() && (filter_selected == "X") || filter_selected == "D")); enable(DLG_ALL, true); + regs.enable_column(S_SELECTED, filter_selected!="X" ||is_f8()); + + //TAnagrafica ditta = /* @@ -432,6 +435,8 @@ void TPAR_mask::export_paf() TReg_fp elab(EMPTY_STRING, !diagn); TReport_book book; + const TString8& reg_fisc = get(F_REG_FISC); + //elab.set_cache_insert(true); if (!sht.empty()) { @@ -449,6 +454,7 @@ void TPAR_mask::export_paf() { const TString& tipo_doc_sdi = sht.get_str_row_cell(r, S_TIPODOC); elab.set_tipodocsdi(tipo_doc_sdi); + elab.set_regfisc(reg_fisc); const long nreg = sht.get_long_row_cell(r, S_NUMREG); // Verifico che il codice sdi nello sheet sia lo stesso sulla testata del documento in caso contrario lo aggiorno diff --git a/src/fp/fp0700a.h b/src/fp/fp0700a.h index 5b5273f23..41209a899 100644 --- a/src/fp/fp0700a.h +++ b/src/fp/fp0700a.h @@ -3,8 +3,9 @@ #define F_REGSEL 403 #define F_CAUSALI_TIPO 404 #define F_TIPO_SDI 405 -#define F_REGS 406 -#define F_DIAGN 407 +#define F_REG_FISC 406 +#define F_REGS 407 +#define F_DIAGN 408 #define START_MASK F_DATAINI #define END_MASK F_DIAGN diff --git a/src/fp/fp0700a.uml b/src/fp/fp0700a.uml index 859a09a46..97d6ad14e 100644 --- a/src/fp/fp0700a.uml +++ b/src/fp/fp0700a.uml @@ -97,6 +97,29 @@ BEGIN PROMPT 2 21 "Esporta in stato diagnosticato" END +LIST F_REG_FISC 30 +BEGIN + PROMPT 30 21 "Regime Fiscale" + ITEM "RF01|RF01 Ordinario" + ITEM "RF02|RF02 Contribuenti minimi" + ITEM "RF04|RF04 Agricoltura e pesca" + ITEM "RF05|RF05 Vendita sali e tabacchi" + ITEM "RF06|RF06 Commercio fiammiferi" + ITEM "RF07|RF07 Editoria" + ITEM "RF08|RF08 Gest. servizi tel. pub." + ITEM "RF09|RF09 Rivendita DdT" + ITEM "RF10|RF10 Intr., giochi" + ITEM "RF11|RF11 Agenzie viaggi e turismo" + ITEM "RF12|RF12 Agriturismo" + ITEM "RF13|RF13 Vendite a domicilio" + ITEM "RF14|RF14 Riv. usato arte col." + ITEM "RF15|RF15 Asta d’arte, col." + ITEM "RF16|RF16 IVA per cassa P.A." + ITEM "RF17|RF17 IVA per cassa" + ITEM "RF18|RF18 Altro" + ITEM "RF19|RF19 Regime forfettario" +END + STRING DLG_PROFILE 50 BEGIN PROMPT 1 -1 "Profilo " diff --git a/src/fp/fplib.h b/src/fp/fplib.h index c87027fea..13229dd36 100644 --- a/src/fp/fplib.h +++ b/src/fp/fplib.h @@ -636,6 +636,7 @@ private: bool _has_cust; TString _tipo_doc_sdi; bool _definitivo; + TString8 _regfisc; bool insert(TPaf_record& p); bool remove(TPaf_record& p); @@ -692,6 +693,7 @@ public: int force_commit(); void set_cache_insert(const bool v) { _cache_insert = v; } void set_tipodocsdi(const char* t) { _tipo_doc_sdi = t; } + void set_regfisc(const char* s) { _regfisc = s; } TReg_fp(const char* tipo_doc_sdi, bool definitivo); ~TReg_fp(); diff --git a/src/fp/fplib01.cpp b/src/fp/fplib01.cpp index 00c4e6807..05e662a13 100644 --- a/src/fp/fplib01.cpp +++ b/src/fp/fplib01.cpp @@ -3309,7 +3309,7 @@ bool TReg_fp::reg_to_paf(const TMovimento_contabile& mov) } paf0200f.set("P2_ANACODEORI", fornitore.cod_EORI()); - paf0200f.set("P2_REGFISCALE", ""); //TODO DA RF01 A RF09 + paf0200f.set("P2_REGFISCALE", _regfisc); //TODO DA RF01 A RF09 // DatiSede paf0200f.set("P2_SEDEIND", fornitore.via_residenza()); // paf0200f.set("P2_SEDENRCIVICO", fornitore.civico_residenza().left(8)); //