From 3c8a2943e907d663cd7b366625733cbf3a547917 Mon Sep 17 00:00:00 2001 From: smen Date: Tue, 29 Mar 2022 17:54:56 +0200 Subject: [PATCH] Patch level : 12.0 1130 Files correlati : cg, fp Commento: Modifica maschera e funzionamento del programma di invio integrazioni --- src/cg/cg0500a.uml | 2 +- src/cg/cglib.h | 1 + src/cg/cglib01.cpp | 5 +++ src/fp/fp0700.cpp | 37 ++++++++----------- src/fp/fp0700a.h | 17 ++++----- src/fp/fp0700a.rep | 92 ++++++++++++++++++++++++++-------------------- src/fp/fp0700a.uml | 46 +++++++++++++---------- 7 files changed, 109 insertions(+), 91 deletions(-) diff --git a/src/cg/cg0500a.uml b/src/cg/cg0500a.uml index f63f19f9b..dc6e17dd1 100755 --- a/src/cg/cg0500a.uml +++ b/src/cg/cg0500a.uml @@ -181,7 +181,7 @@ 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 "TDCOD0|TD20 Autofattura" + ITEM "TD20|TD20 Autofattura" END BOOLEAN F_SOLAIVA diff --git a/src/cg/cglib.h b/src/cg/cglib.h index 7f36f2b28..e58bd8b4b 100644 --- a/src/cg/cglib.h +++ b/src/cg/cglib.h @@ -340,6 +340,7 @@ public: tipo_movimento tipomov() const; const TString& tipodoc() const; + const TString& tipodocsdi() const; bool saldaconto(const TDate& datareg) const; int link_m770() const; char link_cespiti() const; diff --git a/src/cg/cglib01.cpp b/src/cg/cglib01.cpp index df071d977..09cca11e1 100755 --- a/src/cg/cglib01.cpp +++ b/src/cg/cglib01.cpp @@ -245,6 +245,11 @@ const TString& TCausale::tipodoc() const return _rec.get(CAU_TIPODOC); } +const TString& TCausale::tipodocsdi() const +{ + return _rec.get(CAU_TIPODOCSDI); +} + bool TCausale::saldaconto(const TDate& datareg) const { bool yes = tipomov() > 0; diff --git a/src/fp/fp0700.cpp b/src/fp/fp0700.cpp index adfa16015..2be652638 100644 --- a/src/fp/fp0700.cpp +++ b/src/fp/fp0700.cpp @@ -39,7 +39,9 @@ protected: void init(); void force_reload_sheet(); + void load_all_fields(); + void load_sheet(const TString& tipo_sel); bool _filter_changed; bool _enable_chiave_fixer; @@ -91,7 +93,13 @@ void TPAR_mask::load_all_fields() { set(F_DATAINI, ini_get_string(CONFIG_DITTA, "fp", "dataini")); set(F_DATAEND, ini_get_string(CONFIG_DITTA, "fp", "dataend")); + set(F_TIPO_SDI, ini_get_string(CONFIG_DITTA, "fp", "TIPO_SDI")); + const TString& tipo_sel = get(F_TIPO_SDI); + load_sheet(tipo_sel); +} +void TPAR_mask::load_sheet(const TString& tipo_sel) +{ TSheet_field& scaus = sfield(F_CAUSALI_TIPO); TCursor cur(new TRelation(LF_CAUSALI)); @@ -104,32 +112,18 @@ void TPAR_mask::load_all_fields() const TRectype& rec = cur.curr(); const TString& tipodocsdi = rec.get(CAU_TIPODOCSDI); - if (tipodocsdi == "TD16" || tipodocsdi == "TD17" || tipodocsdi == "TD18" || tipodocsdi == "TD19" || tipodocsdi == "TD20") + if ((tipo_sel == "T" && tipodocsdi.full()) || tipodocsdi == tipo_sel) { int r = scaus.set_row_cell(S_TIPO_SDI, tipodocsdi); scaus.set_row_cell(S_COD_CAUS, rec.get(CAU_CODCAUS), r); scaus.set_row_cell(S_DESCR, rec.get(CAU_DESCR), r); } } - scaus.force_update(); - if (scaus.items() == 0) warning_box(TR("Attenzione non c'e' nessuna causale di regolarizzazione")); - for (int i = 0;; i++) - { - TString16 caus = ini_get_string(CONFIG_DITTA, "fp", "CAUSALE", "", i); - - if (caus.full()) - { - int r = scaus.set_row_cell(S_COD_CAUS, caus); - scaus.set_row_cell(S_DESCR, cache().get(LF_CAUSALI, caus, CAU_DESCR), r); - } - else - break; - } scaus.force_update(); - set(F_TIPO_SDI, ini_get_string(CONFIG_DITTA, "fp", "TIPO_SDI")); + } @@ -156,8 +150,6 @@ void TPAR_mask::fill() enable(DLG_FINDREC, filter_selected == "D"); enable(DLG_KEY, _enable_chiave_fixer && filter_selected.empty()); - regs.enable_column(S_ONLYGEN, diagn); // che regola si usa ?? - /* VECCHIA QUERY @@ -223,11 +215,12 @@ void TPAR_mask::fill() regs.set_row_cell(S_ANNO, rec.get_int(MOV_ANNOES), r); regs.set_row_cell(S_NUMREG, rec.get_string(MOV_NUMREG), r); regs.set_row_cell(S_DATAREG, rec.get_date(MOV_DATAREG), r); + const TCausale& caus = cached_causale(rec.get_string(MOV_CODCAUS), rec.get_int(MOV_ANNOES)); + regs.set_row_cell(S_TIPODOC, caus.tipodocsdi(), r); regs.set_row_cell(S_NUMDOC, rec.get_string(MOV_NUMDOC), r); regs.set_row_cell(S_DATADOC, rec.get_date(MOV_DATADOC), r); regs.set_row_cell(S_CLIENTE, rec.get_long(MOV_CODCF), r); regs.set_row_cell(S_RAGSOC, cli.get(CLI_RAGSOC), r); - regs.set_row_cell(S_TIPODOC, rec.get_string(MOV_TIPODOC), r); // non c'รจ ? TString cod_ind_sped = rec.get(DOC_CODINDSP).as_string(); TString rif = get_dest_sdi(rec.get_string(MOV_TIPO)[0], rec.get_long(MOV_CODCF), EMPTY_STRING); @@ -260,8 +253,6 @@ void TPAR_mask::fill() split = is_split_payment(mov); } } - if (diagn) - regs.set_row_cell(S_ONLYGEN, false, r); } regs.force_update(); @@ -544,6 +535,10 @@ bool TPAR_mask::on_field_event(TOperable_field& o, TField_event e, long jolly) if (e == se_query_add || e == se_query_del) return false; break; + case F_TIPO_SDI: + if (e == fe_modify) + load_sheet(o.get()); + break; case DLG_OK: if (e == fe_button) export_paf(); diff --git a/src/fp/fp0700a.h b/src/fp/fp0700a.h index 658c4dd36..7fa9e375c 100644 --- a/src/fp/fp0700a.h +++ b/src/fp/fp0700a.h @@ -21,12 +21,11 @@ #define S_ANNO 102 #define S_NUMREG 103 #define S_DATAREG 104 -#define S_NUMDOC 105 -#define S_DATADOC 106 -#define S_CLIENTE 107 -#define S_RAGSOC 108 -#define S_UFFICIO 109 -#define S_RIFAMM 110 -#define S_COFI 111 -#define S_ONLYGEN 112 -#define S_TIPODOC 113 +#define S_TIPODOC 105 +#define S_NUMDOC 106 +#define S_DATADOC 107 +#define S_CLIENTE 108 +#define S_RAGSOC 109 +#define S_UFFICIO 110 +#define S_RIFAMM 111 +#define S_COFI 112 diff --git a/src/fp/fp0700a.rep b/src/fp/fp0700a.rep index b7dfe9982..de6a1159a 100644 --- a/src/fp/fp0700a.rep +++ b/src/fp/fp0700a.rep @@ -2,87 +2,98 @@