Patch level :10.0
Files correlati : Ricompilazione Demo : [ ] Commento :aggiunta colonna check sullo sheet git-svn-id: svn://10.65.10.50/trunk@19383 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
07eb5f8967
commit
f54528049a
@ -38,7 +38,9 @@ public:
|
||||
TAggiorna_listini_edit_mask(TMask* query_mask);
|
||||
};
|
||||
|
||||
|
||||
//METODI ON_FIELD
|
||||
//---------------
|
||||
// metodi per F_LISTINI_FIGLI
|
||||
//metodo per riempire lo sheet dei listini figli con i ricarichi oggi tanto di moda
|
||||
void TAggiorna_listini_edit_mask::fill_ricarichi_children_list()
|
||||
{
|
||||
@ -165,25 +167,33 @@ void TAggiorna_listini_edit_mask::save_children_list()
|
||||
} //if(grmerc.full())
|
||||
}
|
||||
|
||||
|
||||
//metodi F_MULTILISTINI
|
||||
//restituisce la posizione della riga ALTA, quella disabilitata
|
||||
int TAggiorna_listini_edit_mask::find_codart(TSheet_field& sf, const TString& codart, const TString& um)
|
||||
int TAggiorna_listini_edit_mask::find_codart(TSheet_field& sf, const TString& codart, const TString& codum)
|
||||
{
|
||||
//cerca la riga tra quelle esistenti
|
||||
const int codart_pos = sf.cid2index(F_CODRIGA);
|
||||
const int codum_pos = codart_pos + 1;
|
||||
|
||||
for (int i = 1; i < sf.items(); i += 2)
|
||||
{
|
||||
const char* cod = sf.cell(i, 0);
|
||||
if (codart == cod)
|
||||
const char* art = sf.cell(i, codart_pos);
|
||||
TString4 um = sf.cell(i, codum_pos);
|
||||
um.trim();
|
||||
if (codart == art && codum == um)
|
||||
return i - 1;
|
||||
}
|
||||
|
||||
//non trova la riga nel padre -> la aggiunge
|
||||
TToken_string& row_alta = sf.row(-1);
|
||||
sf.disable_cell(sf.items()-1, -1);
|
||||
const TString& descr = cache().get(LF_ANAMAG, codart, ANAMAG_DESCR);
|
||||
row_alta.add(descr);
|
||||
row_alta.add(um);
|
||||
row_alta.add(descr, codart_pos);
|
||||
row_alta.add(codum, codum_pos);
|
||||
|
||||
TToken_string& row_bassa = sf.row(-1);
|
||||
row_bassa.add(codart);
|
||||
row_bassa.add(codart, codart_pos);
|
||||
|
||||
return sf.items() - 2; //ritorna la penultima riga (riga alta)
|
||||
}
|
||||
@ -225,12 +235,14 @@ void TAggiorna_listini_edit_mask::fill_multilistini_sheet()
|
||||
TProgind pi(recset_rows_items, TR("Creazione righe listini..."), true, true);
|
||||
|
||||
TSheet_field& sf_multilistini = sfield(F_MULTILISTINI);
|
||||
const int prezzo_pos = sf_multilistini.cid2index(F_PREZZO);
|
||||
|
||||
//per ogni riga del recordset va ad aggiornare lo sheet sulla maschera (aggiunge la riga)
|
||||
for (bool ok = recset_rows.move_first(); ok; ok = recset_rows.move_next())
|
||||
{
|
||||
if (!pi.addstatus(1))
|
||||
break;
|
||||
|
||||
//dati riga corrente
|
||||
const TString& codart = recset_rows.get(RCONDV_CODRIGA).as_string();
|
||||
const TString& um = recset_rows.get(RCONDV_UM).as_string();
|
||||
@ -246,9 +258,9 @@ void TAggiorna_listini_edit_mask::fill_multilistini_sheet()
|
||||
//mette il prezzo al posto giusto (padre e figlio)
|
||||
const int pos = keys_figli.get_pos(riga_key);
|
||||
if (pos < 0)
|
||||
sf_multilistini.row(riga_alta + 1).add(prezzo.string(), 1);
|
||||
sf_multilistini.row(riga_alta + 1).add(prezzo.string(), prezzo_pos);
|
||||
else
|
||||
sf_multilistini.row(riga_alta).add(prezzo.string(), 2 + pos);
|
||||
sf_multilistini.row(riga_alta).add(prezzo.string(), prezzo_pos + 1 + pos);
|
||||
}
|
||||
|
||||
//aggiorna i prezzi nuovi dei listini figli
|
||||
@ -263,15 +275,16 @@ void TAggiorna_listini_edit_mask::update_sons_prices()
|
||||
//PrezzoNuovoFiglio = Ricaricofiglio * PrezzoPadre (questo vale per ogni articolo)
|
||||
TSheet_field& sf_figli = sfield(F_LISTINI_FIGLI);
|
||||
TSheet_field& sf_listini = sfield(F_MULTILISTINI);
|
||||
const int prezzo_pos = sf_listini.cid2index(F_PREZZO);
|
||||
|
||||
FOR_EACH_SHEET_ROW(sf_figli, r, riga_figlio)
|
||||
{
|
||||
const real ricarico = riga_figlio->get(2);
|
||||
FOR_EACH_SHEET_ROW(sf_listini, i, riga) if (i & 1) //è come dire mod(i,2)=1 (ignoranti!)
|
||||
{
|
||||
const real fath_prezzo = riga->get(1);
|
||||
const real fath_prezzo = riga->get(prezzo_pos);
|
||||
const TPrice son_prezzo = fath_prezzo * (CENTO + ricarico) / CENTO;
|
||||
riga->add(son_prezzo.get_num().string(), r + 2);
|
||||
riga->add(son_prezzo.get_num().string(), r + prezzo_pos + 1);
|
||||
}
|
||||
}
|
||||
sf_listini.force_update();
|
||||
@ -311,6 +324,10 @@ bool TAggiorna_listini_edit_mask::on_field_event(TOperable_field& o, TField_even
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
//METODI COSTRUTTORE
|
||||
//------------------
|
||||
// metodi per F_LISTINI_FIGLI
|
||||
//metodo per aggiungere i figli allo sheet dei medesimi
|
||||
void TAggiorna_listini_edit_mask::fill_children_list()
|
||||
{
|
||||
@ -350,6 +367,8 @@ void TAggiorna_listini_edit_mask::fill_children_list()
|
||||
sf_righe.force_update();
|
||||
}
|
||||
|
||||
|
||||
// metodi per F_MULTILISTINI
|
||||
//metodo per riempire lo sheet con i dati da aggiornare
|
||||
void TAggiorna_listini_edit_mask::set_header_multilistini_sheet()
|
||||
{
|
||||
@ -360,7 +379,7 @@ void TAggiorna_listini_edit_mask::set_header_multilistini_sheet()
|
||||
|
||||
TSheet_field& sf_figli = sfield(F_LISTINI_FIGLI);
|
||||
TString column_header;
|
||||
int num_of_columns = 2;
|
||||
int num_of_columns = 3;
|
||||
FOR_EACH_SHEET_ROW(sf_figli, r, riga)
|
||||
{
|
||||
column_header.cut(0);
|
||||
@ -368,7 +387,7 @@ void TAggiorna_listini_edit_mask::set_header_multilistini_sheet()
|
||||
column_header.trim();
|
||||
column_header << riga->get(1);
|
||||
|
||||
sf_multilistini.set_column_header(r + 2, column_header);
|
||||
sf_multilistini.set_column_header(num_of_columns, column_header);
|
||||
num_of_columns ++;
|
||||
}
|
||||
//cancella i figli in eccesso
|
||||
|
25
ve/ve2700.h
25
ve/ve2700.h
@ -23,15 +23,16 @@
|
||||
#define F_DESLIS 104
|
||||
|
||||
//multi-terribile sheet dei multi-listini
|
||||
#define F_CODRIGA 101
|
||||
#define F_PREZZO 102
|
||||
#define F_LIST1 103
|
||||
#define F_LIST2 104
|
||||
#define F_LIST3 105
|
||||
#define F_LIST4 106
|
||||
#define F_LIST5 107
|
||||
#define F_LIST6 108
|
||||
#define F_LIST7 109
|
||||
#define F_LIST8 110
|
||||
#define F_LIST9 111
|
||||
#define F_LIST10 112
|
||||
#define F_CHECK 101
|
||||
#define F_CODRIGA 102
|
||||
#define F_PREZZO 103
|
||||
#define F_LIST1 104
|
||||
#define F_LIST2 105
|
||||
#define F_LIST3 106
|
||||
#define F_LIST4 107
|
||||
#define F_LIST5 108
|
||||
#define F_LIST6 109
|
||||
#define F_LIST7 110
|
||||
#define F_LIST8 111
|
||||
#define F_LIST9 112
|
||||
#define F_LIST10 113
|
||||
|
@ -131,6 +131,7 @@ END
|
||||
SPREADSHEET F_MULTILISTINI -1 -1
|
||||
BEGIN
|
||||
PROMPT 0 8 "Aggiornamento figli"
|
||||
ITEM "@1"
|
||||
ITEM "Descrizione\nArticolo@30"
|
||||
ITEM "U. M. \nPrezzo base@8R"
|
||||
ITEM "Figlio 1@8"
|
||||
@ -229,6 +230,11 @@ ENDPAGE
|
||||
|
||||
PAGE "Riga aggiornamento listini" -1 -1 78 22
|
||||
|
||||
BOOLEAN F_CHECK
|
||||
BEGIN
|
||||
PROMPT 1 0 "Includere "
|
||||
END
|
||||
|
||||
STRING F_CODRIGA 50 20
|
||||
BEGIN
|
||||
PROMPT 1 1 "Codice "
|
||||
|
Loading…
x
Reference in New Issue
Block a user