Tabella pagamenti ok
git-svn-id: svn://10.65.10.50/trunk@323 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
c2d3477970
commit
aa67d81204
@ -114,12 +114,16 @@ int BA3700_application::read(TMask& m)
|
||||
shuttle._pag = _pag = new Pagamento(code);
|
||||
_pag->set_sheet(*_cs, ir);
|
||||
if (_pag->n_rate() > 1)
|
||||
_interv_rate = _pag->scad_rata(1) - _pag->scad_rata(0);
|
||||
_interv_rate = _pag->scad_rata(_pag->n_rate() - 1);
|
||||
|
||||
TArray* arr = new TArray;
|
||||
if (shuttle._rws != NULL) delete shuttle._rws;
|
||||
(*arr) = _cs->rows_array();
|
||||
shuttle._rws = arr;
|
||||
shuttle._rws = arr;
|
||||
|
||||
// shuttle._msk->field(F_INT_RATE).set(format("%d",_interv_rate));
|
||||
shuttle._msk->field(F_NUM_RATE).set(format("%d",_pag->n_rate()));
|
||||
shuttle._msk->field(F_RATE_DIFF).set(_pag->rate_differenziate() ? "1" : "2");
|
||||
|
||||
return NOERR;
|
||||
}
|
||||
@ -135,6 +139,8 @@ void BA3700_application::init_insert_mode(TMask& m)
|
||||
shuttle._rws = arr;
|
||||
shuttle._msk->field(F_INT_RATE).set("30");
|
||||
shuttle._msk->field(F_INIZIOSCAD).set("F");
|
||||
shuttle._msk->field(F_NUM_RATE).set("1");
|
||||
shuttle._msk->field(F_RATE_DIFF).set("2");
|
||||
}
|
||||
|
||||
void BA3700_application::init_query_mode(TMask& m)
|
||||
@ -174,7 +180,7 @@ bool BA3700_application::rate_differenziate(TMask_field& f, KEY k)
|
||||
// se erano differenziate e non lo sono piu' occorre riaggiustare
|
||||
// il riaggiustabile; altrimenti si lascia cosi'
|
||||
// pag->set_rate_differenziate()
|
||||
// if (k != K_ENTER) return FALSE;
|
||||
if (k != K_TAB) return TRUE;
|
||||
|
||||
sht* s = (sht*)get_app_data();
|
||||
Pagamento* pag = s->_pag;
|
||||
@ -190,7 +196,7 @@ bool BA3700_application::rate_differenziate(TMask_field& f, KEY k)
|
||||
(*rws) = shf->rows_array();
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
}
|
||||
|
||||
bool BA3700_application::tipo_prima_rata(TMask_field& f, KEY k)
|
||||
{
|
||||
@ -229,8 +235,8 @@ bool BA3700_application::numero_rate(TMask_field& f, KEY k)
|
||||
TSheet_field* shf = s->_sht;
|
||||
TMask* msk = s->_msk;
|
||||
TArray* rws = s->_rws;
|
||||
|
||||
if (!pag || msk->get(F_NUM_RATE).empty()) return TRUE;
|
||||
int nr = msk->get_int(F_NUM_RATE);
|
||||
if (!pag || nr == pag->n_rate() || msk->get(F_NUM_RATE).empty()) return TRUE;
|
||||
int ir = msk->get_int(F_INT_RATE);
|
||||
if (ir == 0) ir = -1;
|
||||
|
||||
@ -239,7 +245,9 @@ bool BA3700_application::numero_rate(TMask_field& f, KEY k)
|
||||
{
|
||||
pag->set_sheet(*shf);
|
||||
(*rws) = shf->rows_array();
|
||||
}
|
||||
}
|
||||
|
||||
msk->field(F_NUM_RATE).set(format("%d",pag->n_rate()));
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
@ -258,7 +266,7 @@ bool BA3700_application::mese_commerciale(TMask_field& f, KEY k)
|
||||
if (!pag) return TRUE;
|
||||
int ir = msk->get_int(F_INT_RATE);
|
||||
if (ir == 0) ir = -1;
|
||||
|
||||
|
||||
pag->set_mese_commerciale(msk->get_bool(F_MESECOMM),ir);
|
||||
if (pag->dirty())
|
||||
{
|
||||
@ -288,8 +296,6 @@ bool BA3700_application::sheet_action(int r, KEY k)
|
||||
TToken_string ts(36), ns(36);
|
||||
bool recalc = TRUE;
|
||||
|
||||
// TBI sistemare per valori da 1 a 4
|
||||
int rdiff = msk->get_int(F_RATE_DIFF);
|
||||
|
||||
switch (k)
|
||||
{
|
||||
@ -304,11 +310,11 @@ bool BA3700_application::sheet_action(int r, KEY k)
|
||||
newt = ns.get(2);
|
||||
|
||||
// qui viene il bello, si fa per dire
|
||||
if (strcmp(ts.get(0),news) != 0) // modificata scadenza
|
||||
if (ts.get_int(0) != atoi(news)) // modificata scadenza
|
||||
{
|
||||
mod = m_scad = TRUE;
|
||||
}
|
||||
if (strcmp(ts.get(1),newp) != 0) // modificata percentuale
|
||||
if (real(ts.get(1)) != real(newp)) // modificata percentuale
|
||||
{
|
||||
mod = m_perc = TRUE;
|
||||
}
|
||||
@ -335,6 +341,7 @@ bool BA3700_application::sheet_action(int r, KEY k)
|
||||
if (mod && recalc)
|
||||
{
|
||||
// ricalcola sheet come sai fare tu
|
||||
int rdiff = atoi(msk->get(F_RATE_DIFF));
|
||||
ahiahi = pag->recalc_rate(r, m_perc,
|
||||
(m_perc ? (const char*)newp : NULL),
|
||||
(m_scad ? (const char*)news : NULL),
|
||||
@ -342,8 +349,9 @@ bool BA3700_application::sheet_action(int r, KEY k)
|
||||
rdiff,
|
||||
pag->mese_commerciale(),
|
||||
need_recalc);
|
||||
// see if rdiff changed
|
||||
// msk->field(F_RDIFFER).set(pag->rate_differenziate() ? "1" : "2");
|
||||
// see if parameters changed
|
||||
msk->field(F_RATE_DIFF).set(pag->rate_differenziate() ? "1" : "2");
|
||||
msk->field(F_MESECOMM).set(pag->mese_commerciale() ? "X" : "");
|
||||
}
|
||||
if (!recalc)
|
||||
{
|
||||
@ -382,7 +390,9 @@ else if (recalc && mod && need_recalc)
|
||||
shf->force_update(-1);
|
||||
rws->destroy();
|
||||
(*rws) = shf->rows_array();
|
||||
}
|
||||
}
|
||||
|
||||
msk->field(F_NUM_RATE).set(format("%d", pag->n_rate()));
|
||||
}
|
||||
|
||||
return doit;
|
||||
@ -392,20 +402,25 @@ return doit;
|
||||
int BA3700_application::rewrite(const TMask& m)
|
||||
{
|
||||
TTable& tab_rpg = (TTable&)_rel->lfile(-ALIAS);
|
||||
return _pag->rewrite(tab_rpg);
|
||||
const int err = _pag->rewrite(tab_rpg);
|
||||
if (err != NOERR) return err;
|
||||
m.autosave(_rel);
|
||||
return _rel->lfile().rewrite();
|
||||
}
|
||||
|
||||
int BA3700_application::write(const TMask& m)
|
||||
{
|
||||
TTable& tab_rpg = (TTable&)_rel->lfile(-ALIAS);
|
||||
return _pag->write(tab_rpg);
|
||||
TTable& tab_rpg = (TTable&)_rel->lfile(-ALIAS);
|
||||
const int err = _pag->write(tab_rpg);
|
||||
if (err != NOERR) return err;
|
||||
m.autosave(_rel);
|
||||
return _rel->lfile().write();
|
||||
}
|
||||
|
||||
bool BA3700_application::remove()
|
||||
{
|
||||
TTable& tab_rpg = (TTable&)_rel->lfile(-ALIAS);
|
||||
_pag->remove(tab_rpg);
|
||||
return TRUE;
|
||||
return _pag->remove(tab_rpg) == NOERR && _rel->lfile().remove() == NOERR;
|
||||
}
|
||||
|
||||
int ba3700(int argc, char* argv[])
|
||||
|
@ -79,8 +79,8 @@ BEGIN
|
||||
PROMPT 35 6 " Rate "
|
||||
ITEM "1|Differenziate"
|
||||
ITEM "2|Uguali"
|
||||
ITEM "1|Uguali dall'ultima modificata"
|
||||
ITEM "1|Uguali finche' possibile"
|
||||
ITEM "3|Uguali dall'ultima modificata"
|
||||
ITEM "4|Uguali finche' possibile"
|
||||
/* FIELD %CPG->B1 */
|
||||
END
|
||||
|
||||
@ -113,8 +113,7 @@ PAGE "" -1 -1 78 15
|
||||
NUMBER 101 4
|
||||
BEGIN
|
||||
PROMPT 4 1 "Numero giorni "
|
||||
/* FIELD %RPG->I0 */
|
||||
VALIDATE NOT_EMPTY_FUNC
|
||||
/* FIELD %RPG->I0 */
|
||||
END
|
||||
|
||||
NUMBER 102 8 0
|
||||
|
@ -300,11 +300,6 @@ void TPrimanota_application::init_mask(TMask& m)
|
||||
|
||||
void TPrimanota_application::init_query_mode(TMask& m)
|
||||
{
|
||||
<<<<<<< cg2100.cpp
|
||||
read_firm_params();
|
||||
enable_menu_item(M_FILE_PRINT);
|
||||
=======
|
||||
>>>>>>> 1.22
|
||||
m.enable(DLG_NEWREC);
|
||||
}
|
||||
|
||||
|
@ -59,11 +59,11 @@ bool TPrimanota_application::pag_notify(int r, KEY k)
|
||||
{
|
||||
mod = m_scad = TRUE;
|
||||
}
|
||||
if (strcmp(ts.get(1),newp) != 0) // modificata percentuale
|
||||
if (real(ts.get(1)) != real(newp)) // modificata percentuale
|
||||
{
|
||||
mod = m_perc = TRUE;
|
||||
}
|
||||
if (strcmp(ts.get(2),newi) != 0) // modificato importo
|
||||
if (real(ts.get(2)) != real(newi)) // modificato importo
|
||||
{
|
||||
if ((recalc && !m_perc) || (!recalc)) // se si modifica la percentuale l'importo non viene cagato
|
||||
{
|
||||
|
1271
cg/pagament.cpp
1271
cg/pagament.cpp
File diff suppressed because it is too large
Load Diff
@ -94,9 +94,9 @@ public:
|
||||
bool read(TTable* cpg = NULL, TTable* rpg = NULL);
|
||||
|
||||
// chiamabili solo da relapp, agiscono solo su %RPG
|
||||
bool write(TTable& rpg);
|
||||
bool rewrite(TTable& rpg);
|
||||
void remove(TTable& rpg);
|
||||
int write(TTable& rpg);
|
||||
int rewrite(TTable& rpg);
|
||||
int remove(TTable& rpg);
|
||||
|
||||
// modifica rate manualmente o non
|
||||
TToken_string& rata(int r) { return (TToken_string&)_rate[r]; }
|
||||
|
Loading…
x
Reference in New Issue
Block a user