Spostata la funzione di ricalcolo del documento e corretta

la funzione di scrittura dei movimenti.


git-svn-id: svn://10.65.10.50/trunk@3437 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
angelo 1996-08-26 08:09:32 +00:00
parent 5ac0b14c3c
commit 59292187e6

View File

@ -226,7 +226,7 @@ int TMovimentoPN_VE::set_cg_rec(int n, const TImporto& imp, TBill& conto,
rec.put(RMV_GRUPPO,conto.gruppo()); rec.put(RMV_GRUPPO,conto.gruppo());
rec.put(RMV_CONTO,conto.conto()); rec.put(RMV_CONTO,conto.conto());
rec.put(RMV_SOTTOCONTO,conto.sottoconto()); rec.put(RMV_SOTTOCONTO,conto.sottoconto());
rec.put(RMV_DESCR,conto.descrizione()); //rec.put(RMV_DESCR,conto.descrizione());
if (tipo == 'T') // Calcolo contropartita if (tipo == 'T') // Calcolo contropartita
{ {
@ -696,6 +696,8 @@ void TContabilizzazione_app::build_num_sheet()
(tipon3.empty() || n3<0) && (tipon4.empty() || n4<0) && (tipon3.empty() || n3<0) && (tipon4.empty() || n4<0) &&
(tipon5.empty() || n5<0)) (tipon5.empty() || n5<0))
_num_sheet->disable_row(pos); _num_sheet->disable_row(pos);
else
_num_sheet->enable_row(pos);
} }
} }
} }
@ -832,8 +834,8 @@ error_type TContabilizzazione_app::search_costo_ricavo(TBill& conto, const TRiga
{ {
if (skip_clifo) continue; if (skip_clifo) continue;
gr = cli_file.get_int(CLI_GRUPPORIC); gr = cli_file.get_int(CLI_GRUPPORIC);
co = cli_file().get_int(CLI_CONTORIC); co = cli_file.get_int(CLI_CONTORIC);
so = cli_file().get_long(CLI_SOTTOCRIC); so = cli_file.get_long(CLI_SOTTOCRIC);
conto.set(gr,co,so); conto.set(gr,co,so);
if (conto.ok()) break; // se lo trova esce (tutti != 0) if (conto.ok()) break; // se lo trova esce (tutti != 0)
} }
@ -1236,13 +1238,13 @@ error_type TContabilizzazione_app::create_total_doc_row()
} }
} }
TBill zio;
TString descr; TString descr;
_caus->bill(1,zio); descr = head.get(MOV_DESCR);// La descrizione della riga di totale documento la prende dalla testata
descr = zio.descrizione();
// se ancora non e' stato trovato piglia quello della causale // se ancora non e' stato trovato piglia quello della causale
if (gruppo == 0 || conto == 0) if (gruppo == 0 || conto == 0)
{ {
TBill zio;
_caus->bill(1,zio);
gruppo = zio.gruppo(); gruppo = zio.gruppo();
conto = zio.conto(); conto = zio.conto();
} }
@ -1270,8 +1272,6 @@ error_type TContabilizzazione_app::create_total_doc_row()
error_type TContabilizzazione_app::compile_rows_mov() error_type TContabilizzazione_app::compile_rows_mov()
// Compila le righe // Compila le righe
{ {
// A questo punto il documento e' gia stato calcolato, percio' non c'e' bisogno di
// chiamare la compile_summary() del documento.
const int rows = _doc->rows(); const int rows = _doc->rows();
const TArray& sum_arr = _doc->summary_array(); const TArray& sum_arr = _doc->summary_array();
@ -1467,13 +1467,13 @@ error_type TContabilizzazione_app::write_scadenze()
error_type TContabilizzazione_app::write_all() error_type TContabilizzazione_app::write_all()
// Scrive il movimento e le scadenze, gestendo la rinumerazione se il movimento e' gia presente // Scrive il movimento e le scadenze, gestendo la rinumerazione se il movimento e' gia presente
{ {
// N.B: _error non viene settato, per non stampare il messaggio di errore 2 volte, // N.B: _error non viene settato, per non stampare il messaggio di errore 2 volte.
// basta solo ritornare qualcosa di != da no_error, per evitare le operazioni successive // basta solo ritornare qualcosa di != da no_error, per evitare le operazioni successive
// a write_all // a write_all
TRectype& head = _movimento->lfile().curr(); TRectype& head = _movimento->lfile().curr();
long numreg = head.get_long(MOV_NUMREG); long numreg = head.get_long(MOV_NUMREG);
while (_movimento->write() == _isreinsert) while (_movimento->write() == _isreinsert)
numreg++; head.put(MOV_NUMREG,++numreg);
if (_movimento->status() != NOERR) if (_movimento->status() != NOERR)
{ {
error_box("Errore %d scrivendo il movimento %ld.",_movimento->status(),numreg); error_box("Errore %d scrivendo il movimento %ld.",_movimento->status(),numreg);
@ -1585,6 +1585,8 @@ void TContabilizzazione_app::display_error()
void TContabilizzazione_app::contabilize_document() void TContabilizzazione_app::contabilize_document()
{ {
_movimento = new TMovimentoPN_VE; _movimento = new TMovimentoPN_VE;
_doc->compile_summary(); // ricalcola il documento
compile_head_mov(); compile_head_mov();
if (good()) compile_rows_mov(); if (good()) compile_rows_mov();