Patch level : 2.0 468
Files correlati : cg4.exe cg4200a.msk Ricompilazione Demo : [ ] Commento : AO20022 Se lancio una stampa di prova e faccio Fine per uscire dalla Stampa Registri mi restituisce un errore di cg4.exe. Questo avviene sia che ci siano o meno dei dati caricati sui registri. AO20023 Una volta lanciata la stampa di prova a video, se faccio Stampa non stampa nulla e rimane ancora la stampa in anteprima video. AO20024 Mentre copia gli archivi da una ditta all'altra mi restituisce un "errore in compattamento dati. File 19: -69", poi "File 26: -69", "File 27: -69", "File 20: -69" git-svn-id: svn://10.65.10.50/trunk@11094 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
d633e77e34
commit
f4d594d35d
101
cg/cg4200.cpp
101
cg/cg4200.cpp
@ -2,7 +2,6 @@
|
||||
#include <isam.h>
|
||||
#include <mask.h>
|
||||
#include <prefix.h>
|
||||
#include <utility.h>
|
||||
|
||||
#include "cg4.h"
|
||||
#include "cg4200.h"
|
||||
@ -14,26 +13,25 @@ class TCopia_archivi : public TSkeleton_application
|
||||
TMask* _msk;
|
||||
long _default_firm;
|
||||
|
||||
protected:
|
||||
virtual bool create() ;
|
||||
virtual bool destroy() ;
|
||||
virtual void main_loop();
|
||||
|
||||
public:
|
||||
bool copyfile(int logicnum, long from, long to);
|
||||
bool check_comfile(int logicnum);
|
||||
void clearivd(long to);
|
||||
void copyivd(long from, long to);
|
||||
|
||||
public:
|
||||
TCopia_archivi() : _msk(NULL) {}
|
||||
};
|
||||
|
||||
bool TCopia_archivi::check_comfile(int logicnum)
|
||||
{
|
||||
TDir dir;
|
||||
|
||||
dir.get(logicnum, _nolock, _comdir);
|
||||
|
||||
if (fexist(dir.filename()))
|
||||
TDir dir; dir.get(logicnum, _nolock, _comdir);
|
||||
const TFilename name = dir.filename();
|
||||
if (name.exist())
|
||||
return TRUE;
|
||||
else
|
||||
return error_box(FR("Non esiste il file sorgente : archivi comuni - %s"), dir.filename());
|
||||
@ -41,46 +39,47 @@ bool TCopia_archivi::check_comfile(int logicnum)
|
||||
|
||||
bool TCopia_archivi::copyfile(int logicnum, long from, long to)
|
||||
{
|
||||
TDir dir;
|
||||
|
||||
// Controllo che la destinazione non sia un file comune
|
||||
set_firm(to);
|
||||
TDir dir;
|
||||
dir.get(logicnum, _nolock, _nordir, _sysdirop);
|
||||
if (dir.is_com())
|
||||
{
|
||||
dir.get(logicnum);
|
||||
return error_box(FR("Non posso copiare su un'archivio comune : ditta %ld - archivio %s"), to, dir.filename());
|
||||
return error_box(FR("Impossibile copiare su un'archivio comune : ditta %ld - archivio %s"), to, dir.filename());
|
||||
}
|
||||
if (from > 0) set_firm(from);
|
||||
|
||||
// Scarico il file sorgente su un file di testo
|
||||
if (from > 0)
|
||||
set_firm(from);
|
||||
else
|
||||
prefix().set("com");
|
||||
TFilename t; t.tempdir(); t << "/tr" << logicnum << ".txt";
|
||||
if (t.not_empty()) // dummy test to ensure parenthesis
|
||||
{
|
||||
TSystemisamfile file(logicnum);
|
||||
if (file.dump(t) != NOERR)
|
||||
return error_box(FR("Impossibile leggere i dati da copiare errore n. %d"), file.status());
|
||||
}
|
||||
|
||||
TFilename t; t.tempdir(); t << "/tr" << logicnum;
|
||||
TSystemisamfile file(logicnum);
|
||||
|
||||
if (file.dump(t) != NOERR)
|
||||
return error_box(FR("Impossibile leggere i dati da copiare errore n. %d"), file.status());
|
||||
set_firm(to);
|
||||
|
||||
TFilename s; s.tempdir(); s << "/sv" << logicnum;
|
||||
// Scarico il file destinazione su un file di testo
|
||||
set_firm(to);
|
||||
TFilename s; s.tempdir(); s << "/sv" << logicnum << ".txt";
|
||||
|
||||
TSystemisamfile file(logicnum);
|
||||
if (file.dump(s) != NOERR)
|
||||
return error_box(FR("Impossibile salvare i dati originali errore n. %d"), file.status());
|
||||
// Azzero il file destinazione
|
||||
file.zap();
|
||||
|
||||
|
||||
dir.get(logicnum, _lock, _nordir, _sysdirop);
|
||||
dir.eod() = 0L;
|
||||
dir.put(logicnum, _nordir, _sysdirop);
|
||||
file.packfile();
|
||||
file.packindex();
|
||||
// Carico nel file destinazione il file di testo precedente
|
||||
if (file.load(t) != NOERR)
|
||||
{
|
||||
error_box(FR("Impossibile scrivere i dati errore n. %d. Cerco di ripristinare i dati originali."), file.status());
|
||||
dir.get(logicnum, _lock, _nordir, _sysdirop);
|
||||
dir.eod() = 0L;
|
||||
dir.put(logicnum, _nordir, _sysdirop);
|
||||
file.packindex();
|
||||
error_box(FR("Impossibile scrivere i dati errore n. %d. Ripristino dei dati originali."), file.status());
|
||||
// Ripristino il backup
|
||||
file.zap();
|
||||
if (file.load(s))
|
||||
error_box(FR("Impossibile scrivere i dati originali errore n. %d"), file.status());
|
||||
error_box(FR("Impossibile ripristinare i dati originali errore n. %d"), file.status());
|
||||
return FALSE;
|
||||
}
|
||||
return TRUE;
|
||||
@ -173,7 +172,8 @@ bool TCopia_archivi::create()
|
||||
|
||||
bool TCopia_archivi::destroy()
|
||||
{
|
||||
if (_msk != NULL) delete _msk;
|
||||
if (_msk != NULL)
|
||||
delete _msk;
|
||||
return TSkeleton_application::destroy();
|
||||
}
|
||||
|
||||
@ -207,42 +207,40 @@ void TCopia_archivi::main_loop()
|
||||
|
||||
if (ok || (!copy_pcon && !copy_causali && !copy_clifo))
|
||||
{
|
||||
TString256 mess(TR("Attenzione \n"));
|
||||
TString mess;
|
||||
mess.format(FR("Attenzione! I seguenti archivi della ditta %ld verranno sovrascritti:\n"), to_firm);
|
||||
|
||||
int count = 0;
|
||||
|
||||
if (copy_pcon)
|
||||
{
|
||||
mess << TR("il piano dei conti");
|
||||
mess << TR("piano dei conti");
|
||||
count++;
|
||||
}
|
||||
if (copy_causali)
|
||||
{
|
||||
if (count > 0) mess << ",\n";
|
||||
mess << TR(" le causali");
|
||||
if (count > 0) mess << ", ";
|
||||
mess << TR(" causali");
|
||||
count++;
|
||||
}
|
||||
if (copy_clifo)
|
||||
{
|
||||
if (count > 0) mess << ",\n";
|
||||
mess << TR(" i clienti e fornitori");
|
||||
if (count > 0) mess << ", ";
|
||||
mess << TR("clienti e fornitori");
|
||||
count++;
|
||||
}
|
||||
if (copy_ivd)
|
||||
{
|
||||
if (count > 0) mess << ",\n";
|
||||
mess << TR(" la riclassificazione IV direttiva");
|
||||
if (count > 0) mess << ", ";
|
||||
mess << TR("riclassificazione IV direttiva");
|
||||
count++;
|
||||
}
|
||||
mess << TR("\n della ditta ") << to_firm;
|
||||
if (count > 1)
|
||||
mess << TR(" saranno sovrascritti");
|
||||
else
|
||||
mess << TR(" sara' sovrascritto");
|
||||
mess << TR(". Devo continuare");
|
||||
if (yesno_box((const char *) mess))
|
||||
mess << ".\n" ;
|
||||
|
||||
TString msg1 = mess; msg1 << TR("Si desidera continuare?");
|
||||
if (yesno_box(msg1))
|
||||
{
|
||||
mess.rtrim(16); mess << TR(" Devo veramente continuare");
|
||||
if (yesno_box((const char *) mess))
|
||||
msg1 = mess; msg1 << TR("Si desidera veramente continuare?");
|
||||
if (yesno_box(msg1))
|
||||
{
|
||||
if (copy_pcon)
|
||||
{
|
||||
@ -261,7 +259,8 @@ void TCopia_archivi::main_loop()
|
||||
}
|
||||
}
|
||||
}
|
||||
else error_box(TR("La copia si puo' effettuare solo se non sono stati registrati movimenti"));
|
||||
else
|
||||
error_box(TR("La copia si puo' effettuare solo se non sono stati registrati movimenti"));
|
||||
set_firm(_default_firm);
|
||||
}
|
||||
else error_box(FR("Gli archivi della ditta %ld non sono stati ancora generati"),to_firm);
|
||||
|
@ -22,7 +22,7 @@ NUMBER F_FROMFIRM 5
|
||||
BEGIN
|
||||
PROMPT 4 5 "Ditta "
|
||||
USE LF_NDITTE KEY 1
|
||||
CHECKTYPE NORMAL
|
||||
CHECKTYPE REQUIRED
|
||||
INPUT CODDITTA F_FROMFIRM
|
||||
DISPLAY "Codice" CODDITTA
|
||||
DISPLAY "Ragione sociale @50" RAGSOC
|
||||
|
Loading…
x
Reference in New Issue
Block a user