Aggiunta la conversione all'archivio delle causali e attivita':

- copia del campo ART74/4 in ART74_4
  - cambio del tipo documento alla causale C08
  - racchiusa la conversione dei profili in un metodo.


git-svn-id: svn://10.65.10.50/trunk@2012 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
angelo 1995-10-25 16:15:27 +00:00
parent 86dd7349e8
commit 01f3ed01ea
2 changed files with 72 additions and 18 deletions

View File

@ -20,7 +20,7 @@
#include <rmov.h>
#define usage "Errore - uso : bacnv [1|2|3|4|5|6] ditta"
#define usage "Errore - uso : bacnv [1|2|3|4|5|6|7] ditta"
///////////////////////////////////////////////////////////////////////////////////////////////////////
// Applicazione di conversione archivi XBase, valida per tutti e 4 i tipi di DLL
@ -161,6 +161,8 @@ public:
void zero_770(void);
void convert_patty(void);
void convert_codconc(void);
void convert_profili(void);
void convert_caus_attiv(void);
TConversione_archivi() : _oldditta(0), _codditta(0), _error(0) {}
};
@ -247,21 +249,14 @@ bool TConversione_archivi::menu(MENU_TAG)
comuni.load(format("%sstd/ncom02.txt", __ptprf));
//Cancella tutti i vecchi profili, sostituendoli con i nuovi
TSystemisamfile form(LF_FORM),rform(LF_RFORM);
TDir d;
TFilename lf;
d.get(LF_FORM, _nolock, _comdir, _sysdirop);
d.eod() = 0;
d.put(LF_FORM, _comdir, _sysdirop);
form.pack();
lf.format("%sstd/lf0054.txt", __ptprf);
if (fexist(lf)) form.load(lf);
d.get(LF_RFORM, _nolock, _comdir, _sysdirop);
d.eod() = 0;
d.put(LF_RFORM, _comdir, _sysdirop);
rform.pack();
}
convert_profili();
}
case 7:
{
if (_codditta == 0)
convert_caus_attiv();
break;
}
}
default:
break;
@ -577,6 +572,65 @@ if (_codditta == 0)
if (fexist(lf) && fexist(d.filename()))
f.load(lf);
}
}
void TConversione_archivi::convert_caus_attiv()
{
{
TLocalisamfile attiv(LF_ATTIV);
TProgind p(attiv.items(), "Conversione archivio attivita'", FALSE, TRUE,20);
p.setstatus(1L);
for (attiv.first(); !attiv.eof(); attiv.next())
{
bool val = attiv.get_bool("ART74/4");
attiv.put("ART74_4", val);
attiv.rewrite();
p.addstatus(1L);
}
}
{
TLocalisamfile ditte(LF_NDITTE);
TProgind p(ditte.items(), "Conversione archivi causali", FALSE, TRUE,5);
p.setstatus(1L);
set_autoload_new_files(FALSE);
for (ditte.first(); !ditte.eof(); ditte.next())
{
const long codditta = ditte.get_long("CODDITTA");
if (prefix().exist(codditta))
{
p.set_text(format("Ditta: %ld",codditta));
set_firm(codditta);
TLocalisamfile caus(LF_CAUSALI);
caus.zero();
caus.put("CODCAUS","C08");
if (caus.read() == NOERR)
caus.put("TIPODOC","FS");
caus.rewrite();
}
p.addstatus(1);
}
p.setstatus(ditte.items());
prefix().set("com");
set_autoload_new_files(TRUE);
}
}
void TConversione_archivi::convert_profili()
{
TSystemisamfile form(LF_FORM),rform(LF_RFORM);
TDir d;
TFilename lf;
d.get(LF_FORM, _nolock, _comdir, _sysdirop);
d.eod() = 0;
d.put(LF_FORM, _comdir, _sysdirop);
form.pack();
lf.format("%sstd/lf0054.txt", __ptprf);
if (fexist(lf)) form.load(lf);
d.get(LF_RFORM, _nolock, _comdir, _sysdirop);
d.eod() = 0;
d.put(LF_RFORM, _comdir, _sysdirop);
rform.pack();
}
void TConversione_archivi::convert_codconc()
@ -722,7 +776,7 @@ int main(int argc,char** argv)
{
const int r = (argc > 1) ? atoi(argv[1]) : 0;
if (r < 0 || r > 6)
if (r < 0 || r > 7)
{
error_box(usage);
return 100;

View File

@ -11,6 +11,6 @@ ACNV(15)=bacnv 3
[199505]
ACNV(5)=bacnv 5
[199507]
ACNV(5)=bacnv 6
ACNV(10)=bacnv 6
[EOF]