Patch level :10.0

Files correlati     :
Ricompilazione Demo : [ ]
Commento            :
ancora listini e torelli in corso d'opera


git-svn-id: svn://10.65.10.50/trunk@19470 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
luca 2009-10-19 13:43:25 +00:00
parent 0f7d26d364
commit d01fb5405e
6 changed files with 203 additions and 96 deletions

View File

@ -467,6 +467,7 @@ END
STRING F_L_ARROTONDA 8 STRING F_L_ARROTONDA 8
BEGIN BEGIN
PROMPT 1 15 "Arrotonda " PROMPT 1 15 "Arrotonda "
FIELD ARROTONDA
END END
TEXT -1 TEXT -1

View File

@ -168,12 +168,11 @@ BEGIN
GROUP 2 GROUP 2
END END
STRING F_SOTGRMERC 5 STRING F_SOTGRMERC 2
BEGIN BEGIN
PROMPT 20 10 "" PROMPT 20 10 ""
FLAGS "U" FLAGS "U"
USE GMC USE GMC
//SELECT CODTAB[4,5] != ""
COPY INPUT F_GRMERC COPY INPUT F_GRMERC
INPUT CODTAB[4,5] F_SOTGRMERC INPUT CODTAB[4,5] F_SOTGRMERC
DISPLAY "Gruppo" CODTAB[1,3] DISPLAY "Gruppo" CODTAB[1,3]

View File

