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:
parent
27b79c35b7
commit
fc9adbf2cc
72
ba/bacnv.cpp
72
ba/bacnv.cpp
@ -11,7 +11,7 @@
|
|||||||
|
|
||||||
#include <rmov.h>
|
#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
|
class TConversione_archivi : public TApplication
|
||||||
{
|
{
|
||||||
@ -30,6 +30,10 @@ public:
|
|||||||
void contropartita_rmov();
|
void contropartita_rmov();
|
||||||
|
|
||||||
void liala(const char* table);
|
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) {}
|
TConversione_archivi() : _oldditta(0), _codditta(0), _error(0) {}
|
||||||
};
|
};
|
||||||
@ -85,7 +89,13 @@ bool TConversione_archivi::menu(MENU_TAG)
|
|||||||
case 2:
|
case 2:
|
||||||
liala("LIA");
|
liala("LIA");
|
||||||
liala("PLA");
|
liala("PLA");
|
||||||
break;
|
break;
|
||||||
|
case 3:
|
||||||
|
if (_codditta == 0)
|
||||||
|
{
|
||||||
|
patch_com();
|
||||||
|
add_alici();
|
||||||
|
}
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@ -195,6 +205,62 @@ void TConversione_archivi::liala(const char* table)
|
|||||||
lia.remove();
|
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
|
// Programma di conversione archivi speciale
|
||||||
@ -204,7 +270,7 @@ int main(int argc,char** argv)
|
|||||||
{
|
{
|
||||||
const int r = (argc > 1) ? atoi(argv[1]) : 0;
|
const int r = (argc > 1) ? atoi(argv[1]) : 0;
|
||||||
|
|
||||||
if (r <= 0 || r > 2)
|
if (r <= 0 || r > 3)
|
||||||
{
|
{
|
||||||
error_box(usage);
|
error_box(usage);
|
||||||
return 100;
|
return 100;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user