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:
parent
cb15b47430
commit
86706305f7
@ -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)
|
||||
|
@ -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
|
||||
|
@ -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"
|
||||
|
Loading…
x
Reference in New Issue
Block a user