diff --git a/cd/test/cg0738.txt b/cd/test/cg0738.txt new file mode 100644 index 000000000..d11b39578 --- /dev/null +++ b/cd/test/cg0738.txt @@ -0,0 +1,3 @@ +cg2100c.msk + +Tolta obbligatorietà fornitore in bolla doganale \ No newline at end of file diff --git a/cd/test/cg0738a.ini b/cd/test/cg0738a.ini new file mode 100644 index 000000000..e1afd0c02 --- /dev/null +++ b/cd/test/cg0738a.ini @@ -0,0 +1,94 @@ +[Main] +Demo=0 + +[cg1] +Edit_23 = cg2 -0 +File(232) = cg2100c.msk|X +Patch = 0738 +Versione = 21511200 + +[cg99] +Kill(0) = bastscc.msk|x +Kill(1) = bastndo.rep|x +Kill(2) = bastarb.rep|x +Kill(3) = bastcco.rep|x +Kill(4) = batbpor.msk|x +Kill(5) = bastzon.msk|x +Kill(6) = bastmsp.msk|x +Kill(7) = bastcve.rep|x +Kill(8) = bastpdb.msk|x +Kill(9) = batbpdb.msk|x +Kill(10) = bastver.msk|x +Kill(11) = batbcco.msk|x +Kill(12) = batbntb.msk|x +Kill(13) = batbind.msk|x +Kill(14) = batbdpn.msk|x +Kill(15) = batbarb.msk|x +Kill(16) = batbleg.msk|x +Kill(17) = bastcam.rep|x +Kill(18) = bastnot.msk|x +Kill(19) = bastpor.rep|x +Kill(20) = bastcco.msk|x +Kill(21) = batblia.msk|x +Kill(22) = batbvet.msk|x +Kill(23) = bastcve.msk|x +Kill(24) = bastesc.msk|x +Kill(25) = batbins.msk|x +Kill(26) = batblia.msk|x +Kill(27) = bastpor.msk|x +Kill(28) = batbcve.msk|x +Kill(29) = batbdel.msk|x +Kill(30) = bastleg.msk|x +Kill(31) = bastcam.msk|x +Kill(32) = bastzon.rep|x +Kill(33) = batbscc.msk|x +Kill(34) = bastdpn.rep|x +Kill(35) = batbcam.msk|x +Kill(36) = bastdpn.msk|x +Kill(37) = batbesc.msk|x +Kill(38) = bastvet.rep|x +Kill(39) = bastcfi.msk|x +Kill(40) = bastndo.msk|x +Kill(41) = bastarb.msk|x +Kill(42) = batbreg.msk|x +Kill(43) = cgtbcon.msk|x +Kill(44) = batbnot.msk|x +Kill(45) = batbmsp.msk|x +Kill(46) = bastreg.msk|x +Kill(47) = batbzon.msk|x +Kill(48) = bastesc.rep|x +Kill(49) = bastntb.rep|x +Kill(50) = bastver.rep|x +Kill(51) = bastreg.rep|x +Kill(52) = bastpdb.rep|x +Kill(53) = batbcfi.msk|x +Kill(54) = bastvet.msk|x +Kill(55) = bastntb.msk|x +Kill(56) = bastnot.rep|x +Kill(57) = batbinl.msk|x +Kill(58) = bastmsp.rep|x +Kill(59) = bastivd.msk|x +Kill(60) = batblbu.msk|x +Kill(61) = batbtra.msk|x +Kill(62) = bastcfi.rep|x +Kill(63) = batbivd.msk|x +Kill(64) = bastleg.rep|x +Kill(65) = bastscc.rep|x +Kill(66) = batbtit.msk|x +Kill(67) = bastivd.rep|x +Kill(68) = batbver.msk|x +Kill(69) = batbndo.msk|x + +[cg] +Data = 19-03-2019 +Descrizione = Contabilita' Generale +Dischi = 1 +Moduli = ba +OEM = +Patch = 738 +PostProcess = bainst -0 CG +PreProcess = +Prezzo(1) = +Prezzo(2) = +Versione = 21511200 + diff --git a/cd/test/cg0738a1.zip b/cd/test/cg0738a1.zip new file mode 100644 index 000000000..ae9b7a234 Binary files /dev/null and b/cd/test/cg0738a1.zip differ diff --git a/cd/test/fp0734.txt b/cd/test/fp0734.txt index 05880d415..3dbea5e19 100644 --- a/cd/test/fp0734.txt +++ b/cd/test/fp0734.txt @@ -1,3 +1,5 @@ fp0.exe -Corretta lettura campi custom, si è presentato un errore con la nuova gestione "nascondi sconti in fattura", veniva letto sempre il campo di default e non passava per la funzione prezzo() \ No newline at end of file +- Corretta lettura campi custom, si è presentato un errore con la nuova gestione "nascondi sconti in fattura", veniva letto sempre il campo di default e non passava per la funzione prezzo() +- Messo una volta sola denominazione in scheda errori fornitori +- Sistemato ciclo per chiamata e creazione files.ini \ No newline at end of file diff --git a/cd/test/fp0734a1.zip b/cd/test/fp0734a1.zip index 9b9258bb5..ab4557dce 100644 Binary files a/cd/test/fp0734a1.zip and b/cd/test/fp0734a1.zip differ diff --git a/cd/test/tf0738.txt b/cd/test/tf0738.txt new file mode 100644 index 000000000..2fa7fe679 --- /dev/null +++ b/cd/test/tf0738.txt @@ -0,0 +1,6 @@ +tf0.exe +tf0100a.msk + +- Tolto controllo fornitore bolla doganale +- Sistemati filtri maschera spesometro +- Invertito ordine "Sogg. Fatt. Elettr" e Esteri in fornitori (era diverso rispetto ai clienti) \ No newline at end of file diff --git a/cd/test/tf0738a.ini b/cd/test/tf0738a.ini new file mode 100644 index 000000000..d9238d275 --- /dev/null +++ b/cd/test/tf0738a.ini @@ -0,0 +1,20 @@ +[Main] +Demo=0 + +[tf1] +File(0) = tf0.exe|X +File(1) = tf0100a.msk|X +Patch = 738 +Versione = 21511200 + +[tf] +Data = 19-03-2019 +Descrizione = Trasferimento fatture +Dischi = 1 +Moduli = cg +OEM = +Patch = 738 +PostProcess = +PreProcess = +Versione = 21511200 + diff --git a/cd/test/tf0738a1.zip b/cd/test/tf0738a1.zip new file mode 100644 index 000000000..511a79087 Binary files /dev/null and b/cd/test/tf0738a1.zip differ diff --git a/src/cg/cg2100c.uml b/src/cg/cg2100c.uml index 5e978d5e5..2e3ee082e 100755 --- a/src/cg/cg2100c.uml +++ b/src/cg/cg2100c.uml @@ -369,7 +369,7 @@ BEGIN DISPLAY "Codice Fiscale@16" COFI OUTPUT F_BOLLACODCLI CODCF OUTPUT F_BOLLARAGCLI RAGSOC - CHECKTYPE REQUIRED + CHECKTYPE NORMAL WARNING "Fornitore associato a bolla doganale assente" ADD RUN cg0 -1 FLAGS "" @@ -388,7 +388,7 @@ BEGIN DISPLAY "Codice Fiscale@16" COFI OUTPUT F_BOLLACODCLI CODCF OUTPUT F_BOLLARAGCLI RAGSOC - CHECKTYPE REQUIRED + CHECKTYPE NORMAL ADD RUN cg0 -1 FLAGS "" END diff --git a/src/fp/fp0400.cpp b/src/fp/fp0400.cpp index b8f2a4931..aa3ee26b2 100644 --- a/src/fp/fp0400.cpp +++ b/src/fp/fp0400.cpp @@ -12,6 +12,7 @@ #include "sheet.h" #include "execp.h" #include "dongle.h" +#include enum { @@ -28,13 +29,27 @@ enum { filtri = 0, elenco_fe = 1, elenco_err = 2 }; // Enum per bottoni toolbar class TPassive_mask : public TAutomask { protected: + bool _filter_changed; + TFilename tmp_dir; + struct TForn_err + { + int forn_code; + int fatt_err; + }; + + std::map _list_fatt_err; void set_filter_changed(); void select_all(int sheet_field); + // Tasto nuovo: apre nuovo fornitore valorizzando già i dati dalla fattura void new_forn(); // Tasto aggiorna: aggiorna cliente che non corrisponde. void aggiorna_forn(); + void salva_for() const; + void clean_cg0(const TString& filename) const; + void run_cg0(const TString& filename) const; + bool on_field_event(TOperable_field& o, TField_event e, long jolly) override; void next_page(int p) override; // Elenco dei protocolli selezionati @@ -46,24 +61,15 @@ protected: // Aggiunge i protocolli che sono già presenti per le fatture nel db alla tabellina per il filtro void aggiungi_prot() const; void init(); - void load_all_fields(); - TToken_string _forn_code; - TToken_string _list_fatt_err; - bool _filter_changed; - void salva_for() const; - public: void save_all_fields() const; TPassive_mask() : TAutomask("fp0400a"), _filter_changed(true) { + tmp_dir = tmp_dir.tempdir(); load_all_fields(); - _forn_code = ""; - _forn_code.separator('|'); - _list_fatt_err = ""; - _list_fatt_err.separator('|'); } }; @@ -119,8 +125,7 @@ void TPassive_mask::fill() "ORDER BY PZ_ANNOPROT DESC, PZ_TIPOPROT ASC, PZ_NUMPROT DESC"; fp_db().sq_set_exec(query, false); - _forn_code = ""; - _list_fatt_err = ""; + _list_fatt_err.clear(); while(fp_db().sq_next()) { aggiungi_riga(clifo, sf, sf_err); @@ -185,31 +190,27 @@ void TPassive_mask::aggiungi_riga(TLocalisamfile& clifo, TSheet_field& sf, TShee row.add(fp_db().sq_get("TIPO_SDI")); row.add(fp_db().sq_get("NUM_DOC")); // Trasformo formato data da yyyy-mm-gg a italiano - TDate date_t(fp_db().sq_get_date("DATA_DOC")); - row.add(date_t); + row.add(fp_db().sq_get_date("DATA_DOC")); row.add(fp_db().sq_get("TOT_DOC")); - // Dopo aver fatto le ricerche se lo trovo lo segno e lo aggiungo, se no coloro la cella - TString forn_str; forn_str << forn_code; - TString nr_row; nr_row << sf.items(); - if(forn_code < 0) - { - _forn_code.add(forn_str); - _list_fatt_err.add(nr_row); - } - - if (forn_code == 0) row.add("X"); - else row.add(""); + // Decido se mettere o meno il flag + if (forn_code == 0) + row.add("X"); + else + row.add(""); + // Valorizzo le colonne rimanenti o la tabella degli errori if (forn_code >= 0) { row.add(clifo.get(CLI_CODCF)); row.add(clifo.get(CLI_RAGSOC)); } - else + else if (_list_fatt_err.find(denom) == _list_fatt_err.end()) { - //sf.set_back_and_fore_color(COLOR_RED, COLOR_WHITE, 2, sf.cid2index(S_FORNITORE)); - //sf.set_back_and_fore_color(COLOR_RED, COLOR_WHITE, 2, sf.cid2index(S_RAGSOC)); + TForn_err& forn_err = _list_fatt_err[denom]; + forn_err.forn_code = forn_code; + forn_err.fatt_err = sf.items() - 1; + add_row_err_forn(forn_code, sf_err, denom); } @@ -248,7 +249,7 @@ void TPassive_mask::aggiungi_prot() const sf_prot.force_update(); } -void TPassive_mask::add_row_err_forn(int forn_code, TSheet_field& sf_err, TString& denom) +void TPassive_mask::add_row_err_forn(const int forn_code, TSheet_field& sf_err, TString& denom) { TToken_string& row_err = sf_err.row(-1); row_err.add(fp_db().sq_get("COD_PAESE"), 1); @@ -399,15 +400,31 @@ void TPassive_mask::salva_for() const } } +void TPassive_mask::clean_cg0(const TString& filename) const +{ + static TString remove_string; + remove_string.cut(0) << tmp_dir << "\\" << filename << "*.*"; + remove_files(remove_string, false); +} + +void TPassive_mask::run_cg0(const TString& filename) const +{ + static TString run_string; + run_string.cut(0) << "cg0 -1 -i" << tmp_dir << "\\" << filename << "*" << ".ini" << " /u" << user(); + TExternal_app(run_string).run(); +} + void TPassive_mask::new_forn() { TSheet_field& sf = sfield(F_ERR); - TString newf = "fpnewf"; + static const TString newf = "fpnewf"; + clean_cg0(newf); FOR_EACH_SHEET_ROW(sf, nr, row) { - int cod_forn = _forn_code.get_int(nr); // Prendo codice di errore associazione fornitore - - int n_row_elenco = _list_fatt_err.get_int(nr); // Prendo che numero di riga a cui mi riferisco in fatture + const TString denom = row->get(sf.cid2index(S_RAGSERR)); + TForn_err& forn_err = _list_fatt_err[denom]; + const int& cod_forn = forn_err.forn_code; // Prendo codice di errore associazione fornitore + const int& n_row_elenco = forn_err.fatt_err; // Prendo che numero di riga a cui mi riferisco in fatture TSheet_field& f_docs = sfield(F_DOCS); // Prendo SheetField da elenco fatture TToken_string& row_elenco_fatt = f_docs.row(n_row_elenco); // Prendo riga dall'elenco delle fatture TToken_string keys(row_elenco_fatt.get(f_docs.cid2index(S_PROKEY)), ';'); // Dalla riga leggo la chiave del db @@ -424,7 +441,6 @@ void TPassive_mask::new_forn() TString num; num.format("%04d", nr); TFilename newf_ini; - TString temp_path = newf_ini.tempdir(); newf_ini.tempdir() << "\\" << newf << num << ".ini"; TConfig forn_conf(newf_ini, "Transaction"); @@ -444,12 +460,10 @@ void TPassive_mask::new_forn() forn_conf.set("RAGGOR", "O"); forn_conf.set("PADESTIN", row_elenco_fatt.get(sf.cid2index(S_CODSDI))); - TExternal_app app(TString("cg0 -1 -i") << temp_path << "\\" << newf << "*" << ".ini" << " /u" << user()); - app.run(); row->add("", 0); } } - + run_cg0(newf); sf.force_update(); } @@ -457,28 +471,35 @@ void TPassive_mask::aggiorna_forn() { TSheet_field& sf = sfield(F_ERR); static const TString newf = "fpaggf"; + clean_cg0(newf); FOR_EACH_SHEET_ROW(sf, nr, row) { - const int cod_forn = _forn_code.get_int(nr); // Prendo codice di errore associazione fornitore - - const int n_row_elenco = _list_fatt_err.get_int(nr); // Prendos che numero di riga a cui mi riferisco in fatture + const TString denom = row->get(sf.cid2index(S_RAGSERR)); + TForn_err& forn_err = _list_fatt_err[denom]; + const int& cod_forn = forn_err.forn_code; // Prendo codice di errore associazione fornitore + const int& n_row_elenco = forn_err.fatt_err; // Prendo che numero di riga a cui mi riferisco in fatture TSheet_field& f_docs = sfield(F_DOCS); // Prendo SheetField da elenco fatture TToken_string& row_elenco_fatt = f_docs.row(n_row_elenco); // Prendo riga dall'elenco delle fatture if (row->starts_with("X") && cod_forn == no_match_cf) { TLocalisamfile clifo(LF_CLIFO); - bool is_not_gruppo_iva = false; clifo.setkey(5); clifo.put(CLI_TIPOCF, 'F'); - clifo.put(CLI_STATOPAIV, row->get(1)); - clifo.put(CLI_PAIV, row->get(2)); - is_not_gruppo_iva = (clifo.read() == NOERR && clifo.get(CLI_ALLEG) != "G"); - if(is_not_gruppo_iva) + clifo.put(CLI_STATOPAIV, row->get(sf.cid2index(S_STATOERR))); + clifo.put(CLI_PAIV, row->get()); + if(clifo.read() != NOERR) + { + TString msg = "Impossibile trovare il fornitore scelto "; + msg << row->get(sf.cid2index(S_STATOERR)) << " " << row->get(); + warning_box(msg); + continue; + } + + if(clifo.get(CLI_ALLEG) != "G") // Controllo che non sia un gruppo IVA { TString num; num.format("%04d", nr); TFilename newf_ini; - TString temp_path = newf_ini.tempdir(); newf_ini.tempdir() << "\\" << newf << num << ".ini"; TConfig forn_conf(newf_ini, "Transaction"); @@ -487,15 +508,13 @@ void TPassive_mask::aggiorna_forn() forn_conf.set_paragraph("20"); forn_conf.set("TIPOCF", "F"); forn_conf.set("COFI", row->get(sf.cid2index(S_CODFIERR))); - forn_conf.set("CODCF", row_elenco_fatt.get(sf.cid2index(S_FORNITORE))); + forn_conf.set("CODCF", clifo.get(CLI_CODCF)); - TExternal_app app(TString("cg0 -1 -i") << temp_path << "\\" << newf << "*" << ".ini" << " /u" << user()); - message_box(TString("Sto andando a modificare il codice fiscale del fornitore:\n") << row->get(sf.cid2index(S_RAGSERR))); - app.run(); row->add("", 0); } } } + run_cg0(newf); sf.force_update(); } diff --git a/src/fp/fp0400a.h b/src/fp/fp0400a.h index 95c081e50..27b457893 100644 --- a/src/fp/fp0400a.h +++ b/src/fp/fp0400a.h @@ -26,7 +26,7 @@ #define S_PARIVA 111 #define S_CODFISC 112 #define S_ATTACH 113 -#define S_CODSDI 114 +#define S_CODSDI 114 #define S_RAGXML 115 #define S_NPROT 116 #define S_PROKEY 117 diff --git a/src/tf/tf0100.cpp b/src/tf/tf0100.cpp index 3911e2d8c..0bd7185ce 100644 --- a/src/tf/tf0100.cpp +++ b/src/tf/tf0100.cpp @@ -287,12 +287,6 @@ inline const char * no_special(const char a) return ""; } -bool bd2017() -{ - static TDate today = TDate(TODAY), last_day = TDate(31,12,2017); - return today <= last_day; -} - TTrFa_mask& msk() { static TTrFa_mask* msk = nullptr; @@ -1110,19 +1104,19 @@ bool TTrFa_app::tff0400(TSheet_field& sheet) static TString checkClifo; checkClifo.cut(0); // Per le bolle doganali devo fare sempre questo giro - bool foundBolla = strcmp(strarr->get(_codnum),"BD") == 0, foundBollaCli = false; + bool found_bolla = strcmp(strarr->get(_codnum),"BD") == 0, found_bolla_cli = false; static TString cfbolladog; - if(foundBolla) + if(found_bolla) { // Attenzione! Se è una riga inserita a mano dall'utente prendo lo stesso il fornitore della riga! cfbolladog = strarr->get_int(_numero) < MOV_CUSTOM ? cache().get(LF_MOV, strarr->get_long(_numero), "CFBOLLADOG") : strarr->get(_codcf); if(!cfbolladog.blank()) { - foundBollaCli = true; + found_bolla_cli = true; checkClifo << "F" << cfbolladog; } } - if(!foundBollaCli) + if(!found_bolla_cli) { static TString tempOcfpi; tempOcfpi.cut(0) << strarr->get(_occas); if(tempOcfpi.blank()) @@ -1150,7 +1144,7 @@ bool TTrFa_app::tff0400(TSheet_field& sheet) // Con l'uscita di questo programma è stato messo un collegamento in prima nota // per il fornitore a cui è riferita la bolla doganale - if(foundBollaCli) + if(found_bolla_cli) { r_cedeprest = getCli("F", cfbolladog, ""); cedeprest.init(r_cedeprest); @@ -1173,10 +1167,8 @@ bool TTrFa_app::tff0400(TSheet_field& sheet) } else // Fattura normale, lascio più volte la funzione con il nome del campo per leggibilità { - // Ovviamente tutte le bolle doganali fatte prima del rilascio - // non avranno questo campo compilato e quindi dovrò passare la partita IVA "OO99999999999" - // Controllo anche di essere in una data entro il 31/12/2017, dopo tale data sto ragionamento non è valido - if(foundBolla && !foundBollaCli && bd2017()) + // Se la bolla doganale non ha un fornitore collegato posso passare come P.IVA OO99999999999 + if(found_bolla && !found_bolla_cli) { tff0400f.set("P4_FISCIVAPAESE", "OO"); tff0400f.set("P4_FISCIVACOD", "99999999999"); @@ -1208,7 +1200,7 @@ bool TTrFa_app::tff0400(TSheet_field& sheet) bool rsoc = cedeprest.giuridica() || (tipo == 3 || tipo == 7 || tipo == 8 || tipo == 0); bool privato = tipo == 6 || (cedeprest.estero() && cedeprest.fisica()); - if(foundBolla && !foundBollaCli) + if(found_bolla && !found_bolla_cli) { tff0400f.set("P4_ANADENOM", "Dato Assente"); } @@ -1271,7 +1263,7 @@ bool TTrFa_app::tff0400(TSheet_field& sheet) // Devo trovare rsoc e: // 1 - Non trovo la bolla // 2 - Trovo il cliente - if(rsoc && (!foundBolla || foundBollaCli)) + if(rsoc && (!found_bolla || found_bolla_cli)) { tff0400f.set("P4_ANADENOM", cedeprest.ragione_sociale()); } diff --git a/src/tf/tf0100a.uml b/src/tf/tf0100a.uml index e8afbec93..973f38748 100644 --- a/src/tf/tf0100a.uml +++ b/src/tf/tf0100a.uml @@ -232,19 +232,19 @@ BEGIN FLAGS "H" END -BOOLEAN B_PAA_ESTERI -BEGIN - PROMPT 1 11 "Esteri" - GROUP 20 - FLAGS "" -END - BOOLEAN B_PAA_SOG_FAT BEGIN - PROMPT 1 12 "Soggetti a fatturazione elettronica" + PROMPT 1 11 "Soggetti a fatturazione elettronica" GROUP 20 END +BOOLEAN B_PAA_ESTERI +BEGIN + PROMPT 1 12 "Esteri" + GROUP 20 + FLAGS "" +END + ENDPAGE PAGE "Trasferimento Fatture" 0 2 0 0 diff --git a/src/tf/tf0101.cpp b/src/tf/tf0101.cpp index 67de14416..6a3f9a91b 100644 --- a/src/tf/tf0101.cpp +++ b/src/tf/tf0101.cpp @@ -574,7 +574,7 @@ void TTrFa_mask::the_final_check_down() // IT'S THE FINAL CHECKDOOOOOOOWN! WE'RE { // Chiave: TIPOCF + CODCF + NUMDOC + CODIVA TString key; key << strarr->get_char(_tipocf) << "|" << strarr->get_int(_codcf) << "|" << strarr->get(_numdoc) << "|" << strarr->get(_aliquota); - TToken_string newNumero; newNumero.add(r, 0); newNumero.add(strarr->get_char(_invio), 1); + TToken_string new_numero; new_numero.add(r, 0); new_numero.add(strarr->get_char(_invio), 1); if(cli_docs.is_key(key)) { TToken_string oldnumero = *dynamic_cast(cli_docs.objptr(key)); @@ -587,11 +587,11 @@ void TTrFa_mask::the_final_check_down() // IT'S THE FINAL CHECKDOOOOOOOWN! WE'RE flag_row(oldr, FLAG_NINVIO); } - cli_docs.add(key, newNumero); + cli_docs.add(key, new_numero); } else { - cli_docs.add(key, newNumero); + cli_docs.add(key, new_numero); } } // Forzo l'aggiornamento dello sheet diff --git a/src/tf/tf0200.cpp b/src/tf/tf0200.cpp index 9ad69d5c1..90f7c3161 100644 --- a/src/tf/tf0200.cpp +++ b/src/tf/tf0200.cpp @@ -79,19 +79,19 @@ const TRectype getVER(int anno, int mese) else key << mese; - TRectype rowRet(LF_TABCOM); + TRectype row_ret(LF_TABCOM); for(cver = 0; cver.pos() < cver.items(); ++cver) { - TRectype rowVer = cver.curr(); - if(rowVer.get("CODTAB") < key) + TRectype row_ver = cver.curr(); + if(row_ver.get("CODTAB") < key) { - rowRet = rowVer; + row_ret = row_ver; } else break; } - return rowRet; + return row_ret; } /* Scopiazzata e divisa in due da cg4304.cpp @@ -174,58 +174,58 @@ int calc_inc_diff(int anno, int mese, int tipoiva, real& imposta_diff, real& imp } /* Funzione per determinare il credito dell'anno precedente delle dichiarazioni precedenti */ -void calcolaCreditoPrec(real& creprec, real& creaprec, bool mensile, int anno, int mese) +void calcola_credito_prec(real& creprec, real& creaprec, bool mensile, int anno, int mese) { // Credito anno precedente /* Per calcolare il credito dell'anno precedente inizio a leggere i record precedenti su IVALIQ * fino a quando ne trovo uno >= 0. */ - TRectype rowLia = getLIA(anno); + TRectype row_lia = getLIA(anno); if(mensile || (!mensile && ((mese - 1) % 3) == 0)) { - TRelation ivaLiq(LF_IVALIQ); - TRectype from(ivaLiq.curr()); from.put("ANNO", anno); from.put("MESE", 1); + TRelation iva_liq(LF_IVALIQ); + TRectype from(iva_liq.curr()); from.put("ANNO", anno); from.put("MESE", 1); // Fino al mese precedente - TRectype to(ivaLiq.curr()); to.put("ANNO", anno); to.put("MESE", mese - 1); + TRectype to(iva_liq.curr()); to.put("ANNO", anno); to.put("MESE", mese - 1); - TCursor curLiq(&ivaLiq, "GENERATA!=\"G\"", 1, &from, &to); + TCursor cur_liq(&iva_liq, "GENERATA!=\"G\"", 1, &from, &to); bool trovato = false; - for(curLiq = 0; curLiq.pos() < curLiq.items(); ++curLiq) + for(cur_liq = 0; cur_liq.pos() < cur_liq.items(); ++cur_liq) { - TRectype rowLiq = curLiq.curr(); - if(rowLiq.get_int("MESE") >= mese) break; // Perchè li prende lo stesso? + TRectype row_liq = cur_liq.curr(); + if(row_liq.get_int("MESE") >= mese) break; // Perchè li prende lo stesso? - trovato = trovato || rowLiq.get_real("CREAPREC") > ZERO; - creprec = rowLiq.get_real("IVAVERC"); + trovato = trovato || row_liq.get_real("CREAPREC") > ZERO; + creprec = row_liq.get_real("IVAVERC"); } /* Se non ho trovato nessun valore positivo (i negativi senza nessun positivo prima non sono validi) * vado a leggere la liquidazione di quest'anno */ if(!trovato) { - creaprec = rowLia.get_real("R0"); + creaprec = row_lia.get_real("R0"); } } } -class ComLiqPerIva_mask : public TAutomask +class TCom_liq_per_iva_msk : public TAutomask { protected: - bool mensile; + bool _mensile; // Aggiunta questa variabile per specificare se è stato impostato un tipo di liquidazione. // In Release sembra che durante la ricerca salta l'inizializzazione e imposta prima gli altri campi - bool initLiq; - TRectype trueData; + bool _init_liq; + TRectype _true_data; virtual bool on_field_event(TOperable_field& o, TField_event e, long jolly); void extractinator(); - void checkOldValue(int field, real val); + void check_old_value(int field, real val); public: - ComLiqPerIva_mask() : TAutomask("tf0200a"), trueData(LF_IVALIQ), initLiq(false) { first_focus(F_ANNO); } - void saveGen(); + TCom_liq_per_iva_msk() : TAutomask("tf0200a"), _true_data(LF_IVALIQ), _init_liq(false) { first_focus(F_ANNO); } + void save_gen(); }; -bool ComLiqPerIva_mask::on_field_event(TOperable_field& o, TField_event e, long jolly) +bool TCom_liq_per_iva_msk::on_field_event(TOperable_field& o, TField_event e, long jolly) { switch (o.dlg()) { @@ -241,28 +241,28 @@ bool ComLiqPerIva_mask::on_field_event(TOperable_field& o, TField_event e, long } if(cache().get("%LIA", cod, "S7") == "M") { - mensile = true; - initLiq = true; + _mensile = true; + _init_liq = true; enable(F_MESE); disable(F_TRIMESTRE); } else { - mensile = false; - initLiq = true; + _mensile = false; + _init_liq = true; disable(F_MESE); enable(F_TRIMESTRE); } } break; case F_MESE: - if(e == fe_modify && mensile && initLiq) + if(e == fe_modify && _mensile && _init_liq) set(F_TRIMESTRE, (get_int(F_MESE) - 1) / 3 + 1); break; case F_TRIMESTRE: if(e == fe_init && !query_mode()) disable(F_TRIMESTRE); - if(e == fe_modify && !mensile && initLiq && query_mode()) + if(e == fe_modify && !_mensile && _init_liq && query_mode()) { set(F_MESE, get_int(F_TRIMESTRE) * 3); disable(F_TRIMESTRE); @@ -290,19 +290,19 @@ bool ComLiqPerIva_mask::on_field_event(TOperable_field& o, TField_event e, long if(e == fe_button) { // Richiamo il programma di invio - TExternal_app invioApp("tf0 -4"); - invioApp.run(); + TExternal_app invio_app("tf0 -4"); + invio_app.run(); } } break; case DLG_SAVEREC: - if(e != fe_init && !trueData.empty()) - trueData.write_rewrite(TLocalisamfile(LF_IVALIQ)); + if(e != fe_init && !_true_data.empty()) + _true_data.write_rewrite(TLocalisamfile(LF_IVALIQ)); } if(o.dlg() >= CAMPI_CON_BOOLEAN && o.dlg() <= F_IMPNOVER && e == fe_modify) // Se l'utente modifica manualmente uno dei campi calcolati da Campo flaggo il DB { - checkOldValue(o.dlg(), get_real(o.dlg())); + check_old_value(o.dlg(), get_real(o.dlg())); } // Controllo sull'aggiornamento di campi collegati ad altri @@ -324,15 +324,15 @@ bool ComLiqPerIva_mask::on_field_event(TOperable_field& o, TField_event e, long { set(F_IVADOV, ivaes - ivadet); set(F_IVADOVC, ZERO); - checkOldValue(F_IVADOV, ivaes - ivadet); - checkOldValue(F_IVADOVC, ""); + check_old_value(F_IVADOV, ivaes - ivadet); + check_old_value(F_IVADOVC, ""); } else { set(F_IVADOV, ZERO); set(F_IVADOVC, (ivaes - ivadet) * -UNO); - checkOldValue(F_IVADOV, ""); - checkOldValue(F_IVADOVC, (ivaes - ivadet) * -UNO); + check_old_value(F_IVADOV, ""); + check_old_value(F_IVADOVC, (ivaes - ivadet) * -UNO); } } // IVA da versare VS a credito @@ -354,7 +354,7 @@ bool ComLiqPerIva_mask::on_field_event(TOperable_field& o, TField_event e, long if(creaprec < ZERO) { real creprec = ZERO; real appcreaprec; - calcolaCreditoPrec(creprec, appcreaprec, mensile, get_int(F_ANNO), get_int(F_MESE)); + calcola_credito_prec(creprec, appcreaprec, _mensile, get_int(F_ANNO), get_int(F_MESE)); creaprec = appcreaprec + creaprec; } @@ -363,15 +363,15 @@ bool ComLiqPerIva_mask::on_field_event(TOperable_field& o, TField_event e, long { set(F_IVAVER, debito - credito); set(F_IVAVERC, ZERO); - checkOldValue(F_IVAVER, debito - credito); - checkOldValue(F_IVAVERC, ""); + check_old_value(F_IVAVER, debito - credito); + check_old_value(F_IVAVERC, ""); } else { set(F_IVAVER, ZERO); set(F_IVAVERC, credito - debito); - checkOldValue(F_IVAVER, ""); - checkOldValue(F_IVAVERC, credito - debito); + check_old_value(F_IVAVER, ""); + check_old_value(F_IVAVERC, credito - debito); } } break; @@ -381,14 +381,14 @@ bool ComLiqPerIva_mask::on_field_event(TOperable_field& o, TField_event e, long } // Funzione che effettivamente estrapola i dati necessari -void ComLiqPerIva_mask::extractinator() // Per gli amici GTFO +void TCom_liq_per_iva_msk::extractinator() // Per gli amici GTFO { /* Devo estrapolare più mesi, per farlo vado ciclo n volte (1 o 3) in base se stiamo parlando di trimestralità o meno * I dati da prelevare saranno in PRM, LIM e %LIA * In PRM e LIM troverò le informazioni suddivise per mese, mentre in %LIA ho l'anno di liquidazione */ - int start = mensile ? get_int(F_MESE) : (((get_int(F_TRIMESTRE) - 1) * 3) + 1); - int end = mensile ? start : start + 2; + int start = _mensile ? get_int(F_MESE) : (((get_int(F_TRIMESTRE) - 1) * 3) + 1); + int end = _mensile ? start : start + 2; int anno = get_int(F_ANNO); // Valori da calcolare @@ -422,7 +422,7 @@ void ComLiqPerIva_mask::extractinator() // Per gli amici GTFO { TDate data_da(1, start, anno); TDate data_a(1, start, anno); data_a.set_end_month(); - bool hasIXC = gestione_IVAxCassa(data_da); + bool has_ixc = gestione_IVAxCassa(data_da); /**************************************************************************************************************** * TOTOPATT, TOTOPATTXC, TOTOPPAS, TOTOPPASXC, IVAES, IVAESXC, IVAESDIFF, @@ -430,43 +430,43 @@ void ComLiqPerIva_mask::extractinator() // Per gli amici GTFO ****************************************************************************************************************/ // Riga LIM - const TRectype rowLim = getLIM(anno, start); + const TRectype row_lim = getLIM(anno, start); // Controllo che la liquidazione è stata effettuata, controllo da fare solo nella 12 - if (dongle().year_assist() > 2121 && (rowLim.empty() || rowLim.get_bool("B0")) && !yesno_box("Attenzione non � stata calcolata la liquidazione del periodo corrente, si desidera proseguire ugualmente?")) + if (dongle().year_assist() > 2121 && (row_lim.empty() || row_lim.get_bool("B0")) && !yesno_box("Attenzione non � stata calcolata la liquidazione del periodo corrente, si desidera proseguire ugualmente?")) { return; } // Riga LIA - const TRectype rowLia = getLIA(anno); + const TRectype row_lia = getLIA(anno); - TString queryIva = "USE RMOVIVA\n"; - queryIva << "SELECT ( " << FIELD_NAME(LF_MOV, MOV_REG) << "!=\"\")&&BETWEEN( " << FIELD_NAME(LF_MOV, MOV_DATAREG) << ",#DADATAREG,#ADATAREG)"; // scritto FIELD_NAME meglio usarla - queryIva << "\nJOIN MOV INTO " << MOV_NUMREG << "==" << MOV_NUMREG << "\n"; + TString query_iva = "USE RMOVIVA\n"; + query_iva << "SELECT ( " << FIELD_NAME(LF_MOV, MOV_REG) << "!=\"\")&&BETWEEN( " << FIELD_NAME(LF_MOV, MOV_DATAREG) << ",#DADATAREG,#ADATAREG)"; // scritto FIELD_NAME meglio usarla + query_iva << "\nJOIN MOV INTO " << MOV_NUMREG << "==" << MOV_NUMREG << "\n"; - TISAM_recordset curIva(queryIva); - curIva.set_var("#DADATAREG", data_da); - curIva.set_var("#ADATAREG", data_a); + TISAM_recordset cur_iva(query_iva); + cur_iva.set_var("#DADATAREG", data_da); + cur_iva.set_var("#ADATAREG", data_a); - for(bool ok = curIva.move_first(); ok; ok = curIva.move_next()) + for(bool ok = cur_iva.move_first(); ok; ok = cur_iva.move_next()) { TString totat, totpas, i; // Controllo che sia un movimento con codice non "non soggetto" - TCodiceIVA codiva(curIva.get(FIELD_NAME(LF_RMOVIVA, RMI_CODIVA)).as_string()); + TCodiceIVA codiva(cur_iva.get(FIELD_NAME(LF_RMOVIVA, RMI_CODIVA)).as_string()); if(codiva.tipo() == "NS") continue; // Prendo il tipo di registro - TRegistro reg(curIva.get(FIELD_NAME(LF_MOV, MOV_REG)).as_string(), anno); + TRegistro reg(cur_iva.get(FIELD_NAME(LF_MOV, MOV_REG)).as_string(), anno); int tiporeg = reg.tipo(); - bool isCorrispettivo = reg.corrispettivi(); + bool is_corrispettivo = reg.corrispettivi(); // Prendiamo l'imponibile - real imp = curIva.get("25.IMPONIBILE").as_real(); - real imposta = curIva.get("25.IMPOSTA").as_real(); + real imp = cur_iva.get("25.IMPONIBILE").as_real(); + real imposta = cur_iva.get("25.IMPOSTA").as_real(); // Se è un movimento IvaXCassa o LiqDiff - if(hasIXC && (curIva.get("23.IVAXCASSA").as_bool() || curIva.get("23.LIQDIFF").as_bool())) + if(has_ixc && (cur_iva.get("23.IVAXCASSA").as_bool() || cur_iva.get("23.LIQDIFF").as_bool())) { if(tiporeg == iva_vendite) totopattxc += imp; @@ -479,11 +479,11 @@ void ComLiqPerIva_mask::extractinator() // Per gli amici GTFO { // Controllo il reverse charge, non va calcolato nel totale delle operazioni attive! // Se non ha una riga di movimento non lo sommo - TString keyRC = curIva.get("23.NUMREG").as_string(); keyRC << "|1"; - if(!cache().get(LF_RMOV, keyRC).empty()) + TString key_rc = cur_iva.get("23.NUMREG").as_string(); key_rc << "|1"; + if(!cache().get(LF_RMOV, key_rc).empty()) { // Controllo se è un corrispettivo non scorporato (imponibile e iva assieme) - if(isCorrispettivo && codiva.percentuale() > ZERO && imposta == ZERO) + if(is_corrispettivo && codiva.percentuale() > ZERO && imposta == ZERO) { // Nell'imponibile è presente il totale fattura, devo calcolare l'imposta e sottrarla // Es iva 22% => imp : 122 = x : 100 @@ -502,7 +502,7 @@ void ComLiqPerIva_mask::extractinator() // Per gli amici GTFO // Se ha attiva l'IVA x cassa calcolo le imposte (imponibili per comodità già calcolati sopra) - if(hasIXC) + if(has_ixc) { // IVA esigibile real imposta_diff, imposta_xcas; @@ -526,7 +526,7 @@ void ComLiqPerIva_mask::extractinator() // Per gli amici GTFO /** Resto *****************************************************************************************************/ - TRectype rowLam = getLAM(anno, start); + TRectype row_lam = getLAM(anno, start); /* É saltato fuori che in caso di liquidazione trimestrale l'importo ivaes e ivadet * viene scritto su ogni mese, quindi prendo solo quando @@ -534,44 +534,44 @@ void ComLiqPerIva_mask::extractinator() // Per gli amici GTFO if(start == end) { - ivaes += rowLam.get_real("R0"); - ivadet += rowLam.get_real("R1"); + ivaes += row_lam.get_real("R0"); + ivadet += row_lam.get_real("R1"); } ivaes += ivaesxc + ivaesdiff; ivadet += ivadetxc + ivadetdiff; - rettifiche = rettifiche + rowLim.get_real("R5"); - varimp = varimp + rowLim.get_real("R17"); - rimborsi = rimborsi + rowLim.get_real("R1"); - impnover = impnover + rowLim.get_real("R18"); - crespec = crespec + rowLim.get_real("R19"); - vereff = vereff + rowLim.get_real("R8"); + rettifiche = rettifiche + row_lim.get_real("R5"); + varimp = varimp + row_lim.get_real("R17"); + rimborsi = rimborsi + row_lim.get_real("R1"); + impnover = impnover + row_lim.get_real("R18"); + crespec = crespec + row_lim.get_real("R19"); + vereff = vereff + row_lim.get_real("R8"); - debprec = debprec + rowLim.get_real("S2"); + debprec = debprec + row_lim.get_real("S2"); - real appReal = ZERO; + real app_real = ZERO; // Credito periodo precedente e anno precedente - calcolaCreditoPrec(creprec, creaprec, mensile, anno, start); + calcola_credito_prec(creprec, creaprec, _mensile, anno, start); if(creaprec < ZERO) creaprec = ZERO; - intliqtri = intliqtri + rowLim.get_real("R14"); - accdov = accdov + rowLim.get_real("R11"); + intliqtri = intliqtri + row_lim.get_real("R14"); + accdov = accdov + row_lim.get_real("R11"); } // Controllo debprec // Calcolo prendendo dalla tabella %VER - TRectype rowVer = getVER(anno, start); - if(rowVer.empty() || rowVer.get_real("R5") == ZERO) + TRectype row_ver = getVER(anno, start); + if(row_ver.empty() || row_ver.get_real("R5") == ZERO) { error_box("Non è stata valorizzato correttamente il campo \"Periodico\" in \"Versamenti ed interessi IVA\""); return; } else { - if(debprec > rowVer.get_real("R5")) // Se è maggiore di 25.82€ va azzerato + if(debprec > row_ver.get_real("R5")) // Se è maggiore di 25.82€ va azzerato debprec = ZERO; } // Calcolo ivadov/ivadovc @@ -587,7 +587,7 @@ void ComLiqPerIva_mask::extractinator() // Per gli amici GTFO } // Calcolo l'IVA da versare o a Credito - if (!mensile && get_int(F_TRIMESTRE) == 5) + if (!_mensile && get_int(F_TRIMESTRE) == 5) { ivaver = ZERO; ivaverc = ZERO; @@ -642,7 +642,7 @@ void ComLiqPerIva_mask::extractinator() // Per gli amici GTFO set(F_VEREFF, vereff); // Preparo il record - saveGen(); + save_gen(); // Azzero i booleani for(int i = B_TOTOPATT; i <= B_CRESPEC; i++) { @@ -650,143 +650,143 @@ void ComLiqPerIva_mask::extractinator() // Per gli amici GTFO } } -void ComLiqPerIva_mask::saveGen() +void TCom_liq_per_iva_msk::save_gen() { // Assegno tutti i campi - trueData.put("ANNO", get(F_ANNO)); - trueData.put("MESE", get(F_MESE)); - trueData.put("TRIMESTRE", get(F_TRIMESTRE)); - trueData.put("GENERATA", 'G'); // Segno che è generata da campo - trueData.put("TOTOPATT", get(F_TOTOPATT)); - trueData.put("TOTOPATTXC", get(F_TOTOPATTXC)); - trueData.put("TOTOPPAS", get(F_TOTOPPAS)); - trueData.put("TOTOPPASXC", get(F_TOTOPPASXC)); - trueData.put("IVAES", get(F_IVAES)); - trueData.put("IVAESXC", get(F_IVAESXC)); - trueData.put("IVAESDIFF", get(F_IVAESDIFF)); - trueData.put("IVADET", get(F_IVADET)); - trueData.put("IVADETXC", get(F_IVADETXC)); - trueData.put("IVADETDIFF", get(F_IVADETDIFF)); - trueData.put("IVADOV", get(F_IVADOV)); - trueData.put("IVADOVC", get(F_IVADOVC)); - trueData.put("DEBPREC", get(F_DEBPREC)); - trueData.put("CREPREC", get(F_CREPREC)); - trueData.put("CREAPREC", get(F_CREAPREC)); - trueData.put("VEAUE", get(F_VEAUE)); - trueData.put("CREIMP", get(F_CREIMP)); - trueData.put("INTLIQTRI", get(F_INTLIQTRI)); - trueData.put("ACCDOV", get(F_ACCDOV)); - trueData.put("IVAVER", get(F_IVAVER)); - trueData.put("IVAVERC", get(F_IVAVERC)); - trueData.put("RETTIFICHE", get(F_RETTIFICHE)); - trueData.put("VARIMP", get(F_VARIMP)); - trueData.put("RIMBORSI", get(F_RIMBORSI)); - trueData.put("CRESPEC", get(F_CRESPEC)); - trueData.put("IMPNOVER", get(F_IMPNOVER)); - trueData.put("VEREFF", get(F_VEREFF)); + _true_data.put("ANNO", get(F_ANNO)); + _true_data.put("MESE", get(F_MESE)); + _true_data.put("TRIMESTRE", get(F_TRIMESTRE)); + _true_data.put("GENERATA", 'G'); // Segno che è generata da campo + _true_data.put("TOTOPATT", get(F_TOTOPATT)); + _true_data.put("TOTOPATTXC", get(F_TOTOPATTXC)); + _true_data.put("TOTOPPAS", get(F_TOTOPPAS)); + _true_data.put("TOTOPPASXC", get(F_TOTOPPASXC)); + _true_data.put("IVAES", get(F_IVAES)); + _true_data.put("IVAESXC", get(F_IVAESXC)); + _true_data.put("IVAESDIFF", get(F_IVAESDIFF)); + _true_data.put("IVADET", get(F_IVADET)); + _true_data.put("IVADETXC", get(F_IVADETXC)); + _true_data.put("IVADETDIFF", get(F_IVADETDIFF)); + _true_data.put("IVADOV", get(F_IVADOV)); + _true_data.put("IVADOVC", get(F_IVADOVC)); + _true_data.put("DEBPREC", get(F_DEBPREC)); + _true_data.put("CREPREC", get(F_CREPREC)); + _true_data.put("CREAPREC", get(F_CREAPREC)); + _true_data.put("VEAUE", get(F_VEAUE)); + _true_data.put("CREIMP", get(F_CREIMP)); + _true_data.put("INTLIQTRI", get(F_INTLIQTRI)); + _true_data.put("ACCDOV", get(F_ACCDOV)); + _true_data.put("IVAVER", get(F_IVAVER)); + _true_data.put("IVAVERC", get(F_IVAVERC)); + _true_data.put("RETTIFICHE", get(F_RETTIFICHE)); + _true_data.put("VARIMP", get(F_VARIMP)); + _true_data.put("RIMBORSI", get(F_RIMBORSI)); + _true_data.put("CRESPEC", get(F_CRESPEC)); + _true_data.put("IMPNOVER", get(F_IMPNOVER)); + _true_data.put("VEREFF", get(F_VEREFF)); } -void ComLiqPerIva_mask::checkOldValue(int field, real val) +void TCom_liq_per_iva_msk::check_old_value(int field, real val) { - if(trueData.empty()) + if(_true_data.empty()) { TString key; key << get(F_ANNO) << "|" << get(F_MESE) << "|G"; - trueData = cache().get(LF_IVALIQ, key); + _true_data = cache().get(LF_IVALIQ, key); } - real trueVal = ZERO; + real true_val = ZERO; // Modo più intelligente di uno stupido switch case? switch(field) { case F_TOTOPATT: - trueVal = trueData.get_real("TOTOPATT"); + true_val = _true_data.get_real("TOTOPATT"); break; case F_TOTOPATTXC: - trueVal = trueData.get_real("TOTOPATTXC"); + true_val = _true_data.get_real("TOTOPATTXC"); break; case F_TOTOPPAS: - trueVal = trueData.get_real("TOTOPPAS"); + true_val = _true_data.get_real("TOTOPPAS"); break; case F_TOTOPPASXC: - trueVal = trueData.get_real("TOTOPPASXC"); + true_val = _true_data.get_real("TOTOPPASXC"); break; case F_IVAES: - trueVal = trueData.get_real("IVAES"); + true_val = _true_data.get_real("IVAES"); break; case F_IVAESXC: - trueVal = trueData.get_real("IVAESXC"); + true_val = _true_data.get_real("IVAESXC"); break; case F_IVAESDIFF: - trueVal = trueData.get_real("IVAESDIFF"); + true_val = _true_data.get_real("IVAESDIFF"); break; case F_IVADET: - trueVal = trueData.get_real("IVADET"); + true_val = _true_data.get_real("IVADET"); break; case F_IVADETXC: - trueVal = trueData.get_real("IVADETXC"); + true_val = _true_data.get_real("IVADETXC"); break; case F_IVADETDIFF: - trueVal = trueData.get_real("IVADETDIFF"); + true_val = _true_data.get_real("IVADETDIFF"); break; case F_IVADOV: - trueVal = trueData.get_real("IVADOV"); + true_val = _true_data.get_real("IVADOV"); break; case F_IVADOVC: - trueVal = trueData.get_real("IVADOVC"); + true_val = _true_data.get_real("IVADOVC"); break; case F_DEBPREC: - trueVal = trueData.get_real("DEBPREC"); + true_val = _true_data.get_real("DEBPREC"); break; case F_CREPREC: - trueVal = trueData.get_real("CREPREC"); + true_val = _true_data.get_real("CREPREC"); break; case F_CREAPREC: - trueVal = trueData.get_real("CREAPREC"); + true_val = _true_data.get_real("CREAPREC"); break; case F_VEAUE: - trueVal = trueData.get_real("VEAUE"); + true_val = _true_data.get_real("VEAUE"); break; case F_CREIMP: - trueVal = trueData.get_real("CREIMP"); + true_val = _true_data.get_real("CREIMP"); break; case F_INTLIQTRI: - trueVal = trueData.get_real("INTLIQTRI"); + true_val = _true_data.get_real("INTLIQTRI"); break; case F_ACCDOV: - trueVal = trueData.get_real("ACCDOV"); + true_val = _true_data.get_real("ACCDOV"); break; case F_IVAVER: - trueVal = trueData.get_real("IVAVER"); + true_val = _true_data.get_real("IVAVER"); break; case F_IVAVERC: - trueVal = trueData.get_real("IVAVERC"); + true_val = _true_data.get_real("IVAVERC"); break; case F_RETTIFICHE: - trueVal = trueData.get_real("RETTIFICHE"); + true_val = _true_data.get_real("RETTIFICHE"); break; case F_VARIMP: - trueVal = trueData.get_real("VARIMP"); + true_val = _true_data.get_real("VARIMP"); break; case F_RIMBORSI: - trueVal = trueData.get_real("RIMBORSI"); + true_val = _true_data.get_real("RIMBORSI"); break; case F_CRESPEC: - trueVal = trueData.get_real("CRESPEC"); + true_val = _true_data.get_real("CRESPEC"); break; case F_IMPNOVER: - trueVal = trueData.get_real("IMPNOVER"); + true_val = _true_data.get_real("IMPNOVER"); break; case F_VEREFF: - trueVal = trueData.get_real("VEREFF"); + true_val = _true_data.get_real("VEREFF"); break; } - set(field + 50, trueVal != val ? "X" : ""); + set(field + 50, true_val != val ? "X" : ""); } -class ComLiqPerIva_app : public TRelation_application +class TCom_liq_per_iva_app : public TRelation_application { private: - ComLiqPerIva_mask* _mask; + TCom_liq_per_iva_msk* _mask; TRelation* _rel; protected: bool user_create(); @@ -797,15 +797,15 @@ public: virtual TRelation* get_relation() const {return (TRelation*)_rel;} }; -bool ComLiqPerIva_app::user_create() +bool TCom_liq_per_iva_app::user_create() { _rel = new TRelation(LF_IVALIQ); - _mask = new ComLiqPerIva_mask; + _mask = new TCom_liq_per_iva_msk; set_search_field(F_ANNO); return true; } -bool ComLiqPerIva_app::user_destroy() +bool TCom_liq_per_iva_app::user_destroy() { delete _mask; return true; @@ -813,7 +813,7 @@ bool ComLiqPerIva_app::user_destroy() int tf0200(int argc, char* argv[]) { - ComLiqPerIva_app app; + TCom_liq_per_iva_app app; app.run(argc, argv, TR("Trasferimento dati liquidazione IVA")); return 0; } \ No newline at end of file diff --git a/src/tf/tf0400.cpp b/src/tf/tf0400.cpp index 527aba14c..99699bfa3 100644 --- a/src/tf/tf0400.cpp +++ b/src/tf/tf0400.cpp @@ -425,48 +425,49 @@ void TSpe_check_msk::find_homeland(TToken_string& row, TString numreg, TString c { TSheet_field& s = sfield(F_RIGHE); static TLocalisamfile mov(LF_MOV), rmov(LF_RMOVIVA); - TRectype recMov(LF_MOV), recRmov(LF_RMOVIVA); + TRectype rec_mov(LF_MOV); + TRectype rec_rmov(LF_RMOVIVA); - recMov.put("NUMREG", numreg); - recRmov.put("NUMREG", numreg); - mov.read(recMov); - rmov.read(recRmov); + rec_mov.put("NUMREG", numreg); + rec_rmov.put("NUMREG", numreg); + mov.read(rec_mov); + rmov.read(rec_rmov); real imponibile = ZERO, imposta = ZERO; while(!rmov.eof()) { // Mi sposto se il codice IVA non è quello che mi serve - while(recRmov.get("NUMREG") == numreg && recRmov.get("CODIVA") != codiva) + while(rec_rmov.get("NUMREG") == numreg && rec_rmov.get("CODIVA") != codiva) { ++rmov; - recRmov = rmov.curr(); + rec_rmov = rmov.curr(); } - if(recRmov.get("NUMREG") != numreg) break; - imponibile += recRmov.get_real("IMPONIBILE"); - imposta += recRmov.get_real("IMPOSTA"); + if(rec_rmov.get("NUMREG") != numreg) break; + imponibile += rec_rmov.get_real("IMPONIBILE"); + imposta += rec_rmov.get_real("IMPOSTA"); // Mi sposto ++rmov; - recRmov = rmov.curr(); + rec_rmov = rmov.curr(); } // Torno sul record per prendere i dati che mi mancano - --rmov; recRmov = rmov.curr(); - row.add(recMov.get("DATAREG"), s.cid2index(A_DATAREG)); - row.add(recMov.get("TIPODOC"), s.cid2index(A_TIPODOC)); - row.add(recMov.get("NUMDOC"), s.cid2index(A_NUMDOC)); - row.add(recMov.get("DATADOC"), s.cid2index(A_DATADOC)); - row.add(recRmov.get("CODIVA"), s.cid2index(A_ALIQUOTA)); + --rmov; rec_rmov = rmov.curr(); + row.add(rec_mov.get("DATAREG"), s.cid2index(A_DATAREG)); + row.add(rec_mov.get("TIPODOC"), s.cid2index(A_TIPODOC)); + row.add(rec_mov.get("NUMDOC"), s.cid2index(A_NUMDOC)); + row.add(rec_mov.get("DATADOC"), s.cid2index(A_DATADOC)); + row.add(rec_rmov.get("CODIVA"), s.cid2index(A_ALIQUOTA)); row.add(imponibile, s.cid2index(A_IMPONIBILE)); row.add(imposta, s.cid2index(A_IMPOSTA)); // NATURA - row.add(natura(recRmov.get("CODIVA")), s.cid2index(A_NATURA)); + row.add(natura(rec_rmov.get("CODIVA")), s.cid2index(A_NATURA)); // DETR - row.add(find_detraib(recRmov.get("TIPODET")), s.cid2index(A_DETRAIB)); + row.add(find_detraib(rec_rmov.get("TIPODET")), s.cid2index(A_DETRAIB)); - row.add(recMov.get("TIPO"), s.cid2index(A_TIPOCF)); - row.add(recMov.get("CODCF"), s.cid2index(A_CODCF)); - row.add(recMov.get("OCFPI"), s.cid2index(A_OCFPI)); + row.add(rec_mov.get("TIPO"), s.cid2index(A_TIPOCF)); + row.add(rec_mov.get("CODCF"), s.cid2index(A_CODCF)); + row.add(rec_mov.get("OCFPI"), s.cid2index(A_OCFPI)); // RSOC row.add(clifo.get("RAGSOC"), s.cid2index(A_RAGSOC)); // RFSO @@ -474,7 +475,7 @@ void TSpe_check_msk::find_homeland(TToken_string& row, TString numreg, TString c // RSOC RFSO row.add(get_rfso(clifo.get("CODRFSO")), s.cid2index(A_RAGSOCRFSO)); // RC - row.add((rev_charge(recMov.get("NUMREG"), recMov.get_date("DATAREG").year())), s.cid2index(A_REVERSE)); + row.add((rev_charge(rec_mov.get("NUMREG"), rec_mov.get_date("DATAREG").year())), s.cid2index(A_REVERSE)); // AUTOFATT if(_ditta.partita_IVA() == clifo.get("PAIV")) { @@ -488,8 +489,8 @@ void TSpe_check_msk::find_homeland(TToken_string& row, TString numreg, TString c row.add(clifo.get("PAIV"), s.cid2index(A_PAIV)); // P.IVA row.add(clifo.get("COFI"), s.cid2index(A_COFI)); // Codice Fiscale } - row.add(recMov.get_bool("TFINVIO") ? "X" : "", s.cid2index(A_SPEDITA)); - row.add(recMov.get("NUMREG"), s.cid2index(A_NUMERO)); + row.add(rec_mov.get_bool("TFINVIO") ? "X" : "", s.cid2index(A_SPEDITA)); + row.add(rec_mov.get("NUMREG"), s.cid2index(A_NUMERO)); } @@ -669,20 +670,20 @@ void TSpe_check_msk::save_all() TString key = strarr->get(s.cid2index(A_NUMERO)); key << "|"<< strarr->get(s.cid2index(A_ALIQUOTA)); - TRectype rCust = cache().get(LF_TRASFATT, key); - rCust.put("TIPO", strarr->get(s.cid2index(A_TIPOCF))); - rCust.put("CODCF", strarr->get(s.cid2index(A_CODCF))); - rCust.put("OCCAS", strarr->get(s.cid2index(A_OCFPI))); - rCust.put("TIPODOC", strarr->get(s.cid2index(A_TIPODOC))); - rCust.put("NUMDOC", strarr->get(s.cid2index(A_NUMDOC))); - rCust.put("DATAREG", strarr->get(s.cid2index(A_DATAREG))); - rCust.put("DATADOC", strarr->get(s.cid2index(A_DATADOC))); - rCust.put("IMPONIBILE", strarr->get(s.cid2index(A_IMPONIBILE))); - rCust.put("IMPOSTA", strarr->get(s.cid2index(A_IMPOSTA))); - rCust.put("CODIVA", strarr->get(s.cid2index(A_ALIQUOTA))); - rCust.put("NATURA", strarr->get(s.cid2index(A_NATURA))); - rCust.put("AUTOFATT", strarr->get(s.cid2index(A_AUTOFATT))); - if(rCust.rewrite(trasfatt) != NOERR) + TRectype r_cust = cache().get(LF_TRASFATT, key); + r_cust.put("TIPO", strarr->get(s.cid2index(A_TIPOCF))); + r_cust.put("CODCF", strarr->get(s.cid2index(A_CODCF))); + r_cust.put("OCCAS", strarr->get(s.cid2index(A_OCFPI))); + r_cust.put("TIPODOC", strarr->get(s.cid2index(A_TIPODOC))); + r_cust.put("NUMDOC", strarr->get(s.cid2index(A_NUMDOC))); + r_cust.put("DATAREG", strarr->get(s.cid2index(A_DATAREG))); + r_cust.put("DATADOC", strarr->get(s.cid2index(A_DATADOC))); + r_cust.put("IMPONIBILE", strarr->get(s.cid2index(A_IMPONIBILE))); + r_cust.put("IMPOSTA", strarr->get(s.cid2index(A_IMPOSTA))); + r_cust.put("CODIVA", strarr->get(s.cid2index(A_ALIQUOTA))); + r_cust.put("NATURA", strarr->get(s.cid2index(A_NATURA))); + r_cust.put("AUTOFATT", strarr->get(s.cid2index(A_AUTOFATT))); + if(r_cust.rewrite(trasfatt) != NOERR) { error_box("Errore durante il salvataggio del movimento n.: %s, cod alq: %s", strarr->get(s.cid2index(A_NUMERO)) ,strarr->get(s.cid2index(A_ALIQUOTA))); return; @@ -701,11 +702,11 @@ void TSpe_check_msk::delete_all() if(strcmp(strarr->get(s.cid2index(A_ELIMINA)), "X") != 0 || (get_long(F_TIPOCONTROLLO) == 1 && r % 2 == 0)) continue; static TLocalisamfile trasfatt(LF_TRASFATT); - static TRectype rCust(LF_TRASFATT); - rCust.put("NUMREG", strarr->get(s.cid2index(A_NUMERO))); - rCust.put("CODIVA", strarr->get(s.cid2index(A_ALIQUOTA))); + static TRectype r_cust(LF_TRASFATT); + r_cust.put("NUMREG", strarr->get(s.cid2index(A_NUMERO))); + r_cust.put("CODIVA", strarr->get(s.cid2index(A_ALIQUOTA))); - if(rCust.remove(trasfatt) != NOERR) + if(r_cust.remove(trasfatt) != NOERR) { error_box("Errore durante l'eliminazione del movimento n.: %s, cod alq: %s", strarr->get(s.cid2index(A_NUMERO)) ,strarr->get(s.cid2index(A_ALIQUOTA))); return; diff --git a/src/tf/tf0500.cpp b/src/tf/tf0500.cpp index 60a4a8944..544378f84 100644 --- a/src/tf/tf0500.cpp +++ b/src/tf/tf0500.cpp @@ -14,30 +14,30 @@ #define CODICE_FORNITURA "IVP" -class TIvaSend_msk : public TAutomask +class TIva_send_msk : public TAutomask { - bool mese; + bool _mese; virtual bool on_field_event(TOperable_field& o, TField_event e, long jolly); public: - bool checkVariables(); - bool isMese() { return mese; } - TIvaSend_msk() : TAutomask("tf0500a"){} + bool check_variables(); + bool is_mese() const { return _mese; } + TIva_send_msk() : TAutomask("tf0500a"){} }; // Definizione per chiamare metodo send dalla maschera -class TIvaSend_app : public TSkeleton_application +class TIva_send_app : public TSkeleton_application { - void generateNSend(TIvaSend_msk& msk) { generate(msk) && send(); } - bool generate(TIvaSend_msk& msk); - TToken_string getTestata(TIvaSend_msk& msk); + void generate_n_send(TIva_send_msk& msk) { generate(msk) && send(); } + bool generate(TIva_send_msk& msk); + TToken_string get_testata(TIva_send_msk& msk); public: bool send(); virtual void main_loop(); }; -TIvaSend_app& app() { return (TIvaSend_app&)main_app(); } +TIva_send_app& app() { return (TIva_send_app&)main_app(); } -const TRectype getAnagDitta() +const TRectype get_anag_ditta() { TString codanagr = cache().get(LF_NDITTE, prefix().firm().codice(), "TIPOA"); codanagr << "|" << cache().get(LF_NDITTE, prefix().firm().codice(), "CODANAGR"); @@ -45,7 +45,7 @@ const TRectype getAnagDitta() } // Ritorna il record richiesto di tabcom.LIM -const TRectype getLim(int anno, int mese) +const TRectype get_lim(int anno, int mese) { TString key; key << anno; if(mese < 10) @@ -56,7 +56,7 @@ const TRectype getLim(int anno, int mese) } // Ritorna il record richiesto di ivaliq -const TRectype getLiq(int anno, int mese) +const TRectype get_liq(int anno, int mese) { TString key; key << anno << "|"; if(mese < 10) @@ -66,22 +66,22 @@ const TRectype getLiq(int anno, int mese) } // Ritorna il record richiesto di tabcom.LIA -const TRectype getLia(int anno) +const TRectype get_lia(int anno) { TString key; key << format("%05d", prefix().firm().codice()) << anno; // %05d Crea un numero di 5 cifre partendo dal codice e mettendoci 0 davanti return cache().get("%LIA", key); } -TString formatCurrency(TString value) +TString format_currency(const TString& value) { - real app(value); + const real app(value); if(app == ZERO) return ",00"; else return TCurrency(app).string(); } -bool TIvaSend_msk::on_field_event(TOperable_field& o, TField_event e, long jolly) +bool TIva_send_msk::on_field_event(TOperable_field& o, TField_event e, long jolly) { switch(o.dlg()) { @@ -102,7 +102,7 @@ bool TIvaSend_msk::on_field_event(TOperable_field& o, TField_event e, long jolly } if(cache().get("%LIA", cod, "S7") == "M") { - mese = true; + _mese = true; enable(F_DAMESE); enable(F_AMESE); disable(F_DATRIMESTRE); @@ -110,7 +110,7 @@ bool TIvaSend_msk::on_field_event(TOperable_field& o, TField_event e, long jolly } else { - mese = false; + _mese = false; disable(F_DAMESE); disable(F_AMESE); enable(F_DATRIMESTRE); @@ -129,7 +129,7 @@ bool TIvaSend_msk::on_field_event(TOperable_field& o, TField_event e, long jolly if(cache().get("%LIA", cod, "S7") == "M") { set(F_ANNO, i); - mese = true; + _mese = true; enable(F_DAMESE); enable(F_AMESE); disable(F_DATRIMESTRE); @@ -139,7 +139,7 @@ bool TIvaSend_msk::on_field_event(TOperable_field& o, TField_event e, long jolly else { set(F_ANNO, i); - mese = false; + _mese = false; disable(F_DAMESE); disable(F_AMESE); enable(F_DATRIMESTRE); @@ -165,19 +165,19 @@ bool TIvaSend_msk::on_field_event(TOperable_field& o, TField_event e, long jolly return true; } -bool TIvaSend_msk::checkVariables() +bool TIva_send_msk::check_variables() { if(get(F_ANNO).empty()) { error_box("Inserire un anno di liquidazione"); return false; } - if((mese && get(F_DAMESE).empty() && get(F_AMESE).empty()) || (!mese && get(F_DATRIMESTRE).empty() && get(F_ATRIMESTRE).empty())) + if((_mese && get(F_DAMESE).empty() && get(F_AMESE).empty()) || (!_mese && get(F_DATRIMESTRE).empty() && get(F_ATRIMESTRE).empty())) { error_box("Inserisci un periodo"); return false; } - if((mese && (get_int(F_DAMESE) > get_int(F_AMESE))) || (!mese &&(get_int(F_DATRIMESTRE) > get_int(F_ATRIMESTRE)))) + if((_mese && (get_int(F_DAMESE) > get_int(F_AMESE))) || (!_mese &&(get_int(F_DATRIMESTRE) > get_int(F_ATRIMESTRE)))) { error_box("Date immesse non corrette"); return false; @@ -185,26 +185,26 @@ bool TIvaSend_msk::checkVariables() return true; } -bool TIvaSend_app::generate(TIvaSend_msk& msk) +bool TIva_send_app::generate(TIva_send_msk& msk) { - if(!msk.checkVariables()) + if(!msk.check_variables()) return false; ofstream file; TFilename path(msk.get(F_PATH)); - TRectype rowLia = getLia(msk.get_int(F_ANNO)); + TRectype row_lia = get_lia(msk.get_int(F_ANNO)); // Decido di utilizzare I10 come numero progressivo di trasmissione - int prog = rowLia.get_int("I14"); + int prog = row_lia.get_int("I14"); if(prog == 0) { - prog = getLia(msk.get_int(F_ANNO) - 1).get_int("I14"); + prog = get_lia(msk.get_int(F_ANNO) - 1).get_int("I14"); } prog++; - TString nomeFile; nomeFile << "IT" << getAnagDitta().get("PAIV") << TIPO_FILE << prog << ".csv"; + TString nome_file; nome_file << "IT" << get_anag_ditta().get("PAIV") << TIPO_FILE << prog << ".csv"; - path.add(nomeFile); + path.add(nome_file); file.open(path, ios::out); if(!file.is_open()) @@ -212,48 +212,48 @@ bool TIvaSend_app::generate(TIvaSend_msk& msk) else ini_set_string(CONFIG_STUDIO, "tf", "path_invio", msk.get(F_PATH)); - TToken_string testata(getTestata(msk)); + const TToken_string testata(get_testata(msk)); - int start = msk.isMese() ? msk.get_int(F_DAMESE) : (((msk.get_int(F_DATRIMESTRE)) * 3)); - int end = msk.isMese() ? msk.get_int(F_AMESE) : (((msk.get_int(F_ATRIMESTRE)) * 3)); + int start = msk.is_mese() ? msk.get_int(F_DAMESE) : (((msk.get_int(F_DATRIMESTRE)) * 3)); + const int end = msk.is_mese() ? msk.get_int(F_AMESE) : (((msk.get_int(F_ATRIMESTRE)) * 3)); for(; start <= end; start++) { - TRectype rowLim = getLim(msk.get_int(F_ANNO), start); // rowLim viene già usata sopra - TRectype rowLiq = getLiq(msk.get_int(F_ANNO), start); + TRectype row_lim = get_lim(msk.get_int(F_ANNO), start); // row_lim viene già usata sopra + TRectype row_liq = get_liq(msk.get_int(F_ANNO), start); TToken_string riga(testata); - if(msk.isMese()) + if(msk.is_mese()) { - riga.add(start); // Mese - riga.add(""); // Trimestre + riga.add(start); // Mese + riga.add(""); // Trimestre } else { - riga.add(""); // Mese - riga.add(rowLiq.get_int("TRIMESTRE") == 4 ? "5" : rowLiq.get("TRIMESTRE")); // Trimestre + riga.add(""); // Mese + riga.add(row_liq.get_int("TRIMESTRE") == 4 ? "5" : row_liq.get("TRIMESTRE")); // Trimestre } - char subfor = rowLiq.get_bool("SUBFOR") ? 'X' : '\0'; - riga.add(subfor); // Flag Subfornitura - riga.add(""); // Eventi eccezionali - riga.add(formatCurrency(rowLiq.get("TOTOPATT"))); // Totale operazioni attive (al netto dell'IVA) - riga.add(formatCurrency(rowLiq.get("TOTOPPAS"))); // Totale operazioni passive (al netto dell'IVA) - riga.add(formatCurrency(rowLiq.get("IVAES"))); // IVA esigibile - riga.add(formatCurrency(rowLiq.get("IVADET"))); // IVA detratta - riga.add(formatCurrency(rowLiq.get("IVADOV"))); // IVA dovuta - riga.add(formatCurrency(rowLiq.get("IVADOVC"))); // IVA a credito VP6 col 2 - riga.add(formatCurrency(rowLiq.get("DEBPREC"))); // Debito periodo precedente - riga.add(formatCurrency(rowLiq.get("CREPREC"))); // Credito periodo precedente - riga.add(formatCurrency(rowLiq.get("CREAPREC"))); // Credito anno precedente - riga.add(formatCurrency(rowLiq.get("VEAUE"))); // Versamenti auto UE - riga.add(formatCurrency(rowLiq.get("CREIMP"))); // Crediti di imposta - riga.add(formatCurrency(rowLiq.get("INTLIQTRI"))); // Interessi dovuti per liquidazioni trimestrali - riga.add(formatCurrency(rowLiq.get("ACCDOV"))); // Acconto dovuto - riga.add(formatCurrency(rowLiq.get("IVAVER"))); // IVA da versare - riga.add(formatCurrency(rowLiq.get("IVAVERC"))); // IVA a credito VP14 col 2 - riga.add(prog); // Numero interno trasmissione - riga.add(""); // Flag trasmesso - riga.add(""); // Flag accettato + const char subfor = row_liq.get_bool("SUBFOR") ? 'X' : '\0'; + riga.add(subfor); // Flag Subfornitura + riga.add(""); // Eventi eccezionali + riga.add(format_currency(row_liq.get("TOTOPATT"))); // Totale operazioni attive (al netto dell'IVA) + riga.add(format_currency(row_liq.get("TOTOPPAS"))); // Totale operazioni passive (al netto dell'IVA) + riga.add(format_currency(row_liq.get("IVAES"))); // IVA esigibile + riga.add(format_currency(row_liq.get("IVADET"))); // IVA detratta + riga.add(format_currency(row_liq.get("IVADOV"))); // IVA dovuta + riga.add(format_currency(row_liq.get("IVADOVC"))); // IVA a credito VP6 col 2 + riga.add(format_currency(row_liq.get("DEBPREC"))); // Debito periodo precedente + riga.add(format_currency(row_liq.get("CREPREC"))); // Credito periodo precedente + riga.add(format_currency(row_liq.get("CREAPREC"))); // Credito anno precedente + riga.add(format_currency(row_liq.get("VEAUE"))); // Versamenti auto UE + riga.add(format_currency(row_liq.get("CREIMP"))); // Crediti di imposta + riga.add(format_currency(row_liq.get("INTLIQTRI"))); // Interessi dovuti per liquidazioni trimestrali + riga.add(format_currency(row_liq.get("ACCDOV"))); // Acconto dovuto + riga.add(format_currency(row_liq.get("IVAVER"))); // IVA da versare + riga.add(format_currency(row_liq.get("IVAVERC"))); // IVA a credito VP14 col 2 + riga.add(prog); // Numero interno trasmissione + riga.add(""); // Flag trasmesso + riga.add(""); // Flag accettato // Appendo al file file << riga << "\n"; @@ -261,8 +261,8 @@ bool TIvaSend_app::generate(TIvaSend_msk& msk) file.close(); // Aggiorno l'univoco - rowLia.put("I14", prog); - if(rowLia.rewrite(TLocalisamfile(LF_TABCOM)) != NOERR) + row_lia.put("I14", prog); + if(row_lia.rewrite(TLocalisamfile(LF_TABCOM)) != NOERR) { error_box("Errore aggiornamento progressivo"); return false; @@ -270,7 +270,7 @@ bool TIvaSend_app::generate(TIvaSend_msk& msk) return true; } -TToken_string TIvaSend_app::getTestata(TIvaSend_msk& msk) +TToken_string TIva_send_app::get_testata(TIva_send_msk& msk) { TToken_string testata; // Token string di virgole TString cod_forn = CODICE_FORNITURA; cod_forn << msk.get(F_ANNO).right(2); @@ -280,21 +280,21 @@ TToken_string TIvaSend_app::getTestata(TIvaSend_msk& msk) testata.add(msk.get_int(F_ANNO)); // Anno comunicazione testata.add(""); // Mese comunicazione - TRectype anaDitta = getAnagDitta(); + TRectype ana_ditta = get_anag_ditta(); - testata.add(anaDitta.get("COFI")); // Codice fiscale - testata.add(anaDitta.get("PAIV")); // Partita IVA + testata.add(ana_ditta.get("COFI")); // Codice fiscale + testata.add(ana_ditta.get("PAIV")); // Partita IVA testata.add(""); // P.IVA Controllante testata.add(""); // Flag Liq. gruppo testata.add(""); // Flag firma comunicazione - int codiceCarica = atoi(prefix().firm().get("CARRAPP")); - if(codiceCarica > 0) + const int codice_carica = atoi(prefix().firm().get("CARRAPP")); + if(codice_carica > 0) { TString key = "F|"; key << prefix().firm().get("RAPPR"); - TString codFisc = cache().get(LF_ANAG, key, "COFI"); - testata.add(codFisc); // Cod.Fisc. Dichiarante - testata.add(codiceCarica); // Cod.Carica Dichiarante + const TString cod_fisc = cache().get(LF_ANAG, key, "COFI"); + testata.add(cod_fisc); // Cod.Fisc. Dichiarante + testata.add(codice_carica); // Cod.Carica Dichiarante } else { @@ -312,10 +312,9 @@ TToken_string TIvaSend_app::getTestata(TIvaSend_msk& msk) return testata; } -bool TIvaSend_app::send() +bool TIva_send_app::send() { - TFilename tmp; - tmp = TFBASE"\\ModuliSirio.jar"; + TFilename tmp = TFBASE"\\ModuliSirio.jar"; tmp.make_absolute_path(); DIRECTORY old_dir; xvt_fsys_get_dir(&old_dir); @@ -328,25 +327,25 @@ bool TIvaSend_app::send() } else { - error_box(FR("Impossibile eseguire Java -jar %s"), (const char*)tmp); + error_box(FR("Impossibile eseguire Java -jar %s"), static_cast(tmp)); } xvt_fsys_set_dir(&old_dir); return true; } -void TIvaSend_app::main_loop() +void TIva_send_app::main_loop() { - TIvaSend_msk msk; + TIva_send_msk msk; while(msk.run() == K_ENTER) { - generateNSend(msk); + generate_n_send(msk); } } int tf0500(int argc, char* argv[]) { - TIvaSend_app app; + TIva_send_app app; app.run(argc, argv, TR("Invio dati liquidazione IVA")); return 0; } \ No newline at end of file diff --git a/src/tf/tfutility.cpp b/src/tf/tfutility.cpp index da7d726e7..7c3c764c5 100644 --- a/src/tf/tfutility.cpp +++ b/src/tf/tfutility.cpp @@ -151,8 +151,8 @@ bool check_record(TISAM_recordset* rec, const bool mod_esterometro, // Se voglio solo quelli inviati e non è stato inviato o // voglio solo quelli non inviati ed è stato inviato, RUSPA! - if ((!is_sent && paf_sent) || (is_sent && paf_not_sent)) - return false; + if ((is_sent && paf_sent) || (!is_sent && paf_not_sent)) + return true; } else { @@ -183,12 +183,14 @@ bool check_record(TISAM_recordset* rec, const bool mod_esterometro, { return true; } - else + else if(paf_sog_fat || paf_esteri) { const bool is_fatturabile = ana_cli.stato_partita_IVA() == "IT" || ana_cli.stato_partita_IVA() == "SM"; - if ((is_fatturabile && !paf_sog_fat) || (is_fatturabile && paf_esteri)) - return false; + if ((is_fatturabile && paf_sog_fat) || (!is_fatturabile && paf_esteri)) + return true; } + + return false; } } else @@ -216,12 +218,13 @@ bool check_record(TISAM_recordset* rec, const bool mod_esterometro, { return true; } - else + else if (paa_sog_fat || paa_esteri) { const bool is_fatturabile = ana_cli.stato_partita_IVA() == "IT" || ana_cli.stato_partita_IVA() == "SM"; - if ((is_fatturabile && !paa_sog_fat) || (is_fatturabile && paa_esteri)) - return false; + if ((is_fatturabile && paa_sog_fat) || (!is_fatturabile && paa_esteri)) + return true; } + return false; } }