Errori MI3137 MI3140

git-svn-id: svn://10.65.10.50/trunk@1618 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
alex 1995-07-20 09:00:03 +00:00
parent f4daacc38b
commit ad2abb8dbe

View File

@ -20,6 +20,7 @@ class TCopia_archivi : public TApplication
virtual bool destroy() ; virtual bool destroy() ;
bool menu(MENU_TAG); bool menu(MENU_TAG);
bool copyfile(int logicnum, long from, long to); bool copyfile(int logicnum, long from, long to);
bool check_comfile(int logicnum);
void clearivd(long to); void clearivd(long to);
void copyivd(long from, long to); void copyivd(long from, long to);
@ -27,6 +28,18 @@ public:
TCopia_archivi() : _msk(NULL) {} TCopia_archivi() : _msk(NULL) {}
}; };
bool TCopia_archivi::check_comfile(int logicnum)
{
TDir dir;
dir.get(logicnum, _nolock, _comdir);
if (fexist(dir.filename()))
return TRUE;
else
return error_box("Non esiste il file sorgente : archivi comuni - %s", dir.filename());
}
bool TCopia_archivi::copyfile(int logicnum, long from, long to) bool TCopia_archivi::copyfile(int logicnum, long from, long to)
{ {
TDir dir; TDir dir;
@ -39,16 +52,8 @@ bool TCopia_archivi::copyfile(int logicnum, long from, long to)
return error_box("Non posso copiare su un'archivio comune : ditta %ld - archivio %s", to, dir.filename()); return error_box("Non posso copiare su un'archivio comune : ditta %ld - archivio %s", to, dir.filename());
} }
if (from > 0) set_firm(from); if (from > 0) set_firm(from);
else prefix().set("com");
dir.get(logicnum);
if (!fexist(dir.filename()))
{
if (from > 0)
return error_box("Non esiste il file sorgente : ditta %ld - %s", from, dir.filename());
else else
return error_box("Non esiste il file sorgente : archivi comuni - %s", dir.filename()); prefix().set("com");
}
TSystemisamfile file(logicnum); TSystemisamfile file(logicnum);
TFilename t; t.tempdir(); t << "/tr" << logicnum; TFilename t; t.tempdir(); t << "/tr" << logicnum;
@ -65,6 +70,7 @@ bool TCopia_archivi::copyfile(int logicnum, long from, long to)
dir.get(logicnum, _lock, _nordir, _sysdirop); dir.get(logicnum, _lock, _nordir, _sysdirop);
dir.eod() = 0L; dir.eod() = 0L;
dir.put(logicnum, _nordir, _sysdirop); dir.put(logicnum, _nordir, _sysdirop);
file.packfile();
file.packindex(); file.packindex();
if (file.load(t) != NOERR) if (file.load(t) != NOERR)
{ {
@ -189,12 +195,19 @@ bool TCopia_archivi::menu(MENU_TAG)
const bool copy_ivd = _msk->get_bool(F_IVD); const bool copy_ivd = _msk->get_bool(F_IVD);
if (copy_pcon || copy_causali || copy_clifo || copy_ivd) if (copy_pcon || copy_causali || copy_clifo || copy_ivd)
{ {
if (prefix().exist(to_firm)) bool ok = TRUE;
if (copy_pcon) ok = check_comfile(LF_PCON);
if (ok && copy_causali) ok = check_comfile(LF_CAUSALI) && check_comfile(LF_RCAUSALI);
if (ok && copy_clifo) ok = check_comfile(LF_CLIFO);
if (ok && prefix().exist(to_firm))
{ {
set_firm(to_firm); set_firm(to_firm);
{
TLocalisamfile mov(LF_MOV); TLocalisamfile mov(LF_MOV);
ok = (mov.eod() == 0);
}
if ((mov.eod() == 0) || (!copy_pcon && !copy_causali && !copy_clifo)) if (ok || (!copy_pcon && !copy_causali && !copy_clifo))
{ {
TString256 mess("Attenzione \n"); TString256 mess("Attenzione \n");
int count = 0; int count = 0;