Patch level : 10.0 patch 250
Files correlati : lv3 Ricompilazione Demo : [ ] Commento : Corretta gestione codici dei magazzini del circolante git-svn-id: svn://10.65.10.50/trunk@18322 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
82dc31cfa4
commit
720fea210e
@ -292,6 +292,7 @@ inline TGestione_bolle_app& gbapp() { return (TGestione_bolle_app &)main_app();
|
|||||||
void TGestione_bolle_msk::arrotonda(const TMask& msk, real& quantita)
|
void TGestione_bolle_msk::arrotonda(const TMask& msk, real& quantita)
|
||||||
{
|
{
|
||||||
TConfig* configlv = new TConfig(CONFIG_DITTA,"lv");
|
TConfig* configlv = new TConfig(CONFIG_DITTA,"lv");
|
||||||
|
|
||||||
int perarr = configlv->get_int("Perarr");
|
int perarr = configlv->get_int("Perarr");
|
||||||
|
|
||||||
const TString& codart = msk.get(FR_CODART);
|
const TString& codart = msk.get(FR_CODART);
|
||||||
@ -688,6 +689,10 @@ bool TGestione_bolle_msk::lv_causale_handler(TMask_field& f, KEY k)
|
|||||||
{
|
{
|
||||||
if (f.to_check(k, true))
|
if (f.to_check(k, true))
|
||||||
{
|
{
|
||||||
|
TConfig* configlv = new TConfig(CONFIG_DITTA,"lv");
|
||||||
|
TString4 codmagdef = configlv->get("CODMAG");
|
||||||
|
TString4 coddepdef = configlv->get("CODMAGC"); //magazzino del circolante
|
||||||
|
|
||||||
//leggo la causale che ho scritto nella riga corrente dello sheet
|
//leggo la causale che ho scritto nella riga corrente dello sheet
|
||||||
TString4 causale = f.get();
|
TString4 causale = f.get();
|
||||||
|
|
||||||
@ -698,11 +703,17 @@ bool TGestione_bolle_msk::lv_causale_handler(TMask_field& f, KEY k)
|
|||||||
//leggo il codart che ho scritto nella riga corrente delle sheet
|
//leggo il codart che ho scritto nella riga corrente delle sheet
|
||||||
const TString& codart = msk.get(FR_CODART);
|
const TString& codart = msk.get(FR_CODART);
|
||||||
|
|
||||||
TDocumento_mask& dmsk = (TDocumento_mask&) msk.get_sheet()->mask();
|
|
||||||
//srcrivo nel documento la causale
|
//srcrivo nel documento la causale
|
||||||
TSheet_field* sheet = msk.get_sheet();
|
TSheet_field* sheet = msk.get_sheet();
|
||||||
|
|
||||||
TRiga_documento& rdoc = dmsk.doc()[sheet->selected()+1];
|
TGestione_bolle_msk& dmsk = (TGestione_bolle_msk&) msk.get_sheet()->mask();
|
||||||
|
TDocumento& doc = dmsk.doc();
|
||||||
|
TRiga_documento& rdoc = doc[sheet->selected()+1];
|
||||||
|
TString4 codmag(doc.clifor().vendite().get(CFV_CODMAG));
|
||||||
|
TString4 coddep(doc.clifor().vendite().get(CFV_CODDEP));
|
||||||
|
TString4 codmagcoll(codmag);
|
||||||
|
TString4 coddepcoll(coddep);
|
||||||
|
|
||||||
rdoc.put(RDOC_CODAGG1, causale);
|
rdoc.put(RDOC_CODAGG1, causale);
|
||||||
|
|
||||||
//recupero i dati di interesse dalla testata per poter trovare il contratto
|
//recupero i dati di interesse dalla testata per poter trovare il contratto
|
||||||
@ -724,11 +735,21 @@ bool TGestione_bolle_msk::lv_causale_handler(TMask_field& f, KEY k)
|
|||||||
if (cau.get_bool("B0"))
|
if (cau.get_bool("B0"))
|
||||||
{
|
{
|
||||||
const TCausale_magazzino& rit = cached_causale_magazzino(cau.get("S1"));
|
const TCausale_magazzino& rit = cached_causale_magazzino(cau.get("S1"));
|
||||||
|
if (codmagcoll.blank() && rit.has_default_mag())
|
||||||
|
{
|
||||||
|
codmagcoll = rit.default_mag();
|
||||||
|
coddepcoll = rit.default_dep();
|
||||||
|
}
|
||||||
sgn_rit = rit.sgn(s_dottm);
|
sgn_rit = rit.sgn(s_dottm);
|
||||||
}
|
}
|
||||||
if (cau.get_bool("B1"))
|
if (cau.get_bool("B1"))
|
||||||
{
|
{
|
||||||
const TCausale_magazzino& con = cached_causale_magazzino(cau.get("S2"));
|
const TCausale_magazzino& con = cached_causale_magazzino(cau.get("S2"));
|
||||||
|
if (codmag.blank() && con.has_default_mag())
|
||||||
|
{
|
||||||
|
codmag = con.default_mag();
|
||||||
|
coddep = con.default_dep();
|
||||||
|
}
|
||||||
sgn_con = con.sgn(s_dottm);
|
sgn_con = con.sgn(s_dottm);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -782,20 +803,38 @@ bool TGestione_bolle_msk::lv_causale_handler(TMask_field& f, KEY k)
|
|||||||
|
|
||||||
//abilito o disabilito azzerandolo il campo "Ritirato" a seconda di cosa prevede la causale
|
//abilito o disabilito azzerandolo il campo "Ritirato" a seconda di cosa prevede la causale
|
||||||
if (cau.get_bool("B0"))
|
if (cau.get_bool("B0"))
|
||||||
|
{
|
||||||
msk.field(FR_QTAGG1).enable(true);
|
msk.field(FR_QTAGG1).enable(true);
|
||||||
|
if (codmagcoll.blank())
|
||||||
|
{
|
||||||
|
codmagcoll = codmagdef;
|
||||||
|
coddepcoll = coddepdef; //magazzino del circolante
|
||||||
|
}
|
||||||
|
msk.field(FR_CODMAGC).set(codmagcoll);
|
||||||
|
msk.field(FR_CODDEPC).set(coddepcoll);
|
||||||
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
msk.field(FR_QTAGG1).set((long)0);
|
msk.field(FR_QTAGG1).set("");
|
||||||
msk.field(FR_QTAGG1).disable();
|
msk.field(FR_QTAGG1).disable();
|
||||||
}
|
}
|
||||||
|
|
||||||
//abilito o disabilito azzerandolo il campo "Consegnato" a seconda di cosa prevede la causale
|
//abilito o disabilito azzerandolo il campo "Consegnato" a seconda di cosa prevede la causale
|
||||||
//ATTENZIONE: questo campo risulta sempre disabilitato se l'articolo è bloccato
|
//ATTENZIONE: questo campo risulta sempre disabilitato se l'articolo è bloccato
|
||||||
if (cau.get_bool("B1") && rcont.get(LVRCONDV_ARTBLOC).empty())
|
if (cau.get_bool("B1") && rcont.get(LVRCONDV_ARTBLOC).empty())
|
||||||
|
{
|
||||||
msk.field(FR_QTA).enable(true);
|
msk.field(FR_QTA).enable(true);
|
||||||
|
if (codmag.blank())
|
||||||
|
{
|
||||||
|
codmag = codmagdef;
|
||||||
|
coddep = coddepdef;
|
||||||
|
}
|
||||||
|
msk.field(FR_CODMAG).set(codmag);
|
||||||
|
msk.field(FR_CODDEP).set( coddep);
|
||||||
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
msk.field(FR_QTA).set((long)0);
|
msk.field(FR_QTA).set("");
|
||||||
msk.field(FR_QTA).disable();
|
msk.field(FR_QTA).disable();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user