From 76b796a9a3a3c0fd1e3f4bf1f9619a52ccc9310b Mon Sep 17 00:00:00 2001 From: nik Date: Thu, 28 Mar 1996 16:55:05 +0000 Subject: [PATCH] kdfgd git-svn-id: svn://10.65.10.50/trunk@2706 c028cbd2-c16b-5b4b-a496-9718f37d4682 --- cg/cg6600.cpp | 83 ++++++++++++++++++++++++++++++-------------------- cg/cglib04.cpp | 14 ++++++--- 2 files changed, 60 insertions(+), 37 deletions(-) diff --git a/cg/cg6600.cpp b/cg/cg6600.cpp index de918db99..788fa2e8f 100755 --- a/cg/cg6600.cpp +++ b/cg/cg6600.cpp @@ -95,7 +95,7 @@ public: void aggiorna_reg(int anno,TString& codreg,long ulnum); char ricerca_causale(TString& field); - bool occasionali(const TString& ocfpi); + bool occasionali(TString& ocfpi); TRic_tab(char ric_tab_mov, char ric_auto = '\0'); }; @@ -1066,56 +1066,67 @@ void TRic_tab::ricevi_movPN(TString& key, char uselab) } } -bool TRic_tab::occasionali(const TString& ocfpi) +bool TRic_tab::occasionali(TString& ocfpi) { TString chiave; - long prog = 1; - bool esiste = FALSE; + long prog = 0; + bool esiste = FALSE; + bool ric = TRUE; + + TString ocfpitemp = ocfpi; - TString nocfpi = _tmov->get("TOCFP"); - nocfpi.trim(); + if (ocfpi.mid(0,3) == "RIC") + { +// TString nocfpi = _tmov->get("TOCFP"); +// nocfpi.trim(); - if (nocfpi.empty()) - { +// if (nocfpi.empty()) +// { _occas->setkey(1); - _occas->zero(); - _occas->put("CFPI", "RIC9999999999999"); - _occas->read(); - _occas->prev(); - TString cfpi = _occas->get(OCC_CFPI); - if (cfpi.mid(0,3) == "RIC") - { - prog = atol(cfpi.mid(3,13)); - prog++; - chiave = format("%3s%13ld", (const char*) "RIC", prog); - } - else - chiave = format("%3s%13ld", (const char*) "RIC", prog); + _occas->zero(); + for (_occas->first(); !_occas->eof(); _occas->next()) + { + TString cfpi = _occas->get(OCC_CFPI); + if (cfpi.mid(0,3) == "RIC") + prog = atol(cfpi.mid(3,13)); + } + prog++; + + chiave = format("%3s%13ld", (const char*) "RIC", prog); - esiste = FALSE; + esiste = FALSE; + ocfpi = chiave; } else - { - _occas->setkey(1); - _occas->zero(); - _occas->put("CFPI", nocfpi); - _occas->read(); + ric = FALSE; +// } +// else +// { +// _occas->setkey(1); +// _occas->zero(); +// _occas->put("CFPI", nocfpi); +// _occas->read(); - esiste = TRUE; - } +// esiste = TRUE; +// ocfpi = nocfpi; +// } _toccas->setkey(1); _toccas->zero(); - _toccas->put(OCC_CFPI, ocfpi); + _toccas->put(OCC_CFPI, ocfpitemp); _toccas->read(); _occas->curr() = _toccas->curr(); if (esiste) _occas->rewrite(); - else - _occas->write(); - + else + { + if (ric) + _occas->put(OCC_CFPI, chiave); + _occas->write(); + } + return TRUE; } @@ -1173,6 +1184,11 @@ void TRic_tab::ricevi_movIVA(TString& key, char uselab) if (ocfpi.not_empty()) occasionali(ocfpi); + +// TRecnotype rec = _tmov->recno(); // Salvo il nuovo numero di +// _tmov->put("TOCFP", ocfpi); // registrazione sul file di lavoro +// _tmov->rewrite(); +// _tmov->readat(rec); TDate data74ter ( _tmov->get_date(MOV_DATA74TER) ); TString codval ( _tmov->get (MOV_CODVALI) ); @@ -1197,6 +1213,7 @@ void TRic_tab::ricevi_movIVA(TString& key, char uselab) _mov->put(MOV_CORRLIRE, corrlire); _mov->put(MOV_CORRVALUTA, corrval); _mov->put(MOV_ANNOIVA, annoiva); + _mov->put(MOV_OCFPI, ocfpi); _mov->rewrite(); scrivi_righeIVA(nreg); diff --git a/cg/cglib04.cpp b/cg/cglib04.cpp index e3e523f75..50ee50f36 100755 --- a/cg/cglib04.cpp +++ b/cg/cglib04.cpp @@ -1641,7 +1641,7 @@ const char* TTransfer_file::scrivi_occasionali(const TString& record) civ = numero_civico(ind); app = "RIC"; - cfpi.format("%3s%6d", (const char*)app,_npoccas); + cfpi.format("%3s%13ld", (const char*)app,_npoccas); //ricerca_comune(com); _cod_com = ""; @@ -2795,7 +2795,9 @@ void TTransfer_file::write_testata_movimenti(TString& record) sigla = record.mid(0,2); key.format("%2s%d", (const char*)sigla,numfield); - + + _depmov->zero(); + if (trc.is_key((const char *) key)) { _numreg = atol(record.sub(2,8)); @@ -2906,7 +2908,7 @@ void TTransfer_file::write_testata_movimenti(TString& record) { TString app = "RIC"; _npoccas++; - field.format("%3s%6d", (const char*)app,_npoccas); + field.format("%3s%13ld", (const char*)app,_npoccas); } else occas = FALSE; @@ -3019,7 +3021,9 @@ void TTransfer_file::write_righe_contabili(TString& record) sigla = record.mid(0,2); key.format("%2s%d", (const char*)sigla,numfield); - + + _deprmov->zero(); + if (trc.is_key((const char *) key)) { do @@ -3143,6 +3147,8 @@ void TTransfer_file::write_righe_IVA(TString& record) sigla = record.mid(0,2); key.format("%2s%d", (const char*)sigla,numfield); + + _depriva->zero(); if (trc.is_key((const char *) key)) {