Patch level : 2.1

Files correlati     :
Ricompilazione Demo : [ ]
Commento            :
Aggiunto metodo rapido ed efficace per trasformare un codice esercizio nelle due date limite del medesimo


git-svn-id: svn://10.65.10.50/trunk@13780 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
guy 2006-02-09 16:50:35 +00:00
parent 10509cff01
commit cfc4dd062f
2 changed files with 44 additions and 15 deletions

View File

@ -63,27 +63,32 @@ void TEsercizi_contabili::check()
int TEsercizi_contabili::date2index(const TDate& d) const
{
check();
int i;
for (i = items()-1; i >= 0; i--)
{
const TEsercizio& e = esc(i);
if (d >= e.inizio() && d <= e.fine())
break;
int i = -1;
if (d.ok())
{
check();
for (i = items()-1; i >= 0; i--)
{
const TEsercizio& e = esc(i);
if (d >= e.inizio() && d <= e.fine())
break;
}
}
return i;
}
int TEsercizi_contabili::esc2index(int codice) const
{
check();
int i;
for (i = items()-1; i >= 0; i--)
{
const TEsercizio& e = esc(i);
if (codice == e.codice())
break;
int i = -1;
if (codice > 0)
{
check();
for (i = items()-1; i >= 0; i--)
{
const TEsercizio& e = esc(i);
if (codice == e.codice())
break;
}
}
return i;
}
@ -191,6 +196,29 @@ const TEsercizio& TEsercizi_contabili::esercizio(int codice) const
return esc(i);
}
bool TEsercizi_contabili::code2range(int codice, TDate& dal, TDate& al) const
{
bool ok = exist(codice);
if (ok)
{
const TEsercizio& e = esercizio(codice);
dal = e.inizio();
al = e.fine();
}
else
{
ok = codice > 2000;
if (ok)
{
dal = TDate(1, 1, codice);
al = TDate(31, 12, codice);
}
else
dal = al = TDate();
}
return ok;
}
const char* iva2name(TipoIVA iva)
{
const char* i;

View File

@ -61,6 +61,7 @@ public:
int last() const;
int last_mag() const;
bool exist(int codice) const;
bool code2range(int codice, TDate& dal, TDate& al) const;
TEsercizi_contabili();
virtual ~TEsercizi_contabili() {}