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) bool TMask_tabca::on_field_event(TOperable_field& o, TField_event e, long jolly)
{ {
switch (o.dlg()) /* switch (o.dlg())
{ {
default: break; default: break;
} }*/
return true; return true;
} }

View File

@ -6,6 +6,7 @@
#include <mov.h> #include <mov.h>
#include <rmov.h> #include <rmov.h>
#include <rmoviva.h>
#include "../cg/cg2101.h" #include "../cg/cg2101.h"
#include "calib01.h" #include "calib01.h"
@ -58,7 +59,7 @@ class TConversione_cm2ca : public TSkeleton_application
protected: protected:
virtual void main_loop(); virtual void main_loop();
void create_new_movana(long numreg_cg); void create_new_movana(long numreg_cg, bool definitiva);
public: public:
bool convert_clerks(); 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() bool TConversione_cm2ca::convert_clerks()
{ {
TLocalisamfile commesse(LF_COMMESSE); //la conversione blocca in automatico gli altri utenti 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() bool TConversione_cm2ca::set_anal()
{ {
TRelation relpcon(LF_PCON); 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; TAnal_mov analmov;
//riempie le righe di testata //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_SEZIONE, importone.sezione());
analmov.put(MOVANA_TOTDOC, importone.valore()); 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() bool TConversione_cm2ca::convert_movs()
@ -294,10 +325,11 @@ bool TConversione_cm2ca::convert_movs()
msk.run(); msk.run();
//scandisce il file RMOV,alla ricerca dei record con codice fase o codice commessa compilato //scandisce il file RMOV,alla ricerca dei record con codice fase o codice commessa compilato
TRelation rel_rmov(LF_RMOV); TRelation rel_rmov(LF_RMOV);
const bool definitiva = msk.get_int(F_TIPOCONV);
//costruzione filtro con date (in caso di conversione provvisoria) //costruzione filtro con date (in caso di conversione provvisoria)
TString filtro; TString filtro;
filtro << "((CODCMS!='')||(FASCMS!=''))&&(ROWTYPE!='T')"; filtro << "((CODCMS!='')||(FASCMS!=''))&&(ROWTYPE!='T')";
if (msk.get_int(F_TIPOCONV) == 0) if (!definitiva)
{ {
const TDate dataini = msk.get_date(F_DATAINI); const TDate dataini = msk.get_date(F_DATAINI);
if (dataini.ok()) if (dataini.ok())
@ -323,7 +355,7 @@ bool TConversione_cm2ca::convert_movs()
if (curr_numreg_cg != last_numreg_cg) if (curr_numreg_cg != last_numreg_cg)
{ {
//se il numreg di questa riga e' nuovo -> crea un nuovo movimento di analitica (testata) //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; last_numreg_cg = curr_numreg_cg;
} }