Patch level : 10.0 NO PATCH

Files correlati     : pd6411 pd6411a.msk
Ricompilazione Demo : [ ]
Commento            :
Correzioni richieste da Roberto


git-svn-id: svn://10.65.10.50/branches/R_10_00@21057 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
luca83 2010-10-22 15:33:56 +00:00
parent cb15b47430
commit 86706305f7
3 changed files with 54 additions and 50 deletions

View File

@ -62,27 +62,36 @@ void TListini_haba_msk::riempi_sheet()
row.add(impfr.string(), sheet.cid2index(S_IMPFRANCO));
}
sheet.force_update();
if(get(F_CAMBIO).empty())
{
TToken_string& row = sheet.row(0);
real euro(row.get(sheet.cid2index(S_IMPEURO)));
real franco(row.get(sheet.cid2index(S_IMPFRANCO)));
real cambio = franco / euro;
set(F_CAMBIO, cambio);
}
}
void TListini_haba_msk::cambio(const short primo, const short secondo)
{
TSheet_field& sheet = sfield(F_SHEET);
TMask& msk = sheet.mask();
const TString& codval = msk.get(F_CODVAL);
const real cambio = msk.get_real(F_CAMBIO);
TMask& rmsk = sheet.sheet_mask();
if(rmsk.field(secondo).empty() || cambio.is_zero() || codval.empty())
if(rmsk.field(secondo).empty() || cambio.is_zero())
return;
TToken_string& row = sheet.row(sheet.selected());
TCurrency impval; rmsk.get_currency(secondo, impval);
real impval = rmsk.get_real(secondo);
if(secondo == S_IMPEURO)
impval.change_value(codval, cambio);
impval *= cambio;
else
impval.change_to_euro_val();
impval /= cambio;
rmsk.set(primo, impval);
}
@ -110,16 +119,26 @@ void TListini_haba_msk::registra()
FOR_EACH_SHEET_ROW(sheet, r, riga)
{
TToken_string& row = *(TToken_string*)riga;
TString4 spessore; spessore.format("%02d", row.get_int(sheet.cid2index(S_SPESSORE)));
TString80 codtab;
codtab << row.get(sheet.cid2index(S_GRUPPO)) << row.get(sheet.cid2index(S_MESE)) << row.get(sheet.cid2index(S_SPESSORE));
codtab << row.get(sheet.cid2index(S_GRUPPO)) << row.get(sheet.cid2index(S_MESE)) << spessore;
const real impeuro(row.get(sheet.cid2index(S_IMPEURO)));
const real impfranco(row.get(sheet.cid2index(S_IMPFRANCO)));
listini.put("CODTAB", codtab);
listini.put("R0", impeuro);
listini.put("R1", impfranco);
listini.rewrite_write();
if(impeuro == ZERO && impfranco == ZERO)
{
listini.put("CODTAB", codtab);
listini.remove();
}
else
{
listini.put("CODTAB", codtab);
listini.put("R0", impeuro);
listini.put("R1", impfranco);
listini.rewrite_write();
}
}
riempi_sheet();
}
bool TListini_haba_msk::on_field_event(TOperable_field& o, TField_event e, long jolly)
@ -131,6 +150,7 @@ bool TListini_haba_msk::on_field_event(TOperable_field& o, TField_event e, long
{
reset(F_GRUPPO);
reset(F_MESE);
reset(F_CAMBIO);
sfield(F_SHEET).destroy();
return false;
}
@ -139,6 +159,15 @@ bool TListini_haba_msk::on_field_event(TOperable_field& o, TField_event e, long
if(e == fe_button)
registra();
break;
case DLG_DELREC:
if(e == fe_button && jolly == 1)
{
TMask& msk = sfield(F_SHEET).sheet_mask();
msk.reset(S_IMPEURO);
msk.reset(S_IMPFRANCO);
return false;
}
break;
case F_GRUPPO:
case F_MESE:
if(e == fe_modify)
@ -150,6 +179,16 @@ bool TListini_haba_msk::on_field_event(TOperable_field& o, TField_event e, long
aggiungi_riga();
return false;
}
if(e == se_query_del)
{
const TString& zero = real(ZERO).string();
TSheet_field& sheet = sfield(o.dlg());
TToken_string& row = sheet.row(sheet.selected());
row.add(zero, sheet.cid2index(S_IMPEURO));
row.add(zero, sheet.cid2index(S_IMPFRANCO));
sheet.force_update();
return false;
}
break;
case S_SPESSORE:
if(e == fe_modify)

View File

@ -1,10 +1,8 @@
//Definizione campi per maschera pd6411 - Gestione Materiali spessore categoria
#define F_GRUPPO 201
#define F_MESE 202
#define F_CODVAL 203
#define F_DESVAL 204
#define F_CAMBIO 205
#define F_SHEET 206
#define F_CAMBIO 203
#define F_SHEET 204
#define S_GRUPPO 101
#define S_MESE 102

View File

@ -42,47 +42,14 @@ BEGIN
FLAGS "AM"
END
GROUPBOX DLG_NULL 78 4
GROUPBOX DLG_NULL 78 3
BEGIN
PROMPT 1 4 "@bParametri per il cambio"
END
STRING F_CODVAL 3
BEGIN
PROMPT 2 5 "Valuta "
FIELD CODTAB
FLAGS "UZ"
KEY 1
USE %VAL
INPUT CODTAB F_CODVAL
DISPLAY "Codice" CODTAB
DISPLAY "Valuta@50" S0
OUTPUT F_CODVAL CODTAB
OUTPUT F_DESVAL S0
OUTPUT F_CAMBIO S4
HELP "Codice della valuta"
CHECKTYPE REQUIRED
END
STRING F_DESVAL 50
BEGIN
PROMPT 15 5 ""
FIELD S0
KEY 2
USE %VAL KEY 2
INPUT S0 F_DESVAL
DISPLAY "Valuta@60" S0
DISPLAY "Codice@10" CODTAB
COPY OUTPUT F_CODVAL
HELP "Descrizione della valuta"
CHECKTYPE REQUIRED
WARNING "Manca la descrizione"
END
NUMBER F_CAMBIO 15 5
BEGIN
PROMPT 2 6 "Cambio "
PROMPT 2 5 "Cambio contro euro"
FIELD S4
FLAGS "U"
CHECKTYPE REQUIRED
@ -91,7 +58,7 @@ END
SPREADSHEET F_SHEET
BEGIN
PROMPT 2 8 ""
PROMPT 2 7 ""
ITEM "Gruppo"
ITEM "Mese"
ITEM "Spessore"