Patch level : 2.2

Files correlati     :
Ricompilazione Demo : [ ]
Commento            :
Correzioni utili in debug:
aggiunge al volo esercizi contabili non aperti in TEsercizi_contabili


git-svn-id: svn://10.65.10.50/trunk@13768 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
guy 2006-02-08 13:09:34 +00:00
parent a7bd48852f
commit 0b9b65d966
2 changed files with 36 additions and 10 deletions

@ -799,8 +799,8 @@ void TLiquidazione_app::recalc_att(int month, const char* codatt)
real nin_imp = 0.0; // imponibile non incassati
real nin_iva = 0.0; // imposta non incassati
TString8 codiva = _iva->get("CODTAB");
TString8 tipoiva = _iva->get("S1");
TString4 codiva = _iva->get("CODTAB");
TString4 tipoiva = _iva->get("S1");
TString8 tipoes_v = _iva->get("S2");
TString8 tipoes_a = _iva->get("S9");
int tipoagr = atoi(_iva->get("S4"));

@ -121,12 +121,6 @@ int TEsercizi_contabili::last() const
// Certified 99%
int TEsercizi_contabili::last_mag() const
{
/* Vecchio modo error-prone che non funziona nel primo anno di attività
int es=last()-1;
while (es>0 && !esercizio(es).chiusura_mag())
es--;
es++;
*/
check();
int i;
@ -160,7 +154,40 @@ bool TEsercizi_contabili::exist(int codice) const
const TEsercizio& TEsercizi_contabili::esercizio(int codice) const
{
const int i = esc2index(codice);
int i = esc2index(codice);
if (i < 0 && codice > 0)
{
error_box("Attenzione! E' necessario aprire l'esercizion %d", codice);
const int last_index = items()-1;
if (last_index >= 0)
{
TRectype rec(LF_TAB); rec.settab("ESC");
const TEsercizio& last = esc(last_index);
const int last_code = last.codice();
for (int k = last_code+1; k <= codice; k++)
{
rec.put("CODTAB", k);
TDate ini = last.inizio(); ini.set_year(ini.year()+k-last_code);
TDate fin = last.fine(); fin.set_year(fin.year()+k-last_code);
rec.put("D0", ini);
rec.put("D1", fin);
_esercizi.add(new TEsercizio(rec));
}
}
else
{
if (codice > 2000)
{
TRectype rec(LF_TAB); rec.settab("ESC");
rec.put("CODTAB", codice);
rec.put("D0", TDate(1,1,codice));
rec.put("D1", TDate(31,12,codice));
_esercizi.add(new TEsercizio(rec));
}
}
i = esc2index(codice); // Dovrei ritrovare l'ultimo
}
return esc(i);
}
@ -228,7 +255,6 @@ int TRegistro::year() const
return atoi(anno);
}
const TString& TRegistro::name() const
{
return _rec.get("CODTAB").mid(4);