Patch level : 10.0 patch 619
Files correlati : lv3 lvlib Ricompilazione Demo : [ ] Commento : Adesso sulle righe documento viene sempre visualizzata la dotazione presso cliente attuale, anche nei documenti precedentemente salvati git-svn-id: svn://10.65.10.50/trunk@20045 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
810b365e94
commit
a142642dc4
@ -1229,8 +1229,13 @@ int TGestione_bolle_app::read(TMask& m)
|
||||
|
||||
_giac.reset(d);
|
||||
FOR_EACH_DOC_ROW_BACK(d, r, row)
|
||||
_giac.load_row((TRiga_documento&)*row);
|
||||
|
||||
{
|
||||
TRiga_documento& rdoc = (TRiga_documento&)*row;
|
||||
_giac.load_row(rdoc, true);
|
||||
real dotod = _giac.giac_att(rdoc, true);
|
||||
real dotmp = _giac.giac_att(rdoc, false);
|
||||
}
|
||||
mask.doc2mask();
|
||||
mask._autoselect = 0;
|
||||
}
|
||||
|
||||
|
@ -1205,40 +1205,33 @@ int TGestione_buoni_app::read(TMask& m)
|
||||
|
||||
_giac.reset(d);
|
||||
FOR_EACH_DOC_ROW_BACK(d, r, row)
|
||||
_giac.load_row((TRiga_documento&)*row);
|
||||
|
||||
{
|
||||
TRiga_documento& rdoc = (TRiga_documento&)*row;
|
||||
_giac.load_row(rdoc, true);
|
||||
real dotod = _giac.giac_att(rdoc, true);
|
||||
real dotmp = _giac.giac_att(rdoc, false);
|
||||
}
|
||||
mask.doc2mask();
|
||||
mask._autoselect = 0;
|
||||
|
||||
TSheet_field& sheet = mask.sfield(F_SHEET);
|
||||
|
||||
const int posdacons = sheet.cid2index(FR_QTA);
|
||||
const int poscons = sheet.cid2index(FR_QTAEVASA);
|
||||
const int pospacchi = sheet.cid2index(FR_NCOLLI);
|
||||
const int posdotod = sheet.cid2index(FR_JOLLY1);
|
||||
const int posdotmp = sheet.cid2index(FR_JOLLY2);
|
||||
const int posdatmp = sheet.cid2index(FR_JOLLY3);
|
||||
const int posatmp = sheet.cid2index(FR_JOLLY4);
|
||||
const int posrif = sheet.cid2index(FR_JOLLY5);
|
||||
|
||||
FOR_EACH_SHEET_ROW(sheet, i, riga)
|
||||
{
|
||||
if (riga->get_int(poscons) == riga->get_int(posdacons))
|
||||
if (riga->get_int(sheet.cid2index(FR_QTAEVASA)) == riga->get_int(sheet.cid2index(FR_QTA)))
|
||||
{
|
||||
sheet.disable_row(i);
|
||||
continue;
|
||||
}
|
||||
sheet.disable_cell(i, poscons);
|
||||
sheet.disable_cell(i, pospacchi);
|
||||
sheet.disable_cell(i, posdotod);
|
||||
sheet.disable_cell(i, posdotmp);
|
||||
sheet.disable_cell(i, posdatmp);
|
||||
sheet.disable_cell(i, posatmp);
|
||||
sheet.disable_cell(i, posrif);
|
||||
sheet.disable_cell(i, sheet.cid2index(FR_QTAEVASA));
|
||||
sheet.disable_cell(i, sheet.cid2index(FR_NCOLLI));
|
||||
sheet.disable_cell(i, sheet.cid2index(FR_JOLLY1));
|
||||
sheet.disable_cell(i, sheet.cid2index(FR_JOLLY2));
|
||||
sheet.disable_cell(i, sheet.cid2index(FR_JOLLY3));
|
||||
sheet.disable_cell(i, sheet.cid2index(FR_JOLLY4));
|
||||
sheet.disable_cell(i, sheet.cid2index(FR_JOLLY5));
|
||||
}
|
||||
sheet.force_update();
|
||||
|
||||
}
|
||||
|
||||
return err;
|
||||
}
|
||||
|
||||
|
14
lv/lvlib.cpp
14
lv/lvlib.cpp
@ -1544,7 +1544,7 @@ bool TGiac_per_cli::reset(const TDocumento& doc)
|
||||
}
|
||||
|
||||
//LOAD_ROW: questo metodo popola e aggiorna i TAssoc_array
|
||||
bool TGiac_per_cli::load_row(const TRiga_documento& rdoc)
|
||||
bool TGiac_per_cli::load_row(TRiga_documento& rdoc, const bool aggiorna)
|
||||
{
|
||||
//recupero il documento e la sua maschera a partire dalla riga documento
|
||||
const TDocumento& doc = rdoc.doc();
|
||||
@ -1568,7 +1568,7 @@ bool TGiac_per_cli::load_row(const TRiga_documento& rdoc)
|
||||
if (cau.is_ritiro())
|
||||
{
|
||||
const TCausale_magazzino& rit = cau.causale_ritiro();
|
||||
const real & ritirato = rdoc.get_real(RDOC_QTAGG1);
|
||||
const real ritirato = rdoc.get_real(RDOC_QTAGG1);
|
||||
int st = rit.sgn(s_dottm);
|
||||
int so = rit.sgn(s_dotod);
|
||||
|
||||
@ -1578,7 +1578,7 @@ bool TGiac_per_cli::load_row(const TRiga_documento& rdoc)
|
||||
if (cau.is_consegna())
|
||||
{
|
||||
const TCausale_magazzino& con = cau.causale_consegna();
|
||||
const real & consegnato = rdoc.get_real(RDOC_QTA);
|
||||
const real consegnato = rdoc.get_real(RDOC_QTA);
|
||||
int st = con.sgn(s_dottm);
|
||||
int so = con.sgn(s_dotod);
|
||||
|
||||
@ -1586,11 +1586,17 @@ bool TGiac_per_cli::load_row(const TRiga_documento& rdoc)
|
||||
vardot += real(so) * consegnato;
|
||||
}
|
||||
|
||||
if (rdoc.get_int(RDOC_MOVMAG) != ZERO)
|
||||
if (rdoc.get_long(RDOC_MOVMAG) != 0L)
|
||||
{
|
||||
dotmp -= vartmp;
|
||||
dotazione -= vardot;
|
||||
}
|
||||
|
||||
if(aggiorna)
|
||||
{
|
||||
rdoc.put("DOTOD", dotazione);
|
||||
rdoc.put("DOTMP", dotmp);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
|
10
lv/lvlib.h
10
lv/lvlib.h
@ -370,11 +370,11 @@ protected:
|
||||
long giac_in_mag(const TString& codart, bool odierna) const; //restituisce il valore salvato nel magazzino
|
||||
|
||||
public:
|
||||
bool preset(const TDocumento& doc); //precarico le variabili globali della classe
|
||||
bool reset(const TDocumento& doc); //svuota i TAssoc_array e carica cli e cont
|
||||
bool load_row(const TRiga_documento& rdoc); //popola i TAssoc_array
|
||||
real giac_att(TRiga_documento& rdoc, bool odierna); //restituisce le quantità attuali di dotazione
|
||||
TGiac_per_cli(); //costruttore
|
||||
bool preset(const TDocumento& doc); //precarico le variabili globali della classe
|
||||
bool reset(const TDocumento& doc); //svuota i TAssoc_array e carica cli e cont
|
||||
bool load_row(TRiga_documento& rdoc, const bool aggiorna = false); //popola i TAssoc_array
|
||||
real giac_att(TRiga_documento& rdoc, bool odierna); //restituisce le quantità attuali di dotazione
|
||||
TGiac_per_cli(); //costruttore
|
||||
};
|
||||
|
||||
class TLV_recordset : public TDocument_recordset
|
||||
|
Loading…
x
Reference in New Issue
Block a user