From 1c714b3c3a1e8d9a7e933ccf4e2274a6c32418be Mon Sep 17 00:00:00 2001 From: alex Date: Tue, 29 Apr 1997 13:11:17 +0000 Subject: [PATCH] Errore aga001 git-svn-id: svn://10.65.10.50/trunk@4315 c028cbd2-c16b-5b4b-a496-9718f37d4682 --- ef/ef0100.cpp | 178 +++++++++++++++++++++++++------------------------- 1 file changed, 89 insertions(+), 89 deletions(-) diff --git a/ef/ef0100.cpp b/ef/ef0100.cpp index a444608dd..06e5b2c70 100755 --- a/ef/ef0100.cpp +++ b/ef/ef0100.cpp @@ -6,7 +6,7 @@ #include #include "ef0.h" #include "ef0100.h" -#include "ef0101.h" +#include "ef0101.h" /////////////////////////////////////////////////////////////// // Classe per la gestione di effetti con metodi standard di: // @@ -17,16 +17,16 @@ class TVariazione_effetti: public TRelation_application { TMask *_msk; TEffetto *_effetto; - TRelation *_rel; - TLocalisamfile *_reff, *_cess, *_com; -protected: - virtual void init_query_mode(TMask&); + TRelation *_rel; + TLocalisamfile *_reff, *_cess, *_com; +protected: + virtual void init_query_mode(TMask&); virtual void init_insert_mode(TMask&); static bool handle_sheet(TMask_field& f, KEY); static bool codval_handler(TMask_field& f, KEY k); static bool impeff_notify(TSheet_field& s, int r, KEY key); virtual const char* get_next_key(); - TSheet_field& cess_sheet() const; + TSheet_field& cess_sheet() const; TSheet_field& righe_sheet() const; void common_f(const TMask& m); static void calcola_totali(); @@ -49,25 +49,25 @@ inline TVariazione_effetti& app() {return (TVariazione_effetti&)main_app();} // quando si va in query mode resetta i due campi della maschera // relativi ai totali -void TVariazione_effetti::init_query_mode(TMask&) -{ +void TVariazione_effetti::init_query_mode(TMask&) +{ _msk->reset(F_TOTIMP); _msk->reset(F_TOTIMPVAL); -} +} -// quando si va in insert mode resetta i due campi della maschera relativi -// ai totali, inserisce una riga vuota nello sheet e setta il flag dirty -// dello sheet per forzare l'utente all'inserimento di una riga +// quando si va in insert mode resetta i due campi della maschera relativi +// ai totali, inserisce una riga vuota nello sheet e setta il flag dirty +// dello sheet per forzare l'utente all'inserimento di una riga void TVariazione_effetti::init_insert_mode(TMask&) -{ +{ _msk->reset(F_TOTIMP); _msk->reset(F_TOTIMPVAL); TToken_string riga("|||||||||"); righe_sheet().row(0) = riga; righe_sheet().set_dirty(); } - -// ritorna il prossimo numero valido di chiave + +// ritorna il prossimo numero valido di chiave const char* TVariazione_effetti::get_next_key() { TLocalisamfile& effetti = _rel->lfile(); @@ -90,7 +90,7 @@ TSheet_field& TVariazione_effetti::cess_sheet() const return o_sheet; } -// ritorna un riferimento allo sheet delle righe +// ritorna un riferimento allo sheet delle righe TSheet_field& TVariazione_effetti::righe_sheet() const { TSheet_field& r_sheet = (TSheet_field&)_msk->field(F_SHEET_RIGHE); @@ -98,24 +98,24 @@ TSheet_field& TVariazione_effetti::righe_sheet() const } // metodo che permette di scivere su file i dati inseriti nella maschera; -// comune alla write e alla rewrite +// comune alla write e alla rewrite void TVariazione_effetti::common_f(const TMask& m) { long nprogtr = m.get_long(F_NPROGTR); m.autosave(*_rel); - _effetto->head() = _rel->curr(); + _effetto->head() = _rel->curr(); TSheet_field& shcess = cess_sheet(); TSheet_field& shrighe = righe_sheet(); int items = shcess.items(); - _effetto->destroy_rows_c(); + _effetto->destroy_rows_c(); int ii = 1; // scarico tutte le righe dei cessionari dallo sheet sul file for (int i = 0; i < items; i++) - { + { TToken_string& row = shcess.row(i); if ( row.items()== 0 ) continue; // salta le righe vuote TRectype& rec = _effetto->row_c(ii, TRUE); - row.restart(); + row.restart(); rec.zero(); rec.put(CES_NPROGTR, nprogtr); rec.put(CES_NRIGA, ii); @@ -124,16 +124,16 @@ void TVariazione_effetti::common_f(const TMask& m) rec.put(CES_STATO, row.get_int()); rec.put(CES_COM, row.get()); ii++; - } + } items = shrighe.items(); - _effetto->destroy_rows_r(); - ii = 1; + _effetto->destroy_rows_r(); + ii = 1; // scarico tutte le righe dell'effetto dallo sheet sul file for (i = 0; i < items; i++) - { - TToken_string& row = shrighe.row(i); + { + TToken_string& row = shrighe.row(i); real imp_eff(row.get(1)); - if (imp_eff == 0.0) continue; // salta le righe con importo nullo + if (imp_eff == 0.0) continue; // salta le righe con importo nullo row.restart(); TRectype& rec = _effetto->row_r(ii, TRUE); rec.zero(); @@ -157,7 +157,7 @@ void TVariazione_effetti::common_f(const TMask& m) _effetto->renum(_effetto->numero()); } -// carica nella maschera i dati dai files +// carica nella maschera i dati dai files int TVariazione_effetti::read(TMask& m) { m.autoload(*_rel); @@ -166,16 +166,16 @@ int TVariazione_effetti::read(TMask& m) if (err == NOERR) { // legge l'effetto dal record corrente della relazione - err = _effetto->read(f, _rel->curr()); + err = _effetto->read(f, _rel->curr()); if (err == NOERR) - { + { TString16 codcom(3); TToken_string riga(80); TSheet_field& shcess = cess_sheet(); - shcess.reset(); + shcess.reset(); TSheet_field& shrighe = righe_sheet(); - shrighe.reset(); - int items = _effetto->rows_c(); + shrighe.reset(); + int items = _effetto->rows_c(); // carica tutti i cessionari nello sheet dal file for (int i = 1; i <= items; i++) { @@ -184,17 +184,17 @@ int TVariazione_effetti::read(TMask& m) riga.add(rec.get(CES_RAGSOC)); riga.add(rec.get(CES_LOCALITA)); riga.add(rec.get(CES_STATO)); - // per caricare nello sheet dei cessionari la denominazione + // per caricare nello sheet dei cessionari la denominazione // del comune di cui si conosce il codice codcom = rec.get(CES_COM); - riga.add(codcom); + riga.add(codcom); _com->zero(); _com->put(COM_COM, codcom); - if (_com->read() == NOERR) - riga.add(_com->get(COM_DENCOM)); + if (_com->read() == NOERR) + riga.add(_com->get(COM_DENCOM)); shcess.row(i-1)=riga; - } - items = _effetto->rows_r(); + } + items = _effetto->rows_r(); // carica tutte le righe dell'effetto nello sheet dal file for (i = 1; i <= items; i++) { @@ -210,9 +210,9 @@ int TVariazione_effetti::read(TMask& m) riga.add(rec.get(REFF_NRATA)); char tipo_num = rec.get(REFF_PROVV)[0]; if (tipo_num == 'D') - riga.add("Definitiva"); + riga.add("Definitiva"); else - riga.add("Provvisoria"); + riga.add("Provvisoria"); riga.add(rec.get(REFF_CODNUM)); riga.add(rec.get(REFF_ANNODOC)); riga.add(rec.get(REFF_NFATT)); @@ -227,7 +227,7 @@ int TVariazione_effetti::read(TMask& m) // riscrive effetto int TVariazione_effetti::rewrite(const TMask& m) { - common_f(m);// scarica i dati dalla maschera + common_f(m);// scarica i dati dalla maschera TLocalisamfile f(LF_EFFETTI); return _effetto->rewrite(f); } @@ -235,18 +235,18 @@ int TVariazione_effetti::rewrite(const TMask& m) // scrive i dati su file int TVariazione_effetti::write(const TMask& m) { - common_f(m);// scarica i dati dalla maschera + common_f(m);// scarica i dati dalla maschera TLocalisamfile f(LF_EFFETTI); int err = _effetto->write(f); - if (err == NOERR) + if (err == NOERR) _rel->read();// rilegge per posizionare correttamente la relazione return err; } -// rimuove l'effetto -bool TVariazione_effetti::remove() -{ - TLocalisamfile f(LF_EFFETTI); +// rimuove l'effetto +bool TVariazione_effetti::remove() +{ + TLocalisamfile f(LF_EFFETTI); return _effetto->remove(f) == NOERR; } @@ -254,12 +254,12 @@ bool TVariazione_effetti::remove() bool TVariazione_effetti::user_create() { _msk = new TMask("ef0100a") ; - _rel = new TRelation(LF_EFFETTI); + _rel = new TRelation(LF_EFFETTI); _reff = new TLocalisamfile(LF_REFFETTI); - _cess = new TLocalisamfile(LF_CESS); - _com = new TLocalisamfile(LF_COMUNI); - _effetto = new TEffetto; - _msk->set_handler(F_CODVAL, codval_handler); + _cess = new TLocalisamfile(LF_CESS); + _com = new TLocalisamfile(LF_COMUNI); + _effetto = new TEffetto; + _msk->set_handler(F_CODVAL, codval_handler); _msk->set_handler(F_SHEET_RIGHE, handle_sheet); righe_sheet().set_append(TRUE); righe_sheet().set_notify(impeff_notify); @@ -284,17 +284,17 @@ bool TVariazione_effetti::handle_sheet(TMask_field &f, KEY k) { TMask& m = f.mask(); const int mode = m.mode(); - // se si vuole salvare e si è in uno dei due modi di funzionamento - if ( k == K_ENTER && (mode == MODE_INS || mode == MODE_MOD) ) - { // si controllano le righe del effetto nello sheet - TSheet_field& sf = (TSheet_field&)m.field(F_SHEET_RIGHE); + // se si vuole salvare e si è in uno dei due modi di funzionamento + if ( k == K_ENTER && (mode == MODE_INS || mode == MODE_MOD) ) + { // si controllano le righe del effetto nello sheet + TSheet_field& sf = (TSheet_field&)m.field(F_SHEET_RIGHE); int items = sf.items(); bool found = FALSE; for (int i = 0; i < items && !found; i++)// scandisco tutte le righe dello sheet - { + { TToken_string& row = sf.row(i); real imp_eff(row.get(1)); - // controlla che le righe abbiano un importo + // controlla che le righe abbiano un importo if (imp_eff != 0.0) found = TRUE; } // se non ha trovato righe nello sheet oppure se quelle che ci sono non @@ -304,79 +304,79 @@ bool TVariazione_effetti::handle_sheet(TMask_field &f, KEY k) error_box("L'effetto non può contenere righe con importo nullo!"); return FALSE; } - } + } return TRUE; } -// handler che permette il controllo sulla abilitazione dei campi collegati +// handler che permette il controllo sulla abilitazione dei campi collegati // al codice valuta bool TVariazione_effetti::codval_handler(TMask_field& f, KEY k) -{ - TMask &m = f.mask(); - TString val(f.get()); +{ + TMask &m = f.mask(); + TString val(f.get()); if (f.to_check(k, TRUE)) { // se non c'e valuta o se è lire disabilito i campi collegati const bool condition = (val == "LIT" || val.empty()); - m.enable(-1,!condition); - TSheet_field& sf = (TSheet_field&)m.field(F_SHEET_RIGHE); + m.enable(-1,!condition); + TSheet_field& sf = (TSheet_field&)m.field(F_SHEET_RIGHE); if (condition) - { + { m.reset(-1); m.reset(F_TOTIMPVAL); - int items = sf.items(); + int items = sf.items(); for (int i = 0; i < items; i++) { - TToken_string& row = sf.row(i); + TToken_string& row = sf.row(i); row.add(" ", 2); row.add(" ", 3); - } - } + } + } sf.enable_column(F_IMPFATTVAL, !condition); - sf.enable_column(F_IMPEFFVAL, !condition); + sf.enable_column(F_IMPEFFVAL, !condition); sf.force_update(); - } + } return TRUE; } // funzione chiamata dal notify dello sheet per effettuare il calcolo degli // importi totali (in lire ed in valuta) dell'effetto void TVariazione_effetti::calcola_totali() -{ +{ TMask* m = app()._msk; TSheet_field& sf = (TSheet_field&)m->field(F_SHEET_RIGHE); - int items = sf.items(); - real imp, impval, impeff, impeffval; + int items = sf.items(); + real imp, impval, impeff, impeffval; // scandisco tutte le righe dello sheet e ne prendo gli importi // (in lire ed in valuta) e li sommo al totale for (int i = 0; i < items; i++) - { - TToken_string& row = sf.row(i); + { + TToken_string& row = sf.row(i); imp = row.get(1); impeff += imp; impval = row.get(3); impeffval += impval; } m->set(F_TOTIMP, impeff); - m->set(F_TOTIMPVAL, impeffval); -} + m->set(F_TOTIMPVAL, impeffval); +} // notify per il calcolo dei totali dell'effetto e per il controllo che non // vengano eliminate tutte le righe dell'effetto, almeno una deve rimanere bool TVariazione_effetti::impeff_notify(TSheet_field& s, int r, KEY key) -{ - if (s.to_check(key, TRUE)) +{ + if (s.to_check(key, TRUE)) { - calcola_totali(); - } + calcola_totali(); + } if (key == K_ENTER) { - TToken_string& row = s.row(s.selected()); - char tipo_num = row.get(8)[0]; + TToken_string& row = s.row(s.selected()); + char tipo_num = row.get(8)[0]; if (tipo_num == 'D') - row.add("Definitiva",8); + row.add("Definitiva",8); else - row.add("Provvisoria",8); + row.add("Provvisoria",8); } //se rimane una sola riga nello sheet non la si può cancellare if (key == K_DEL && s.items() == 1) @@ -390,6 +390,6 @@ bool TVariazione_effetti::impeff_notify(TSheet_field& s, int r, KEY key) int ef0100(int argc, char* argv[]) { TVariazione_effetti a ; - a.run(argc, argv, "Variazione Effetti"); + a.run(argc, argv, "Effetti"); return 0; }