From d3a09f4307745c0c5dca4a759c92b8bef67e4396 Mon Sep 17 00:00:00 2001 From: Alessandro Bonazzi Date: Wed, 27 Sep 2023 00:43:12 +0200 Subject: [PATCH] Patch level : 12.00 1284 Files correlati : f108.dir f108.trr ca3.exe Commento : La stampa mastrini non selezionava piu' per conto --- src/ca/ca3200.cpp | 34 +++++++--------------------------- src/ca/ca3700.cpp | 4 ---- 2 files changed, 7 insertions(+), 31 deletions(-) diff --git a/src/ca/ca3200.cpp b/src/ca/ca3200.cpp index c4ba69448..6d49c0ac0 100755 --- a/src/ca/ca3200.cpp +++ b/src/ca/ca3200.cpp @@ -222,16 +222,6 @@ void TPrint_mastrini_ca_recordset::set_custom_filter(TCursor& cur) const //filtro sui conti selezionati sulla maschera TRectype darec(cur.curr()), arec(cur.curr()); //record corrente (rmovana (solo movimentati)) - if (_codcms) - { - darec.put(RMOVANA_CODCMS, _codcms); - arec.put(RMOVANA_CODCMS, _codcms); - } - if (_codcosto.full()) - { - darec.put(RMOVANA_CODCCOSTO, _codcosto); - arec.put(RMOVANA_CODCCOSTO, _codcosto); - } if (_daconto.full()) darec.put(RMOVANA_CODCONTO, _daconto); @@ -547,11 +537,8 @@ void TPrint_mastrini_ca_rep::set_filter(const TPrint_mastrini_ca_mask& msk, int const int tipoconti = msk.get_int(F_TIPOCONTI); TPrint_mastrini_ca_recordset* recset = NULL; - TConfig & ca = ca_config(); - - TString query = "USE RMOVANA KEY "; + const char* const query ="USE RMOVANA KEY 2\nJOIN MOVANA INTO NUMREG==NUMREG\nJOIN MOV TO MOVANA INTO NUMREG==NUMREGCG"; - query << (ca.get("Level", "ca", 1) ? 6 : 7) << "\nJOIN MOVANA INTO NUMREG==NUMREG\nJOIN MOV TO MOVANA INTO NUMREG==NUMREGCG"; switch (tipoconti) { case 1: @@ -671,6 +658,8 @@ void TPrint_mastrini_ca::execute_print(TReport_book & book, TAutomask & mask, TR TAssoc_array codici_buoni; TString query; query << "USE RMOVANA KEY 2\n"; + query << "FROM CODCONTO=#DACONTO\n"; + query << "TO CODCONTO=#ACONTO"; TISAM_recordset rmovana(query); TString80 daconto, aconto; for (int i = 0; _mask->id2pos(F_CDC1_INI+i) > 0; i++) @@ -678,13 +667,8 @@ void TPrint_mastrini_ca::execute_print(TReport_book & book, TAutomask & mask, TR daconto << _mask->get(F_CDC1_INI+i); aconto << _mask->get(F_CDC1_FIN+i); } -// rmovana.set_var("#DACONTO", daconto); -// rmovana.set_var("#ACONTO", aconto); - if (!daconto.blank()) - query << "FROM " << CDC_CODCONTO << "=\"" << (const char*) daconto << "\"\n"; - - if (!daconto.blank()) - query << "TO " << CDC_CODCONTO << "=\"" << (const char*)aconto << "\"\n"; + rmovana.set_var("#DACONTO", daconto); + rmovana.set_var("#ACONTO", aconto); const long items = rmovana.items(); if (items > 0) { @@ -710,14 +694,10 @@ void TPrint_mastrini_ca::execute_print(TReport_book & book, TAutomask & mask, TR TProgress_monitor pi(set.items(), msg, true); for (bool sok = set.move_first(); pi.add_status() && sok; sok = set.move_next()) //fighissimo metodo per scandire un file in 1 riga! { - if (skip_closed && set.get_bool(COMMESSE_CHIUSA)) + if (skip_closed && set.get(COMMESSE_CHIUSA).as_bool()) continue; -// row = set.get_string(0u); - if (logic1 == LF_CDC) - row = set.get_string(CDC_CODCOSTO); - else - row = set.get_string(COMMESSE_CODCMS); //prende il valore del primo campo del file (CDC o CMS code) + row = set.get(0u).as_string(); //prende il valore del primo campo del file (CDC o CMS code) if (!codici_buoni.is_key(row)) continue; diff --git a/src/ca/ca3700.cpp b/src/ca/ca3700.cpp index 34701df4a..90903d058 100755 --- a/src/ca/ca3700.cpp +++ b/src/ca/ca3700.cpp @@ -2780,10 +2780,6 @@ void TPrint_rendiconto_ca::execute_print(TReport_book & book, TAutomask & mask, } else //se ha almeno una riga sullo sheet delle cms/cdc... { - if (!mask.field(F_DATAINI).empty()) - dataini = mask.get_date(F_DATAINI); - if (!mask.field(F_DATAFIN).empty()) - datafin = mask.get_date(F_DATAFIN); FOR_EACH_SHEET_ROW(sheet, r, row) //per ogni cdc/cms che appare nello sheet di pag.1 della msk.. { ca_rep.set_filter(ca_mask, r, recset_key, log); //..chiama il metodone globale che crea e compila il file..