Patch level : 10.0 patch 326

Files correlati     : lv3
Ricompilazione Demo : [ ]
Commento            :
0001354: cambio deposito riga su documenti di trasporto
Descrizione  non riesco a cambiare il magazzino sulle bolle, lo salvo ma sulle righe ho sempre lo stesso sia dalla gestione di tutte le righe sia richiamandola in dettaglio.


git-svn-id: svn://10.65.10.50/trunk@18986 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
luca83 2009-06-04 14:55:33 +00:00
parent 3afd02594a
commit ca5b7df492

View File

@ -37,7 +37,7 @@ protected:
static bool lv_codart_handler(TMask_field& f, KEY k); static bool lv_codart_handler(TMask_field& f, KEY k);
static bool lv_causale_handler(TMask_field& f, KEY k); static bool lv_causale_handler(TMask_field& f, KEY k);
static bool lv_codmag_handler(TMask_field& f, KEY k); static bool lv_codmag_handler(TMask_field& f, KEY k);
static bool lv_datatmp_handler(TMask_field& f, KEY k); static bool lv_datatmp_handler(TMask_field& f, KEY k);
static bool ss_notify(TSheet_field& ss, int r, KEY key); static bool ss_notify(TSheet_field& ss, int r, KEY key);
static bool ss_handler(TMask_field& f, KEY key); static bool ss_handler(TMask_field& f, KEY key);
@ -568,8 +568,13 @@ bool TGestione_bolle_msk::lv_bolla_handler(TMask_field& f, KEY k)
rdoc.put(RDOC_UMQTA,rcont.get(LVRCONDV_UM).as_string()); rdoc.put(RDOC_UMQTA,rcont.get(LVRCONDV_UM).as_string());
rdoc.put(RDOC_CODAGG1,causale); rdoc.put(RDOC_CODAGG1,causale);
rdoc.put(RDOC_CODIVA,anamag.get(ANAMAG_CODIVA)); rdoc.put(RDOC_CODIVA,anamag.get(ANAMAG_CODIVA));
rdoc.put(RDOC_CODMAG, codmag);
rdoc.put(RDOC_CODMAGC, codmag); TString8 codmagold = rdoc.get(RDOC_CODMAG);
if (codmagold.empty())
{
rdoc.put(RDOC_CODMAG, codmag);
rdoc.put(RDOC_CODMAGC, codmag);
}
//gestione campi dotazione odierna e dotazione temporanea //gestione campi dotazione odierna e dotazione temporanea
TGiac_per_cli& giac = gbapp().giacenza(); TGiac_per_cli& giac = gbapp().giacenza();
@ -955,13 +960,16 @@ bool TGestione_bolle_msk::lv_causale_handler(TMask_field& f, KEY k)
msk.field(FR_QTAGG1).enable(true); msk.field(FR_QTAGG1).enable(true);
if (codmagcoll.blank()) if (codmagcoll.blank())
{
codmagcoll = codmagdef; codmagcoll = codmagdef;
msk.field(FR_CODMAGC).set(codmagcoll);
}
if (coddepcoll.blank()) if (coddepcoll.blank())
{
coddepcoll = coddepdef; //magazzino del circolante coddepcoll = coddepdef; //magazzino del circolante
msk.field(FR_CODDEPC).set(coddepcoll);
msk.field(FR_CODMAGC).set(codmagcoll); }
msk.field(FR_CODDEPC).set(coddepcoll);
} }
else else
{ {
@ -975,13 +983,16 @@ bool TGestione_bolle_msk::lv_causale_handler(TMask_field& f, KEY k)
{ {
msk.field(FR_QTA).enable(true); msk.field(FR_QTA).enable(true);
if (codmag.blank()) if (codmag.blank())
{
codmag = codmagdef; codmag = codmagdef;
msk.field(FR_CODMAG).set(codmag);
}
if (coddep.blank()) if (coddep.blank())
{
coddep = coddepdef; coddep = coddepdef;
msk.field(FR_CODDEP).set(coddep);
msk.field(FR_CODMAG).set(codmag); }
msk.field(FR_CODDEP).set(coddep);
} }
else else
{ {
@ -997,7 +1008,7 @@ bool TGestione_bolle_msk::lv_causale_handler(TMask_field& f, KEY k)
bool TGestione_bolle_msk::lv_codmag_handler(TMask_field& f, KEY k) bool TGestione_bolle_msk::lv_codmag_handler(TMask_field& f, KEY k)
{ {
bool ok = true; bool ok = true;
if (f.to_check(k,true)) if (f.to_check(k, true))
{ {
TMask& msk = f.mask(); TMask& msk = f.mask();
const TString& causale = msk.get(FR_CAULAV); const TString& causale = msk.get(FR_CAULAV);
@ -1056,18 +1067,17 @@ bool TGestione_bolle_msk::lv_datatmp_handler(TMask_field& f, KEY k)
return true; return true;
} }
//metodo che setta gli handler sui campi di riga //metodo che setta gli handler sui campi di riga
void TGestione_bolle_msk::user_set_row_handler(TMask& rm, short field, int index) void TGestione_bolle_msk::user_set_row_handler(TMask& rm, short field, int index)
{ {
switch(index) switch(index)
{ {
case 4101: rm.set_handler(field, lv_ritirato_handler); break; case 4101: rm.set_handler(field, lv_ritirato_handler); break;
case 4102: rm.set_handler(field, lv_consegnato_handler); break; case 4102: rm.set_handler(field, lv_consegnato_handler); break;
case 4103: rm.set_handler(field, lv_codart_handler); break; case 4103: rm.set_handler(field, lv_codart_handler); break;
case 4104: rm.set_handler(field, lv_causale_handler); break; case 4104: rm.set_handler(field, lv_causale_handler); break;
case 4105: rm.set_handler(field, lv_codmag_handler); break; case 4105: rm.set_handler(field, lv_codmag_handler); break;
case 4106: rm.set_handler(field, lv_datatmp_handler); break; case 4106: rm.set_handler(field, lv_datatmp_handler); break;
default : TDocumento_mask::user_set_row_handler(rm, field, index); break; default : TDocumento_mask::user_set_row_handler(rm, field, index); break;
} }
} }
@ -1146,35 +1156,15 @@ int TGestione_bolle_app::write( const TMask& m )
{ {
elimina_vuote(m); elimina_vuote(m);
/*TGestione_bolle_msk& mask = (TGestione_bolle_msk&) m; return TMotore_application::write(m);
int err = NOERR;
const TDocumento& doc = mask.doc();
if (doc.rows() > 0)*/
int err = TMotore_application::write(m);
/*else
warning_box(TR("Non è possibile registrare un documento di trasporto senza neanche una riga. Questa bolla verrà ignorata"));*/
return err;
} }
//ridefinisco il metodo rewrite delle TMotore_application //ridefinisco il metodo rewrite delle TMotore_application
int TGestione_bolle_app::rewrite( const TMask& m ) int TGestione_bolle_app::rewrite( const TMask& m )
{ {
elimina_vuote(m); elimina_vuote(m);
/*TGestione_bolle_msk& mask = (TGestione_bolle_msk&) m;
int err = NOERR; return TMotore_application::rewrite(m);
const TDocumento& doc = mask.doc();
if (doc.rows() > 0)*/
int err = TMotore_application::rewrite(m);
/* else
warning_box(TR("Non è possibile registrare un documento di trasporto senza neanche una riga. Questa bolla verrà ignorata"));*/
return err;
} }
//ridefinisco il metodo read della TMotore_application //ridefinisco il metodo read della TMotore_application