Modifiche varie ai mastrini
git-svn-id: svn://10.65.10.50/trunk@2040 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
fce4e78020
commit
c47b08bc84
243
cg/cg3200.cpp
243
cg/cg3200.cpp
@ -78,7 +78,8 @@ class TMastrini_application : public TPrintapp
|
||||
int _annomsk,_annoesmsk,_annoes,_annomsksucc,_tipo_mask,_anno_ghost;
|
||||
int _anno_corrente,_anno_precedente,_indbil,_numero_pag;
|
||||
long _sottoc,_numreg,_numgio,_protiva;
|
||||
bool _stampa_progressivi_si,_competenza,_inizio_stampa,_puoi_stampare,_cambia_mastrino;
|
||||
bool _stampa_progressivi_si,_competenza,_inizio_stampa,_puoi_stampare;
|
||||
bool _cambia_mastrino,_gia_stampata_intestazione;
|
||||
char _tmcf,_tipo_contr;
|
||||
|
||||
TDate _dataregrmov;
|
||||
@ -772,7 +773,7 @@ void TMastrini_application::saldi_zero()
|
||||
|
||||
while (!rmov.eof())
|
||||
{
|
||||
rmov.read();
|
||||
//rmov.read();
|
||||
char sezione = rmov.curr().get(RMV_SEZIONE)[0];
|
||||
real importo = rmov.curr().get_real(RMV_IMPORTO);
|
||||
int gruppo = atoi(rmov.get(RMV_GRUPPO));
|
||||
@ -780,13 +781,13 @@ void TMastrini_application::saldi_zero()
|
||||
long sottoc = atol(rmov.get(RMV_SOTTOCONTO));
|
||||
|
||||
if ((gruppo == _gruppo)&&(conto == _conto)&&(sottoc == _sottoc))
|
||||
{
|
||||
{
|
||||
if (sezione == 'D')
|
||||
saldo_dare += importo;
|
||||
else if (sezione == 'A')
|
||||
saldo_avere += importo;
|
||||
}
|
||||
else break;
|
||||
}
|
||||
else break;
|
||||
rmov.next();
|
||||
}
|
||||
rmov.readat(record);
|
||||
@ -1413,6 +1414,11 @@ bool TMastrini_application::preprocess_page(int file, int counter)
|
||||
|
||||
if (_nummast == 3 || _nummast == 2)
|
||||
{
|
||||
int cur_row = printer().formlen() - printer().rows_left();
|
||||
int diff = printer().formlen() - cur_row;
|
||||
if (diff <= 13 && diff != 0)
|
||||
printer().formfeed();
|
||||
|
||||
_rw = crea_intestazione(_rw);
|
||||
calcola_progressivi();
|
||||
_saldo_progressivi += _saldo_progre_prec;
|
||||
@ -1441,6 +1447,11 @@ bool TMastrini_application::preprocess_page(int file, int counter)
|
||||
|
||||
if (_nummast == 3 || _nummast == 2)
|
||||
{
|
||||
int cur_row = printer().formlen() - printer().rows_left();
|
||||
int diff = printer().formlen() - cur_row;
|
||||
if (diff <= 13 && diff != 0)
|
||||
printer().formfeed();
|
||||
|
||||
_rw = crea_intestazione(_rw);
|
||||
_saldo_progressivi += _saldo_progre_prec;
|
||||
_rw = stampa_progre_riporto(_rw);
|
||||
@ -1451,6 +1462,15 @@ bool TMastrini_application::preprocess_page(int file, int counter)
|
||||
|
||||
case LF_RMOV:
|
||||
{
|
||||
//Il flag _gia_stampata_intestazione serve nella stampa in continuo, xche'
|
||||
//sono costretto a richiamare l'intestazione sia nella preprocess_page (per
|
||||
//i mastrini con intestazione a meta' pagina), sia nella preprocess_header
|
||||
//per i mastrini che si trovano a cavallo fra una pagina e quella successiva.
|
||||
//In quest'ultimo caso infatti quando vado a pagina nuova devo stampare l'intestazione
|
||||
//ma senza il flag rischio di stamparla due volte.
|
||||
if (_nummast == 3)
|
||||
_gia_stampata_intestazione = FALSE;
|
||||
|
||||
if (_nummast == 1 || _nummast == 3)
|
||||
_rw = 1;
|
||||
|
||||
@ -2249,14 +2269,11 @@ bool TMastrini_application::set_print(int)
|
||||
|
||||
_anno_precedente = _anno_corrente - 1;
|
||||
|
||||
// Scelta del formato e del numero di mastrini per pagina 1 o 2
|
||||
|
||||
//if (nummast == 1)
|
||||
// crt = formato;
|
||||
//else
|
||||
// crt = (formato / 2);
|
||||
|
||||
//printer().formlen(crt);
|
||||
//Per la stampa in continuo riservo due righe di footer, mentre per le altre no.
|
||||
if (_nummast == 3)
|
||||
printer().footerlen(2);
|
||||
else
|
||||
printer().footerlen(0);
|
||||
|
||||
//Crea il cursore su gruppo, conto e sottoconto del file RMOV
|
||||
|
||||
@ -2340,12 +2357,27 @@ void TMastrini_application::preprocess_header()
|
||||
if (_tipostampa == 2)
|
||||
{
|
||||
if ((_totale_saldo != 0) && (_puoi_stampare))
|
||||
crea_intestazione();
|
||||
crea_intestazione();
|
||||
}
|
||||
else if (_tipostampa == 1)
|
||||
if (_puoi_stampare)
|
||||
crea_intestazione();
|
||||
crea_intestazione();
|
||||
}
|
||||
else
|
||||
if (_nummast == 3 && !_gia_stampata_intestazione)
|
||||
{
|
||||
if (_tipostampa == 3)
|
||||
crea_intestazione();
|
||||
else
|
||||
if (_tipostampa == 2)
|
||||
{
|
||||
if ((_totale_saldo != 0) && (_puoi_stampare))
|
||||
crea_intestazione();
|
||||
}
|
||||
else if (_tipostampa == 1)
|
||||
if (_puoi_stampare)
|
||||
crea_intestazione();
|
||||
}
|
||||
}
|
||||
|
||||
void TMastrini_application::conto(int gruppo, int conto, bool no_contropartita)
|
||||
@ -2443,15 +2475,32 @@ void TMastrini_application::crea_intestazione()
|
||||
|
||||
set_header (1, "@0gDITTA@6g%5ld", _codice_ditta);
|
||||
set_header (1, "@12g%-.45s", (const char*) _ragsoc);
|
||||
set_header (1, "@59g%-.25s", (const char*) _indulc);
|
||||
set_header (1, "@86g%-.9s", (const char*) _civulc);
|
||||
int len = _indulc.len();
|
||||
if (len <= 25)
|
||||
_indulc << " " << _civulc.mid(0,9);
|
||||
else
|
||||
{
|
||||
_indulc = _indulc.mid(0,25);
|
||||
_indulc << " " << _civulc.mid(0,9);
|
||||
}
|
||||
set_header (1, "@59g%s", (const char*) _indulc);
|
||||
//set_header (1, "@86g%-.9s", (const char*) _civulc);
|
||||
set_header (1, "@97g%-.5s", (const char*) _capulc);
|
||||
set_header (1, "@103g%-.18s", (const char*) _com);
|
||||
set_header (1, "@122g%-.3s", (const char*) _prov);
|
||||
|
||||
set_header (3, "@0gSottoconto@12g%d", _gruppo);
|
||||
set_header (3, "@16g%d", _conto);
|
||||
set_header (3, "@20g%ld", _sottoc);
|
||||
if (_nummast == 3)
|
||||
{
|
||||
set_header (3, "@0gSottoconto@12g@b%d", _gruppo);
|
||||
set_header (3, "@16g@b%d", _conto);
|
||||
set_header (3, "@20g@b%ld", _sottoc);
|
||||
}
|
||||
else
|
||||
{
|
||||
set_header (3, "@0gSottoconto@12g%d", _gruppo);
|
||||
set_header (3, "@16g%d", _conto);
|
||||
set_header (3, "@20g%ld", _sottoc);
|
||||
}
|
||||
|
||||
if (_tmcf == 'C')
|
||||
_tipo_mask = 1;
|
||||
@ -2496,7 +2545,7 @@ void TMastrini_application::crea_intestazione()
|
||||
set_header (8,"Data");
|
||||
if (_stampanum < 3)
|
||||
set_header (8,"@11gnumero");
|
||||
set_header (8,"@23gDocumento@42gCod.Causale@70gDescrizione@112gDare@127gAvere@133gSaldo progress.@152gSaldo movim.@169gPartita@180gIva@184gProtocollo@197gC");
|
||||
set_header (8,"@23gDocumento@42gCod.Causale@70gDescrizione@112gDare@127gAvere@135gSaldo progre.@152gSaldo movim.@169gPartita@180gIva@184gProtocollo@197gC");
|
||||
if (_stampa_mov_prov)
|
||||
set_header(8,"@195gP");
|
||||
sep1.fill('-');
|
||||
@ -2572,6 +2621,9 @@ int TMastrini_application::crea_intestazione(int start_riga)
|
||||
|
||||
_conta_mastrini++;
|
||||
|
||||
if (_nummast == 3)
|
||||
_gia_stampata_intestazione = TRUE;
|
||||
|
||||
if (_nummast == 2)
|
||||
if (_cambia_mastrino)
|
||||
{
|
||||
@ -2586,15 +2638,32 @@ int TMastrini_application::crea_intestazione(int start_riga)
|
||||
|
||||
set_row (r, "@0gDITTA@6g%5ld", _codice_ditta);
|
||||
set_row (r, "@12g%-45s", (const char*) _ragsoc);
|
||||
set_row (r, "@59g%-25s", (const char*) _indulc);
|
||||
set_row (r, "@86g%-9s", (const char*) _civulc);
|
||||
int len = _indulc.len();
|
||||
if (len <= 25)
|
||||
_indulc << " " << _civulc.mid(0,9);
|
||||
else
|
||||
{
|
||||
_indulc = _indulc.mid(0,25);
|
||||
_indulc << " " << _civulc.mid(0,9);
|
||||
}
|
||||
set_row (r, "@59g%s", (const char*) _indulc);
|
||||
// set_row (r, "@86g%-9s", (const char*) _civulc);
|
||||
set_row (r, "@97g%-5s", (const char*) _capulc);
|
||||
set_row (r, "@103g%-18s", (const char*) _com);
|
||||
set_row (r, "@122g%-3s", (const char*) _prov);
|
||||
r += 2;
|
||||
set_row (r, "@0gSottoconto@12g%d", _gruppo);
|
||||
set_row (r, "@16g%d", _conto);
|
||||
set_row (r, "@20g%ld", _sottoc);
|
||||
if (_nummast == 3)
|
||||
{
|
||||
set_row (r, "@0gSottoconto@12g@b%d", _gruppo);
|
||||
set_row (r, "@16g@b%d", _conto);
|
||||
set_row (r, "@20g@b%ld", _sottoc);
|
||||
}
|
||||
else
|
||||
{
|
||||
set_row (r, "@0gSottoconto@12g%d", _gruppo);
|
||||
set_row (r, "@16g%d", _conto);
|
||||
set_row (r, "@20g%ld", _sottoc);
|
||||
}
|
||||
|
||||
if (_tmcf == 'C')
|
||||
_tipo_mask = 1;
|
||||
@ -2642,7 +2711,7 @@ int TMastrini_application::crea_intestazione(int start_riga)
|
||||
if (_stampanum < 3)
|
||||
set_row (r,"@11gnumero");
|
||||
set_row (r,"@23gDocumento@42gCod.Causale@70gDescrizione@112gDare@127gAvere");
|
||||
set_row (r++,"@133gSaldo progress.@152gSaldo movim.@169gPartita@180gIva@184gProtocollo@197gC");
|
||||
set_row (r++,"@135gSaldo progre.@152gSaldo movim.@169gPartita@180gIva@184gProtocollo@197gC");
|
||||
if (_stampa_mov_prov)
|
||||
set_row (r-1,"@195gP");
|
||||
sep1.fill('-');
|
||||
@ -3076,7 +3145,10 @@ void TMastrini_application::ricerca_clifo()
|
||||
set_header(3,"@27g%-.30s",(const char*) descrizione_gruppo());
|
||||
set_header(3,"@59g%-.30s",(const char*) descrizione_conto());
|
||||
set_header(3, "@91g%-.41s",(const char*) ragsoc);
|
||||
set_header(4, "Classe@8g%c", _lettivd);
|
||||
if (_nummast == 3)
|
||||
set_header(4, "@rClasse@8g@b%c", _lettivd);
|
||||
else
|
||||
set_header(4, "Classe@8g%c", _lettivd);
|
||||
set_header(4, "@10g%-8s", (const char*) _numrivd);
|
||||
if (_numivd != 0)
|
||||
set_header(4, "@19g%2d", _numivd);
|
||||
@ -3093,13 +3165,29 @@ void TMastrini_application::ricerca_clifo()
|
||||
|
||||
if (_annomsk == 0)
|
||||
{
|
||||
set_header (5, "Periodo@10g%s", (const char*) dataini);
|
||||
set_header (5, "@22g%s", (const char*) datafine);
|
||||
if (_nummast == 3)
|
||||
{
|
||||
set_header (5, "@rPeriodo@10g@b%s", (const char*) dataini);
|
||||
set_header (5, "@22g@b%s@r", (const char*) datafine);
|
||||
}
|
||||
else
|
||||
{
|
||||
set_header (5, "Periodo@10g%s", (const char*) dataini);
|
||||
set_header (5, "@22g%s", (const char*) datafine);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
set_header (5, "Comp. da@9g%s", (const char*) dataini);
|
||||
set_header (5, "@20ga@22g%s", (const char*) datafine);
|
||||
if (_nummast == 3)
|
||||
{
|
||||
set_header (5, "@rComp. da@9g@b%s", (const char*) dataini);
|
||||
set_header (5, "@20g@ra@22g@b%s@r", (const char*) datafine);
|
||||
}
|
||||
else
|
||||
{
|
||||
set_header (5, "Comp. da@9g%s", (const char*) dataini);
|
||||
set_header (5, "@20ga@22g%s", (const char*) datafine);
|
||||
}
|
||||
}
|
||||
|
||||
set_header (5, "@33gP.I.@37g%-11s",(const char*) paiv);
|
||||
@ -3193,14 +3281,17 @@ int TMastrini_application::ricerca_clifo(int start)
|
||||
set_row (r,"@27g%-30s",(const char*) descrizione_gruppo());
|
||||
set_row (r,"@59g%-30s",(const char*) descrizione_conto());
|
||||
set_row(r++, "@91g%-30s",(const char*) ragsoc);
|
||||
set_row(r, "Classe@8g%c", _lettivd);
|
||||
if (_nummast == 3)
|
||||
set_row(r, "@rClasse@8g@b%c", _lettivd);
|
||||
else
|
||||
set_row(r, "Classe@8g%c", _lettivd);
|
||||
set_row(r, "@10g%-8s", (const char*) _numrivd);
|
||||
if (_numivd != 0)
|
||||
set_row(r, "@19g%2d", _numivd);
|
||||
if (descriz2 != "")
|
||||
{
|
||||
set_row(r,"@23g%-50s",(const char*) descriz2);
|
||||
set_row(r,"@80g%-50s",(const char*) descriz);
|
||||
set_row(r++,"@80g%-50s",(const char*) descriz);
|
||||
}
|
||||
else
|
||||
set_row(r++,"@23g%-50s",(const char*) descriz);
|
||||
@ -3210,13 +3301,29 @@ int TMastrini_application::ricerca_clifo(int start)
|
||||
|
||||
if (_annomsk == 0)
|
||||
{
|
||||
set_row (r, "Periodo@10g%s", (const char*) dataini);
|
||||
set_row (r, "@22g%s", (const char*) datafine);
|
||||
if (_nummast == 3)
|
||||
{
|
||||
set_row (r, "@rPeriodo@10g@b%s", (const char*) dataini);
|
||||
set_row (r, "@22g%s@r", (const char*) datafine);
|
||||
}
|
||||
else
|
||||
{
|
||||
set_row (r, "Periodo@10g%s", (const char*) dataini);
|
||||
set_row (r, "@22g%s", (const char*) datafine);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
set_row (r, "Comp. da@9g%s", (const char*) dataini);
|
||||
set_row (r, "@20ga@22g%s", (const char*) datafine);
|
||||
if (_nummast == 3)
|
||||
{
|
||||
set_row (r, "@rComp. da@9g@b%s", (const char*) dataini);
|
||||
set_row (r, "@20g@ra@22g@b%s@r", (const char*) datafine);
|
||||
}
|
||||
else
|
||||
{
|
||||
set_row (r, "Comp. da@9g%s", (const char*) dataini);
|
||||
set_row (r, "@20ga@22g%s", (const char*) datafine);
|
||||
}
|
||||
}
|
||||
|
||||
set_row (r, "@33gP.I.@37g%-11s",(const char*) paiv);
|
||||
@ -3285,7 +3392,10 @@ void TMastrini_application::ricerca_gruppo()
|
||||
set_header(3,"@59g%-.30s",(const char*) descrizione_conto());
|
||||
|
||||
set_header(3,"@91g%-.41s",(const char*) descrizione_sottoconto());
|
||||
set_header(4, "@0gClasse@12g%c", _lettivd);
|
||||
if (_nummast == 3)
|
||||
set_header(4, "@0g@rClasse@12g@b%c", _lettivd);
|
||||
else
|
||||
set_header(4, "@0gClasse@12g%c", _lettivd);
|
||||
set_header(4, "@14g%-8s",(const char*) _numrivd);
|
||||
if (_numivd != 0)
|
||||
set_header(4, "@23g%d", _numivd);
|
||||
@ -3302,13 +3412,29 @@ void TMastrini_application::ricerca_gruppo()
|
||||
|
||||
if (_annomsk == 0)
|
||||
{
|
||||
set_header (5, "Periodo@12g%s", (const char*) dataini);
|
||||
set_header (5, "@24g%s", (const char*) datafine);
|
||||
if (_nummast == 3)
|
||||
{
|
||||
set_header (5, "@rPeriodo@12g@b%s", (const char*) dataini);
|
||||
set_header (5, "@24g@b%s@r", (const char*) datafine);
|
||||
}
|
||||
else
|
||||
{
|
||||
set_header (5, "Periodo@12g%s", (const char*) dataini);
|
||||
set_header (5, "@24g%s", (const char*) datafine);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
set_header (5, "Periodo di competenza@23g%s", (const char*) dataini);
|
||||
set_header (5, "@35g%s", (const char*) datafine);
|
||||
if (_nummast == 3)
|
||||
{
|
||||
set_header (5, "@rPeriodo di competenza@23g@b%s", (const char*) dataini);
|
||||
set_header (5, "@35g%s@r", (const char*) datafine);
|
||||
}
|
||||
else
|
||||
{
|
||||
set_header (5, "Periodo di competenza@23g%s", (const char*) dataini);
|
||||
set_header (5, "@35g%s", (const char*) datafine);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -3341,7 +3467,10 @@ int TMastrini_application::ricerca_gruppo(int start)
|
||||
set_row(r,"@59g%-.30s",(const char*) descrizione_conto());
|
||||
|
||||
set_row(r++,"@91g%-.41s",(const char*) descrizione_sottoconto());
|
||||
set_row(r, "@0gClasse@12g%c", _lettivd);
|
||||
if (_nummast == 3)
|
||||
set_row(r, "@0g@rClasse@12g@b%c", _lettivd);
|
||||
else
|
||||
set_row(r, "@0gClasse@12g%c", _lettivd);
|
||||
set_row(r, "@14g%-8s",(const char*) _numrivd);
|
||||
if (_numivd != 0)
|
||||
set_row(r, "@23g%d", _numivd);
|
||||
@ -3358,13 +3487,29 @@ int TMastrini_application::ricerca_gruppo(int start)
|
||||
|
||||
if (_annomsk == 0)
|
||||
{
|
||||
set_row (r, "Periodo@12g%s", (const char*) dataini);
|
||||
set_row (r, "@24g%s", (const char*) datafine);
|
||||
if (_nummast == 3)
|
||||
{
|
||||
set_row (r, "@rPeriodo@12g@b%s", (const char*) dataini);
|
||||
set_row (r, "@24g%s@r", (const char*) datafine);
|
||||
}
|
||||
else
|
||||
{
|
||||
set_row (r, "Periodo@12g%s", (const char*) dataini);
|
||||
set_row (r, "@24g%s", (const char*) datafine);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
set_row (r, "Periodo di competenza@23g%s", (const char*) dataini);
|
||||
set_row (r, "@35g%s", (const char*) datafine);
|
||||
if (_nummast == 3)
|
||||
{
|
||||
set_row (r, "@rPeriodo di competenza@23g@b%s", (const char*) dataini);
|
||||
set_row (r, "@35g%s@r", (const char*) datafine);
|
||||
}
|
||||
else
|
||||
{
|
||||
set_row (r, "Periodo di competenza@23g%s", (const char*) dataini);
|
||||
set_row (r, "@35g%s", (const char*) datafine);
|
||||
}
|
||||
}
|
||||
return r;
|
||||
}
|
||||
@ -3488,6 +3633,8 @@ bool TMastrini_application::user_create()
|
||||
_msk->set_handler (F_CONTOFINE_CLIENTE ,contof_hnd);
|
||||
_msk->set_handler (F_CONTOFINE_FORN ,contof_hnd);
|
||||
|
||||
_gia_stampata_intestazione = FALSE;
|
||||
|
||||
// _msk->set_handler (F_SOTTOCFINE_CONTO ,sottoc_hnd);
|
||||
// _msk->set_handler (F_SOTTOCFINE_CLIENTE ,sottoc_hnd);
|
||||
// _msk->set_handler (F_SOTTOCFINE_FORN ,sottoc_hnd);
|
||||
|
Loading…
x
Reference in New Issue
Block a user