Patch level :2.2 nopatch

Files correlati     :cacnv ca0
Ricompilazione Demo : [ ]
Commento            :
Aggiunto svuotamento campi CODCMS FASCMS dei files RMOV ed RMOVIVA


git-svn-id: svn://10.65.10.50/trunk@12613 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
luca 2005-01-19 14:25:12 +00:00
parent b6ed830f88
commit 4dfa2136a6
2 changed files with 39 additions and 7 deletions

View File

@ -31,11 +31,11 @@ TMask_tabca::~TMask_tabca()
bool TMask_tabca::on_field_event(TOperable_field& o, TField_event e, long jolly)
{
switch (o.dlg())
/* switch (o.dlg())
{
default: break;
}
}*/
return true;
}

View File

@ -6,6 +6,7 @@
#include <mov.h>
#include <rmov.h>
#include <rmoviva.h>
#include "../cg/cg2101.h"
#include "calib01.h"
@ -58,7 +59,7 @@ class TConversione_cm2ca : public TSkeleton_application
protected:
virtual void main_loop();
void create_new_movana(long numreg_cg);
void create_new_movana(long numreg_cg, bool definitiva);
public:
bool convert_clerks();
@ -96,6 +97,9 @@ void TConversione_cm2ca::main_loop()
}
}
//------------------------------------------------------------------------------------------------
// trasferisce i dati dalle tabelle Commesse e Fasi ai nuovi file di analitica (COMMESSE e FASI)
//------------------------------------------------------------------------------------------------
bool TConversione_cm2ca::convert_clerks()
{
TLocalisamfile commesse(LF_COMMESSE); //la conversione blocca in automatico gli altri utenti
@ -182,6 +186,9 @@ bool TConversione_cm2ca::convert_phases()
}
//------------------------------------------------------------------------------------------------
// mette il flag di ANALITICA nei gr.co.stc. aventi codcms e/o codfsc
//------------------------------------------------------------------------------------------------
bool TConversione_cm2ca::set_anal()
{
TRelation relpcon(LF_PCON);
@ -208,7 +215,10 @@ bool TConversione_cm2ca::set_anal()
}
}
void TConversione_cm2ca::create_new_movana(long numreg_cg)
//----------------------------------------------------------------------------------------------------
// trasferisce i movimenti e le righe relative (MOV,RMOV) nei nuovi file di analitica (MOVANA,RMOVANA)
// ---------------------------------------------------------------------------------------------------
void TConversione_cm2ca::create_new_movana(long numreg_cg, bool definitiva)
{
TAnal_mov analmov;
//riempie le righe di testata
@ -285,7 +295,28 @@ void TConversione_cm2ca::create_new_movana(long numreg_cg)
analmov.put(MOVANA_SEZIONE, importone.sezione());
analmov.put(MOVANA_TOTDOC, importone.valore());
analmov.write();
//se e' riuscita la scrittura dei movimenti di analitica ed e' una conversione definitiva...
if (analmov.write() == NOERR && definitiva)
{
//azzera i campi codice commessa e fase in RMOV...
for (int m = 0; m < mov.cg_items(); m++)
{
TRectype& rmov = mov.cg(m);
rmov.zero(RMV_CODCMS);
rmov.zero(RMV_FASCMS);
}
//...e in RMOVIVA
for (int n = 0; n < mov.iva_items(); n++)
{
TRectype& rmoviva = mov.iva(n);
rmoviva.zero(RMI_CODCMS);
rmoviva.zero(RMI_FASCMS);
}
//manca il compattamento del file rmov e rmoviva
mov.rewrite(); //puo' finalmente riscrivere i files di origine puliti e compattati
}
}
bool TConversione_cm2ca::convert_movs()
@ -294,10 +325,11 @@ bool TConversione_cm2ca::convert_movs()
msk.run();
//scandisce il file RMOV,alla ricerca dei record con codice fase o codice commessa compilato
TRelation rel_rmov(LF_RMOV);
const bool definitiva = msk.get_int(F_TIPOCONV);
//costruzione filtro con date (in caso di conversione provvisoria)
TString filtro;
filtro << "((CODCMS!='')||(FASCMS!=''))&&(ROWTYPE!='T')";
if (msk.get_int(F_TIPOCONV) == 0)
if (!definitiva)
{
const TDate dataini = msk.get_date(F_DATAINI);
if (dataini.ok())
@ -323,7 +355,7 @@ bool TConversione_cm2ca::convert_movs()
if (curr_numreg_cg != last_numreg_cg)
{
//se il numreg di questa riga e' nuovo -> crea un nuovo movimento di analitica (testata)
create_new_movana(curr_numreg_cg);
create_new_movana(curr_numreg_cg, definitiva);
last_numreg_cg = curr_numreg_cg;
}