Non e' ver che sia la fame

il peggior di tutti i mali
per noi poveri mortali
	che siam stanchi di bonaz


git-svn-id: svn://10.65.10.50/trunk@1635 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
villa 1995-07-24 10:32:59 +00:00
parent ba603a550e
commit 8b840eb174
4 changed files with 82 additions and 58 deletions

View File

@ -138,16 +138,12 @@ class _DescrItem : public TObject
{
public:
word _flags;
word _f0, _f1, _f2,
_f3;
TString _s0, _s1, _s2,
_s3, _s4, _s5;
real _r0, _r1, _r2,
_r3, _r4, _r5,
_r6, _r7, _r8,
_r9, _r10,_r11;
word _f0, _f1, _f2, _f3;
TString _s0, _s1, _s2, _s3, _s4, _s5;
real _r0, _r1, _r2, _r3, _r4, _r5,
_r6, _r7, _r8, _r9, _r10,_r11;
TArray _arr;
TDate _d0;
TDate _d0;
_DescrItem(word f) : _f0(0), _f1(0), _f2(0)
{ _flags = f; }

View File

@ -748,9 +748,14 @@ void TLiquidazione_app::describe_liq(int month, const char* codatts,
d->_s0 = tt;
d->_s1 = _lim->get_real("R11").string();
d->_s2 = _lim->get_real("R12").string();
d->_s3 = _lim->get_real("R13").string();
d->_s4 = _lim->get("S0");
d->_s5 = _lim->get("S1");
d->_s3 = _lim->get_real("R13").string();
// descrizione rettifiche
if (month < 13)
{
d->_s4 = _lim->get("S0");
d->_s5 = _lim->get("S1");
}
d->_r11 = (const char*)_lim->get("R10"); // tasso di interesse
d->_f1 = is_first_month(month);
@ -1298,12 +1303,7 @@ void TLiquidazione_app::set_grand(_DescrItem& d)
set_row(rw++,"%s@11gRettifiche IVA a credito%s@58g%r",
_is_visliq ? "$[r]" : "", _is_visliq ? "$[n]" : "", &rett_cred);
if (_is_visliq)
{
// stampa ad uso visualizzazione liquidazione IVA
set_row(rw++,"@11g$[r]Versamenti effettuati$[n]@58g%r", &versamenti);
}
else
if (!_is_visliq)
{
// versamenti effettuati
if (!versamenti.is_zero())
@ -1355,6 +1355,15 @@ void TLiquidazione_app::set_grand(_DescrItem& d)
}
}
if (_is_visliq)
{
// stampa versamenti (anche 0) ad uso visualizzazione liquidazione IVA
rw ++;
set_row(rw++,"@11g$[r]Versamenti effettuati$[n]@58g%r", &versamenti);
set_row(rw++, "");
set_row(rw++, "");
}
if (!_is_visliq)
{
// descrizione rettifiche

View File

@ -342,6 +342,8 @@ bool Visliq_app::sel_mese_sh1 (TMask_field& f, KEY k)
TMask& m = *(app().get_main_mask());
TSheet_field& sh = (TSheet_field&)m.field(F_VISLIQ1);
TSheet_field& sv = (TSheet_field&)m.field(F_VISLIQ2);
int sel = sh.selected();
int month = sh.selected()+1;
TToken_string& tt = sh.row(sh.selected());
if (sh.items() == 4) month *= 3;
@ -367,6 +369,17 @@ bool Visliq_app::sel_mese_sh1 (TMask_field& f, KEY k)
sm.field(104).set(tt.get(3));
sm.field(105).set(tt.get(4));
sm.field(106).set(tt.get(5));
if (app().look_del(month,1))
{
TToken_string& tv = sv.row(sel == (sh.items() - 1) ? sel -1 : sel);
tv.add(app().del()->get("D0"),1);
tv.add(app().del()->get("S7"),2);
tv.add(app().del()->get("S8"),3);
tv.add(app().del()->get("S9"),4);
tv.add(app().del()->get("R0"),5);
sv.force_update(sel == (sh.items() - 1) ? sel -1 : sel);
}
return TRUE;
}
@ -378,6 +391,7 @@ bool Visliq_app::sel_mese_sh2 (TMask_field& f, KEY k)
TMask& m = *(app().get_main_mask());
TSheet_field& sh = (TSheet_field&)m.field(F_VISLIQ2);
int sel = sh.selected();
int month = sh.selected()+1;
if (sh.items() < 12)
month *= 3;
@ -399,6 +413,17 @@ bool Visliq_app::sel_mese_sh2 (TMask_field& f, KEY k)
if (ok) app().vis_one(month);
TMask& sv = sh.sheet_mask();
if (app().look_del(month, sel == (sh.items() - 1) ? 7 : 1))
{
sv.field(102).set(app().del()->get("D0"));
sv.field(103).set(app().del()->get("S7"));
sv.field(104).set(app().del()->get("S8"));
sv.field(105).set(app().del()->get("S9"));
sv.field(106).set(app().del()->get("R0"));
}
return TRUE;
}
@ -674,13 +699,13 @@ bool Visliq_app::vis_one(int m)
if (msk.field(F_DELIMP).dirty())
{
real itt = _lim->get_real("R10");
if (!itt.is_zero())
{
// uso importi al netto degli interessi
// (vengono riapplicati dopo in write_del)
n_vers = n_vers/((itt+real(100.0))/real(100.0));
n_vers.round(0);
}
// if (!itt.is_zero())
// {
// uso importi al netto degli interessi
// (vengono riapplicati dopo in write_del)
// n_vers = n_vers/((itt+real(100.0))/real(100.0));
// n_vers.round(0);
// }
vers = n_vers;
d_mod = TRUE;
}
@ -1012,12 +1037,13 @@ void Visliq_app::write_del()
if (!wasdel) look_del(month,1,TRUE);
real inter(0.0);
// riapplica il tasso di interesse
// se trimstrale e' stato scorporato rispetto
// all'eventuale input utente
real inter = vers*(intr/real(100.0));
inter = vers/(real(100.0)/(real(100.0)+intr));
inter.ceil();
vers += inter;
_del->put("R0",vers);
_del->put("R1",inter);
@ -1169,6 +1195,7 @@ void Visliq_app::write_general(TMask& m)
// indicatore ricalcolo crediti e debiti OK
int step = _freqviva == "M" ? 1 : 3;
bool carry = TRUE;
bool was_lim;
for (int i = step; i < 13; i += step)
{
@ -1240,7 +1267,7 @@ void Visliq_app::write_general(TMask& m)
TString aocon (vo.get(4));
TString ancon (vn.get(4));
if (!look_lim(i))
if (!(was_lim = look_lim(i)))
// blocca riporto crediti e debiti
carry = FALSE;
@ -1289,20 +1316,6 @@ void Visliq_app::write_general(TMask& m)
// e crea/aggiorna le deleghe
if (nvers != overs)
{
real itt = _lim->get_real("R10");
if (!itt.is_zero())
{
// uso importi al netto degli interessi
// (vengono riapplicati dopo in write_del)
nvers = nvers/((itt+real(100.0))/real(100.0));
// overs = overs/((itt+real(100.0))/real(100.0));
nvers.round(0);
// overs.round(0);
}
// risc -= overs;
// risc += nvers;
// risl += overs;
// risl -= nvers;
vr_mod = TRUE;
}
if (vr_mod || ndate != odate || nabi != oabi ||
@ -1411,27 +1424,32 @@ void Visliq_app::write_general(TMask& m)
else
{
// salva i valori modificati senza fare controlli
// e rimetti a lui i suoi debiti mettendo B0 a FALSE
if (orett != nrett)
_lim->put("R5", nrett);
if (orimb != nrimb)
_lim->put("R1", nrimb);
_lim->put("B0", "");
_lim->rewrite();
// e rimetti a lui i suoi debiti mettendo B0 a FALSE
if (was_lim)
{
if (orett != nrett)
_lim->put("R5", nrett);
if (orimb != nrimb)
_lim->put("R1", nrimb);
_lim->put("B0", "");
_lim->rewrite();
}
}
// Rimetti a posto righe sheet se serve
int sr0 = (_lim->get_real("R0")).sign();
int sr5 = (_lim->get_real("R5")).sign();
if (was_lim)
{
int sr0 = (_lim->get_real("R0")).sign();
int sr5 = (_lim->get_real("R5")).sign();
tt_ln.add(abs(_lim->get_real("R0")).string(),1);
tt_ln.add(sr0 == 0 ? "" : (sr0 > 0 ? "D" : "C"), 2);
tt_ln.add((_lim->get_real("R1")).string(),3);
tt_ln.add(abs(_lim->get_real("R5")).string(),4);
tt_ln.add(sr5 == 0 ? "" : (sr5 > 0 ? "D" : "C"),5);
sh.force_update(row);
tt_ln.add(abs(_lim->get_real("R0")).string(),1);
tt_ln.add(sr0 == 0 ? "" : (sr0 > 0 ? "D" : "C"), 2);
tt_ln.add((_lim->get_real("R1")).string(),3);
tt_ln.add(abs(_lim->get_real("R5")).string(),4);
tt_ln.add(sr5 == 0 ? "" : (sr5 > 0 ? "D" : "C"),5);
sh.force_update(row);
}
} // for mese liq. (riga sheet)
// Rileggi array righe vecchie

View File

@ -90,6 +90,7 @@ public:
// 2 palle
TMask* get_main_mask() { return _mask; }
bool select_butt(TMask& m);
TTable* del() { return _del; }
// riaggiusta la liquidazione del mese dato
void recalc_liq_data(TViswin* v, real& rimb, real& rett, real& vers,