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
@ -21,8 +21,8 @@
|
||||
//Definizione della classe della maschera
|
||||
class TGestione_bolle_msk : public TDocumento_mask
|
||||
{
|
||||
long _stcodcf;
|
||||
long _stcodcont;
|
||||
long _stcodcf;
|
||||
long _stcodcont;
|
||||
|
||||
protected:
|
||||
static void arrotonda(const TMask& msk, real& quantita);
|
||||
@ -291,8 +291,9 @@ inline TGestione_bolle_app& gbapp() { return (TGestione_bolle_app &)main_app();
|
||||
//ARROTONDA: metodo che arrotonda la quantità che gli passo se è previsto sul contratto
|
||||
void TGestione_bolle_msk::arrotonda(const TMask& msk, real& quantita)
|
||||
{
|
||||
TConfig* configlv = new TConfig(CONFIG_DITTA,"lv");
|
||||
int perarr = configlv->get_int("Perarr");
|
||||
TConfig* configlv = new TConfig(CONFIG_DITTA,"lv");
|
||||
|
||||
int perarr = configlv->get_int("Perarr");
|
||||
|
||||
const TString& codart = msk.get(FR_CODART);
|
||||
//instanzio una cache sulla tabella del magazzino
|
||||
@ -688,6 +689,10 @@ bool TGestione_bolle_msk::lv_causale_handler(TMask_field& f, KEY k)
|
||||
{
|
||||
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
|
||||
TString4 causale = f.get();
|
||||
|
||||
@ -698,14 +703,20 @@ bool TGestione_bolle_msk::lv_causale_handler(TMask_field& f, KEY k)
|
||||
//leggo il codart che ho scritto nella riga corrente delle sheet
|
||||
const TString& codart = msk.get(FR_CODART);
|
||||
|
||||
TDocumento_mask& dmsk = (TDocumento_mask&) msk.get_sheet()->mask();
|
||||
//srcrivo nel documento la causale
|
||||
TSheet_field* sheet = msk.get_sheet();
|
||||
|
||||
TRiga_documento& rdoc = dmsk.doc()[sheet->selected()+1];
|
||||
rdoc.put(RDOC_CODAGG1, causale);
|
||||
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);
|
||||
|
||||
//recupero i dati di interesse dalla testata per poter trovare il contratto
|
||||
rdoc.put(RDOC_CODAGG1, causale);
|
||||
|
||||
//recupero i dati di interesse dalla testata per poter trovare il contratto
|
||||
const long codcf = dmsk.get_long(F_CODCF);
|
||||
const int indsped = dmsk.get_int(F_CODINDSP);
|
||||
TDate datadoc = dmsk.get_date(F_DATADOC);
|
||||
@ -724,11 +735,21 @@ bool TGestione_bolle_msk::lv_causale_handler(TMask_field& f, KEY k)
|
||||
if (cau.get_bool("B0"))
|
||||
{
|
||||
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);
|
||||
}
|
||||
if (cau.get_bool("B1"))
|
||||
{
|
||||
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);
|
||||
}
|
||||
|
||||
@ -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
|
||||
if (cau.get_bool("B0"))
|
||||
{
|
||||
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
|
||||
{
|
||||
msk.field(FR_QTAGG1).set((long)0);
|
||||
msk.field(FR_QTAGG1).set("");
|
||||
msk.field(FR_QTAGG1).disable();
|
||||
}
|
||||
|
||||
//abilito o disabilito azzerandolo il campo "Consegnato" a seconda di cosa prevede la causale
|
||||
//ATTENZIONE: questo campo risulta sempre disabilitato se l'articolo è bloccato
|
||||
if (cau.get_bool("B1") && rcont.get(LVRCONDV_ARTBLOC).empty())
|
||||
{
|
||||
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
|
||||
{
|
||||
msk.field(FR_QTA).set((long)0);
|
||||
msk.field(FR_QTA).set("");
|
||||
msk.field(FR_QTA).disable();
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user