@ -43,7 +43,10 @@ protected:
void check_all(const bool checked); //checka-dechecka la colonna dei check (on_field) void check_all(const bool checked); //checka-dechecka la colonna dei check (on_field)
void add_art(); //aggiunge un articolo ai listini (on_field) void add_art(); //aggiunge un articolo ai listini (on_field)
void save_listini(); //salva tutte le righe listini (padre e figli) così come sono sullo sheet (on_field) void save_listini(); //salva tutte le righe listini (padre e figli) così come sono sullo sheet (on_field)
real get_price(TSheet_field& sf, const int row, const int col) const; real get_price(TSheet_field& sf, const int row, const int col) const;
void set_price(TSheet_field& sf, const int row, const int col, real& price);
void get_correct_grmerc(TString& grmerc, const bool asterisk) const;
virtual bool on_field_event(TOperable_field& o, TField_event e, long jolly); virtual bool on_field_event(TOperable_field& o, TField_event e, long jolly);
@ -57,7 +60,7 @@ public:
//metodo per riempire lo sheet dei listini figli con i ricarichi oggi tanto di moda //metodo per riempire lo sheet dei listini figli con i ricarichi oggi tanto di moda
void TAggiorna_listini_edit_mask::fill_ricarichi_children_list() void TAggiorna_listini_edit_mask::fill_ricarichi_children_list()
{ {
_curr_grmerc.format("%-3s%-2s", (const char*)get(F_GRMERC),(const char*)get(F_SOTGRMERC)); get_correct_grmerc(_curr_grmerc, false);
const TRectype& rec_gmc = cache().get("GMC", _curr_grmerc); const TRectype& rec_gmc = cache().get("GMC", _curr_grmerc);
TToken_string lista_listini(rec_gmc.get("S1"), ';'); TToken_string lista_listini(rec_gmc.get("S1"), ';');
//se trova qualcosa nella lista listini collegati al grmerc... //se trova qualcosa nella lista listini collegati al grmerc...
@ -104,7 +107,7 @@ void TAggiorna_listini_edit_mask::fill_ricarichi_children_list()
void TAggiorna_listini_edit_mask::save_children_list() void TAggiorna_listini_edit_mask::save_children_list()
{ {
TString8 grmerc; TString8 grmerc;
grmerc.format("%-3s%-2s", (const char*)get(F_GRMERC),(const char*)get(F_SOTGRMERC)); get_correct_grmerc(grmerc, false);
if (grmerc.full()) if (grmerc.full())
{ {
//cerca sulla tabella GMC il record corrispondente all'attuale GMC //cerca sulla tabella GMC il record corrispondente all'attuale GMC
@ -152,6 +155,21 @@ void TAggiorna_listini_edit_mask::save_children_list()
const TString& ricarico = riga->get(2); const TString& ricarico = riga->get(2);
chiave.add(ricarico, 2); //setta il ricarico nella cella dello sheet chiave.add(ricarico, 2); //setta il ricarico nella cella dello sheet
ricarichi.add(chiave, i); //lo aggiunge all'array dei ricarichi ricarichi.add(chiave, i); //lo aggiunge all'array dei ricarichi
//salva il valore dell'arrotondamento sulla testata del listino corrente dello sheet
TLocalisamfile condv(LF_CONDV);
condv.put(CONDV_TIPO, 'L');
condv.put(CONDV_CATVEN, sh_catven);
condv.put(CONDV_TIPOCF, "");
condv.put(CONDV_CODCF, "");
condv.put(CONDV_COD, sh_codlis);
int err = condv.read();
if (err == NOERR)
{
condv.put(CONDV_ARROTONDA, riga->get(3));
condv.rewrite();
}
break; //esce perchè non può fare altro break; //esce perchè non può fare altro
} }
} //FOR_EACH_SHEET_ROW_BACK... } //FOR_EACH_SHEET_ROW_BACK...
@ -185,7 +203,7 @@ void TAggiorna_listini_edit_mask::save_children_list()
real TAggiorna_listini_edit_mask::get_price(TSheet_field& sf, const int row, const int col) const real TAggiorna_listini_edit_mask::get_price(TSheet_field& sf, const int row, const int col) const
{ {
if (col == sf.cid2index(F_PREZZO)) if (col == sf.cid2index(S2_PREZZO))
{ {
TString16 str_prezzo = sf.cell(row, col); TString16 str_prezzo = sf.cell(row, col);
str_prezzo.strip("."); str_prezzo.strip(".");
@ -195,12 +213,18 @@ real TAggiorna_listini_edit_mask::get_price(TSheet_field& sf, const int row, con
return real(sf.cell(row, col)); return real(sf.cell(row, col));
} }
void TAggiorna_listini_edit_mask::set_price(TSheet_field& sf, const int row, const int col, real& price)
{
}
//cerca nello sheet la coppia codart+um che gli viene passata restituendo la posizione della riga ALTA.. //cerca nello sheet la coppia codart+um che gli viene passata restituendo la posizione della riga ALTA..
//della coppia di righe sheet interessate (è la riga disabilitata); //della coppia di righe sheet interessate (è la riga disabilitata);
int TAggiorna_listini_edit_mask::find_codart(TSheet_field& sf, const TString& codart, const TString& codum) const int TAggiorna_listini_edit_mask::find_codart(TSheet_field& sf, const TString& codart, const TString& codum) const
{ {
//cerca la riga tra quelle esistenti //cerca la riga tra quelle esistenti
const int codart_pos = sf.cid2index(F_CODRIGA); const int codart_pos = sf.cid2index(S2_CODRIGA);
const int codum_pos = codart_pos + 1; const int codum_pos = codart_pos + 1;
for (int i = 1; i < sf.items(); i += 2) for (int i = 1; i < sf.items(); i += 2)
@ -224,7 +248,7 @@ int TAggiorna_listini_edit_mask::find_or_add_codart(TSheet_field& sf, const TStr
if (riga < 0) if (riga < 0)
{ {
const int codart_pos = sf.cid2index(F_CODRIGA); const int codart_pos = sf.cid2index(S2_CODRIGA);
const int codum_pos = codart_pos + 1; const int codum_pos = codart_pos + 1;
//non trova la riga nel padre -> la aggiunge //non trova la riga nel padre -> la aggiunge
@ -269,6 +293,17 @@ int TAggiorna_listini_edit_mask::crea_famiglia_listini(TToken_string& keys_listi
} }
void TAggiorna_listini_edit_mask::get_correct_grmerc(TString& grmerc, const bool asterisk) const
{
grmerc.format("%-3s%-2s", (const char*)get(F_GRMERC),(const char*)get(F_SOTGRMERC));
grmerc.trim();
//se il grmerc non è completo (solo il primo carattere), ci vuole una ricerca tipo..
//..jolly; vale anche per il sottogrmerc (non pieno con i 3 caratteri)
if (asterisk && grmerc.len() < 5)
grmerc << "*";
}
//riempie lo sheet dei multilistini //riempie lo sheet dei multilistini
void TAggiorna_listini_edit_mask::fill_multilistini_sheet() void TAggiorna_listini_edit_mask::fill_multilistini_sheet()
{ {
@ -285,7 +320,7 @@ void TAggiorna_listini_edit_mask::fill_multilistini_sheet()
TSheet_field& sf_multilistini = sfield(F_MULTILISTINI); TSheet_field& sf_multilistini = sfield(F_MULTILISTINI);
sf_multilistini.destroy(); sf_multilistini.destroy();
const int prezzo_pos = sf_multilistini.cid2index(F_PREZZO); const int prezzo_pos = sf_multilistini.cid2index(S2_PREZZO);
TToken_string key; TToken_string key;
FOR_EACH_TOKEN(keys_listini, tok) FOR_EACH_TOKEN(keys_listini, tok)
@ -296,14 +331,15 @@ void TAggiorna_listini_edit_mask::fill_multilistini_sheet()
key = tok; key = tok;
TString query; TString query;
query << "USE RCONDV\n"; query << "USE RCONDV\n";
query << "SELECT ANAMAG.GRMERC=#GRMERC\n"; query << "SELECT ANAMAG.GRMERC?=#GRMERC\n"; //occhio al '?' Serve per poter avere ricerche jolly
query << "JOIN ANAMAG INTO CODART==CODRIGA\n"; query << "JOIN ANAMAG INTO CODART==CODRIGA\n";
query << "FROM TIPO=L CATVEN=#CATVEN COD=#COD TIPORIGA=A\n"; query << "FROM TIPO=L CATVEN=#CATVEN COD=#COD TIPORIGA=A\n";
query << "TO TIPO=L CATVEN=#CATVEN COD=#COD TIPORIGA=A\n"; query << "TO TIPO=L CATVEN=#CATVEN COD=#COD TIPORIGA=A\n";
TISAM_recordset recset_rows(query); TISAM_recordset recset_rows(query);
TString8 grmerc; TString8 grmerc;
grmerc.format("%-3s%-2s", (const char*)get(F_GRMERC),(const char*)get(F_SOTGRMERC)); get_correct_grmerc(grmerc, true);
recset_rows.set_var("#GRMERC", grmerc); recset_rows.set_var("#GRMERC", grmerc);
recset_rows.set_var("#CATVEN", key.get(0)); recset_rows.set_var("#CATVEN", key.get(0));
recset_rows.set_var("#COD", key.get(1)); recset_rows.set_var("#COD", key.get(1));
@ -339,7 +375,7 @@ void TAggiorna_listini_edit_mask::fill_multilistini_sheet()
if (fath_prezzo.is_zero()) if (fath_prezzo.is_zero())
{ {
TSheet_field& listini_figli = sfield(F_LISTINI_FIGLI); TSheet_field& listini_figli = sfield(F_LISTINI_FIGLI);
const real ricarico = listini_figli.cell(pos - 1, listini_figli.cid2index(F_RICARICO)); const real ricarico = listini_figli.cell(pos - 1, listini_figli.cid2index(S1_RICARICO));
const TPrice prezzo_base(prezzo * CENTO / (CENTO + ricarico)); const TPrice prezzo_base(prezzo * CENTO / (CENTO + ricarico));
sf_multilistini.row(riga_bassa).add(prezzo_base.string(true), prezzo_pos); sf_multilistini.row(riga_bassa).add(prezzo_base.string(true), prezzo_pos);
} }
@ -359,7 +395,7 @@ void TAggiorna_listini_edit_mask::update_sons_prices()
//PrezzoNuovoFiglio = Ricaricofiglio * PrezzoPadre (questo vale per ogni articolo) //PrezzoNuovoFiglio = Ricaricofiglio * PrezzoPadre (questo vale per ogni articolo)
TSheet_field& sf_figli = sfield(F_LISTINI_FIGLI); TSheet_field& sf_figli = sfield(F_LISTINI_FIGLI);
TSheet_field& sf_listini = sfield(F_MULTILISTINI); TSheet_field& sf_listini = sfield(F_MULTILISTINI);
const int fath_prezzo_pos = sf_listini.cid2index(F_PREZZO); const int fath_prezzo_pos = sf_listini.cid2index(S2_PREZZO);
FOR_EACH_SHEET_ROW(sf_figli, r, riga_figlio) FOR_EACH_SHEET_ROW(sf_figli, r, riga_figlio)
{ {
@ -412,13 +448,16 @@ void TAggiorna_listini_edit_mask::add_art()
//..si rimanda al programma principale di gestione listini ve2500!!) //..si rimanda al programma principale di gestione listini ve2500!!)
TString query; TString query;
query << "USE ANAMAG\n"; query << "USE ANAMAG\n";
query << "SELECT ((GRMERC=#GRMERC)||(GRMERC=\"\"))&&(RCONDV.CODRIGA=\"\")\n"; query << "SELECT ((GRMERC?=#GRMERC)||(GRMERC=\"\"))&&(RCONDV.CODRIGA=\"\")\n";
query << "JOIN RCONDV INTO TIPO=\"L\" CATVEN=#CATVEN COD=#COD TIPORIGA=\"A\" CODRIGA=CODART\n"; query << "JOIN RCONDV INTO TIPO=\"L\" CATVEN=#CATVEN COD=#COD TIPORIGA=\"A\" CODRIGA=CODART\n";
query << "JOIN UMART INTO CODART=CODART\n"; query << "JOIN UMART INTO CODART=CODART\n";
TISAM_recordset recset(query); TISAM_recordset recset(query);
TString8 grmerc; TString8 grmerc, grmerc_filter;
grmerc.format("%-3s%-2s", (const char*)get(F_GRMERC),(const char*)get(F_SOTGRMERC));
recset.set_var("#GRMERC", grmerc); get_correct_grmerc(grmerc, false);
get_correct_grmerc(grmerc_filter, true);
recset.set_var("#GRMERC", grmerc_filter);
recset.set_var("#CATVEN", get(F_FATHCATVEN)); recset.set_var("#CATVEN", get(F_FATHCATVEN));
recset.set_var("#COD", get(F_FATHCODLIS)); recset.set_var("#COD", get(F_FATHCODLIS));
@ -458,7 +497,7 @@ void TAggiorna_listini_edit_mask::add_art()
if (sheet.run() == K_ENTER) if (sheet.run() == K_ENTER)
{ {
TSheet_field& sf_listini = sfield(F_MULTILISTINI); TSheet_field& sf_listini = sfield(F_MULTILISTINI);
const int prezzo_pos = sf_listini.cid2index(F_PREZZO); const int prezzo_pos = sf_listini.cid2index(S2_PREZZO);
TString80 codart; TString80 codart;
TString4 um; TString4 um;
FOR_EACH_CHECKED_ROW(sheet, r, riga) FOR_EACH_CHECKED_ROW(sheet, r, riga)
@ -476,7 +515,7 @@ void TAggiorna_listini_edit_mask::add_art()
FOR_EACH_SHEET_ROW(sf_listini_figli, i, son) FOR_EACH_SHEET_ROW(sf_listini_figli, i, son)
{ {
sf_listini.row(numriga).add(prezzo.get_num().string(), prezzo_pos + i + 1); sf_listini.row(numriga).add(prezzo.get_num().string(), prezzo_pos + i + 1);
const real ricarico = son->get(sf_listini_figli.cid2index(F_RICARICO)); const real ricarico = son->get(sf_listini_figli.cid2index(S1_RICARICO));
const TPrice son_prezzo = prezzo.get_num() * (CENTO + ricarico) / CENTO; const TPrice son_prezzo = prezzo.get_num() * (CENTO + ricarico) / CENTO;
sf_listini.row(numriga + 1).add(son_prezzo.get_num().string(), prezzo_pos + i + 1); sf_listini.row(numriga + 1).add(son_prezzo.get_num().string(), prezzo_pos + i + 1);
} }
@ -502,7 +541,7 @@ void TAggiorna_listini_edit_mask::add_art()
void TAggiorna_listini_edit_mask::save_listini() void TAggiorna_listini_edit_mask::save_listini()
{ {
TSheet_field& sf_listini = sfield(F_MULTILISTINI); TSheet_field& sf_listini = sfield(F_MULTILISTINI);
const int prezzo_pos = sf_listini.cid2index(F_PREZZO); const int prezzo_pos = sf_listini.cid2index(S2_PREZZO);
TToken_string keys_listini; TToken_string keys_listini;
const int num_listini_da_agg = crea_famiglia_listini(keys_listini); const int num_listini_da_agg = crea_famiglia_listini(keys_listini);
@ -522,14 +561,15 @@ void TAggiorna_listini_edit_mask::save_listini()
TString query; TString query;
query << "USE RCONDV\n"; query << "USE RCONDV\n";
query << "SELECT ANAMAG.GRMERC=#GRMERC\n"; query << "SELECT ANAMAG.GRMERC?=#GRMERC\n";
query << "JOIN ANAMAG INTO CODART==CODRIGA\n"; query << "JOIN ANAMAG INTO CODART==CODRIGA\n";
query << "FROM TIPO=L CATVEN=#CATVEN COD=#COD TIPORIGA=A\n"; query << "FROM TIPO=L CATVEN=#CATVEN COD=#COD TIPORIGA=A\n";
query << "TO TIPO=L CATVEN=#CATVEN COD=#COD TIPORIGA=A\n"; query << "TO TIPO=L CATVEN=#CATVEN COD=#COD TIPORIGA=A\n";
TISAM_recordset recset_rows(query); TISAM_recordset recset_rows(query);
TString8 grmerc; TString8 grmerc;
grmerc.format("%-3s%-2s", (const char*)get(F_GRMERC),(const char*)get(F_SOTGRMERC)); get_correct_grmerc(grmerc, false);
recset_rows.set_var("#GRMERC", grmerc); recset_rows.set_var("#GRMERC", grmerc);
const TString4 catven = key.get(0); const TString4 catven = key.get(0);
recset_rows.set_var("#CATVEN", catven); recset_rows.set_var("#CATVEN", catven);
@ -556,7 +596,7 @@ void TAggiorna_listini_edit_mask::save_listini()
TRectype key_rec(LF_RCONDV); TRectype key_rec(LF_RCONDV);
//alla fine della storia registra tutto lo sheet sul file //alla fine della storia registra tutto lo sheet sul file
FOR_EACH_SHEET_ROW(sf_listini, r, riga) if (r & 1) FOR_EACH_SHEET_ROW(sf_listini, r, riga) if ((r & 1) && (riga->get_char(0) > ' ')) //è come dire riga dispari e checked (ignoranti!)
{ {
const real prezzo = get_price(sf_listini, r, prezzo_pos + pos); const real prezzo = get_price(sf_listini, r, prezzo_pos + pos);
if (prezzo > ZERO) if (prezzo > ZERO)
@ -628,8 +668,8 @@ bool TAggiorna_listini_edit_mask::on_field_event(TOperable_field& o, TField_even
if (e == fe_modify) if (e == fe_modify)
{ {
TString8 grmerc; TString8 grmerc;
grmerc.format("%-3s%-2s", (const char*)get(F_GRMERC),(const char*)get(F_SOTGRMERC)); get_correct_grmerc(grmerc, false);
if (grmerc != _curr_grmerc) if (grmerc != _curr_grmerc && grmerc.full())
{ {
if (_ask_save) if (_ask_save)
{ {
@ -643,27 +683,56 @@ bool TAggiorna_listini_edit_mask::on_field_event(TOperable_field& o, TField_even
} }
break; break;
case F_PREZZO: case S2_PREZZO:
if (e == fe_modify) if (e == fe_modify)
{ {
//se il prezzo viene messo a 0 nel listino padre, si prepara ad eliminare l'articolo..
//..come se fosse premuto DLG_USER (vedi DLG_USER qui sotto)
if (real::is_null(o.get())) if (real::is_null(o.get()))
{ {
TMask& rowmask = o.mask(); TMask& rowmask = o.mask();
rowmask.field(DLG_USER).on_hit(); rowmask.field(DLG_USER).on_hit();
} }
else //se invece viene cambiato il prezzo del padre ed i figli hanno tutti i prezzi nulli..
//..(articolo nuovo o resettato), sui prezzi figli viene messo il prezzo del padre
{
TMask& rowmask = o.mask(); //serve la maschera di riga! (sennò funziona solo sullo sheet)
real somma_prezzi_figli = ZERO;
for (int i = S2_LIST1; i <= S2_LIST10; i++)
somma_prezzi_figli += rowmask.get_real(i);
if (somma_prezzi_figli.is_zero())
{
TSheet_field& sf_listini = sfield(F_LISTINI_FIGLI);
const int col_ricarichi = sf_listini.cid2index(S1_RICARICO);
for (int i = S2_LIST1; i <= S2_LIST10; i++)
{
TMask_field& campo = rowmask.efield(i);
//se il campo è visibile, allora il listino figlio è tra quelli attivi e lo aggiorna
if (campo.shown())
{
const real ricarico = sf_listini.cell(i - S2_LIST1, col_ricarichi);
real prezzo_figlio = o.get();
prezzo_figlio = prezzo_figlio * (CENTO + ricarico) / CENTO;
campo.set(prezzo_figlio.string());
}
}
}
}
_ask_save = true; _ask_save = true;
} }
break; break;
case F_LIST1: case S2_LIST1:
case F_LIST2: case S2_LIST2:
case F_LIST3: case S2_LIST3:
case F_LIST4: case S2_LIST4:
case F_LIST5: case S2_LIST5:
case F_LIST6: case S2_LIST6:
case F_LIST7: case S2_LIST7:
case F_LIST8: case S2_LIST8:
case F_LIST9: case S2_LIST9:
case F_LIST10: case S2_LIST10:
if (e == fe_modify) if (e == fe_modify)
{ {
_ask_save = true; _ask_save = true;
@ -726,7 +795,10 @@ void TAggiorna_listini_edit_mask::fill_children_list()
//disabilita se necessario la colonna della categoria di vendita (lo sheet serve comunque dopo!) //disabilita se necessario la colonna della categoria di vendita (lo sheet serve comunque dopo!)
TSheet_field& sf_righe = sfield(F_LISTINI_FIGLI); TSheet_field& sf_righe = sfield(F_LISTINI_FIGLI);
sf_righe.destroy(); sf_righe.destroy();
sf_righe.enable_column(F_CATVEN, ini_get_bool(CONFIG_DITTA, "ve", "GESLISCV")); /*dovrebbe nascondere la colonna catven se non la si usa, ma non funziona la chiamata a XI
const bool show_catven_column = ini_get_bool(CONFIG_DITTA, "ve", "GESLISCV");
if (!show_catven_column)
sf_righe.show_column(S1_CATVEN, false);*/
//aggiorna sheet con i listini figli //aggiorna sheet con i listini figli
TString query; TString query;
@ -748,11 +820,14 @@ void TAggiorna_listini_edit_mask::fill_children_list()
const TString& catven = rec.get(CONDV_CATVEN); const TString& catven = rec.get(CONDV_CATVEN);
const TString& codlis = rec.get(CONDV_COD); const TString& codlis = rec.get(CONDV_COD);
const TString& arrotonda = rec.get(CONDV_ARROTONDA);
const TString& deslis = rec.get(CONDV_DESCR); const TString& deslis = rec.get(CONDV_DESCR);
row.add(catven); row.add(catven);
row.add(codlis); row.add(codlis);
row.add(""); row.add("");
row.add(arrotonda);
row.add(deslis); row.add(deslis);
sf_righe.check_row(sf_righe.items()-1, 3); sf_righe.check_row(sf_righe.items()-1, 3);
} }
@ -953,6 +1028,11 @@ bool TAggiorna_listini::create()
{ {
error_box(TR("Programma non autorizzato!")); error_box(TR("Programma non autorizzato!"));
return false; return false;
//se non paghi ti stronco!!!
const TDate oggi(TODAY);
if (oggi >= 20091120)
return false;
} }
return TSkeleton_application::create(); return TSkeleton_application::create();
} }

View File

@ -14,25 +14,29 @@
#define DLG_APPLICA 210 #define DLG_APPLICA 210
#define DLG_ADDART 211 #define DLG_ADDART 211
#define F_ARROTONDA 212
#define F_MULTILISTINI 220 #define F_MULTILISTINI 220
//primo sheet con i listini figli //primo sheet con i listini figli
#define F_CATVEN 101 #define S1_CATVEN 101
#define F_CODLIS 102 #define S1_CODLIS 102
#define F_RICARICO 103 #define S1_RICARICO 103
#define F_DESLIS 104 #define S1_ARROTONDA 104
#define S1_DESLIS 105
//multi-terribile sheet dei multi-listini //multi-terribile sheet dei multi-listini
#define F_CHECK 101 #define S2_CHECK 101
#define F_CODRIGA 102 #define S2_CODRIGA 102
#define F_PREZZO 103 #define S2_PREZZO 103
#define F_LIST1 104 #define S2_LIST1 104
#define F_LIST2 105 #define S2_LIST2 105
#define F_LIST3 106 #define S2_LIST3 106
#define F_LIST4 107 #define S2_LIST4 107
#define F_LIST5 108 #define S2_LIST5 108
#define F_LIST6 109 #define S2_LIST6 109
#define F_LIST7 110 #define S2_LIST7 110
#define F_LIST8 111 #define S2_LIST8 111
#define F_LIST9 112 #define S2_LIST9 112
#define F_LIST10 113 #define S2_LIST10 113

View File

@ -104,6 +104,16 @@ BEGIN
PROMPT 0 12 " con il gr. merc. corrente in anagrafica)" PROMPT 0 12 " con il gr. merc. corrente in anagrafica)"
END END
TEXT DLG_NULL
BEGIN
PROMPT 0 13 "6) Per eliminare un articolo da un listino mettere a 0 il prezzo; facendo"
END
TEXT DLG_NULL
BEGIN
PROMPT 0 14 " questo nel listino padre l'articolo viene eliminato da tutti i listini"
END
ENDPAGE ENDPAGE
ENDMASK ENDMASK

View File

@ -82,7 +82,7 @@ BEGIN
FLAGS "D" FLAGS "D"
END END
STRING F_FATHDESVEN 10 STRING F_FATHDESVEN 50
BEGIN BEGIN
PROMPT 1 0 "" PROMPT 1 0 ""
FLAGS "H" FLAGS "H"
@ -96,6 +96,7 @@ BEGIN
INPUT CATVEN F_FATHCATVEN INPUT CATVEN F_FATHCATVEN
INPUT COD F_FATHCODLIS INPUT COD F_FATHCODLIS
OUTPUT F_FATHDESLIS DESCR OUTPUT F_FATHDESLIS DESCR
OUTPUT F_ARROTONDA ARROTONDA
CHECKTYPE REQUIRED CHECKTYPE REQUIRED
FLAGS "D" FLAGS "D"
END END
@ -120,7 +121,7 @@ BEGIN
GROUP 2 GROUP 2
END END
STRING F_SOTGRMERC 5 STRING F_SOTGRMERC 2
BEGIN BEGIN
PROMPT 19 1 "" PROMPT 19 1 ""
FLAGS "U" FLAGS "U"
@ -149,6 +150,12 @@ BEGIN
GROUP 2 GROUP 2
END END
STRING F_ARROTONDA 8
BEGIN
PROMPT 27 2 "Arrotondamento "
FLAGS "D"
END
TEXT DLG_NULL TEXT DLG_NULL
BEGIN BEGIN
PROMPT 1 2 "@bListini figli" PROMPT 1 2 "@bListini figli"
@ -160,6 +167,7 @@ BEGIN
ITEM "Cat.Ven." ITEM "Cat.Ven."
ITEM "Codice" ITEM "Codice"
ITEM "Ricarico" ITEM "Ricarico"
ITEM "Arrotonda"
ITEM "Descrizione@50" ITEM "Descrizione@50"
END END
@ -187,7 +195,39 @@ ENDMASK
//////////////////////////////////////////// ////////////////////////////////////////////
//maschera di riga sheet dei listini figli //maschera di riga sheet dei listini figli
TOOLBAR "topbar" 0 0 0 2 PAGE "Riga listino figlio" -1 -1 72 5
STRING S1_CATVEN 2
BEGIN
PROMPT 1 1 "Cat. ven. "
FLAGS "UD"
END
STRING S1_CODLIS 3
BEGIN
PROMPT 1 2 "Listino "
FLAGS "UD"
END
NUMBER S1_RICARICO 4
BEGIN
PROMPT 1 3 "Ricarico "
END
STRING S1_ARROTONDA 8
BEGIN
PROMPT 1 4 "Arrotonda "
END
STRING S1_DESLIS 50
BEGIN
PROMPT 18 2 ""
FLAGS "D"
END
ENDPAGE
TOOLBAR "" 0 0 0 2
BUTTON DLG_OK 10 2 BUTTON DLG_OK 10 2
BEGIN BEGIN
@ -206,33 +246,6 @@ END
ENDPAGE ENDPAGE
PAGE "Riga listino figlio" -1 -1 78 22
STRING F_CATVEN 2
BEGIN
PROMPT 1 1 "Cat. ven. "
FLAGS "UD"
END
STRING F_CODLIS 3
BEGIN
PROMPT 1 2 "Listino "
FLAGS "UD"
END
NUMBER F_RICARICO 4
BEGIN
PROMPT 1 3 "Ricarico "
END
STRING F_DESLIS 50
BEGIN
PROMPT 18 2 ""
FLAGS "D"
END
ENDPAGE
ENDMASK ENDMASK
@ -240,89 +253,89 @@ ENDMASK
//maschera di riga sheet aggiornamento listini //maschera di riga sheet aggiornamento listini
PAGE "Riga aggiornamento listini" -1 -1 40 10 PAGE "Riga aggiornamento listini" -1 -1 40 10
BOOLEAN F_CHECK BOOLEAN S2_CHECK
BEGIN BEGIN
PROMPT 1 0 "Applica ricarico " PROMPT 1 0 "Applica ricarico "
GROUP 1 GROUP 1
END END
STRING F_CODRIGA 50 20 STRING S2_CODRIGA 50 20
BEGIN BEGIN
PROMPT 1 1 "Codice " PROMPT 1 1 "Codice "
FLAGS "D" FLAGS "D"
END END
STRING F_PREZZO 8 STRING S2_PREZZO 8
BEGIN BEGIN
PROMPT 1 2 "Prezzo " PROMPT 1 2 "Prezzo "
FLAGS "R" FLAGS "R"
GROUP 1 GROUP 1
END END
CURRENCY F_LIST1 8 CURRENCY S2_LIST1 8
BEGIN BEGIN
PROMPT 1 4 "List1 " PROMPT 1 4 "List1 "
FLAGS "U" FLAGS "U"
GROUP 1 GROUP 1
END END
CURRENCY F_LIST2 8 CURRENCY S2_LIST2 8
BEGIN BEGIN
PROMPT 1 5 "List2 " PROMPT 1 5 "List2 "
FLAGS "U" FLAGS "U"
GROUP 1 GROUP 1
END END
CURRENCY F_LIST3 8 CURRENCY S2_LIST3 8
BEGIN BEGIN
PROMPT 1 6 "List3 " PROMPT 1 6 "List3 "
FLAGS "U" FLAGS "U"
GROUP 1 GROUP 1
END END
CURRENCY F_LIST4 8 CURRENCY S2_LIST4 8
BEGIN BEGIN
PROMPT 1 7 "List4 " PROMPT 1 7 "List4 "
FLAGS "U" FLAGS "U"
GROUP 1 GROUP 1
END END
CURRENCY F_LIST5 8 CURRENCY S2_LIST5 8
BEGIN BEGIN
PROMPT 1 8 "List5 " PROMPT 1 8 "List5 "
FLAGS "U" FLAGS "U"
GROUP 1 GROUP 1
END END
CURRENCY F_LIST6 8 CURRENCY S2_LIST6 8
BEGIN BEGIN
PROMPT 21 4 "List6 " PROMPT 21 4 "List6 "
FLAGS "U" FLAGS "U"
GROUP 1 GROUP 1
END END
CURRENCY F_LIST7 8 CURRENCY S2_LIST7 8
BEGIN BEGIN
PROMPT 21 5 "List7 " PROMPT 21 5 "List7 "
FLAGS "U" FLAGS "U"
GROUP 1 GROUP 1
END END
CURRENCY F_LIST8 8 CURRENCY S2_LIST8 8
BEGIN BEGIN
PROMPT 21 6 "List8 " PROMPT 21 6 "List8 "
FLAGS "U" FLAGS "U"
GROUP 1 GROUP 1
END END
CURRENCY F_LIST9 8 CURRENCY S2_LIST9 8
BEGIN BEGIN
PROMPT 21 7 "List9 " PROMPT 21 7 "List9 "
FLAGS "U" FLAGS "U"
GROUP 1 GROUP 1
END END
CURRENCY F_LIST10 8 CURRENCY S2_LIST10 8
BEGIN BEGIN
PROMPT 21 8 "List10 " PROMPT 21 8 "List10 "
FLAGS "U" FLAGS "U"