diff --git a/src/tf/tf0100.cpp b/src/tf/tf0100.cpp index d0409b220..3911e2d8c 100644 --- a/src/tf/tf0100.cpp +++ b/src/tf/tf0100.cpp @@ -244,15 +244,15 @@ bool save_rec(TToken_string row, const bool esportato) r_cust.put("NUMREG", row.get(_numero)); } r_cust.put("TIPO", row.get(_tipocf)); - r_cust.put("CODCF", row.get(_codcf)); - r_cust.put("OCCAS", row.get(_occas)); - r_cust.put("TIPODOC", row.get(_codnum)); - r_cust.put("TIPODOCAE", row.get(_codnumAE)); + r_cust.put("CODCF", row.get(_codcf)); + r_cust.put("OCCAS", row.get(_occas)); + r_cust.put("TIPODOC", row.get(_codnum)); + r_cust.put("TIPODOCAE", row.get(_codnumAE)); r_cust.put("NUMDOC", row.get(_numdoc)); - r_cust.put("DATAREG", row.get(_datareg)); - r_cust.put("DATADOC", row.get(_datadoc)); + r_cust.put("DATAREG", row.get(_datareg)); + r_cust.put("DATADOC", row.get(_datadoc)); r_cust.put("IMPONIBILE", row.get(_imponibile)); - r_cust.put("IMPOSTA", row.get(_importoIVA)); + r_cust.put("IMPOSTA", row.get(_importoIVA)); r_cust.put("CODIVA", row.get(_aliquota)); r_cust.put("NATURA", row.get(_natura)); r_cust.put("AUTOFATT", row.get(_autofatt)); diff --git a/src/tf/tf0100b.h b/src/tf/tf0100b.h index 80e148e65..23d6bf047 100644 --- a/src/tf/tf0100b.h +++ b/src/tf/tf0100b.h @@ -41,13 +41,13 @@ enum return_code // Su DB: X o ''->Da inviare, F->Forzato, I->Inviato, N->Non inviare enum filter_fatt { - to_send, // "", "X", "F", "E" - sent, // "I" - untouched, // "", "X" - forced, // "F" - disabled, // "N" - err, // "E" - all // Nessun controllo + to_send = 0, // "", "X", "F", "E" + sent = 1, // "I" + untouched = 2, // "", "X" + forced = 3, // "F" + disabled = 5, // "N" + err = 4, // "E" + all = 6 // Nessun controllo }; #define SHEET_GAP 101 @@ -227,6 +227,8 @@ protected: void next_page(int p) override; static TRecnotype nuovo_progr(); void change_invio(const TString& tipocf, const TString& codcf, const TString& numdoc, const TString& invio) const; + void update_stato(const TString& da_stato, const TString& a_stato); + bool on_field_event(TOperable_field& o, TField_event e, long jolly) override; void open_java(); diff --git a/src/tf/tf0101.cpp b/src/tf/tf0101.cpp index f6ff34ad3..822997994 100644 --- a/src/tf/tf0101.cpp +++ b/src/tf/tf0101.cpp @@ -2,6 +2,7 @@ #include "tf0100b.h" #include +#include "urldefid.h" ///////////////////////////////////////////////////////////////////////////////////// // TTrFa_mask @@ -52,12 +53,19 @@ bool TTrFa_mask::on_field_event(TOperable_field& o, TField_event e, long jolly) docs.force_update(); } } - break; + break; case DLG_PDF: + { + TMask cs_mask("Cambiamento stato movimenti", 1, 30, 5); + cs_mask.add_button_tool(DLG_OK, "~Conferma", TOOL_OK); + cs_mask.add_button_tool(DLG_CANCEL, "Annulla", TOOL_CANCEL); + cs_mask.add_list(101, 0, "Da stato", 0, 0, 15, "", "X|I|N|F|E", "Da Inviare|Inviato|Disabilitato|Forzato|Errato"); + cs_mask.add_list(102, 0, "A stato", 0, 2, 15, "", "X|I|N|F|E", "Da Inviare|Inviato|Disabilitato|Forzato|Errato"); + if (cs_mask.run() == K_ENTER) { - TMask cs_mask("Cambiamento stato movimenti", 1, 20, 10); - + update_stato(cs_mask.get(101), cs_mask.get(102)); } + } break; case F_RIGHE: if (e == se_notify_add) @@ -626,6 +634,19 @@ void TTrFa_mask::change_invio(const TString& tipocf, const TString& codcf, const } } +void TTrFa_mask::update_stato(const TString& da_stato, const TString& a_stato) +{ + TSheet_field& sf = sfield(F_RIGHE); + sf.hide(); + FOR_EACH_SHEET_ROW(sf, r, row) + { + if (*row->get(sf.cid2index(A_INVIO)) == *da_stato) + row->add(a_stato, sf.cid2index(A_INVIO)); + } + sf.force_update(); + sf.show(); +} + void TTrFa_mask::load_sheet() { const char tipo = get(F_TIPOCF)[0]; diff --git a/src/tf/tf0102.cpp b/src/tf/tf0102.cpp index 4e2630dc8..ace09695f 100644 --- a/src/tf/tf0102.cpp +++ b/src/tf/tf0102.cpp @@ -80,6 +80,7 @@ TRectype TTrFa_cursors::_next(return_code& code, TString& tipocf, TString& codcf tipo_doc == -1 || !msk().get_bool(tipo_doc)) { static TString codiva; + TString n_simo; do { // Se ritorna false ho finito i records @@ -91,7 +92,9 @@ TRectype TTrFa_cursors::_next(return_code& code, TString& tipocf, TString& codcf else { // Controllo se ho cambiato movimento - _new_mov = num_mov != _c_rmoviva->get("23.NUMREG").as_string(); + _new_mov = num_mov != (n_simo = _c_rmoviva->get("23.NUMREG").as_string()); + if (n_simo == "44583") + bool simo = true; codiva.cut(0) << _c_rmoviva->get("25.CODIVA").as_string(); } } // Ciclo finchè non trovo un nuovo movimento o trovo cod IVA già presi da cust @@ -114,7 +117,7 @@ TRectype TTrFa_cursors::_next(return_code& code, TString& tipocf, TString& codcf bool tolla = true; #endif - // Controllo dell'esistenza di un record custom in tasfatt + // Controllo dell'esistenza di un record custom in trasfatt ret_rec = getTrasFatt(_c_rmoviva->get("23.NUMREG").as_string(), _c_rmoviva->get("25.CODIVA").as_string()); if(ret_rec.empty()) {