Correzione errori MI2165 e MI2166

git-svn-id: svn://10.65.10.50/trunk@3589 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
ale 1996-09-16 13:25:07 +00:00
parent 5a1b819321
commit ee327061a4
7 changed files with 141 additions and 61 deletions

View File

@ -1427,6 +1427,7 @@ void TRic_tab::ricevi_movSC(TString& key, char uselab)
clifo.set(gruppo, conto, codcf, tipocf);
newgame = new TPartita(clifo, anno, numpart);
newgame->allinea();
TRiga_partite& partita = newgame->new_row();
int nuova_riga = partita.get_int(PART_NRIGA);
@ -1477,7 +1478,10 @@ void TRic_tab::ricevi_movSC(TString& key, char uselab)
for (_tscad->read(_isgteq); !_tscad->eof(); _tscad->next())
{
if (_tscad->curr() != scad) break;
TString rec = scad.get(SCAD_NUMPART);
TString file = _tscad->get(SCAD_NUMPART);
if (_tscad->curr() != scad || file != rec) break;
TRiga_scadenze& scadenza = partita.new_row();
@ -1513,7 +1517,10 @@ void TRic_tab::ricevi_movSC(TString& key, char uselab)
{
int nrigp = _tpagsca->get_int(PAGSCA_NRIGP);
if (_tpagsca->curr() != pagsca) break;
TString rec = pagsca.get(PAGSCA_NUMPART);
TString file = _tpagsca->get(PAGSCA_NUMPART);
if (_tpagsca->curr() != pagsca || file != rec) break;
if (nriga != nrigp) continue;

View File

@ -90,7 +90,7 @@ class TRic_ListaMov : public TPrintapp
TString _record, _numpart, _descr_anag, _descr_pag, _tipom_cau, _codval_part, _codpag_scad,_reg;
bool _mov_sez, _errore_grave, _esiste_conto, _seconda_volta, _errore_grave_SC;
bool _is_iva, _is_salda, _risposta, _continua, _intestaSC, _errore_grave_totale;
bool _prima_volta,_calcola,_prima_rata_pag;
bool _prima_volta,_calcola,_prima_rata_pag,_ho_stampato;
char _sdt, _sezione, _tipocf, _sez;
int _ae, _anno, _gruppo, _conto, _tipocr, _tipod, _tiporeg, _tipomov, _tipopag, _nriga;
int _gruppoc, _contoc, _gruppocr, _contocr, _annoiva, _gruppocl, _contocl, _numrig, _annoese;
@ -399,6 +399,7 @@ bool TRic_ListaMov::user_create()
_codcf_p = -1;
_prima_rata_pag = FALSE;
_numpart_prec = "";
_ho_stampato = FALSE;
return TRUE;
}
@ -441,7 +442,7 @@ void TRic_ListaMov::apri_file_SC()
exp.add("CONTO=CONTO");
exp.add("SOTTOCONTO=SOTTOCONTO");
exp.add("ANNO=ANNO");
exp.add("NUMPART=NUMPART");
exp.add("NUMPART==NUMPART");
exp.add("NRIGA=NRIGA");
_relSC->add(_tscad,exp,1,0,0,FALSE);
exp1.add("TIPOC=TIPOC");
@ -449,9 +450,11 @@ void TRic_ListaMov::apri_file_SC()
exp1.add("CONTO=CONTO");
exp1.add("SOTTOCONTO=SOTTOCONTO");
exp1.add("ANNO=ANNO");
exp1.add("NUMPART=NUMPART");
exp1.add("NUMPART==NUMPART");
_relSC->add(_tpagsca,exp1,1,0,0,FALSE);
_curSC = add_cursor(new TCursor (_relSC, "", 1)); // Cursore definito sui movimenti del saldaconto
_ho_stampato = FALSE;
}
}
@ -1438,7 +1441,11 @@ bool TRic_ListaMov::controlla_scadenze()
for (scad.read(_isgteq); !scad.eof() ;scad.next())
{
TRectype rec (scad.curr());
if (rec != recc) break;
TString filea = recc.get(SCAD_NUMPART);
TString file = rec.get(SCAD_NUMPART);
if (rec != recc || file != filea) break;
nrata = rec.get_int (SCAD_NRATA);
tipopag = rec.get_int (SCAD_TIPOPAG);
@ -1598,7 +1605,7 @@ void TRic_ListaMov::stampa_errori_scadenze(int riga)
{
TCursor* cur = current_cursor();
TString numpart = cur->curr(LF_SCADENZE).get_int (SCAD_NUMPART);
TString numpart = cur->curr(LF_SCADENZE).get (SCAD_NUMPART);
int nriga = cur->curr(LF_SCADENZE).get_int (SCAD_NRIGA);
int nrata = cur->curr(LF_SCADENZE).get_int (SCAD_NRATA);
int tipopag = cur->curr(LF_SCADENZE).get_int (SCAD_TIPOPAG);
@ -1780,7 +1787,10 @@ bool TRic_ListaMov::controlla_pagsca()
int nrigp = pagsca.get_int(PAGSCA_NRIGP);
TRectype rec (pagsca.curr());
if (rec != recc) break;
TString filea = recc.get(PAGSCA_NUMPART);
TString file = rec.get(PAGSCA_NUMPART);
if (rec != recc || file != filea) break;
if (nrigp != _nriga) continue;
nriga = rec.get_int (PAGSCA_NRIGA);
@ -2115,6 +2125,7 @@ bool TRic_ListaMov::preprocess_page(int file,int counter)
stampa_errori_mov(r);
_ho_stampato = TRUE;
return TRUE;
}
return FALSE;
@ -2330,6 +2341,7 @@ bool TRic_ListaMov::preprocess_page(int file,int counter)
_prima_rata_pag = TRUE;
_numpart_prec = _numpart;
_ho_stampato = TRUE;
return TRUE;
}
return FALSE;
@ -2376,7 +2388,8 @@ print_action TRic_ListaMov::postprocess_page(int file,int count)
print_action TRic_ListaMov::postprocess_print(int file, int counter)
{
if (file == LF_MOV || file == LF_PARTITE)
printer().formfeed();
if (_ho_stampato)
printer().formfeed();
return NEXT_PAGE;
}
@ -2490,7 +2503,10 @@ void TRic_ListaMov::esamina_partite()
for (pagsca.read(_isgteq); !pagsca.eof(); pagsca.next())
{
if (pagsca.curr() != pagamenti) break;
TString rec = pagamenti.get(PAGSCA_NUMPART);
TString file = pagsca.get(PAGSCA_NUMPART);
if (pagsca.curr() != pagamenti || file != rec) break;
int nrigp = pagsca.get_int(PAGSCA_NRIGP);
@ -2521,7 +2537,10 @@ void TRic_ListaMov::esamina_partite()
for (scad.read(_isgteq); !scad.eof(); scad.next())
{
if (scad.curr() != scadenze) break;
TString rec = scadenze.get(SCAD_NUMPART);
TString file = scad.get(SCAD_NUMPART);
if (scad.curr() != scadenze || file != rec) break;
val += scad.get_real(SCAD_IMPORTOVAL);
}
@ -2566,7 +2585,10 @@ void TRic_ListaMov::esamina_partite()
for (scad.read(_isgteq); !scad.eof(); scad.next())
{
if (scad.curr() != scadenza) break;
TString rec = scadenza.get(SCAD_NUMPART);
TString file = scad.get(SCAD_NUMPART);
if (scad.curr() != scadenza || file != rec) break;
_codpag_scad = scad.get(SCAD_CODPAG);
break;
@ -2701,7 +2723,10 @@ bool TRic_ListaMov::calcola_impdocval(long nreg,int nrig,char tipoc,int gruppo,i
for (pagsca.read(_isgteq); !pagsca.eof(); pagsca.next())
{
if (pagsca.curr() != pagamenti) break;
TString rec = pagamenti.get(PAGSCA_NUMPART);
TString file = pagsca.get(PAGSCA_NUMPART);
if (pagsca.curr() != pagamenti || file != rec) break;
int nrigp = pagsca.get_int(PAGSCA_NRIGP);
@ -2766,7 +2791,10 @@ void TRic_ListaMov::calcola_importo(char tipoc,int gruppo,int conto,long sottoc,
for (scad.read(_isgteq); !scad.eof(); scad.next())
{
if (scad.curr() != scadenza) break;
TString rec = scadenza.get(SCAD_NUMPART);
TString file = scad.get(SCAD_NUMPART);
if (scad.curr() != scadenza || file != rec) break;
_imp += scad.get_real(SCAD_IMPORTO);
_impval += scad.get_real(SCAD_IMPORTOVAL);
@ -2797,7 +2825,10 @@ void TRic_ListaMov::aggiorna_partita(real& importo,real& importoval,real& abbuon
for (pagsca.read(_isgteq); !pagsca.eof(); pagsca.next())
{
if (pagsca.curr() != pagamento) break;
TString rec = pagamento.get(PAGSCA_NUMPART);
TString file = pagsca.get(PAGSCA_NUMPART);
if (pagsca.curr() != pagamento || file != rec) break;
int nrigp = pagsca.get_int(PAGSCA_NRIGP);

View File

@ -324,7 +324,10 @@ void TAnn_mov::annulla(TMask& m)
for (_tscad->read(_isgteq); !_tscad->eof(); _tscad->next())
{
if (_tscad->curr() != scad) break;
TString rec = scad.get(SCAD_NUMPART);
TString file = _tscad->get(SCAD_NUMPART);
if (_tscad->curr() != scad || file != rec) break;
int nrata = _tscad->get_int (SCAD_NRATA);
@ -353,7 +356,10 @@ void TAnn_mov::annulla(TMask& m)
{
int nrigp = _tpagsca->get_int(PAGSCA_NRIGP);
if (_tpagsca->curr() != pagsca) break;
TString rec = pagsca.get(PAGSCA_NUMPART);
TString file = _tpagsca->get(PAGSCA_NUMPART);
if (_tpagsca->curr() != pagsca || file != rec) break;
if (nriga != nrigp) continue;
@ -386,7 +392,10 @@ bool TAnn_mov::controlla_abbuoni_diffcam(char tipo,int g,int c,long s,int anno,T
for (pagsca.read(_isgteq); !pagsca.eof(); pagsca.next())
{
if (pagsca.curr() != pagamenti) break;
TString rec = pagamenti.get(PAGSCA_NUMPART);
TString file = pagsca.get(PAGSCA_NUMPART);
if (pagsca.curr() != pagamenti || file != rec) break;
real abbuoni = pagsca.get_real(PAGSCA_ABBUONI);
real diffcam = pagsca.get_real(PAGSCA_DIFFCAM);
@ -415,7 +424,10 @@ void TAnn_mov::sgancia_pagamenti(char tipo,int g,int c,long s,int anno,TString&
for (pagsca.read(_isgteq); !pagsca.eof(); pagsca.next())
{
if (pagsca.curr() != pagamenti) break;
TString rec = pagamenti.get(PAGSCA_NUMPART);
TString file = pagsca.get(PAGSCA_NUMPART);
if (pagsca.curr() != pagamenti || file != rec) break;
TRectype pag (pagsca.curr());

View File

@ -344,7 +344,10 @@ void TVar_sc::setta_mask_scad(char tipo,int gruppo,int conto,long sottoc,
for (int i = 0 ; !_tscad->eof(); _tscad->next(), i++)
{
if (_tscad->curr() != scadenza) break;
TString part_rec = scadenza.get(SCAD_NUMPART);
TString part_file = _tscad->get(SCAD_NUMPART);
if (_tscad->curr() != scadenza || part_rec != part_file) break;
TToken_string& row = scad.row(i);
@ -439,7 +442,10 @@ void TVar_sc::setta_mask_pagsca(char tipo,int gruppo,int conto,long sottoc,
for (int i = 0 ; !_tpagsca->eof(); _tpagsca->next(), i++)
{
if (_tpagsca->curr() != pagamenti) break;
TString rec = pagamenti.get(PAGSCA_NUMPART);
TString file = _tpagsca->get(PAGSCA_NUMPART);
if (_tpagsca->curr() != pagamenti || file != rec) break;
int nrigp = _tpagsca->get_int(PAGSCA_NRIGP);
int nriga_fatt = _tpagsca->get_int(PAGSCA_NRIGA);
@ -1826,7 +1832,10 @@ bool TVar_sc::cancella_partita(TMask_field& f)
for (scad.read(_isgteq); !scad.eof(); scad.next())
{
if (scad.curr() != scadenza) break;
TString rec = scadenza.get(SCAD_NUMPART);
TString file = scad.get(SCAD_NUMPART);
if (scad.curr() != scadenza || file != rec) break;
int nrata = scad.get_int (SCAD_NRATA);
@ -1853,7 +1862,10 @@ bool TVar_sc::cancella_partita(TMask_field& f)
for (pagsca.read(_isgteq); !pagsca.eof(); pagsca.next())
{
if (pagsca.curr() != pagamenti) break;
TString rec = pagamenti.get(PAGSCA_NUMPART);
TString file = pagsca.get(PAGSCA_NUMPART);
if (pagsca.curr() != pagamenti || file != rec) break;
int nrigp = pagsca.get_int (PAGSCA_NRIGP);
@ -1889,7 +1901,10 @@ bool TVar_sc::controlla_abbuoni_diffcam(char tipo,int g,int c,long s,int anno,TS
for (pagsca.read(_isgteq); !pagsca.eof(); pagsca.next())
{
if (pagsca.curr() != pagamenti) break;
TString rec = pagamenti.get(PAGSCA_NUMPART);
TString file = pagsca.get(PAGSCA_NUMPART);
if (pagsca.curr() != pagamenti || file != rec) break;
real abbuoni = pagsca.get_real(PAGSCA_ABBUONI);
real diffcam = pagsca.get_real(PAGSCA_DIFFCAM);
@ -1927,7 +1942,10 @@ void TVar_sc::sgancia_pagamenti(char tipo,int g,int c,long s,int anno,TString& n
for (pagsca.read(_isgteq); !pagsca.eof(); pagsca.next())
{
if (pagsca.curr() != pagamenti) break;
TString rec = pagamenti.get(PAGSCA_NUMPART);
TString file = pagsca.get(PAGSCA_NUMPART);
if (pagsca.curr() != pagamenti || file != rec) break;
TRectype pag (pagsca.curr());

View File

@ -1798,7 +1798,10 @@ void TInv_cont::scrivi_righeSCAD(char tipocf,int gruppo,int conto,long sottoc,
for (_scad->read(_isgteq); !_scad->eof(); _scad->next())
{
if (_scad->curr() != scad) break;
TString rec = scad.get(SCAD_NUMPART);
TString file = _scad->get(SCAD_NUMPART);
if (_scad->curr() != scad || file != rec) break;
_tscad->curr() = _scad->curr();
@ -1837,7 +1840,10 @@ void TInv_cont::scrivi_righePAGSCA(char tipocf,int gruppo,int conto,long sottoc,
{
int nrigp = _pagsca->get_int(PAGSCA_NRIGP);
if (_pagsca->curr() != pagsca) break;
TString rec = pagsca.get(PAGSCA_NUMPART);
TString file = _pagsca->get(PAGSCA_NUMPART);
if (_pagsca->curr() != pagsca || file != rec) break;
if (nriga != nrigp) continue;

View File

@ -1970,7 +1970,9 @@ int TTransfer_file::ultima_riga_partita(TString& record)
for (tpart.read(_isgteq); !tpart.eof(); tpart.next())
{
if (tpart.curr() != partita) break;
TString part_rec = partita.get(PART_NUMPART); //CONF
TString part_file = tpart.get(PART_NUMPART);
if (tpart.curr() != partita || part_file != part_rec) break;
riga = tpart.get_int(PART_NRIGA);
}
@ -2089,7 +2091,10 @@ void TTransfer_file::calcola_impdocval(long nreg,int nrig,TString& record)
for (part.read(); !part.eof(); part.next())
{
if (part.curr() > partita) break;
TString part_rec = partita.get(PART_NUMPART);
TString part_file = part.get(PART_NUMPART);
if (part.curr() > partita || part_file != part_rec) break;
if (prima_volta )
{

View File

@ -236,7 +236,6 @@ protected:
char allineamento_iniziale() const { return _align; }
char allineamento_corrente() const;
void allinea(char all = ' ');
int write_saldo(bool re, TRectype* rec = NULL) const;
@ -262,6 +261,8 @@ public:
// de-assegna tutti i pagamenti di una riga e li distrugge
void scollega_pagamenti(int riga, int rata = 1);
void allinea(char all = ' ');
int succ(int r) const { return _part.succ_row(r); }
int pred(int r) const { return _part.pred_row(r); }
int first() const { return _part.first_row(); }