Patch level : 10.0 patch 256

Files correlati     : lv0400.exe, lv0400a.msk
Ricompilazione Demo : [ ]
Commento            :
Corretta gestione campi legati ai pezzi per pacco (disabilitati quando ppconf = 0) e l'origine del dato PPCONf, adesso letto dal magazzino e non più dall'articolo di lavanderia, che non teneva conto dei cambiamenti avvenuti


git-svn-id: svn://10.65.10.50/trunk@18492 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
luca83 2009-03-11 10:35:30 +00:00
parent 46d0d59f8d
commit 81c3b9c50e
2 changed files with 44 additions and 40 deletions

View File

@ -90,7 +90,6 @@ bool TContratti_msk::on_art_select()
//recupero la maschera di riga
TMask& rowmask = ss.sheet_mask();
TMask& mask = ss.mask();
//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
@ -120,47 +119,38 @@ bool TContratti_msk::on_art_select()
row.add(consmonth.stringa(), ss.cid2index(S_CONSMESE));
}
//const bool varclcons = artrec.get_int(ANAMAG_PPCONF) > 0; //MAI UTILIZZATO; PRESUMO VARIABILE DI DEBUG
rowmask.set(S_PPCONF, artrec.get_int(ANAMAG_PPCONF));
row.add(artrec.get(ANAMAG_PPCONF), ss.cid2index(S_PPCONF));
//se PPCONF = 0 allora disabilito S_CALCONS e lo setto al valore di default
//altrimenti abilito la cella e permetto le modifiche
if (artrec.get_int(ANAMAG_PPCONF) == 0)
{
//gestione campi dello sheet
//setto il default sulla riga dello sheet
rowmask.set(S_CALCCONS, "0");
rowmask.set(S_ARROT, "");
row.add("0",ss.cid2index(S_CALCCONS));
row.add("",ss.cid2index(S_ARROT));
//disabilito le celle
ss.disable_cell(ss.selected(),ss.cid2index(S_CALCCONS));
ss.disable_cell(ss.selected(),ss.cid2index(S_ARROT));
//svuoto e disabilito i campi del dettaglio
mask.set(F_CALCCONS, "0");
mask.set(F_ARROT, "");
mask.disable(F_CALCCONS);
mask.disable(F_ARROT);
}
else
{
//abilito le celle sullo sheet
ss.enable_cell(ss.selected(),ss.cid2index(S_CALCCONS));
ss.enable_cell(ss.selected(),ss.cid2index(S_ARROT));
//abilito i campi del dettaglio
mask.enable(F_CALCCONS);
mask.enable(F_ARROT);
}
//instanzio una cache sull'anagrafica di magazzino
//per leggere il valore di PPCONF corretto e sempre aggiornato
const TRectype& anamag = cache().get(LF_ANAMAG, codart);
rowmask.set(S_PPCONF, anamag.get_int(ANAMAG_PPCONF));
row.add(anamag.get(ANAMAG_PPCONF), ss.cid2index(S_PPCONF));
//ciclo i dati di interesse della riga selezionata nel dettaglio
//sulla maschera principale
for (short id = F_CODART; id <= F_CODART+35; id++)
for (short id = F_CODART; id <= F_CODART + 35; id++)
{
const int pos = id2pos(id);
if (pos>0)
if (pos > 0)
fld(pos).set(row.get(ss.cid2index(id - 400)));
}
if (field(F_PPCONF).empty())
{
set(F_CALCCONS, "0");
set(F_ARROT, "");
disable(F_CALCCONS);
disable(F_ARROT);
}
else
{
enable(F_CALCCONS);
enable(F_ARROT);
set(F_ARROT, "X");
TToken_string row = ss.row(ss.selected());
row.add("X", ss.cid2index(S_ARROT));
ss.force_update();
}
return true;
}
@ -197,7 +187,7 @@ bool TContratti_msk::on_field_event(TOperable_field& o,TField_event e,long jolly
_post_contr = lv_find_contract(codcf, indsped, oggi);
}
}
break;
break;
case DLG_PLANNING:
//se viene premuto il bottone "Giri", lancia lv0500 (generatore automatico dei giri)
if (e == fe_button && edit_mode())
@ -272,6 +262,24 @@ bool TContratti_msk::on_field_event(TOperable_field& o,TField_event e,long jolly
fld(pos).set_dirty(false);
}
}
//questo pezzo serve per gestire enable e disable dei campi in modo corretto
//senza massage in maschera, sia sullo sheet che sul dettaglio
if (field(F_PPCONF).empty())
{
set(F_CALCCONS, "0");
set(F_ARROT, "");
disable(F_CALCCONS);
disable(F_ARROT);
}
else
{
enable(F_CALCCONS);
enable(F_ARROT);
set(F_ARROT, "X");
row.add("X", ss.cid2index(S_ARROT));
ss.force_update();
}
_artrig=row.get(0); //salvo nella variabile globale il codart della riga selezionata
}
//se ho cancellato una riga dello sheet, chiedo conferma che sia effettivamente quello che si vuole fare

View File

@ -270,8 +270,6 @@ NUMBER F_PPCONF 15 5
BEGIN
PROMPT 1 18 "Pezzi per Confezione "
FLAGS "DG"
MESSAGE EMPTY CLEAR,F_ARROT|CLEAR,F_CALCCONS
MESSAGE ENABLE,F_ARROT|ENABLE,F_CALCCONS
END
STRING F_BARCODE 20
@ -891,8 +889,6 @@ NUMBER S_PPCONF 15 5
BEGIN
PROMPT 2 1 "Pezzi per Confezione "
FLAGS "DG"
MESSAGE EMPTY CLEAR,S_ARROT|CLEAR,S_CALCCONS
MESSAGE ENABLE,S_ARROT|ENABLE,S_CALCCONS
END
NUMBER S_PREC 2