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 );
void elimina_vuote( const TMask& m);
void salva_conguaglio( const TMask& m);
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;
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,17 +1185,44 @@ void TGestione_bolle_app::elimina_vuote( const TMask& m)
FOR_EACH_DOC_ROW_BACK(d, r, row)
{
if (row->is_articolo() && row->get_int(RDOC_QTA) == 0 && row->get_int(RDOC_QTAGG1) == 0)
{
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
int TGestione_bolle_app::write( const TMask& m )
{
elimina_vuote(m);
salva_conguaglio(m);
return TMotore_application::write(m);
}
@ -1211,6 +1230,8 @@ int TGestione_bolle_app::write( const TMask& m )
int TGestione_bolle_app::rewrite( const TMask& m )
{
elimina_vuote(m);
salva_conguaglio(m);
return TMotore_application::rewrite(m);
}

View File

@ -77,6 +77,7 @@ protected:
virtual void init_modify_mode( TMask& m );
void elimina_vuote( const TMask& m);
void salva_conguaglio( const TMask& m);
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
int TGestione_buoni_app::write( const TMask& m )
{
elimina_vuote(m);
salva_conguaglio(m);
return TMotore_application::write(m);
}
@ -1188,6 +1218,8 @@ int TGestione_buoni_app::rewrite( const TMask& m )
{
elimina_vuote(m);
salva_conguaglio(m);
return TMotore_application::rewrite(m);
}