corretto errori MI6121, MI6123, MI6124, MI6141, MI6145, MI6151, MI3455

git-svn-id: svn://10.65.10.50/trunk@4039 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
cris 1997-01-07 09:47:34 +00:00
parent 76407846bd
commit 3c9bd9c26f
4 changed files with 4547 additions and 4447 deletions

View File

@ -2934,7 +2934,9 @@ void CG1500_application::set_page(int file, int counter)
if (_stampa_width == 132)
{
set_row(r,"@1g%6ld",(const char*)_sottoconto);
set_row(r," %s",(const char*)udata);
if ((_saldo_dare != ZERO) || (_saldo_avere != ZERO) || (_mov_dare != ZERO) ||
(_mov_avere != ZERO) || (_saldofinale != ZERO))
set_row(r," %s",(const char*)udata);
set_row(r,"@18g#a@49g!@50g%r@67g%r@82g!@83g%r@99g%r@114g!@115g%r",_d,&_saldo_dare,
&_saldo_avere,&_mov_dare,&_mov_avere,&_saldofinale);
if (_saldofinale != ZERO)
@ -2945,7 +2947,9 @@ void CG1500_application::set_page(int file, int counter)
else if (app == 'D')
{
set_row(r,"@1g%6ld",(const char*)_sottoconto);
set_row(r," %s",(const char*)udata);
if ((_saldo_dare != ZERO) || (_saldo_avere != ZERO) || (_mov_dare != ZERO) ||
(_mov_avere != ZERO) || (_saldofinale != ZERO))
set_row(r," %s",(const char*)udata);
set_row(r,"@18g#a@49g!@50g%r@67g%r@82g!@83g%r@100g%r@115g!@116g%r@148g!",_d,
&_saldo_dare,&_saldo_avere,&_mov_dare,&_mov_avere,&_saldofinale);
if (_descr.len() > 30)
@ -2954,7 +2958,9 @@ void CG1500_application::set_page(int file, int counter)
else
{
set_row(r,"@1g%6ld",(const char*)_sottoconto);
set_row(r," %s",(const char*)udata);
if ((_saldo_dare != ZERO) || (_saldo_avere != ZERO) || (_mov_dare != ZERO) ||
(_mov_avere != ZERO) || (_saldofinale != ZERO))
set_row(r," %s",(const char*)udata);
set_row(r,"@18g#a@49g!@50g%r@67g%r@82g!@83g%r@100g%r@115g!@132g%r@148g!",
_d,&_saldo_dare,&_saldo_avere,&_mov_dare,&_mov_avere,&_saldofinale);
if (_descr.len() > 30)
@ -3014,7 +3020,10 @@ void CG1500_application::set_page(int file, int counter)
if (_stampa_width == 132)
{
set_row(r,"@1g%6ld",(const char*)_sottoconto_succ);
set_row(r," %s",(const char*)udata);
if ((_saldoini_dare_succ != ZERO) || (_saldoini_avere_succ != ZERO) ||
(_mov_dare_succ != ZERO) || (_mov_avere_succ != ZERO) ||
(_saldofinale_succ != ZERO))
set_row(r," %s",(const char*)udata);
set_row(r,"@18g#a@49g!@50g%r@67g%r@82g!@83g%r@99g%r@114g!@115g%r",
_d,&_saldoini_dare_succ,&_saldoini_avere_succ,
&_mov_dare_succ,&_mov_avere_succ,&_saldofinale_succ);
@ -3026,7 +3035,10 @@ void CG1500_application::set_page(int file, int counter)
else if (app == 'D')
{
set_row(r,"@1g%6ld",(const char*)_sottoconto_succ);
set_row(r," %s",(const char*)udata);
if ((_saldoini_dare_succ != ZERO) || (_saldoini_avere_succ != ZERO) ||
(_mov_dare_succ != ZERO) || (_mov_avere_succ != ZERO) ||
(_saldofinale_succ != ZERO))
set_row(r," %s",(const char*)udata);
set_row(r,"@18g#a@49g!@50g%r@67g%r@82g!@83g%r@100g%r@115g!@116g%r@148g!",
_d,&_saldoini_dare_succ,&_saldoini_avere_succ,
&_mov_dare_succ,&_mov_avere_succ,&_saldofinale_succ);
@ -3036,7 +3048,10 @@ void CG1500_application::set_page(int file, int counter)
else
{
set_row(r,"@1g%6ld",(const char*)_sottoconto_succ);
set_row(r," %s",(const char*)udata);
if ((_saldoini_dare_succ != ZERO) || (_saldoini_avere_succ != ZERO) ||
(_mov_dare_succ != ZERO) || (_mov_avere_succ != ZERO) ||
(_saldofinale_succ != ZERO))
set_row(r," %s",(const char*)udata);
set_row(r,"@18g#a@49g!@50g%r@67g%r@82g!@83g%r@100g%r@115g!@132g%r@148g!",
_d,&_saldoini_dare_succ,&_saldoini_avere_succ,
&_mov_dare_succ,&_mov_avere_succ,&_saldofinale_succ);

View File

@ -79,7 +79,7 @@ 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,_stampa_footer_si;
bool _stampa_progressivi_si,_competenza,/*_inizio_stampa,*/_puoi_stampare,_stampa_footer_si;
bool _cambia_mastrino,_gia_stampata_intestazione;
char _tmcf,_tipo_contr;
@ -638,6 +638,7 @@ bool TMastrini_application::almeno_un_record()
if (_mov->bad())
_mov->zero();
datacomp = (_mov->curr().get(MOV_DATACOMP));
TString provvis (_mov->curr().get(MOV_PROVVIS));
if (_annomsk == 0)
datareg = rmov.get_date(RMV_DATAREG);
@ -651,7 +652,7 @@ bool TMastrini_application::almeno_un_record()
if ((gruppo != _gruppo)||(conto != _conto)||(sottoc != _sottoc))
break;
else
if (((annoes==_annomsk)||(_annomsk==0))&&((datareg>=_data_ini)&&(datareg<=_data_fine)))
if ( ((annoes==_annomsk) || (_annomsk==0)) && ((datareg>=_data_ini) && (datareg<=_data_fine)) && (_stampa_mov_prov || provvis.trim().empty()))
{
trovato = TRUE;
break;
@ -777,19 +778,29 @@ void TMastrini_application::saldi_zero()
while (!rmov.eof())
{
//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));
int conto = atoi(rmov.get(RMV_CONTO));
long sottoc = atol(rmov.get(RMV_SOTTOCONTO));
long numreg = rmov.get_long(RMV_NUMREG);
_mov->setkey(1);
_mov->curr().zero();
_mov->curr().put(MOV_NUMREG,numreg);
_mov->read();
if (_mov->bad())
_mov->zero();
TString provvis (_mov->curr().get(MOV_PROVVIS));
int gruppo = atoi(rmov.get(RMV_GRUPPO));
int conto = atoi(rmov.get(RMV_CONTO));
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;
if ((gruppo == _gruppo)&&(conto == _conto)&&(sottoc == _sottoc))
{
if (_stampa_mov_prov || provvis.trim().empty())
{
char sezione = rmov.curr().get(RMV_SEZIONE)[0];
real importo = rmov.curr().get_real(RMV_IMPORTO);
if (sezione == 'D')
saldo_dare += importo;
else if (sezione == 'A')
saldo_avere += importo;
}
}
else break;
rmov.next();
@ -1911,19 +1922,22 @@ bool TMastrini_application::preprocess_page(int file, int counter)
dep_avere = _riporto_footer_avere;
}
TString dare (dep_dare.string("###.###.###.###"));
TString avere (dep_avere.string("###.###.###.###"));
if (_numcarat == 1)
{
set_row (_rw,"@32gA RIPORTO@85g%s", (const char*) dare);
set_row (_rw,"@101g%s", (const char*) avere);
}
else
if (_numcarat == 2)
{
set_row (_rw,"@32gA RIPORTO@101g%s", (const char*) dare);
set_row (_rw,"@117g%s", (const char*) avere);
}
if (_nummast != 3 || dep_dare != ZERO || dep_avere != ZERO)
{
TString dare (dep_dare.string("###.###.###.###"));
TString avere (dep_avere.string("###.###.###.###"));
if (_numcarat == 1)
{
set_row (_rw,"@32gA RIPORTO@85g%s", (const char*) dare);
set_row (_rw,"@101g%s", (const char*) avere);
}
else
if (_numcarat == 2)
{
set_row (_rw,"@32gA RIPORTO@101g%s", (const char*) dare);
set_row (_rw,"@117g%s", (const char*) avere);
}
}
if (lim == 0)
{
rmov.prev();
@ -2433,9 +2447,12 @@ bool TMastrini_application::set_print(int)
if (_stampatotiva)
_b.destroy();
_inizio_stampa = TRUE;
//_inizio_stampa = TRUE;
_numero_pag = 1;
_pagina = 1;
if (_nummast == 3)
_pagina = 0;
else
_pagina = 1;
_cambia_mastrino = FALSE;
_rw = 0;
_conta_mastrini = 0;
@ -2547,19 +2564,22 @@ void TMastrini_application::preprocess_footer()
dep_avere = _stampato ? _riporto_footer_avere : _riporto_footer_avere - imp_a;
}
TString dare (dep_dare.string("###.###.###.###"));
TString avere (dep_avere.string("###.###.###.###"));
if (_numcarat == 1)
{
set_footer (2,"@32gA RIPORTO@85g%s", (const char*) dare);
set_footer (2,"@101g%s", (const char*) avere);
}
else
if (_numcarat == 2)
{
set_footer (2,"@32gA RIPORTO@101g%s", (const char*) dare);
set_footer (2,"@117g%s", (const char*) avere);
}
if (_nummast != 3 || dep_dare != ZERO || dep_avere != ZERO)
{
TString dare (dep_dare.string("###.###.###.###"));
TString avere (dep_avere.string("###.###.###.###"));
if (_numcarat == 1)
{
set_footer (2,"@32gA RIPORTO@85g%s", (const char*) dare);
set_footer (2,"@101g%s", (const char*) avere);
}
else
if (_numcarat == 2)
{
set_footer (2,"@32gA RIPORTO@101g%s", (const char*) dare);
set_footer (2,"@117g%s", (const char*) avere);
}
}
}
}
@ -2639,18 +2659,27 @@ void TMastrini_application::ricerca_dati_ditta()
void TMastrini_application::crea_intestazione()
{
TString sep(132),sep1(198);
sep = "";
reset_header();
int np = get_page_number();
if (_cambia_mastrino)
{
_pagina = 1;
if (_nummast != 3)
_pagina = 1;
_cambia_mastrino = FALSE;
}
if (_numcarat == 1)
{
sep << "Pag. " << _pagina;
if (_nummast == 3)
{
if (_pagina != np)
sep << "Pag. @#";
}
else
sep << "Pag. " << _pagina;
sep.right_just(132);
set_header(1,(const char*) sep);
sep ="";
@ -2659,24 +2688,32 @@ void TMastrini_application::crea_intestazione()
}
else if (_numcarat == 2)
{
sep1 << "Pagina " << _pagina;
if (_nummast == 3)
{
if (_pagina != np)
sep1 << "Pagina @#";
}
else
sep1 << "Pagina " << _pagina;
sep1.right_just(198);
set_header(1,(const char*) sep1);
sep1 ="";
set_header(2,"@1g%s",(const char*) sep1);
//set_header(1,"@190gPagina %2d", _numero_pag++);
}
if (_nummast != 3)
_pagina++;
_pagina++;
set_header (1, "@0gDITTA@6g%5ld", _codice_ditta);
set_header (1, "@12g%-.45s", (const char*) _ragsoc);
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);
if (_nummast != 3 || _pagina != np)
{
set_header (1, "@0gDITTA@6g%5ld", _codice_ditta);
set_header (1, "@12g%-.45s", (const char*) _ragsoc);
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);
}
if (_nummast == 3)
{
set_header (3, "@0gSottoconto@12g@b%d", _gruppo);
@ -2778,20 +2815,23 @@ void TMastrini_application::crea_intestazione()
dep_dare = _stampato ? _riporto_dare : _riporto_dare - imp_d;
dep_avere = _stampato ? _riporto_avere : _riporto_avere - imp_a;
if (_numcarat == 1)
{
TString string = dep_dare.string("###.###.###.###");
set_header (10,"@32gA RIPORTO@85g%15s",(const char*) string);
string = dep_avere.string("###.###.###.###");
set_header (10,"@101g%15s",(const char*) string);
}
if (_numcarat == 2)
{
TString string = dep_dare.string("###.###.###.###");
set_header (10,"@32gA RIPORTO@101g%15s",(const char*) string);
string = dep_avere.string("###.###.###.###");
set_header (10,"@117g%15s",(const char*) string);
}
if (_nummast != 3 || dep_dare != ZERO || dep_avere != 0)
{
if (_numcarat == 1)
{
TString string = dep_dare.string("###.###.###.###");
set_header (10,"@32gA RIPORTO@85g%15s",(const char*) string);
string = dep_avere.string("###.###.###.###");
set_header (10,"@101g%15s",(const char*) string);
}
if (_numcarat == 2)
{
TString string = dep_dare.string("###.###.###.###");
set_header (10,"@32gA RIPORTO@101g%15s",(const char*) string);
string = dep_avere.string("###.###.###.###");
set_header (10,"@117g%15s",(const char*) string);
}
}
_riporto_parziale_dare = ZERO;
_riporto_parziale_avere = ZERO;
}
@ -2805,15 +2845,20 @@ void TMastrini_application::crea_intestazione()
sep1 ="";
set_header(11,"@1g%s",(const char*) sep1);
}
if (_pagina != np)
_pagina = np;
}
int TMastrini_application::crea_intestazione(int start_riga)
{
TString sep(132),sep1(198);
int r = start_riga + 2;
sep = "";
reset_header();
int np = get_page_number();
_conta_mastrini++;
if (_nummast == 3)
@ -2825,20 +2870,40 @@ int TMastrini_application::crea_intestazione(int start_riga)
_numero_pag = 1;
_cambia_mastrino = FALSE;
}
if (_numcarat == 1)
set_row(r,"@126gPag. %2d", _numero_pag++);
else if (_numcarat == 2)
set_row(r,"@190gPagina %2d", _numero_pag++);
set_row (r, "@0gDITTA@6g%5ld", _codice_ditta);
set_row (r, "@12g%-45s", (const char*) _ragsoc);
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;
if (_nummast == 3)
{
if (_pagina != np)
{
if (_numcarat == 1)
{
sep << "Pag. @#";
set_row(r,"@126g%s", (const char*) sep);
}
else if (_numcarat == 2)
{
sep << "Pagina @#";
set_row(r,"@190g%s", (const char*) sep);
}
}
}
else
{
if (_numcarat == 1)
set_row(r,"@126gPag. %2d", _numero_pag++);
else if (_numcarat == 2)
set_row(r,"@190gPagina %2d", _numero_pag++);
}
if (_nummast != 3 || _pagina != np)
{
set_row (r, "@0gDITTA@6g%5ld", _codice_ditta);
set_row (r, "@12g%-45s", (const char*) _ragsoc);
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;
}
if (_nummast == 3)
{
set_row (r, "@0gSottoconto@12g@b%d", _gruppo);
@ -2904,7 +2969,8 @@ int TMastrini_application::crea_intestazione(int start_riga)
sep1.fill('-');
set_row (r++,"@0g%s", (const char *) sep1);
}
if (_pagina != np)
_pagina = np;
return r;
}
@ -2933,20 +2999,23 @@ void TMastrini_application::stampa_progre_riporto()
dep_dare = _stampato ? _riporto_dare : _riporto_dare - imp_d;
dep_avere = _stampato ? _riporto_avere : _riporto_avere - imp_a;
if (_numcarat == 1)
{
TString string = dep_dare.string("###.###.###.###");
set_row (_rw,"@32gA RIPORTO@85g%15s",(const char*) string);
string = dep_avere.string("###.###.###.###");
set_row (_rw++,"@101g%15s",(const char*) string);
}
if (_numcarat == 2)
{
TString string = dep_dare.string("###.###.###.###");
set_row (_rw,"@32gA RIPORTO@101g%15s",(const char*) string);
string = dep_avere.string("###.###.###.###");
set_row (_rw++,"@117g%15s",(const char*) string);
}
if (_nummast != 3 || dep_dare != ZERO || dep_avere != 0)
{
if (_numcarat == 1)
{
TString string = dep_dare.string("###.###.###.###");
set_row (_rw,"@32gA RIPORTO@85g%15s",(const char*) string);
string = dep_avere.string("###.###.###.###");
set_row (_rw++,"@101g%15s",(const char*) string);
}
if (_numcarat == 2)
{
TString string = dep_dare.string("###.###.###.###");
set_row (_rw,"@32gA RIPORTO@101g%15s",(const char*) string);
string = dep_avere.string("###.###.###.###");
set_row (_rw++,"@117g%15s",(const char*) string);
}
}
_riporto_parziale_dare = ZERO;
_riporto_parziale_avere = ZERO;
}
@ -2985,20 +3054,23 @@ int TMastrini_application::stampa_progre_riporto(int start_riga)
dep_dare = _stampato ? _riporto_dare : _riporto_dare - imp_d;
dep_avere = _stampato ? _riporto_avere : _riporto_avere - imp_a;
if (_numcarat == 1)
{
TString string = dep_dare.string("###.###.###.###");
set_row (r,"@32gA RIPORTO@85g%15s",(const char*) string);
string = dep_avere.string("###.###.###.###");
set_row (r++,"@101g%15s",(const char*) string);
}
if (_numcarat == 2)
{
TString string = dep_dare.string("###.###.###.###");
set_row (r,"@32gA RIPORTO@101g%15s",(const char*) string);
string = dep_avere.string("###.###.###.###");
set_row (r++,"@117g%15s",(const char*) string);
}
if (_nummast != 3 || dep_dare != ZERO || dep_avere != ZERO)
{
if (_numcarat == 1)
{
TString string = dep_dare.string("###.###.###.###");
set_row (r,"@32gA RIPORTO@85g%15s",(const char*) string);
string = dep_avere.string("###.###.###.###");
set_row (r++,"@101g%15s",(const char*) string);
}
if (_numcarat == 2)
{
TString string = dep_dare.string("###.###.###.###");
set_row (r,"@32gA RIPORTO@101g%15s",(const char*) string);
string = dep_avere.string("###.###.###.###");
set_row (r++,"@117g%15s",(const char*) string);
}
}
_riporto_parziale_dare = ZERO;
_riporto_parziale_avere = ZERO;
}
@ -3135,6 +3207,12 @@ void TMastrini_application::calcola_progressivi()
pdarep = saldi.get_real(SLD_PDARE);
paverep = saldi.get_real(SLD_PAVERE);
if (_stampa_mov_prov)
{
progredare_eseprec = pdarep + saldi.get_real(SLD_PDAREPRO);
progreavere_eseprec = paverep + saldi.get_real(SLD_PAVEREPRO);
}
// cerca eventuale record scaricati
}
@ -3175,7 +3253,7 @@ void TMastrini_application::calcola_progressivi()
const TRecnotype pos = saldi.recno();
// W96SALDI del 18-07-96 saldofin_esprec usa il flag TRUE xche' deve
// considerare anche il saldo finale
saldo = _sld->saldofin_esprec(_anno_corrente,_gruppo,_conto,_sottoc,TRUE);
saldo = _sld->saldofin_esprec(_anno_corrente,_gruppo,_conto,_sottoc,TRUE,FALSE);
saldi.readat(pos);
if (saldo> ZERO)
@ -3338,7 +3416,8 @@ void TMastrini_application::ricerca_clifo()
}
else
{
dencom="";
//dencom="";
dencom = clifo.get(CLI_LOCCF);
provcom="";
}
@ -3476,7 +3555,8 @@ int TMastrini_application::ricerca_clifo(int start)
}
else
{
dencom="";
//dencom="";
dencom=clifo.get(CLI_LOCCF);
provcom="";
}

