aa0912819c
Files correlati : Ricompilazione Demo : [ ] Commento :corretta chiamata dei BAR_ITEM con BAR_ITEM_ID git-svn-id: svn://10.65.10.50/trunk@18333 c028cbd2-c16b-5b4b-a496-9718f37d4682
1628 lines
41 KiB
C++
Executable File
1628 lines
41 KiB
C++
Executable File
#include "cg6901.h"
|
|
#include "cglib04.h"
|
|
|
|
#include <mailbox.h>
|
|
#include <printer.h>
|
|
#include <tabutil.h>
|
|
#include <urldefid.h>
|
|
|
|
#include <nditte.h>
|
|
|
|
#define MAX_SYSTEM real("100000000000") // Gli importi debbono essere minore di questo
|
|
|
|
HIDDEN inline TLista_archivi& app() { return (TLista_archivi&)main_app();}
|
|
|
|
bool TLista_archivi::create()
|
|
{
|
|
_ditte = new TLocalisamfile (LF_NDITTE);
|
|
_caus = new TLocalisamfile (LF_CAUSALI);
|
|
_rcaus = new TLocalisamfile (LF_RCAUSALI);
|
|
_clifo = new TLocalisamfile (LF_CLIFO);
|
|
_pcon = new TLocalisamfile (LF_PCON);
|
|
_mov = new TLocalisamfile (LF_MOV);
|
|
_rmov = new TLocalisamfile (LF_RMOV);
|
|
_rmoviva = new TLocalisamfile (LF_RMOVIVA);
|
|
_part = new TLocalisamfile (LF_PARTITE);
|
|
_scad = new TLocalisamfile (LF_SCADENZE);
|
|
_pagsca = new TLocalisamfile (LF_PAGSCA);
|
|
|
|
_errore_grave = FALSE;
|
|
_risposta = 0;
|
|
|
|
TMailbox m;
|
|
TMessage* msg = m.next_s("");
|
|
TString subj;
|
|
|
|
if (msg != NULL)
|
|
{
|
|
subj = msg->body();
|
|
_datalimite = subj;
|
|
}
|
|
|
|
dispatch_e_menu (BAR_ITEM_ID(1));
|
|
|
|
return TRUE;
|
|
}
|
|
|
|
bool TLista_archivi::destroy()
|
|
{
|
|
delete _ditte;
|
|
delete _caus;
|
|
delete _rcaus;
|
|
delete _clifo;
|
|
delete _pcon;
|
|
delete _mov;
|
|
delete _rmov;
|
|
delete _rmoviva;
|
|
delete _part;
|
|
delete _scad;
|
|
delete _pagsca;
|
|
|
|
return TApplication::destroy();
|
|
}
|
|
|
|
bool TLista_archivi::tabella_ditta()
|
|
{
|
|
TTable ind ("%IND");
|
|
TString dep;
|
|
|
|
dep.format("%05ld", _ditta);
|
|
|
|
ind.zero();
|
|
ind.put("CODTAB", dep);
|
|
if (ind.read() == NOERR)
|
|
{
|
|
_files = "";
|
|
if (ind.get_bool("B0"))
|
|
_files << "W";
|
|
|
|
if (ind.get_bool("B1"))
|
|
_files << "A";
|
|
|
|
if (ind.get_bool("B2"))
|
|
_files << "P";
|
|
|
|
if (ind.get_bool("B3"))
|
|
_files << "Z";
|
|
|
|
if (ind.get_bool("B4"))
|
|
_files << "U";
|
|
|
|
if (ind.get_bool("B5"))
|
|
_files << "B";
|
|
|
|
// Compila l'array contenente le causali di corrispondenza per l'invio extracontabile
|
|
dep = "";
|
|
TString s5(ind.get("S5"));
|
|
_tab_cau.destroy();
|
|
_tab_cau.add(s5.mid(0,3));
|
|
_tab_cau.add(s5.mid(3,3));
|
|
_tab_cau.add(s5.mid(6,3));
|
|
_tab_cau.add(dep); // corrisponde al tipo dell'abbuono.
|
|
_tab_cau.add(s5.mid(9,3));
|
|
_tab_cau.add(s5.mid(12,3));
|
|
_cpg_nc = ind.get("S7"); // condizione pagamento (rimessa diretta) per le note di credito
|
|
_cpg_nc.trim();
|
|
return TRUE;
|
|
}
|
|
|
|
return FALSE;
|
|
}
|
|
|
|
bool TLista_archivi::set()
|
|
{
|
|
//****************************************
|
|
//****** Apro la finestra di stampa ******
|
|
//****************************************
|
|
|
|
//printer().set_printtype(winprinter);
|
|
|
|
if (!(printer().isopen ()))
|
|
if (!printer().open ())
|
|
return FALSE;
|
|
|
|
//****************************************
|
|
|
|
_ditta = get_firm();
|
|
|
|
_ditte->zero();
|
|
_ditte->put(NDT_CODDITTA, _ditta);
|
|
if (_ditte->read() == NOERR)
|
|
_ragsoc = _ditte->get(NDT_RAGSOC);
|
|
|
|
if (!tabella_ditta()) return FALSE;
|
|
|
|
if (_files.find('W') != -1)
|
|
controlla_causali('W');
|
|
|
|
if (_files.find('A') != -1)
|
|
controlla_clifo('A');
|
|
|
|
if (_files.find('P') != -1)
|
|
controlla_pcon('P');
|
|
|
|
if (_files.find('Z') != -1)
|
|
controlla_PNIVA('Z');
|
|
|
|
if (_files.find('B') != -1)
|
|
controlla_fatture('B');
|
|
|
|
printer().close();
|
|
|
|
if (_risposta == 1)
|
|
message_box("Rilevati errori gravi durante il controllo archivi: \n trasferimento interrotto");
|
|
|
|
TString appname = "cg6 -8 S";
|
|
TString body = "";
|
|
|
|
body << _risposta;
|
|
|
|
TMessage msg (appname,"",(const char*)body);
|
|
TMailbox mb;
|
|
mb.send(msg);
|
|
|
|
return FALSE;
|
|
}
|
|
|
|
bool TLista_archivi::controlla_valore(const TString& val,int lim, int len)
|
|
{
|
|
if (real::is_natural(val))
|
|
{
|
|
if (atoi(val) > lim)
|
|
return FALSE;
|
|
}
|
|
else
|
|
if (val.len() > len)
|
|
return FALSE;
|
|
|
|
return TRUE;
|
|
}
|
|
|
|
void TLista_archivi::controlla_causali(char file)
|
|
{
|
|
TPrintrow row;
|
|
TString str;
|
|
bool errore = FALSE;
|
|
bool salto = FALSE;
|
|
bool intesta = TRUE;
|
|
TString_array stampa(50);
|
|
int num;
|
|
|
|
_caus->setkey(1);
|
|
_caus->zero();
|
|
|
|
for (_caus->first(); !_caus->eof(); _caus->next())
|
|
{
|
|
const char* codcau = _caus->get(CAU_CODCAUS);
|
|
TString codcaus = codcau;
|
|
if (codcau && *codcau && !real::is_natural(codcau) )
|
|
{
|
|
errore = TRUE;
|
|
stampa.add(" - Rilevato codice causale alfanumerico");
|
|
}
|
|
|
|
TString reg = _caus->get(CAU_REG);
|
|
if (!controlla_valore(reg,9,1))
|
|
{
|
|
errore = TRUE;
|
|
stampa.add(" - Rilevato registro IVA con lunghezza superiore a 1");
|
|
}
|
|
|
|
const char* codcausim = _caus->get(CAU_CODCAUSIM);
|
|
if (codcausim && *codcausim && !real::is_natural(codcausim) )
|
|
{
|
|
errore = TRUE;
|
|
stampa.add(" - Rilevato codice causale per incasso immediato alfanumerico");
|
|
}
|
|
|
|
num = 0;
|
|
|
|
_rcaus->setkey(1);
|
|
_rcaus->zero();
|
|
_rcaus->put(RCA_CODCAUS, codcaus);
|
|
|
|
TRectype rcau (_rcaus->curr());
|
|
|
|
for (_rcaus->read(); !_rcaus->eof(); _rcaus->next())
|
|
{
|
|
bool tit_riga = FALSE;
|
|
|
|
if (_rcaus->curr() > rcau) break;
|
|
|
|
num++;
|
|
|
|
if (num > 15)
|
|
{
|
|
errore = TRUE;
|
|
stampa.add(" - Rilevata causale con numero righe superiore a 15");
|
|
}
|
|
|
|
int g = _rcaus->get_int (RCA_GRUPPO);
|
|
int c = _rcaus->get_int (RCA_CONTO);
|
|
int nr = _rcaus->get_int (RCA_NRIGA);
|
|
|
|
if (g > 99)
|
|
{
|
|
errore = TRUE;
|
|
TString app;
|
|
app.format("%9s%03d", (const char*)"@b - Riga ", nr);
|
|
app << " " << "@rRilevato un gruppo composto da 3 cifre";
|
|
stampa.add(app);
|
|
tit_riga = TRUE;
|
|
}
|
|
|
|
if (c > 99)
|
|
{
|
|
errore = TRUE;
|
|
TString app;
|
|
if (tit_riga)
|
|
app << " Rilevato un conto composto da 3 cifre";
|
|
else
|
|
{
|
|
app.format("%9s%03d", (const char*)"@b - Riga ", nr);
|
|
app << " " << "@rRilevato un conto composto da 3 cifre";
|
|
}
|
|
stampa.add(app);
|
|
}
|
|
}
|
|
|
|
if (errore)
|
|
{
|
|
if (intesta)
|
|
{
|
|
setta_intestazione(file);
|
|
intesta = FALSE;
|
|
}
|
|
|
|
TString app;
|
|
app << "@b- Codice causale " << codcaus;
|
|
row.put(app,0);
|
|
printer().print(row);
|
|
row.reset();
|
|
|
|
long items = stampa.items();
|
|
|
|
for (int i = 0; i < items; i++)
|
|
{
|
|
str = stampa.row(i);
|
|
row.put(str,0);
|
|
printer().print(row);
|
|
row.reset();
|
|
}
|
|
|
|
row.put(" ",0);
|
|
printer().print(row);
|
|
row.reset();
|
|
|
|
errore = FALSE;
|
|
salto = TRUE;
|
|
_risposta = 1;
|
|
}
|
|
stampa.destroy();
|
|
}
|
|
if (salto)
|
|
printer().formfeed();
|
|
}
|
|
|
|
void TLista_archivi::controlla_clifo(char file)
|
|
{
|
|
TPrintrow row;
|
|
TString str;
|
|
bool errore = FALSE;
|
|
bool salto = FALSE;
|
|
bool intesta = TRUE;
|
|
TString_array stampa(10);
|
|
|
|
_clifo->setkey(1);
|
|
_clifo->zero();
|
|
|
|
for (_clifo->first(); !_clifo->eof(); _clifo->next())
|
|
{
|
|
str = "";
|
|
|
|
char tipo = _clifo->get_char(CLI_TIPOCF);
|
|
long codice = _clifo->get_long(CLI_CODCF);
|
|
|
|
TString paiv = _clifo->get(CLI_PAIV);
|
|
if (paiv.len() > 11)
|
|
{
|
|
errore = TRUE;
|
|
stampa.add(" - Rilevata partita IVA con piu' di 11 caratteri");
|
|
}
|
|
|
|
/* TString ptel = _clifo->get(CLI_PTEL);
|
|
TString tel = _clifo->get(CLI_TEL);
|
|
TString appoggio;
|
|
appoggio << ptel << " " << tel;
|
|
if (appoggio.len() > 12)
|
|
{
|
|
errore = TRUE;
|
|
stampa.add(" - Rilevato numero telefonico troppo lungo");
|
|
}
|
|
*/
|
|
int gruppo = _clifo->get_int(CLI_GRUPPORIC);
|
|
int conto = _clifo->get_int(CLI_CONTORIC);
|
|
|
|
if (gruppo > 99)
|
|
{
|
|
errore = TRUE;
|
|
stampa.add(" - Rilevato gruppo costo/ricavo composto da 3 cifre");
|
|
}
|
|
|
|
if (conto > 99)
|
|
{
|
|
errore = TRUE;
|
|
stampa.add(" - Rilevato conto costo/ricavo composto da 3 cifre");
|
|
}
|
|
|
|
TString codpag = _clifo->get(CLI_CODPAG);
|
|
if (!controlla_valore(codpag,99,2))
|
|
{
|
|
errore = TRUE;
|
|
stampa.add(" - Rilevato un codice di pagamento composto da 3 o piu' cifre");
|
|
}
|
|
|
|
if (errore)
|
|
{
|
|
TString app;
|
|
|
|
if (intesta)
|
|
{
|
|
setta_intestazione(file);
|
|
intesta = FALSE;
|
|
}
|
|
|
|
str << "@b- Codice ";
|
|
app.format("%c %06ld", tipo, codice);
|
|
str << app;
|
|
|
|
row.put(str,0);
|
|
printer().print(row);
|
|
row.reset();
|
|
str = "";
|
|
|
|
long items = stampa.items();
|
|
|
|
for (int i = 0; i < items; i++)
|
|
{
|
|
str = stampa.row(i);
|
|
row.put(str,0);
|
|
printer().print(row);
|
|
row.reset();
|
|
}
|
|
|
|
row.put(" ",0);
|
|
printer().print(row);
|
|
row.reset();
|
|
|
|
errore = FALSE;
|
|
salto = TRUE;
|
|
_risposta = 1;
|
|
}
|
|
stampa.destroy();
|
|
}
|
|
if (salto)
|
|
printer().formfeed();
|
|
}
|
|
|
|
void TLista_archivi::controlla_pcon(char file)
|
|
{
|
|
TPrintrow row;
|
|
TString str, ivacomp;
|
|
bool errore = FALSE;
|
|
bool salto = FALSE;
|
|
bool intesta = TRUE;
|
|
TString_array stampa(10);
|
|
|
|
|
|
_pcon->setkey(1);
|
|
_pcon->zero();
|
|
|
|
for (_pcon->first(); !_pcon->eof(); _pcon->next())
|
|
{
|
|
str = "";
|
|
|
|
int gruppo = _pcon->get_int (PCN_GRUPPO);
|
|
int conto = _pcon->get_int (PCN_CONTO);
|
|
long sottoc = _pcon->get_long(PCN_SOTTOCONTO);
|
|
ivacomp = _pcon->get(PCN_IVACOMP);
|
|
|
|
if (gruppo > 99)
|
|
{
|
|
errore = TRUE;
|
|
stampa.add(" - Rilevato un gruppo composto da 3 cifre");
|
|
}
|
|
|
|
if (conto > 99)
|
|
{
|
|
errore = TRUE;
|
|
stampa.add(" - Rilevato un conto composto da 3 cifre");
|
|
}
|
|
|
|
if (!controlla_valore(ivacomp,99,2))
|
|
{
|
|
errore = TRUE;
|
|
stampa.add(" - Rilevato un codice IVA di compensazione non valido");
|
|
}
|
|
|
|
if (errore)
|
|
{
|
|
TString app;
|
|
|
|
if (intesta)
|
|
{
|
|
setta_intestazione(file);
|
|
intesta = FALSE;
|
|
}
|
|
|
|
str << "@b- Conto ";
|
|
app.format("%3d %3d %6ld", gruppo, conto, sottoc);
|
|
str << app;
|
|
|
|
row.put(str,0);
|
|
printer().print(row);
|
|
row.reset();
|
|
str = "";
|
|
|
|
long items = stampa.items();
|
|
|
|
for (int i = 0; i < items; i++)
|
|
{
|
|
str = stampa.row(i);
|
|
row.put(str,0);
|
|
printer().print(row);
|
|
row.reset();
|
|
}
|
|
|
|
row.put(" ",0);
|
|
printer().print(row);
|
|
row.reset();
|
|
|
|
errore = FALSE;
|
|
salto = TRUE;
|
|
_risposta = 1;
|
|
}
|
|
stampa.destroy();
|
|
}
|
|
if (salto)
|
|
printer().formfeed();
|
|
}
|
|
|
|
void TLista_archivi::controlla_PNIVA(char file)
|
|
{
|
|
TPrintrow row;
|
|
TString str;
|
|
bool errore = FALSE;
|
|
bool salto = FALSE;
|
|
bool intesta = TRUE;
|
|
bool tit_riga = FALSE;
|
|
TString_array stampa(50);
|
|
int num;
|
|
long nreg_p = 0;
|
|
real importo;
|
|
|
|
_mov->setkey(1);
|
|
_mov->zero();
|
|
|
|
for (_mov->first(); !_mov->eof(); _mov->next())
|
|
{
|
|
bool soliva = TRUE;
|
|
|
|
long nreg = _mov->get_long(MOV_NUMREG);
|
|
TDate datareg = _mov->get_date(MOV_DATAREG);
|
|
bool inviato = _mov->get_bool(MOV_INVIATO);
|
|
bool inviva = _mov->get_bool(MOV_INVIVA);
|
|
|
|
if (inviato && inviva) continue; //Se il movimento e' gia' stato inviato non lo posso piu' inviare
|
|
//cosi' come le sue righe di primanota e iva
|
|
|
|
if (datareg > _datalimite) continue;
|
|
|
|
if (nreg > 999999)
|
|
{
|
|
errore = TRUE;
|
|
stampa.add(" - Rilevato un numero di registrazione composto da 7");
|
|
}
|
|
|
|
TString reg = _mov->get(MOV_REG);
|
|
if (!controlla_valore(reg,9,1))
|
|
{
|
|
errore = TRUE;
|
|
stampa.add(" - Rilevato un codice registro IVA composto da 2 o piu' cifre");
|
|
}
|
|
|
|
const char* codcaus = _mov->get(MOV_CODCAUS);
|
|
if (codcaus && *codcaus)
|
|
if (!real::is_natural(codcaus))
|
|
{
|
|
errore = TRUE;
|
|
stampa.add(" - Rilevato un codice causale alfanumerico");
|
|
}
|
|
|
|
TString codpag = _mov->get(MOV_CODPAG);
|
|
if (!controlla_valore(codpag,99,2))
|
|
{
|
|
errore = TRUE;
|
|
stampa.add(" - Rilevato un codice di pagamento composto da 3 o piu' cifre");
|
|
}
|
|
|
|
importo = _mov->get_real(MOV_TOTDOC);
|
|
if (importo >= MAX_SYSTEM)
|
|
{
|
|
errore = TRUE;
|
|
stampa.add(" - Rilevato un totale documento eccedente le 11 cifre");
|
|
}
|
|
|
|
importo = _mov->get_real(MOV_CORRLIRE);
|
|
if (importo >= MAX_SYSTEM)
|
|
{
|
|
errore = TRUE;
|
|
stampa.add(" - Rilevato un corrispettivo in lire eccedente le 11 cifre");
|
|
}
|
|
|
|
num = 0;
|
|
|
|
bool prima = TRUE;
|
|
|
|
_rmov->setkey(1);
|
|
_rmov->zero();
|
|
_rmov->put(RMV_NUMREG, nreg);
|
|
|
|
TRectype rmov (_rmov->curr());
|
|
|
|
for (_rmov->read(); !_rmov->eof(); _rmov->next())
|
|
{
|
|
|
|
if (_rmov->curr() > rmov) break;
|
|
|
|
tit_riga = FALSE;
|
|
|
|
soliva = FALSE;
|
|
|
|
num++;
|
|
|
|
if (num > 99)
|
|
{
|
|
errore = TRUE;
|
|
stampa.add(" - Rilevato movimento di Primanota con numero righe superiore a 99");
|
|
}
|
|
|
|
int nr = _rmov->get_int (RMV_NUMRIG);
|
|
int g = _rmov->get_int (RMV_GRUPPO);
|
|
int c = _rmov->get_int (RMV_CONTO);
|
|
int gc = _rmov->get_int (RMV_GRUPPOC);
|
|
int cc = _rmov->get_int (RMV_CONTOC);
|
|
|
|
if (nr > 99)
|
|
{
|
|
if (prima)
|
|
{
|
|
stampa.add(" ");
|
|
stampa.add("Righe primanota");
|
|
stampa.add(" ");
|
|
prima = FALSE;
|
|
}
|
|
errore = TRUE;
|
|
TString app;
|
|
app.format("%5s%03d", (const char*)"@b - ", nr);
|
|
app << " " << "@rRilevato numero di riga con piu' di due cifre";
|
|
stampa.add(app);
|
|
tit_riga = TRUE;
|
|
}
|
|
|
|
if (g > 99)
|
|
{
|
|
errore = TRUE;
|
|
TString app;
|
|
if (prima)
|
|
{
|
|
stampa.add(" ");
|
|
stampa.add("Righe primanota");
|
|
stampa.add(" ");
|
|
prima = FALSE;
|
|
}
|
|
if (tit_riga)
|
|
app << "@r Rilevato un gruppo di partita composto da 3 cifre";
|
|
else
|
|
{
|
|
app.format("%5s%03d", (const char*)"@b - ", nr);
|
|
app << " " << "@rRilevato un gruppo di partita composto da 3 cifre";
|
|
}
|
|
stampa.add(app);
|
|
tit_riga = TRUE;
|
|
}
|
|
|
|
if (c > 99)
|
|
{
|
|
errore = TRUE;
|
|
TString app;
|
|
if (prima)
|
|
{
|
|
stampa.add(" ");
|
|
stampa.add("Righe primanota");
|
|
stampa.add(" ");
|
|
prima = FALSE;
|
|
}
|
|
if (tit_riga)
|
|
app << "@r Rilevato un conto di partita composto da 3 cifre";
|
|
else
|
|
{
|
|
app.format("%5s%03d", (const char*)"@b - ", nr);
|
|
app << " " << "@rRilevato un conto di partita composto da 3 cifre";
|
|
}
|
|
stampa.add(app);
|
|
}
|
|
|
|
if (gc > 99)
|
|
{
|
|
errore = TRUE;
|
|
TString app;
|
|
if (prima)
|
|
{
|
|
stampa.add(" ");
|
|
stampa.add("Righe primanota");
|
|
stampa.add(" ");
|
|
prima = FALSE;
|
|
}
|
|
if (tit_riga)
|
|
app << "@r Rilevato un gruppo di contropartita composto da 3 cifre";
|
|
else
|
|
{
|
|
app.format("%5s%03d", (const char*)"@b - ", nr);
|
|
app << " " << "@rRilevato un gruppo di contropartita composto da 3 cifre";
|
|
}
|
|
stampa.add(app);
|
|
tit_riga = TRUE;
|
|
}
|
|
|
|
if (cc > 99)
|
|
{
|
|
errore = TRUE;
|
|
TString app;
|
|
if (prima)
|
|
{
|
|
stampa.add(" ");
|
|
stampa.add("Righe primanota");
|
|
stampa.add(" ");
|
|
prima = FALSE;
|
|
}
|
|
if (tit_riga)
|
|
app << "@r Rilevato un conto di contropartita composto da 3 cifre";
|
|
else
|
|
{
|
|
app.format("%5s%03d", (const char*)"@b - ", nr);
|
|
app << " " << "@rRilevato un conto di contropartita composto da 3 cifre";
|
|
}
|
|
stampa.add(app);
|
|
}
|
|
|
|
importo = _rmov->get_real(RMV_IMPORTO);
|
|
if (importo >= MAX_SYSTEM)
|
|
{
|
|
errore = TRUE;
|
|
TString app;
|
|
if (prima)
|
|
{
|
|
stampa.add(" ");
|
|
stampa.add("Righe primanota");
|
|
stampa.add(" ");
|
|
prima = FALSE;
|
|
}
|
|
if (tit_riga)
|
|
app << "@r Rilevato un importo eccedente le 11 cifre";
|
|
else
|
|
{
|
|
app.format("%5s%03d", (const char*)"@b - ", nr);
|
|
app << " " << "@rRilevato un importo eccedente le 11 cifre";
|
|
}
|
|
stampa.add(app);
|
|
}
|
|
}
|
|
|
|
if (soliva)
|
|
{
|
|
TLocalisamfile rcaus (LF_RCAUSALI);
|
|
int g = 0;
|
|
int c = 0;
|
|
bool tit_riga = FALSE;
|
|
bool prima = TRUE;
|
|
int nr = 1;
|
|
|
|
rcaus.setkey(1);
|
|
rcaus.zero();
|
|
rcaus.put(RCA_CODCAUS, codcaus);
|
|
rcaus.read();
|
|
TString codcau = rcaus.get(RCA_CODCAUS);
|
|
if (codcau == codcaus)
|
|
{
|
|
g = rcaus.get_int (RCA_GRUPPO);
|
|
c = rcaus.get_int (RCA_CONTO);
|
|
}
|
|
|
|
|
|
if (g > 99)
|
|
{
|
|
errore = TRUE;
|
|
TString app;
|
|
if (prima)
|
|
{
|
|
stampa.add(" ");
|
|
stampa.add("Righe primanota");
|
|
stampa.add(" ");
|
|
prima = FALSE;
|
|
}
|
|
if (tit_riga)
|
|
app << "@r Rilevato un gruppo di partita composto da 3 cifre";
|
|
else
|
|
{
|
|
app.format("%5s%03d", (const char*)"@b - ", nr);
|
|
app << " " << "@rRilevato un gruppo di partita composto da 3 cifre";
|
|
}
|
|
stampa.add(app);
|
|
tit_riga = TRUE;
|
|
}
|
|
|
|
if (c > 99)
|
|
{
|
|
errore = TRUE;
|
|
TString app;
|
|
if (prima)
|
|
{
|
|
stampa.add(" ");
|
|
stampa.add("Righe primanota");
|
|
stampa.add(" ");
|
|
prima = FALSE;
|
|
}
|
|
if (tit_riga)
|
|
app << "@r Rilevato un conto di partita composto da 3 cifre";
|
|
else
|
|
{
|
|
app.format("5s%03d", (const char*)"@b - ", nr);
|
|
app << " " << "@rRilevato un conto di partita composto da 3 cifre";
|
|
}
|
|
stampa.add(app);
|
|
}
|
|
}
|
|
|
|
num = 0;
|
|
|
|
if (_files.find('U') != -1)
|
|
{
|
|
nreg_p = 0;
|
|
_rmoviva->setkey(1);
|
|
_rmoviva->zero();
|
|
_rmoviva->put(RMI_NUMREG, nreg);
|
|
|
|
TRectype rmoviva (_rmoviva->curr());
|
|
|
|
prima = TRUE;
|
|
|
|
for (_rmoviva->read(); !_rmoviva->eof(); _rmoviva->next())
|
|
{
|
|
if (_rmoviva->curr() > rmoviva) break;
|
|
|
|
num++;
|
|
|
|
if (num > 9)
|
|
{
|
|
errore = TRUE;
|
|
stampa.add(" - Rilevato movimento Iva con numero righe superiore a 9");
|
|
}
|
|
|
|
int nr = _rmoviva->get_int (RMI_NUMRIG);
|
|
int g = _rmoviva->get_int (RMI_GRUPPO);
|
|
int c = _rmoviva->get_int (RMI_CONTO);
|
|
|
|
if (nr > 99)
|
|
{
|
|
errore = TRUE;
|
|
TString app;
|
|
if (prima)
|
|
{
|
|
stampa.add(" ");
|
|
stampa.add("Righe iva");
|
|
stampa.add(" ");
|
|
prima = FALSE;
|
|
}
|
|
app.format("%5s%03d", (const char*)"@b - ", nr);
|
|
app << " " << "@rRilevato numero di riga con piu' di due cifre";
|
|
stampa.add(app);
|
|
tit_riga = TRUE;
|
|
}
|
|
|
|
if (g > 99)
|
|
{
|
|
errore = TRUE;
|
|
TString app;
|
|
if (prima)
|
|
{
|
|
stampa.add(" ");
|
|
stampa.add("Righe iva");
|
|
stampa.add(" ");
|
|
prima = FALSE;
|
|
}
|
|
if (tit_riga)
|
|
app << "@r Rilevato un gruppo composto da 3 cifre";
|
|
else
|
|
{
|
|
app.format("%5s%03d", (const char*)"@b - ", nr);
|
|
app << " " << "@rRilevato un gruppo composto da 3 cifre";
|
|
}
|
|
stampa.add(app);
|
|
tit_riga = TRUE;
|
|
}
|
|
|
|
if (c > 99)
|
|
{
|
|
errore = TRUE;
|
|
TString app;
|
|
if (prima)
|
|
{
|
|
stampa.add(" ");
|
|
stampa.add("Righe iva");
|
|
stampa.add(" ");
|
|
prima = FALSE;
|
|
}
|
|
if (tit_riga)
|
|
app << "@r Rilevato un conto composto da 3 cifre";
|
|
else
|
|
{
|
|
app.format("%5s%03d", (const char*)"@b - ", nr);
|
|
app << " " << "@rRilevato un conto composto da 3 cifre";
|
|
}
|
|
stampa.add(app);
|
|
}
|
|
const char* ci = _rmoviva->get (RMI_CODIVA);
|
|
if ( ci && *ci && !real::is_natural(ci) )
|
|
{
|
|
errore = TRUE;
|
|
TString app;
|
|
if (prima)
|
|
{
|
|
stampa.add(" ");
|
|
stampa.add("Righe iva");
|
|
stampa.add(" ");
|
|
prima = FALSE;
|
|
}
|
|
if (tit_riga)
|
|
app << "@r Rilevato un codice IVA alfanumerico";
|
|
else
|
|
{
|
|
app.format("%5s%03d", (const char*)"@b - ", nr);
|
|
app << " " << "@rRilevato un codice IVA alfanumerico";
|
|
}
|
|
stampa.add(app);
|
|
tit_riga = TRUE;
|
|
}
|
|
|
|
if (!controlla_valore(ci,99,2))
|
|
{
|
|
errore = TRUE;
|
|
TString app;
|
|
if (prima)
|
|
{
|
|
stampa.add(" ");
|
|
stampa.add("Righe iva");
|
|
stampa.add(" ");
|
|
prima = FALSE;
|
|
}
|
|
if (tit_riga)
|
|
app << "@r Rilevato un codice IVA composto da 3 o piu' cifre";
|
|
else
|
|
{
|
|
app.format("%5s%03d", (const char*)"@b - ", nr);
|
|
app << " " << "@rRilevato un codice IVA composto da 3 o piu' cifre";
|
|
}
|
|
stampa.add(app);
|
|
tit_riga = TRUE;
|
|
}
|
|
|
|
importo = _rmoviva->get_real(RMI_IMPONIBILE);
|
|
if (importo >= MAX_SYSTEM)
|
|
{
|
|
errore = TRUE;
|
|
TString app;
|
|
if (prima)
|
|
{
|
|
stampa.add(" ");
|
|
stampa.add("Righe iva");
|
|
stampa.add(" ");
|
|
prima = FALSE;
|
|
}
|
|
if (tit_riga)
|
|
app << "@r Rilevato imponibile eccedente le 11 cifre";
|
|
else
|
|
{
|
|
app.format("%5s%03d", (const char*)"@b - ", nr);
|
|
app << " " << "@rRilevato imponibile eccedente le 11 cifre";
|
|
}
|
|
stampa.add(app);
|
|
}
|
|
|
|
importo = _rmoviva->get_real(RMI_IMPOSTA);
|
|
if (importo >= MAX_SYSTEM)
|
|
{
|
|
errore = TRUE;
|
|
TString app;
|
|
if (prima)
|
|
{
|
|
stampa.add(" ");
|
|
stampa.add("Righe iva");
|
|
stampa.add(" ");
|
|
prima = FALSE;
|
|
}
|
|
if (tit_riga)
|
|
app << "@r Rilevata imposta eccedente le 11 cifre";
|
|
else
|
|
{
|
|
app.format("%5s%03d", (const char*)"@b - ", nr);
|
|
app << " " << "@rRilevato imposta eccedente le 11 cifre";
|
|
}
|
|
stampa.add(app);
|
|
}
|
|
}
|
|
}
|
|
|
|
if (errore)
|
|
{
|
|
TString app;
|
|
|
|
if (intesta)
|
|
{
|
|
setta_intestazione(file);
|
|
intesta = FALSE;
|
|
}
|
|
|
|
app << "@b- Registrazione numero " << nreg;
|
|
row.put(app,0);
|
|
printer().print(row);
|
|
row.reset();
|
|
|
|
long items = stampa.items();
|
|
|
|
for (int i = 0; i < items; i++)
|
|
{
|
|
str = stampa.row(i);
|
|
row.put(str,0);
|
|
printer().print(row);
|
|
row.reset();
|
|
}
|
|
|
|
row.put(" ",0);
|
|
printer().print(row);
|
|
row.reset();
|
|
|
|
errore = FALSE;
|
|
salto = TRUE;
|
|
_risposta = 1;
|
|
}
|
|
stampa.destroy();
|
|
}
|
|
if (salto)
|
|
printer().formfeed();
|
|
}
|
|
|
|
void TLista_archivi::ragsocCF(char tipo, long codcf, TString& ragsoc)
|
|
{
|
|
TLocalisamfile clifo (LF_CLIFO);
|
|
|
|
clifo.setkey(1);
|
|
clifo.zero();
|
|
clifo.put(CLI_TIPOCF, tipo);
|
|
clifo.put(CLI_CODCF, codcf);
|
|
if (clifo.read() == NOERR)
|
|
ragsoc = clifo.get(CLI_RAGSOC);
|
|
else
|
|
ragsoc = "";
|
|
|
|
if (ragsoc.not_empty())
|
|
{
|
|
TString cognome (ragsoc.mid(0,30));
|
|
cognome.trim();
|
|
TString nome (ragsoc.mid(30,20));
|
|
nome.trim();
|
|
ragsoc = "";
|
|
ragsoc << cognome << " " << nome;
|
|
}
|
|
}
|
|
|
|
void TLista_archivi::controlla_fatture(char file)
|
|
{
|
|
TPrintrow row;
|
|
TString str,rec,filer;
|
|
bool errore = FALSE;
|
|
bool salto = FALSE;
|
|
bool intesta = TRUE;
|
|
bool tit_riga = FALSE;
|
|
TString_array stampa(50);
|
|
real importo;
|
|
char tipo_p = ' ';
|
|
long sottoc_p = 0;
|
|
|
|
_part->setkey(1);
|
|
_part->zero();
|
|
|
|
for (_part->first(); !_part->eof(); _part->next())
|
|
{
|
|
bool inviata = _part->get_bool(PART_INVIATA);
|
|
|
|
if (inviata) continue; // Se il movimento e' gia' stato inviato non lo posso piu' inviare
|
|
// cosi' come le sue rate e i suoi pagamenti.
|
|
|
|
TDate datareg (_part->get_date(PART_DATAREG));
|
|
|
|
if (datareg > _datalimite) continue;
|
|
|
|
char tipo = _part->get_char(PART_TIPOCF);
|
|
int gruppo = _part->get_int (PART_GRUPPO);
|
|
int conto = _part->get_int (PART_CONTO);
|
|
long sottoc = _part->get_long(PART_SOTTOCONTO);
|
|
int anno = _part->get_int (PART_ANNO);
|
|
TString numpart = _part->get (PART_NUMPART);
|
|
TString codcaus = _part->get (PART_CODCAUS);
|
|
int nriga = _part->get_int (PART_NRIGA);
|
|
long nreg = _part->get_long(PART_NREG);
|
|
int numrig = _part->get_int (PART_NUMRIG);
|
|
int tipomov = _part->get_int (PART_TIPOMOV);
|
|
|
|
if (nriga == 9999) continue;
|
|
|
|
if (nreg > 999999)
|
|
{
|
|
errore = TRUE;
|
|
stampa.add(" - Rilevato un numero di registrazione corrispondente a primanota composto da 7 cifre");
|
|
}
|
|
else
|
|
if (nreg == 0 && codcaus.empty()) // Allora fa parte del saldaconto extracontabile: si controlli la tabella di corrispondenza relativa al tipo mov.
|
|
{
|
|
TString& s = (TString&) _tab_cau[tipomov-1];
|
|
s.trim();
|
|
if (s.empty())
|
|
{
|
|
errore = TRUE;
|
|
stampa.add(" - Rilevato un movimento extracontabile senza causale. Compilare tabella di corrispondenza");
|
|
}
|
|
}
|
|
if (tipomov == 2 && _cpg_nc.empty())
|
|
{
|
|
errore = TRUE;
|
|
stampa.add(" - Rilevata una nota di credito senza codice pagamento. Compilare tabella di corrispondenza");
|
|
}
|
|
if (numrig > 99)
|
|
{
|
|
errore = TRUE;
|
|
stampa.add(" - Rilevato un numero di riga corrispondente a primanota composto da 3 cifre");
|
|
}
|
|
if (nriga > 999)
|
|
{
|
|
errore = TRUE;
|
|
stampa.add(" - Rilevato un numero di riga partita composto da 4 cifre");
|
|
}
|
|
if (gruppo > 99)
|
|
{
|
|
errore = TRUE;
|
|
stampa.add(" - Rilevato un gruppo composto da 3 cifre");
|
|
}
|
|
if (conto > 99)
|
|
{
|
|
errore = TRUE;
|
|
stampa.add(" - Rilevato un conto composto da 3 cifre");
|
|
}
|
|
TString reg = _part->get(PART_REG);
|
|
if (!controlla_valore(reg,9,1))
|
|
{
|
|
errore = TRUE;
|
|
stampa.add(" - Rilevato un codice registro IVA composto da 2 o piu' cifre");
|
|
}
|
|
if (codcaus.not_empty() && !real::is_natural(codcaus))
|
|
{
|
|
errore = TRUE;
|
|
stampa.add(" - Rilevato un codice causale alfanumerico");
|
|
}
|
|
int gruppocl = _part->get_int(PART_GRUPPOCL);
|
|
if (gruppocl > 99)
|
|
{
|
|
errore = TRUE;
|
|
stampa.add(" - Rilevato un gruppo cliente composto da 3 cifre");
|
|
}
|
|
int contocl = _part->get_int(PART_CONTOCL);
|
|
if (contocl > 99)
|
|
{
|
|
errore = TRUE;
|
|
stampa.add(" - Rilevato un conto cliente composto da 3 cifre");
|
|
}
|
|
|
|
importo = _part->get_real(PART_IMPTOTDOC);
|
|
if (importo >= MAX_SYSTEM)
|
|
{
|
|
errore = TRUE;
|
|
stampa.add(" - Rilevato totale documento eccedente le 11 cifre");
|
|
}
|
|
|
|
importo = _part->get_real(PART_IMPORTO);
|
|
if (importo >= MAX_SYSTEM)
|
|
{
|
|
errore = TRUE;
|
|
stampa.add(" - Rilevato importo eccedente le 11 cifre");
|
|
}
|
|
|
|
bool prima = TRUE;
|
|
|
|
_scad->setkey(1);
|
|
_scad->zero();
|
|
_scad->put(SCAD_TIPOCF, tipo);
|
|
if (gruppo != 0)
|
|
_scad->put(SCAD_GRUPPO, gruppo);
|
|
if (conto != 0)
|
|
_scad->put(SCAD_CONTO, conto);
|
|
if (sottoc != 0)
|
|
_scad->put(SCAD_SOTTOCONTO, sottoc);
|
|
_scad->put(SCAD_ANNO, anno);
|
|
_scad->put(SCAD_NUMPART, numpart);
|
|
_scad->put(SCAD_NRIGA, nriga);
|
|
|
|
TRectype scadenza (_scad->curr());
|
|
|
|
for (_scad->read(_isgteq); !_scad->eof(); _scad->next())
|
|
{
|
|
rec = scadenza.get(SCAD_NUMPART);
|
|
filer = _scad->get(SCAD_NUMPART);
|
|
|
|
if (_scad->curr() != scadenza || filer != rec) break;
|
|
|
|
tit_riga = FALSE;
|
|
|
|
int gruppo = _scad->get_int (SCAD_GRUPPO);
|
|
int conto = _scad->get_int (SCAD_CONTO);
|
|
int nriga = _scad->get_int (SCAD_NRIGA);
|
|
int nrata = _scad->get_int (SCAD_NRATA);
|
|
|
|
if (gruppo > 99)
|
|
{
|
|
errore = TRUE;
|
|
TString app;
|
|
if (prima)
|
|
{
|
|
stampa.add(" ");
|
|
stampa.add("Scadenze:");
|
|
stampa.add(" ");
|
|
prima = FALSE;
|
|
}
|
|
if (tit_riga)
|
|
app << "@r Rilevato un gruppo composto da 3 cifre";
|
|
else
|
|
{
|
|
app.format("%5s%04d", (const char*)"@b - rata ", nrata);
|
|
app << " " << "@rRilevato un gruppo composto da 3 cifre";
|
|
}
|
|
stampa.add(app);
|
|
tit_riga = TRUE;
|
|
}
|
|
|
|
if (conto > 99)
|
|
{
|
|
errore = TRUE;
|
|
TString app;
|
|
if (prima)
|
|
{
|
|
stampa.add(" ");
|
|
stampa.add("Scadenze:");
|
|
stampa.add(" ");
|
|
prima = FALSE;
|
|
}
|
|
if (tit_riga)
|
|
app << "@r Rilevato un conto composto da 3 cifre";
|
|
else
|
|
{
|
|
app.format("%5s%04d", (const char*)"@b - rata ", nrata);
|
|
app << " " << "@rRilevato un conto composto da 3 cifre";
|
|
}
|
|
stampa.add(app);
|
|
tit_riga = TRUE;
|
|
}
|
|
|
|
if (nriga > 999)
|
|
{
|
|
errore = TRUE;
|
|
TString app;
|
|
if (prima)
|
|
{
|
|
stampa.add(" ");
|
|
stampa.add("Scadenze:");
|
|
stampa.add(" ");
|
|
prima = FALSE;
|
|
}
|
|
if (tit_riga)
|
|
app << "@r Rilevato un conto composto da 3 cifre";
|
|
else
|
|
{
|
|
app.format("%5s%04d", (const char*)"@b - rata ", nrata);
|
|
app << " " << "@rRilevato numero di riga con piu' di tre cifre";
|
|
}
|
|
stampa.add(app);
|
|
tit_riga = TRUE;
|
|
}
|
|
|
|
if (nrata > 99)
|
|
{
|
|
errore = TRUE;
|
|
TString app;
|
|
if (prima)
|
|
{
|
|
stampa.add(" ");
|
|
stampa.add("Scadenze:");
|
|
stampa.add(" ");
|
|
prima = FALSE;
|
|
}
|
|
if (tit_riga)
|
|
app << "@r Rilevato un numero di rata composto da 3 o piu' cifre";
|
|
else
|
|
{
|
|
app.format("%5s%04d", (const char*)"@b - rata ", nrata);
|
|
app << " " << "@rRilevato un numero di rata composto da 3 o piu' cifre";
|
|
}
|
|
stampa.add(app);
|
|
tit_riga = TRUE;
|
|
}
|
|
const char* codpag = _scad->get(SCAD_CODPAG);
|
|
if (!controlla_valore(codpag,99,2))
|
|
{
|
|
errore = TRUE;
|
|
TString app;
|
|
if (prima)
|
|
{
|
|
stampa.add(" ");
|
|
stampa.add("Scadenze:");
|
|
stampa.add(" ");
|
|
prima = FALSE;
|
|
}
|
|
if (tit_riga)
|
|
app << "@r Rilevato un codice pagamento composto da 3 o piu' cifre";
|
|
else
|
|
{
|
|
app.format("%5s%04d", (const char*)"@b - rata ", nrata);
|
|
app << " " << "@rRilevato un codice pagamento composto da 3 o piu' cifre";
|
|
}
|
|
stampa.add(app);
|
|
tit_riga = TRUE;
|
|
}
|
|
const char* codag = _scad->get(SCAD_CODAG);
|
|
if ( codag && *codag && !real::is_natural(codag) )
|
|
{
|
|
errore = TRUE;
|
|
TString app;
|
|
if (prima)
|
|
{
|
|
stampa.add(" ");
|
|
stampa.add("Scadenze:");
|
|
stampa.add(" ");
|
|
prima = FALSE;
|
|
}
|
|
if (tit_riga)
|
|
app << "@r Rilevato un codice agente alfanumerico";
|
|
else
|
|
{
|
|
app.format("%5s%04d", (const char*)"@b - rata ", nrata);
|
|
app << " " << "@rRilevato un codice agente alfanumerico";
|
|
}
|
|
stampa.add(app);
|
|
tit_riga = TRUE;
|
|
}
|
|
|
|
importo = _scad->get_real(SCAD_IMPORTO);
|
|
if (importo >= MAX_SYSTEM)
|
|
{
|
|
errore = TRUE;
|
|
TString app;
|
|
if (prima)
|
|
{
|
|
stampa.add(" ");
|
|
stampa.add("Scadenze:");
|
|
stampa.add(" ");
|
|
prima = FALSE;
|
|
}
|
|
if (tit_riga)
|
|
app << "@r Rilevato un importo eccedente le 11 cifre";
|
|
else
|
|
{
|
|
app.format("%5s%04d", (const char*)"@b - rata ", nrata);
|
|
app << " " << "@rRilevato un importo eccedente le 11 cifre";
|
|
}
|
|
stampa.add(app);
|
|
tit_riga = TRUE;
|
|
}
|
|
}
|
|
|
|
_pagsca->zero();
|
|
_pagsca->put(PAGSCA_TIPOC, tipo);
|
|
if (gruppo != 0)
|
|
_pagsca->put(PAGSCA_GRUPPO, gruppo);
|
|
if (conto != 0)
|
|
_pagsca->put(PAGSCA_CONTO, conto);
|
|
if (sottoc != 0)
|
|
_pagsca->put(PAGSCA_SOTTOCONTO, sottoc);
|
|
_pagsca->put(PAGSCA_ANNO, anno);
|
|
_pagsca->put(PAGSCA_NUMPART, numpart);
|
|
|
|
TRectype pagsca (_pagsca->curr());
|
|
|
|
for (_pagsca->read(_isgteq); !_pagsca->eof(); _pagsca->next())
|
|
{
|
|
tit_riga = FALSE;
|
|
|
|
int nrigp = _pagsca->get_int(PAGSCA_NRIGP);
|
|
|
|
rec = pagsca.get(PAGSCA_NUMPART);
|
|
filer = _pagsca->get(PAGSCA_NUMPART);
|
|
|
|
if (_pagsca->curr() != pagsca || filer != rec) break;
|
|
|
|
if (nriga != nrigp) continue;
|
|
|
|
int gruppo = _pagsca->get_int (PAGSCA_GRUPPO);
|
|
int conto = _pagsca->get_int (PAGSCA_CONTO);
|
|
int nriga = _pagsca->get_int (PAGSCA_NRIGA);
|
|
int nrata = _pagsca->get_int (PAGSCA_NRATA);
|
|
|
|
if (gruppo > 99)
|
|
{
|
|
errore = TRUE;
|
|
TString app;
|
|
if (prima)
|
|
{
|
|
stampa.add(" ");
|
|
stampa.add("Pagamenti scadenze:");
|
|
stampa.add(" ");
|
|
prima = FALSE;
|
|
}
|
|
if (tit_riga)
|
|
app << "@r Rilevato un gruppo composto da 3 cifre";
|
|
else
|
|
{
|
|
app.format("%5srata %04d riga %04d", (const char*)"@b - ", nrata, nrigp);
|
|
app << " " << "@rRilevato un gruppo composto da 3 cifre";
|
|
}
|
|
stampa.add(app);
|
|
tit_riga = TRUE;
|
|
}
|
|
|
|
if (conto > 99)
|
|
{
|
|
errore = TRUE;
|
|
TString app;
|
|
if (prima)
|
|
{
|
|
stampa.add(" ");
|
|
stampa.add("Pagamenti scadenze:");
|
|
stampa.add(" ");
|
|
prima = FALSE;
|
|
}
|
|
if (tit_riga)
|
|
app << "@r Rilevato un conto composto da 3 cifre";
|
|
else
|
|
{
|
|
app.format("%5srata %04d riga %04d", (const char*)"@b - ", nrata, nrigp);
|
|
app << " " << "@rRilevato un conto composto da 3 cifre";
|
|
}
|
|
stampa.add(app);
|
|
}
|
|
if (nriga != 9999 && nriga > 999)
|
|
{
|
|
errore = TRUE;
|
|
TString app;
|
|
if (prima)
|
|
{
|
|
stampa.add(" ");
|
|
stampa.add("Pagamenti scadenze:");
|
|
stampa.add(" ");
|
|
prima = FALSE;
|
|
}
|
|
if (tit_riga)
|
|
app << "@r Rilevato un conto composto da 3 cifre";
|
|
else
|
|
{
|
|
app.format("%5srata %04d riga %04d", (const char*)"@b - ", nrata, nrigp);
|
|
app << " " << "@rRilevato numero di riga con tre o piu' cifre";
|
|
}
|
|
stampa.add(app);
|
|
tit_riga = TRUE;
|
|
}
|
|
if (nrata != 9999 && nrata > 99)
|
|
{
|
|
errore = TRUE;
|
|
TString app;
|
|
if (prima)
|
|
{
|
|
stampa.add(" ");
|
|
stampa.add("Pagamenti scadenze:");
|
|
stampa.add(" ");
|
|
prima = FALSE;
|
|
}
|
|
if (tit_riga)
|
|
app << "@r Rilevato un conto composto da 3 cifre";
|
|
else
|
|
{
|
|
app.format("%5srata %04d riga %04d", (const char*)"@b - ", nrata, nrigp);
|
|
app << " " << "@rRilevato numero di rata con piu' di due cifre";
|
|
}
|
|
stampa.add(app);
|
|
tit_riga = TRUE;
|
|
}
|
|
const char* codag = _scad->get(SCAD_CODAG);
|
|
if ( codag && *codag && !real::is_natural(codag) )
|
|
{
|
|
errore = TRUE;
|
|
TString app;
|
|
if (prima)
|
|
{
|
|
stampa.add(" ");
|
|
stampa.add("Pagamenti scadenze:");
|
|
stampa.add(" ");
|
|
prima = FALSE;
|
|
}
|
|
if (tit_riga)
|
|
app << "@r Rilevato un codice agente alfanumerico";
|
|
else
|
|
{
|
|
app.format("%5srata %04d riga %04d", (const char*)"@b - ", nrata, nrigp);
|
|
app << " " << "@rRilevato un codice agente alfanumerico";
|
|
}
|
|
stampa.add(app);
|
|
tit_riga = TRUE;
|
|
}
|
|
importo = _pagsca->get_real(PAGSCA_IMPORTO);
|
|
if (importo >= MAX_SYSTEM)
|
|
{
|
|
errore = TRUE;
|
|
TString app;
|
|
if (prima)
|
|
{
|
|
stampa.add(" ");
|
|
stampa.add("Pagamenti scadenze:");
|
|
stampa.add(" ");
|
|
prima = FALSE;
|
|
}
|
|
if (tit_riga)
|
|
app << "@r Rilevato un importo eccedente le 11 cifre";
|
|
else
|
|
{
|
|
app.format("%5srata %04d riga %04d", (const char*)"@b - ", nrata, nrigp);
|
|
app << " " << "@rRilevato un importo eccedente le 11 cifre";
|
|
}
|
|
stampa.add(app);
|
|
tit_riga = TRUE;
|
|
}
|
|
}
|
|
|
|
if (errore)
|
|
{
|
|
TString app;
|
|
|
|
if (intesta)
|
|
{
|
|
setta_intestazione(file);
|
|
intesta = FALSE;
|
|
}
|
|
if (tipo != tipo_p || sottoc != sottoc_p)
|
|
{
|
|
TString ragsoc;
|
|
ragsocCF(tipo,sottoc,ragsoc);
|
|
if (tipo == 'C')
|
|
app << "@b- Cliente : " << sottoc;
|
|
else
|
|
app << "@b- Fornitore : " << sottoc;
|
|
app << " " << ragsoc;
|
|
row.put(app,0);
|
|
printer().print(row);
|
|
row.reset();
|
|
}
|
|
app = "";
|
|
app.format("Partita %-7s riga %4d", (const char*) numpart, nriga);
|
|
row.put(app,0);
|
|
printer().print(row);
|
|
row.reset();
|
|
|
|
long items = stampa.items();
|
|
|
|
for (int i = 0; i < items; i++)
|
|
{
|
|
str = stampa.row(i);
|
|
row.put(str,0);
|
|
printer().print(row);
|
|
row.reset();
|
|
}
|
|
|
|
row.put(" ",0);
|
|
printer().print(row);
|
|
row.reset();
|
|
|
|
errore = FALSE;
|
|
salto = TRUE;
|
|
_risposta = 1;
|
|
tipo_p = tipo;
|
|
sottoc_p = sottoc;
|
|
}
|
|
stampa.destroy();
|
|
}
|
|
if (salto)
|
|
printer().formfeed();
|
|
}
|
|
|
|
void TLista_archivi::setta_intestazione(char sigla)
|
|
{
|
|
TPrintrow row;
|
|
TString sep(132);
|
|
TString titolo;
|
|
|
|
switch (sigla)
|
|
{
|
|
case 'W':
|
|
titolo = "Tabella Causali";
|
|
break;
|
|
|
|
case 'A':
|
|
titolo = "Anagrafica Clienti/Fornitori";
|
|
break;
|
|
|
|
case 'P':
|
|
titolo = "Anagrafica Piano dei Conti";
|
|
break;
|
|
|
|
case 'Z':
|
|
titolo = "Movimenti";
|
|
break;
|
|
|
|
case 'B':
|
|
titolo = "Movimenti Saldaconto";
|
|
break;
|
|
|
|
default:
|
|
break;
|
|
}
|
|
|
|
printer().resetheader();
|
|
|
|
sep << "Ditta " << _ditta;
|
|
sep << " " << _ragsoc;
|
|
sep.left_just(132);
|
|
|
|
row.put(sep,0);
|
|
printer().setheaderline(1,row);
|
|
row.reset();
|
|
|
|
sep = "";
|
|
sep << "Data @< Pag. @#";
|
|
sep.right_just(127);
|
|
sep.overwrite ("LISTA DI CONTROLLO ARCHIVI IN TRASFERIMENTO");
|
|
row.put(sep,0);
|
|
printer().setheaderline(2,row);
|
|
row.reset();
|
|
|
|
sep = "";
|
|
sep.fill('-');
|
|
row.put(sep,0);
|
|
printer().setheaderline(3,row);
|
|
row.reset();
|
|
|
|
row.put(titolo,0);
|
|
printer().setheaderline(4,row);
|
|
row.reset();
|
|
|
|
sep = "";
|
|
sep.fill('-');
|
|
row.put(sep,0);
|
|
printer().setheaderline(5,row);
|
|
row.reset();
|
|
|
|
row.put(" ",0);
|
|
printer().setheaderline(6,row);
|
|
row.reset();
|
|
}
|
|
|
|
bool TLista_archivi::menu(MENU_TAG m)
|
|
{
|
|
if (m == BAR_ITEM_ID(1))
|
|
return set();
|
|
return FALSE;
|
|
}
|