Patch level : 12.0 754

Files correlati     : tf
Commento            :
- Corretto controllo documenti ignorati
- Corretto filtro in caso di query che parte da RMOVIVA
This commit is contained in:
Mattia Tollari 2019-04-03 10:49:41 +02:00
parent e4a454a771
commit 4a62996885

View File

@ -23,7 +23,6 @@ class TSpe_check_msk : public TAutomask
private:
TAnagrafica _ditta;
bool _selected;
bool _has_fp;
TSheet_field& get_sfield(const int field);
void fill_ninvio();
@ -32,7 +31,7 @@ private:
void fill_diff();
void find_homeland(TToken_string& row, TString numreg, TString codiva, TRectype& clifo);
void fill_cust();
void get_fil_flag(TString& query);
void get_fil_flag(TString& query, const char* table);
void enable_edit(bool en);
void select_all();
void save_all();
@ -40,7 +39,6 @@ private:
bool on_field_event(TOperable_field& o, TField_event e, long jolly) override;
public:
void set_has_fp(const bool has_fp) { _has_fp = has_fp; }
TSpe_check_msk();
virtual ~TSpe_check_msk() {};
};
@ -237,7 +235,7 @@ void TSpe_check_msk::fill_no_filter()
if(get(F_CODCF).full())
query << "&&STR((23.CODCF=#CODCF))";
get_fil_flag(query);
get_fil_flag(query, "23");
query << "\nJOIN MOV INTO NUMREG==NUMREG\n";
@ -263,7 +261,7 @@ void TSpe_check_msk::fill_no_filter()
if(get(F_CODCF).full())
rset.set_var("#CODCF", get(F_CODCF));
int nrec = rset.items();
const int nrec = rset.items();
TSheet_field& s = get_sfield(F_RIGHE);
@ -271,6 +269,8 @@ void TSpe_check_msk::fill_no_filter()
for(bool ok = rset.move_first(); ok; ok = rset.move_next())
{
// Devo prendere tutti quelli che non vanno bene di records
if (check_record(&rset, false)) continue;
TRectype clifo = getCli(rset.get("23.TIPO").as_string(), rset.get("23.CODCF").as_string(), rset.get("23.OCCAS").as_string());
TToken_string& row = s.row(-1);
@ -301,15 +301,15 @@ void TSpe_check_msk::fill_no_filter()
// AUTOFATT
if(_ditta.partita_IVA() == clifo.get("PAIV"))
{
row.add("X", s.cid2index(A_AUTOFATT));
row.add("X", s.cid2index(A_AUTOFATT));
row.add(_ditta.partita_IVA(), s.cid2index(A_PAIV));
row.add(_ditta.codice_fiscale(), s.cid2index(A_COFI));
}
else
{
row.add("", s.cid2index(A_AUTOFATT)); // AutoFatt
row.add(clifo.get("PAIV"), s.cid2index(A_PAIV)); // P.IVA
row.add(clifo.get("COFI"), s.cid2index(A_COFI)); // Codice Fiscale
row.add(clifo.get("PAIV"), s.cid2index(A_PAIV)); // P.IVA
row.add(clifo.get("COFI"), s.cid2index(A_COFI)); // Codice Fiscale
}
row.add(rset.get("23.TFINVIO").as_bool() ? "X" : "", s.cid2index(A_SPEDITA));
row.add(rset.get("23.NUMREG").as_string(), s.cid2index(A_NUMERO));
@ -327,7 +327,7 @@ void TSpe_check_msk::fill_diff()
if(get(F_CODCF).full())
query << "&&STR((CODCF=#CODCF))";
get_fil_flag(query);
get_fil_flag(query, "173");
TISAM_recordset rset(query);
TDate dadatareg = get_date(F_DATAINI);
@ -354,8 +354,6 @@ void TSpe_check_msk::fill_diff()
TSheet_field& s = get_sfield(F_RIGHE);
if(nrec <= 0) return;
TString nat;
for(bool ok = rset.move_first(); ok; ok = rset.move_next())
@ -501,7 +499,7 @@ void TSpe_check_msk::fill_cust()
if(get(F_CODCF).full())
query << "&&STR((CODCF=#CODCF))";
get_fil_flag(query);
get_fil_flag(query, "173");
TISAM_recordset rset(query);
@ -587,18 +585,18 @@ void TSpe_check_msk::fill_cust()
enable_edit(true);
}
void TSpe_check_msk::get_fil_flag(TString& query)
void TSpe_check_msk::get_fil_flag(TString& query, const char* table)
{
switch(get_int(F_FLAG))
{
case 1:
query << R"(&&((TFINVIO="")||(TFINVIO="X")||(TFINVIO="F")||(TFINVIO="E")))";
query << "&&((" << table << ".TFINVIO=\"\")||("<< table << ".TFINVIO=\"X\")||(" << table << ".TFINVIO=\"F\")||(" << table << ".TFINVIO=\"E\"))";
break;
case 2:
query << "&&(TFINVIO=\"I\")";
query << "&&(" << table << ".TFINVIO=\"I\")";
break;
case 3:
query << "&&(TFINVIO=\"N\")";
query << "&&(" << table << ".TFINVIO=\"N\")";
case 0:
default:
break;
@ -728,15 +726,14 @@ TSpe_check_msk::TSpe_check_msk() : TAutomask("tf0400a")
class TSpeCheck_app : public TSkeleton_application
{
public:
virtual void main_loop();
void main_loop() override;
};
TSpeCheck_app& app() { return (TSpeCheck_app&)main_app(); }
TSpeCheck_app& app() { return dynamic_cast<TSpeCheck_app&>(main_app()); }
void TSpeCheck_app::main_loop()
{
TSpe_check_msk msk;
msk.set_has_fp(has_module(FPAUT));
msk.run();
}