Patch level : 10.0 patch 5??

Files correlati     : lv0
Ricompilazione Demo : [ ]
Commento            :
Inserendo una nuova riga mi propone nella dotazione iniziale e in quella odierna le quantità della riga precedente

Coretto il controllo per evitare di reinserire un articolo già presente in contratto


git-svn-id: svn://10.65.10.50/trunk@19927 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
luca83 2010-01-14 15:19:02 +00:00
parent 2e6051c20c
commit dbe0404c0d

View File

@ -108,27 +108,31 @@ bool TContratti_msk::on_art_select(TField_event e)
//se esiste il record su LF_CLIFOGIAC, recupero l'unità di misura dalla riga dello sheet selezionata
//e setto i campi delle dotazioni e dei consegnati ai valori corretti riportati alla giusta unità di misura
real dotin = ZERO;
real dotod = ZERO;
real dottmp = ZERO;
real consyear = ZERO;
real consmonth = ZERO;
if (!reclav.empty())
{
if (rowmask.get(S_DOTIN).blank())
{
//calcolo dotazione iniziale, scritta sia sulla maschera che sullo sheet
const real dotin = reclav.get_real(CLIFOGIAC_DOTIN);
rowmask.set(S_DOTIN, dotin);
//calcolo dotazione odierna, scritta sia sulla maschera che sullo sheet
const real dotod = reclav.get_real(CLIFOGIAC_DOTOD);
rowmask.set(S_DOTOD, dotod);
//calcolo dotazione temporanea, scritta sia sulla maschera che sullo sheet
const real dottmp = reclav.get_real(CLIFOGIAC_DOTTM);
rowmask.set(S_DOTTMP, dottmp);
}
//calcolo dotazione iniziale, scritta sia sulla maschera che sullo sheet
dotin = reclav.get_real(CLIFOGIAC_DOTIN);
//calcolo dotazione odierna, scritta sia sulla maschera che sullo sheet
dotod = reclav.get_real(CLIFOGIAC_DOTOD);
//calcolo dotazione temporanea, scritta sia sulla maschera che sullo sheet
dottmp = reclav.get_real(CLIFOGIAC_DOTTM);
//calcolo consegnato anno, scritto sia sulla maschera che sullo sheet
const real consyear = reclav.get_real("CONSANNO");
rowmask.set(S_CONSANNO, consyear);
consyear = reclav.get_real("CONSANNO");
//calcolo consegnato mese, scritto sia sulla maschera che sullo sheet
const real consmonth = reclav.get_real("CONSMESE");
rowmask.set(S_CONSMESE, consmonth);
}
consmonth = reclav.get_real("CONSMESE");
}
rowmask.set(S_DOTIN, dotin);
rowmask.set(S_DOTOD, dotod);
rowmask.set(S_DOTTMP, dottmp);
rowmask.set(S_CONSANNO, consyear);
rowmask.set(S_CONSMESE, consmonth);
//instanzio una cache sull'anagrafica di magazzino
//per leggere il valore di PPCONF corretto e sempre aggiornato
@ -514,17 +518,19 @@ bool TContratti_msk::on_field_event(TOperable_field& o,TField_event e,long jolly
if(r == rigasel)
continue;
if(riga->get(0) == codart)
const TString80 tmp = riga->get(0);
if(tmp == art)
{
TString msg;
msg << "L'articolo " << codart << " è già presente a contratto e non è possibile reinserirlo.";
warning_box(msg);
m.set(S_CODART, _artrig);
TToken_string& row = ss.row(rigasel);
row.add(_artrig, 0);
ss.force_update(rigasel);
break;
return false;
}
}
@ -587,21 +593,19 @@ bool TContratti_msk::on_field_event(TOperable_field& o,TField_event e,long jolly
//e se si desidera veramente modificarlo, allora permetto la modifica
//e forzo l'updatre della riga, altrimenti riscrivo l'articolo che c'era prima
//e lascio tutto invariato
if (_artrig.full() && codart != _artrig)
if (codart != _artrig)
{
if (noyes_box("Si desidera veramente modificare l'articolo %s",(const char*) _artrig))
_artrig = codart;
if (_artrig.empty() || noyes_box("Si desidera veramente modificare l'articolo %s",(const char*) _artrig))
_artrig = codart;
else
{
m.set(S_CODART, _artrig);
TToken_string& row = ss.row(ss.selected());
row.add(_artrig, 0);
ss.force_update(ss.selected());
}
TToken_string& row = ss.row(ss.selected());
row.add(_artrig, 0);
ss.force_update(ss.selected());
}
//se all'articolo è associata un'unità di misura, la propongo
//in automatico e richiamo il metodo ON_ART_SELECT(); altrimenti lo richiamo
//in automatico e richiamo il metodo (); altrimenti lo richiamo
//solo se è arrivato un fe_init al campo
on_art_select(e);
}