View File

@ -491,11 +491,11 @@ BEGIN
END
BOOLEAN F_MEMORIZZA
BEGIN
PROMPT 4 17 "Memorizza scelte"
HELP "Indicare se riproporre le scelte effettuate"
END
//BOOLEAN F_MEMORIZZA
//BEGIN
// PROMPT 4 17 "Memorizza scelte"
// HELP "Indicare se riproporre le scelte effettuate"
//END
ENDPAGE

View File

@ -137,10 +137,12 @@ real TSaldo::saldofin_esprec(int annoes, int g, int c, long s, bool saldo_chiusu
const real saldo = _saldi.get_real(SLD_SALDO);
const real pdare = _saldi.get_real(SLD_PDARE);
const real pavere = _saldi.get_real(SLD_PAVERE);
const real pdarepro = _saldi.get_real(SLD_PDAREPRO);
const real paverepro = _saldi.get_real(SLD_PAVEREPRO);
const char flagsf = _saldi.get_char(SLD_FLAGSALFIN);
const real saldosf = _saldi.get_real(SLD_SALDOFIN);
real tot = pdare-pavere;
real tot = pdare-pavere;
if (flag == 'D') tot += saldo;
else tot -= saldo;
@ -375,7 +377,10 @@ bool TSaldo::ultima_immissione_verifica(int annoes,int g,int c,long s,int indbil
return esito;
// if (stp_prov == 0 && paverepro == ZERO)
if (stp_prov == 3 && paverepro == ZERO && pdarepro == ZERO) // Modifica del 24-09-96 errore MI0890.
return esito;
{
_saldo = _prg_dare = _prg_avere = ZERO; // N.B. Non e' detto che funzioni sempre!!!!!!
return esito;
}
if (sezione == 'A') _saldo_iniziale = -_saldo_iniziale;