Patch level : 10.0 patch 63?

Files correlati     : lv3
Ricompilazione Demo : [ ]
Commento            :
Spostato il salvataggio del conguaglio nella write / rewrite


git-svn-id: svn://10.65.10.50/trunk@20107 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
luca83 2010-02-12 10:44:32 +00:00
parent cfb87b3448
commit 185804cbf1
2 changed files with 65 additions and 12 deletions

View File

@ -78,6 +78,8 @@ protected:
virtual void init_modify_mode( TMask& m ); virtual void init_modify_mode( TMask& m );
void elimina_vuote( const TMask& m); void elimina_vuote( const TMask& m);
void salva_conguaglio( const TMask& m);
virtual const char * query_mask_name() { return "lv3100a"; } virtual const char * query_mask_name() { return "lv3100a"; }
@ -719,16 +721,6 @@ bool TGestione_bolle_msk::lv_codart_handler(TMask_field& f, KEY k)
const real congat = conat - ritat + congor; const real congat = conat - ritat + congor;
rdoc.put(RDOC_QTAGG5, congat); //conguaglio dopo modifica manuale rdoc.put(RDOC_QTAGG5, congat); //conguaglio dopo modifica manuale
TLocalisamfile rcondv(LF_LVRCONDV);
rcondv.put(LVRCONDV_CODCF,codcf);
rcondv.put(LVRCONDV_CODCONT,cont.get_int(LVCONDV_CODCONT));
rcondv.put(LVRCONDV_CODART,codart);
if (rcondv.read() == NOERR)
{
rcondv.put(LVRCONDV_QTACONG,congat);
rcondv.rewrite();
}
} }
} }
@ -1193,10 +1185,35 @@ void TGestione_bolle_app::elimina_vuote( const TMask& m)
FOR_EACH_DOC_ROW_BACK(d, r, row) FOR_EACH_DOC_ROW_BACK(d, r, row)
{ {
if (row->is_articolo() && row->get_int(RDOC_QTA) == 0 && row->get_int(RDOC_QTAGG1) == 0) if (row->is_articolo() && row->get_int(RDOC_QTA) == 0 && row->get_int(RDOC_QTAGG1) == 0)
{
d.destroy_row(r,true); d.destroy_row(r,true);
} }
}
void TGestione_bolle_app::salva_conguaglio( const TMask& m)
{
TDocumento_mask& mask = (TDocumento_mask&) m;
TDocumento& d = mask.doc();
TSheet_field& sheet = mask.sfield(F_SHEET);
const long codcf = mask.get_long(F_CODCF);
const int indsped = mask.get_int(F_CODINDSP);
TDate datadoc = mask.get_date(F_DATADOC);
const TLaundry_contract cont(codcf, indsped, datadoc);
const int codcont = cont.get_int(LVCONDV_CODCONT);
TLocalisamfile rcondv(LF_LVRCONDV);
FOR_EACH_DOC_ROW_BACK(d, r, row)
{
TRiga_documento& rdoc = (TRiga_documento&)*row;
rcondv.put(LVRCONDV_CODCF,codcf);
rcondv.put(LVRCONDV_CODCONT, codcont);
rcondv.put(LVRCONDV_CODART, rdoc.get(RDOC_CODART));
if (rcondv.read() == NOERR)
rcondv.put(LVRCONDV_QTACONG, rdoc.get_real(RDOC_QTAGG5));
} }
rcondv.rewrite();
} }
//ridefinisco il metodo write delle TMotore_application //ridefinisco il metodo write delle TMotore_application
@ -1204,6 +1221,8 @@ int TGestione_bolle_app::write( const TMask& m )
{ {
elimina_vuote(m); elimina_vuote(m);
salva_conguaglio(m);
return TMotore_application::write(m); return TMotore_application::write(m);
} }
@ -1212,6 +1231,8 @@ int TGestione_bolle_app::rewrite( const TMask& m )
{ {
elimina_vuote(m); elimina_vuote(m);
salva_conguaglio(m);
return TMotore_application::rewrite(m); return TMotore_application::rewrite(m);
} }

View File

@ -77,6 +77,7 @@ protected:
virtual void init_modify_mode( TMask& m ); virtual void init_modify_mode( TMask& m );
void elimina_vuote( const TMask& m); void elimina_vuote( const TMask& m);
void salva_conguaglio( const TMask& m);
virtual const char * query_mask_name() { return "lv3300a"; } virtual const char * query_mask_name() { return "lv3300a"; }
@ -1175,11 +1176,40 @@ void TGestione_buoni_app::elimina_vuote( const TMask& m)
} }
} }
void TGestione_buoni_app::salva_conguaglio( const TMask& m)
{
TDocumento_mask& mask = (TDocumento_mask&) m;
TDocumento& d = mask.doc();
TSheet_field& sheet = mask.sfield(F_SHEET);
const long codcf = mask.get_long(F_CODCF);
const int indsped = mask.get_int(F_CODINDSP);
TDate datadoc = mask.get_date(F_DATADOC);
const TLaundry_contract cont(codcf, indsped, datadoc);
const int codcont = cont.get_int(LVCONDV_CODCONT);
TLocalisamfile rcondv(LF_LVRCONDV);
FOR_EACH_DOC_ROW_BACK(d, r, row)
{
TRiga_documento& rdoc = (TRiga_documento&)*row;
rcondv.put(LVRCONDV_CODCF,codcf);
rcondv.put(LVRCONDV_CODCONT, codcont);
rcondv.put(LVRCONDV_CODART, rdoc.get(RDOC_CODART));
if (rcondv.read() == NOERR)
rcondv.put(LVRCONDV_QTACONG, rdoc.get_real(RDOC_QTAGG5));
}
rcondv.rewrite();
}
//ridefinisco il metodo write delle TMotore_application //ridefinisco il metodo write delle TMotore_application
int TGestione_buoni_app::write( const TMask& m ) int TGestione_buoni_app::write( const TMask& m )
{ {
elimina_vuote(m); elimina_vuote(m);
salva_conguaglio(m);
return TMotore_application::write(m); return TMotore_application::write(m);
} }
@ -1188,6 +1218,8 @@ int TGestione_buoni_app::rewrite( const TMask& m )
{ {
elimina_vuote(m); elimina_vuote(m);
salva_conguaglio(m);
return TMotore_application::rewrite(m); return TMotore_application::rewrite(m);
} }