Correzioni a comuni e aliquote ICI

git-svn-id: svn://10.65.10.50/trunk@1274 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
alex 1995-04-19 13:47:12 +00:00
parent 27b79c35b7
commit fc9adbf2cc

View File

@ -11,7 +11,7 @@
#include <rmov.h>
#define usage "Errore - uso : bacnv [1|2] ditta"
#define usage "Errore - uso : bacnv [1|2|3] ditta"
class TConversione_archivi : public TApplication
{
@ -30,6 +30,10 @@ public:
void contropartita_rmov();
void liala(const char* table);
bool patch_uff(TRectype & rec, const char * const fnames[]);
bool collate(TRectype & rec, const char * f1, const char * f2);
void patch_com(void);
void add_alici(void);
TConversione_archivi() : _oldditta(0), _codditta(0), _error(0) {}
};
@ -85,7 +89,13 @@ bool TConversione_archivi::menu(MENU_TAG)
case 2:
liala("LIA");
liala("PLA");
break;
break;
case 3:
if (_codditta == 0)
{
patch_com();
add_alici();
}
default:
break;
}
@ -195,6 +205,62 @@ void TConversione_archivi::liala(const char* table)
lia.remove();
}
///////////////////////////////////////////////////////////
// Sposta i codici uffici imposte e uffici IVA nei comuni
///////////////////////////////////////////////////////////
bool TConversione_archivi::collate(TRectype & rec, const char * f1, const char * f2)
{
if (rec.get(f1).empty())
{
TString16 s(rec.get(f2));
if (s.not_empty())
{
rec.put(f1, s);
rec.zero(f2);
return TRUE;
}
}
return FALSE;
}
bool TConversione_archivi::patch_uff(TRectype & rec, const char * const fnames[])
{
bool updated = collate(rec, fnames[1], fnames[2]);
updated |= collate(rec, fnames[0], fnames[1]);
updated |= collate(rec, fnames[1], fnames[2]);
return updated;
}
void TConversione_archivi::patch_com()
{
TLocalisamfile comuni(LF_COMUNI);
const char * const uff_iidd[] = {"UFFIIDD1", "UFFIIDD2", "UFFIIDD3"} ;
const char * const uff_iva[] = {"UFFIVA1", "UFFIVA2", "UFFIVA3"} ;
const TRecnotype nitems = comuni.items();
TProgind p(nitems ? nitems : 1, format("Conversione comuni"), FALSE, TRUE, 70);
for (comuni.first(); comuni.good(); comuni.next())
{
p.addstatus(1);
bool updated = patch_uff(comuni.curr(), uff_iidd);
updated = patch_uff(comuni.curr(), uff_iva) || updated;
if (updated)
comuni.rewrite();
}
}
///////////////////////////////////////////////////////////
// Aggiunge le aliquote ICI per anno
///////////////////////////////////////////////////////////
void TConversione_archivi::add_alici()
{
TSystemisamfile alici(LF_ALICI);
alici.load("baici.txt");
}
///////////////////////////////////////////////////////////
// Programma di conversione archivi speciale
@ -204,7 +270,7 @@ int main(int argc,char** argv)
{
const int r = (argc > 1) ? atoi(argv[1]) : 0;
if (r <= 0 || r > 2)
if (r <= 0 || r > 3)
{
error_box(usage);
return 100;