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:
parent
46d0d59f8d
commit
81c3b9c50e
@ -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
|
||||
|
@ -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
|
||||
|
Loading…
x
Reference in New Issue
Block a user