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,7 +1427,8 @@ 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);
// put data on partita
@ -1476,8 +1477,11 @@ void TRic_tab::ricevi_movSC(TString& key, char uselab)
TRectype scad (_tscad->curr());
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();
@ -1512,8 +1516,11 @@ void TRic_tab::ricevi_movSC(TString& key, char uselab)
for (_tpagsca->read(_isgteq); !_tpagsca->eof(); _tpagsca->next())
{
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;
@ -398,7 +398,8 @@ bool TRic_ListaMov::user_create()
_conto_p = -1;
_codcf_p = -1;
_prima_rata_pag = FALSE;
_numpart_prec = "";
_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;
}
}
@ -1437,8 +1440,12 @@ bool TRic_ListaMov::controlla_scadenze()
TRectype recc (scad.curr());
for (scad.read(_isgteq); !scad.eof() ;scad.next())
{
TRectype rec (scad.curr());
if (rec != recc) break;
TRectype rec (scad.curr());
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);
@ -2114,7 +2124,8 @@ bool TRic_ListaMov::preprocess_page(int file,int counter)
set_row(r, " comp. %d", _anno);
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;
@ -2375,8 +2387,9 @@ 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 (file == LF_MOV || file == LF_PARTITE)
if (_ho_stampato)
printer().formfeed();
return NEXT_PAGE;
}
@ -2489,8 +2502,11 @@ void TRic_ListaMov::esamina_partite()
TRectype pagamenti (pagsca.curr());
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);
@ -2520,8 +2536,11 @@ void TRic_ListaMov::esamina_partite()
TRectype scadenze (scad.curr());
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);
}
@ -2565,8 +2584,11 @@ void TRic_ListaMov::esamina_partite()
_codpag_scad = "";
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;
@ -2700,8 +2722,11 @@ bool TRic_ListaMov::calcola_impdocval(long nreg,int nrig,char tipoc,int gruppo,i
TRectype pagamenti (pagsca.curr());
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);
@ -2765,8 +2790,11 @@ void TRic_ListaMov::calcola_importo(char tipoc,int gruppo,int conto,long sottoc,
TRectype scadenza (scad.curr());
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);
@ -2796,8 +2824,11 @@ void TRic_ListaMov::aggiorna_partita(real& importo,real& importoval,real& abbuon
TRectype pagamento (pagsca.curr());
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

@ -291,7 +291,7 @@ void TAnn_mov::annulla(TMask& m)
*rec_part = _tpart->curr();
for (_tpart->read(_isgteq); !_tpart->eof(); _tpart->next())
{
{
if (_tpart->curr() != *rec_part) break;
int tipomov = _tpart->get_int (PART_TIPOMOV);
@ -323,8 +323,11 @@ void TAnn_mov::annulla(TMask& m)
TRectype scad (_tscad->curr());
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);
@ -352,8 +355,11 @@ void TAnn_mov::annulla(TMask& m)
for (_tpagsca->read(_isgteq); !_tpagsca->eof(); _tpagsca->next())
{
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;
@ -385,8 +391,11 @@ bool TAnn_mov::controlla_abbuoni_diffcam(char tipo,int g,int c,long s,int anno,T
TRectype pagamenti (pagsca.curr());
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);
@ -414,8 +423,11 @@ void TAnn_mov::sgancia_pagamenti(char tipo,int g,int c,long s,int anno,TString&
TRectype pagamenti (pagsca.curr());
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

@ -343,8 +343,11 @@ void TVar_sc::setta_mask_scad(char tipo,int gruppo,int conto,long sottoc,
_tscad->read(_isgteq);
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);
@ -438,8 +441,11 @@ void TVar_sc::setta_mask_pagsca(char tipo,int gruppo,int conto,long sottoc,
_tpagsca->read(_isgteq);
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);
@ -1825,8 +1831,11 @@ bool TVar_sc::cancella_partita(TMask_field& f)
TRectype scadenza (scad.curr());
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);
@ -1852,8 +1861,11 @@ bool TVar_sc::cancella_partita(TMask_field& f)
TRectype pagamenti (pagsca.curr());
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);
@ -1888,8 +1900,11 @@ bool TVar_sc::controlla_abbuoni_diffcam(char tipo,int g,int c,long s,int anno,TS
TRectype pagamenti (pagsca.curr());
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);
@ -1926,8 +1941,11 @@ void TVar_sc::sgancia_pagamenti(char tipo,int g,int c,long s,int anno,TString& n
TRectype pagamenti (pagsca.curr());
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

@ -1797,8 +1797,11 @@ void TInv_cont::scrivi_righeSCAD(char tipocf,int gruppo,int conto,long sottoc,
TRectype scad (_scad->curr());
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();
@ -1836,8 +1839,11 @@ void TInv_cont::scrivi_righePAGSCA(char tipocf,int gruppo,int conto,long sottoc,
for (_pagsca->read(_isgteq); !_pagsca->eof(); _pagsca->next())
{
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

@ -1969,8 +1969,10 @@ int TTransfer_file::ultima_riga_partita(TString& record)
TRectype partita (tpart.curr());
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);
}
@ -2073,7 +2075,7 @@ void TTransfer_file::calcola_impdocval(long nreg,int nrig,TString& record)
doc = ZERO;
val = ZERO;
real itdoc (record.sub(116,127));
TString app (record.sub(127,140));
negativo(app);
@ -2088,8 +2090,11 @@ void TTransfer_file::calcola_impdocval(long nreg,int nrig,TString& record)
TRectype partita (part.curr());
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,14 +236,13 @@ protected:
char allineamento_iniziale() const { return _align; }
char allineamento_corrente() const;
void allinea(char all = ' ');
int write_saldo(bool re, TRectype* rec = NULL) const;
public: // TObject
virtual bool ok() const { return _part.rows() > 0; }
virtual int compare(const TSortable& s) const;
public:
enum { NUMLEN = 7, UNASSIGNED = 9999 };
@ -261,7 +260,9 @@ public:
void sposta_riga(int from_row, TPartita& part, int to_row);
// 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(); }