diff --git a/cg/cg4300.cpp b/cg/cg4300.cpp index 7240e829f..956ffecf6 100755 --- a/cg/cg4300.cpp +++ b/cg/cg4300.cpp @@ -29,10 +29,10 @@ void CG4300_App::user_create() TString vers = _nditte_r->get("FREQVIVA"); _n_ditte++; - TToken_string* d = new TToken_string(" "); + TToken_string* d = new TToken_string(64); // add record - d->add(cod); + (*d) = cod; d->add(_nditte_r->get("RAGSOC")); d->add(vers); _nomiditte.add(d); @@ -220,6 +220,7 @@ bool CG4300_App::set_liquidazione() k = m.run(); if (k == K_ESC) break; + _what = (wht)atoi(m.get(CG43_RDB_VERS)); _month = atoi(m.get(CG43_LST_MESE)); @@ -243,6 +244,7 @@ bool CG4300_App::set_liquidazione() TString from = m.get(CG43_FLD_DFR); TString to = m.get(CG43_FLD_DTO); + m.field(CG43_FLD_DFR).set(""); m.field(CG43_FLD_DTO).set(""); @@ -251,9 +253,30 @@ bool CG4300_App::set_liquidazione() m.first_focus(k); long j, cnt, chk; int i; + + if (!from.empty() || !to.empty()) + { + chk = 0l; + if (from.empty()) from = "0"; + if (to.empty()) to = "999999"; + for (i = 0; i < _nomiditte.items(); i++) + { + TToken_string d = (const char*)((TToken_string&)_nomiditte[i]); + TString cod = d.get(0); + TString vers = d.get(2); + if ((_what == mnt && vers == "T") || + (_what == quarter && vers == "M")) + continue; + + if (atol(cod) >= atol(from) && atol(cod) <= atol(to)) + _selected.set(chk++); + } + } + + switch(k) - { + { case DLG_SELECT: // build sheet _ditte->destroy(); chk = 0l; @@ -273,9 +296,12 @@ bool CG4300_App::set_liquidazione() if (!from.empty() || !to.empty()) { if (from.empty()) from = "0"; - if (to.empty()) to = "999999999"; + if (to.empty()) to = "999999"; if (atol(cod) >= atol(from) && atol(cod) <= atol(to)) - _ditte->check(chk++); + { + _ditte->check(chk); + _selected.set(chk++); + } } } @@ -314,8 +340,10 @@ bool CG4300_App::set_liquidazione() break; } } - while (k != K_ENTER && k != K_ESC); + while (k != K_ENTER && k != K_ESC); + + return k == K_ENTER; } @@ -325,3 +353,7 @@ int cg4300(int argc, char* argv[]) main_app.run(argc, argv, "Liquidazione IVA"); return TRUE; } + + + +