Conversione per modello 770 livello 13

git-svn-id: svn://10.65.10.50/trunk@4167 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
luciano 1997-02-28 08:36:31 +00:00
parent fe0ff9aaaa
commit 8e16ab4d20

View File

@ -28,7 +28,7 @@
#include "..\cg\cglib.h"
#define usage "Errore - uso : bacnv [1|2|3|4|5|6|7|8|9|10|11|12] ditta"
#define usage "Errore - uso : bacnv [1|2|3|4|5|6|7|8|9|10|11|12|13] ditta"
///////////////////////////////////////////////////////////////////////////////////////////////////////
// Applicazione di conversione archivi XBase, valida per tutti e 4 i tipi di DLL
@ -180,6 +180,9 @@ public:
void sort_sal(int year) const;
void convert_saldi() const;
void convert_ca7_ql() const;
void convert_enti_m770() const;
void convert_caaf_m770() const;
void convert_rver_m770() const;
void remove_dta_ndx() const;
TConversione_archivi() : _oldditta(0), _codditta(0), _error(0) {}
@ -303,6 +306,12 @@ bool TConversione_archivi::menu(MENU_TAG)
else
convert_saldi();
break;
case 13:
if (_codditta == 0)
convert_enti_m770();
convert_caaf_m770();
convert_rver_m770();
break;
default:
break;
}
@ -1094,6 +1103,75 @@ void TConversione_archivi::convert_ca7_ql() const
}
}
// conversione in formato numerico del codice ente
// in modo che i codici inferiori a 10 non siano registrati
// nella forma "1 ","2 ", ecc.
// ma nella forma "01","02", ecc.
void TConversione_archivi::convert_enti_m770() const
{
TTable tab("%ENT");
TString new_cod;
TString old_cod;
int err;
for (err = tab.first(); err == NOERR; err = tab.next())
{
old_cod = tab.get("CODTAB");
if (old_cod.len() < 2)
{
TRectype new_rec(tab.curr());
new_cod.format("%02d",atoi(old_cod));
new_rec.put("CODTAB", new_cod);
tab.write(new_rec);
tab.remove();
}
}
}
// conversione in formato numerico del codice caaf
// in modo che i codici inferiori a 10000 non siano registrati
// nella forma "1 ","2 ", ecc.
// ma nella forma "00001","00002", ecc.
void TConversione_archivi::convert_caaf_m770() const
{
TTable tab("%CAF");
TString old_cod;
TString new_cod;
int err;
for (err = tab.first(); err == NOERR; err = tab.next())
{
old_cod = tab.get("CODTAB");
if (old_cod.len() < 5)
{
TRectype new_rec(tab.curr());
new_cod.format("%05ld",atol(old_cod));
new_rec.put("CODTAB", new_cod);
tab.write(new_rec);
tab.remove();
}
}
}
// conversione del numero progressivo banca
// per renderlo senmpre zerofilled
void TConversione_archivi::convert_rver_m770() const
{
TLocalisamfile lf(LF_RVER);
long progr_banca;
int err;
for (err = lf.first(); err == NOERR; err = lf.next())
{
progr_banca = lf.get_long("PROGBANC");
lf.put("PROGBANC", progr_banca);
lf.rewrite();
}
}
void TConversione_archivi::remove_dta_ndx() const
{
TToken_string list;
@ -1261,7 +1339,7 @@ int main(int argc,char** argv)
{
const int r = (argc > 1) ? atoi(argv[1]) : 0;
if (r < 0 || r > 12)
if (r < 0 || r > 13)
{
error_box(usage);
return 100;