Patch level :10.0
Files correlati : Ricompilazione Demo : [ ] Commento :continuano le peripezie sulla gestione multilistini git-svn-id: svn://10.65.10.50/trunk@19376 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
685c5e3ed1
commit
c0240eae36
@ -295,9 +295,15 @@ int TVendite_tabapp::read(TMask& m)
|
||||
}
|
||||
|
||||
listini.destroy();
|
||||
//questo serve per settare il separatore in modo che non mandi in confusione l'editor degli archivi..
|
||||
//..separator è definito nella maschera
|
||||
TToken_string stringhina(16, listini.separator());
|
||||
FOR_EACH_TOKEN(stringona, str)
|
||||
{
|
||||
listini.row(-1) = str;
|
||||
stringhina = str;
|
||||
if (stringhina.find('|') >= 0) //converte eventuali pipe standard in broken pipe
|
||||
stringhina.replace('|', stringhina.separator());
|
||||
listini.row(-1) = stringhina;
|
||||
listini.check_row(listini.items() - 1);
|
||||
}
|
||||
listini.force_update();
|
||||
@ -332,7 +338,7 @@ void TVendite_tabapp::write_gmc(const TMask& m, TRectype& curr)
|
||||
TToken_string s1(70, ';'), s2(70, ';');
|
||||
FOR_EACH_SHEET_ROW (listini, r, riga)
|
||||
{
|
||||
TToken_string mini_string(12, '|');
|
||||
TToken_string mini_string(12, SAFE_PIPE_CHR); //separatore broken_pipe !!!
|
||||
mini_string.add(riga->get(0)); //catven
|
||||
mini_string.add(riga->get()); //codlis
|
||||
mini_string.add(riga->get()); //ricarico
|
||||
|
239
ve/ve2700.cpp
239
ve/ve2700.cpp
@ -4,6 +4,7 @@
|
||||
#include <recarray.h>
|
||||
#include <recset.h>
|
||||
#include <relapp.h>
|
||||
#include <tabutil.h>
|
||||
|
||||
#include "condv.h"
|
||||
#include "rcondv.h"
|
||||
@ -19,14 +20,145 @@ class TAggiorna_listini_edit_mask : public TAutomask
|
||||
TMask* _query_mask; //puntatore alla maschera di query
|
||||
|
||||
protected:
|
||||
void fill_children_list();
|
||||
void fill_ricarichi_children_list();
|
||||
void save_children_list();
|
||||
void fill_aggiorna_sheet();
|
||||
virtual bool on_field_event(TOperable_field& o, TField_event e, long jolly);
|
||||
|
||||
public:
|
||||
TAggiorna_listini_edit_mask(TMask* query_mask);
|
||||
void aggiorna_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()
|
||||
{
|
||||
TString8 grmerc;
|
||||
grmerc.format("%-3s%-2s", (const char*)get(F_GRMERC),(const char*)get(F_SOTGRMERC));
|
||||
const TRectype& rec_gmc = cache().get("GMC", grmerc);
|
||||
TToken_string lista_listini(rec_gmc.get("S1"), ';');
|
||||
//se trova qualcosa nella lista listini collegati al grmerc...
|
||||
if (lista_listini.full())
|
||||
{
|
||||
lista_listini.trim();
|
||||
//se la lista di listini riempie il campo S1, magari continua in S2...
|
||||
if (lista_listini.len() == 70)
|
||||
{
|
||||
lista_listini.add(rec_gmc.get("S2"));
|
||||
lista_listini.trim();
|
||||
}
|
||||
//cerca se i listini trovati in GMC ci sono anche nello sheet dei figli
|
||||
TSheet_field& sf_righe = sfield(F_LISTINI_FIGLI);
|
||||
const int righe_sheet = sf_righe.items();
|
||||
|
||||
FOR_EACH_STR_TOKEN(lista_listini, str)
|
||||
{
|
||||
//controlla se il listino in grmerc (chiave) esiste in una delle righe dello sheet dei figli
|
||||
TToken_string chiave(str, SAFE_PIPE_CHR);
|
||||
TString4 catven = chiave.get(0);
|
||||
catven.trim();
|
||||
TString4 codlis = chiave.get(1);
|
||||
codlis.trim();
|
||||
|
||||
FOR_EACH_SHEET_ROW(sf_righe, i, row)
|
||||
{
|
||||
TString4 sh_catven = row->get(0);
|
||||
sh_catven.trim();
|
||||
TString4 sh_codlis = row->get(1);
|
||||
sh_codlis.trim();
|
||||
//se incredibilmente trova il listino di grmerc tra i figli prigionieri nello sheet setta il ricarico
|
||||
if (catven == sh_catven && codlis == sh_codlis)
|
||||
row->add(chiave.get(2), 2);
|
||||
} //FOR_EACH_SHEETT_ROW(...
|
||||
|
||||
} //FOR_EACH_STR_TOKEN
|
||||
sf_righe.force_update();
|
||||
} //if(lista_listini.full...
|
||||
}
|
||||
|
||||
|
||||
//metodo per il salvataggio dei ricarichi sulla tabella GMC dei gruppi merceologici
|
||||
void TAggiorna_listini_edit_mask::save_children_list()
|
||||
{
|
||||
TString8 grmerc;
|
||||
grmerc.format("%-3s%-2s", (const char*)get(F_GRMERC),(const char*)get(F_SOTGRMERC));
|
||||
if (grmerc.full())
|
||||
{
|
||||
//cerca sulla tabella GMC il record corrispondente all'attuale GMC
|
||||
TTable tab_gmc("GMC");
|
||||
tab_gmc.put("CODTAB", grmerc);
|
||||
int err = tab_gmc.read();
|
||||
if (err == NOERR)
|
||||
{
|
||||
//prende S1 e, se pieno, anche S2
|
||||
TToken_string stringona(140, ';');
|
||||
TString s = tab_gmc.get("S1");
|
||||
if (s.full())
|
||||
{
|
||||
stringona.add(s);
|
||||
s = tab_gmc.get("S2");
|
||||
if (s.full())
|
||||
stringona.add(s);
|
||||
}
|
||||
//mette tutte le token_stringhine catven|codlis|ricarico in uno string_array, in modo da tener traccia..
|
||||
//..della loro posizione (ogni elemento dello string_array è una token_stringhina)
|
||||
TString_array ricarichi;
|
||||
FOR_EACH_STR_TOKEN(stringona, str)
|
||||
ricarichi.add(str);
|
||||
|
||||
//giro su tutti gli elementi dell'array
|
||||
FOR_EACH_ARRAY_ROW(ricarichi, i, row)
|
||||
{
|
||||
TToken_string chiave(*row, SAFE_PIPE_CHR); //separatore broken_pipe
|
||||
TString4 catven = chiave.get(0);
|
||||
catven.trim();
|
||||
TString4 codlis = chiave.get(1);
|
||||
codlis.trim();
|
||||
|
||||
//giro sulle righe dello sheet listini figli
|
||||
TSheet_field& sf_righe = sfield(F_LISTINI_FIGLI);
|
||||
FOR_EACH_SHEET_ROW_BACK(sf_righe, r, riga)
|
||||
{
|
||||
TString4 sh_catven = riga->get(0);
|
||||
sh_catven.trim();
|
||||
TString4 sh_codlis = riga->get(1);
|
||||
sh_codlis.trim();
|
||||
//se incredibilmente trova il listino dell'array tra i figli prigionieri nello sheet..
|
||||
if (catven == sh_catven && codlis == sh_codlis)
|
||||
{
|
||||
const TString& ricarico = riga->get(2);
|
||||
chiave.add(ricarico, 2); //setta il ricarico nella cella dello sheet
|
||||
ricarichi.add(chiave, i); //lo aggiunge all'array dei ricarichi
|
||||
break; //esce perchè non può fare altro
|
||||
}
|
||||
} //FOR_EACH_SHEET_ROW_BACK...
|
||||
} //FOR_EACH_ARRAY_ROW
|
||||
|
||||
//adesso deve tornare a scrivere le nuove S1 ed S2 modificate
|
||||
TToken_string s1(70, ';'), s2(70, ';');
|
||||
FOR_EACH_ARRAY_ROW (ricarichi, r, riga)
|
||||
{
|
||||
TToken_string mini_string(*riga, SAFE_PIPE_CHR); //separatore broken_pipe !!!
|
||||
if (s1.len() + mini_string.len() < 70)
|
||||
s1.add(mini_string);
|
||||
else
|
||||
{
|
||||
if (s2.len() + mini_string.len() < 70)
|
||||
s2.add(mini_string);
|
||||
}
|
||||
} //FOR_EACH_ARRAY_ROW..
|
||||
|
||||
//finalmente scrive sulla tabella GMC
|
||||
tab_gmc.put("S1", s1);
|
||||
tab_gmc.put("S2", s2);
|
||||
tab_gmc.rewrite();
|
||||
|
||||
} //if(err==NOERR)
|
||||
} //if(grmerc.full())
|
||||
}
|
||||
|
||||
|
||||
bool TAggiorna_listini_edit_mask::on_field_event(TOperable_field& o, TField_event e, long jolly)
|
||||
{
|
||||
switch(o.dlg())
|
||||
@ -36,47 +168,15 @@ bool TAggiorna_listini_edit_mask::on_field_event(TOperable_field& o, TField_even
|
||||
//una volta selezionati grmerc/sotgrmerc riempie la colonna ricarico dello sheet
|
||||
if (e == fe_modify)
|
||||
{
|
||||
TString8 grmerc;
|
||||
grmerc.format("%-3s%-2s", (const char*)get(F_GRMERC),(const char*)get(F_SOTGRMERC));
|
||||
const TRectype& rec_gmc = cache().get("GMC", grmerc);
|
||||
TToken_string lista_listini(rec_gmc.get("S1"), ';');
|
||||
//se trova qualcosa nella lista listini collegati al grmerc...
|
||||
if (lista_listini.full())
|
||||
{
|
||||
lista_listini.trim();
|
||||
//se la lista di listini riempie il campo S1, magari continua in S2...
|
||||
if (lista_listini.len() == 70)
|
||||
{
|
||||
lista_listini.add(rec_gmc.get("S2"));
|
||||
lista_listini.trim();
|
||||
}
|
||||
//cerca se i listini trovati in GMC ci sono anche nello sheet dei figli
|
||||
TSheet_field& sf_righe = sfield(F_LISTINI_FIGLI);
|
||||
const int righe_sheet = sf_righe.items();
|
||||
fill_ricarichi_children_list();
|
||||
}
|
||||
break;
|
||||
|
||||
FOR_EACH_STR_TOKEN(lista_listini, str)
|
||||
{
|
||||
//controlla se il listino in grmerc (chiave) esiste in una delle righe dello sheet dei figli
|
||||
TToken_string chiave = lista_listini.get();
|
||||
TString4 catven = chiave.get(0);
|
||||
catven.trim();
|
||||
TString4 codlis = chiave.get(1);
|
||||
codlis.trim();
|
||||
for (int i = 0; i < righe_sheet; i++)
|
||||
{
|
||||
TToken_string& row = sf_righe.row(i);
|
||||
TString4 sh_catven = row.get(0);
|
||||
sh_catven.trim();
|
||||
TString4 sh_codlis = row.get(1);
|
||||
sh_codlis.trim();
|
||||
//se incredibilmente trova il listino di grmerc tra i figli prigionieri nello sheet setta il ricarico
|
||||
if (catven == sh_catven && codlis == sh_codlis)
|
||||
row.add(chiave.get(2), 2);
|
||||
|
||||
} //for(int i...
|
||||
} //FOR_EACH_STR_TOKEN
|
||||
sf_righe.force_update();
|
||||
} //if(lista_listini.full...
|
||||
//applica i cambiamenti dovuti ai ricarichi e salva questi ultimi in gmc
|
||||
case DLG_APPLICA:
|
||||
if (e == fe_button)
|
||||
{
|
||||
save_children_list();
|
||||
}
|
||||
break;
|
||||
default:
|
||||
@ -85,15 +185,9 @@ bool TAggiorna_listini_edit_mask::on_field_event(TOperable_field& o, TField_even
|
||||
return true;
|
||||
}
|
||||
|
||||
TAggiorna_listini_edit_mask::TAggiorna_listini_edit_mask(TMask* query_mask)
|
||||
: TAutomask("ve2700b"), _query_mask(query_mask)
|
||||
//metodo per aggiungere i figli allo sheet dei medesimi
|
||||
void TAggiorna_listini_edit_mask::fill_children_list()
|
||||
{
|
||||
//aggiorna campi listino padre
|
||||
set(F_FATHCATVEN, _query_mask->get(F_FATHCATVEN));
|
||||
set(F_FATHDESVEN, _query_mask->get(F_FATHDESVEN));
|
||||
set(F_FATHCODLIS, _query_mask->get(F_FATHCODLIS));
|
||||
set(F_FATHDESLIS, _query_mask->get(F_FATHDESLIS));
|
||||
|
||||
//disabilita se necessario la colonna della categoria di vendita (lo sheet serve comunque dopo!)
|
||||
TSheet_field& sf_righe = sfield(F_LISTINI_FIGLI);
|
||||
sf_righe.destroy();
|
||||
@ -130,10 +224,52 @@ TAggiorna_listini_edit_mask::TAggiorna_listini_edit_mask(TMask* query_mask)
|
||||
sf_righe.force_update();
|
||||
}
|
||||
|
||||
void TAggiorna_listini_edit_mask::aggiorna_listini_figli()
|
||||
//metodo per riempire lo sheet con i dati da aggiornare
|
||||
void TAggiorna_listini_edit_mask::fill_aggiorna_sheet()
|
||||
{
|
||||
//rinomina le colonne dello sheet di aggiornamento come il listino che rappresentano (fighissimo!)..
|
||||
//..secondo la solita catven+codlis; fa sparire le colonne che non servono. Ricordiamo infatti che..
|
||||
//...si posson avere al massimo 10 figli (controllo demografico sui listini)
|
||||
TSheet_field& sf_multilistini = sfield(F_MULTILISTINI);
|
||||
|
||||
TSheet_field& sf_figli = sfield(F_LISTINI_FIGLI);
|
||||
TString column_header;
|
||||
int num_of_columns = 2;
|
||||
FOR_EACH_SHEET_ROW(sf_figli, r, riga)
|
||||
{
|
||||
column_header.cut(0);
|
||||
column_header << riga->get(0) << " ";
|
||||
column_header.trim();
|
||||
column_header << riga->get(1);
|
||||
|
||||
sf_multilistini.set_column_header(r + 2, column_header);
|
||||
num_of_columns ++;
|
||||
}
|
||||
//cancella i figli in eccesso
|
||||
for( ;sf_multilistini.exist_column(num_of_columns); num_of_columns++)
|
||||
sf_multilistini.delete_column(num_of_columns);
|
||||
|
||||
//popola il double-deck sheet
|
||||
}
|
||||
|
||||
|
||||
TAggiorna_listini_edit_mask::TAggiorna_listini_edit_mask(TMask* query_mask)
|
||||
: TAutomask("ve2700b"), _query_mask(query_mask)
|
||||
{
|
||||
//aggiorna campi listino padre
|
||||
set(F_FATHCATVEN, _query_mask->get(F_FATHCATVEN));
|
||||
set(F_FATHDESVEN, _query_mask->get(F_FATHDESVEN));
|
||||
set(F_FATHCODLIS, _query_mask->get(F_FATHCODLIS));
|
||||
set(F_FATHDESLIS, _query_mask->get(F_FATHDESLIS));
|
||||
|
||||
//popola lo sheet dei listini figli
|
||||
fill_children_list();
|
||||
//e poi riempie lo sheet di aggiornamento dei figli
|
||||
fill_aggiorna_sheet();
|
||||
}
|
||||
|
||||
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// MASCHERA DI QUERY (seleziona il listino padre tra i listini con paternità)
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
@ -207,8 +343,7 @@ bool TAggiorna_listini_query_mask::on_field_event(TOperable_field& o, TField_eve
|
||||
|
||||
//lancia la maschera di edit
|
||||
TAggiorna_listini_edit_mask edit_mask(this); //gli passa la maschera principale
|
||||
if (edit_mask.run() == K_ENTER)
|
||||
edit_mask.aggiorna_listini_figli();
|
||||
edit_mask.run();
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
46
ve/ve2700.h
46
ve/ve2700.h
@ -10,8 +10,11 @@
|
||||
#define F_SOTGRMERC 206
|
||||
#define F_DESGRMERC 207
|
||||
#define F_LISTINI_FIGLI 208
|
||||
#define DLG_CHECKALL 209
|
||||
#define DLG_APPLICA 210
|
||||
#define DLG_ADDART 211
|
||||
|
||||
//#define F_MULTILISTINI 280
|
||||
#define F_MULTILISTINI 220
|
||||
|
||||
//primo sheet con i listini figli
|
||||
#define F_CATVEN 101
|
||||
@ -20,32 +23,15 @@
|
||||
#define F_DESLIS 104
|
||||
|
||||
//multi-terribile sheet dei multi-listini
|
||||
/*#define F_TIPORIGA 101
|
||||
#define F_CODRIGA_A 102
|
||||
#define F_DESRIGA_A 103
|
||||
#define F_CODRIGA_G 202
|
||||
#define F_DESRIGA_G 203
|
||||
#define F_CODRIGA_S 302
|
||||
#define F_DESRIGA_S 303
|
||||
#define F_CODRIGA_R 402
|
||||
#define F_DESRIGA_R 403
|
||||
#define F_PREZZO 104
|
||||
#define F_UM 105
|
||||
#define F_OLDPRZ1 106
|
||||
#define F_NEWPRZ1 107
|
||||
#define F_OLDPRZ2 108
|
||||
#define F_NEWPRZ2 109
|
||||
#define F_OLDPRZ3 110
|
||||
#define F_NEWPRZ3 111
|
||||
#define F_OLDPRZ4 112
|
||||
#define F_NEWPRZ4 113
|
||||
#define F_OLDPRZ5 114
|
||||
#define F_NEWPRZ5 115
|
||||
#define F_OLDPRZ6 116
|
||||
#define F_NEWPRZ6 117
|
||||
#define F_OLDPRZ7 118
|
||||
#define F_NEWPRZ7 119
|
||||
#define F_OLDPRZ8 120
|
||||
#define F_NEWPRZ8 121
|
||||
#define F_OLDPRZ9 122
|
||||
#define F_NEWPRZ9 123*/
|
||||
#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
|
||||
|
178
ve/ve2700b.uml
178
ve/ve2700b.uml
@ -4,21 +4,40 @@ TOOLBAR "Toolbar" 0 0 0 2
|
||||
|
||||
BUTTON DLG_SAVEREC 2 2
|
||||
BEGIN
|
||||
PROMPT 10 -1 "~Salva"
|
||||
PROMPT 1 1 "~Salva"
|
||||
PICTURE TOOL_SAVEREC
|
||||
END
|
||||
|
||||
BUTTON DLG_NULL 2 2
|
||||
BEGIN
|
||||
PROMPT 2 1 ""
|
||||
PICTURE 0
|
||||
END
|
||||
|
||||
BUTTON DLG_CHECKALL 2 2
|
||||
BEGIN
|
||||
PROMPT 3 1 "~Tutti"
|
||||
PICTURE TOOL_MULTISEL
|
||||
END
|
||||
|
||||
BUTTON DLG_APPLICA 2 2
|
||||
BEGIN
|
||||
PROMPT 4 1 "~Applica"
|
||||
PICTURE TOOL_CONVERT
|
||||
END
|
||||
|
||||
BUTTON DLG_ADDART 2 2
|
||||
BEGIN
|
||||
PROMPT 5 1 "A~ggiunge"
|
||||
PICTURE TOOL_IMPORT
|
||||
END
|
||||
|
||||
#include <cancelbar.h>
|
||||
|
||||
ENDPAGE
|
||||
|
||||
PAGE "Aggiornamento listini" 0 2 0 0
|
||||
|
||||
GROUPBOX DLG_NULL 78 4
|
||||
BEGIN
|
||||
PROMPT 0 0 "@bDati listino padre"
|
||||
END
|
||||
|
||||
LIST DLG_NULL 1 7
|
||||
BEGIN
|
||||
PROMPT 100 100 ""
|
||||
@ -30,31 +49,31 @@ END
|
||||
|
||||
STRING F_FATHCATVEN 2
|
||||
BEGIN
|
||||
PROMPT 1 1 "Cat. ven. "
|
||||
PROMPT 0 0 "@bDati listino padre "
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
STRING F_FATHDESVEN 50
|
||||
STRING F_FATHDESVEN 10
|
||||
BEGIN
|
||||
PROMPT 18 1 ""
|
||||
FLAGS "D"
|
||||
PROMPT 1 0 ""
|
||||
FLAGS "H"
|
||||
END
|
||||
|
||||
STRING F_FATHCODLIS 3
|
||||
BEGIN
|
||||
PROMPT 1 2 "Listino "
|
||||
PROMPT 23 0 ""
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
STRING F_FATHDESLIS 50
|
||||
STRING F_FATHDESLIS 50 48
|
||||
BEGIN
|
||||
PROMPT 18 2 ""
|
||||
PROMPT 27 0 ""
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
STRING F_GRMERC 3
|
||||
BEGIN
|
||||
PROMPT 1 4 "Gr. merc. "
|
||||
PROMPT 0 1 "Gr. merc. "
|
||||
FLAGS "U"
|
||||
USE GMC SELECT CODTAB[4,5] == ""
|
||||
INPUT CODTAB[1,3] F_GRMERC
|
||||
@ -68,7 +87,7 @@ END
|
||||
|
||||
STRING F_SOTGRMERC 5
|
||||
BEGIN
|
||||
PROMPT 20 4 ""
|
||||
PROMPT 19 1 ""
|
||||
FLAGS "U"
|
||||
USE GMC
|
||||
COPY INPUT F_GRMERC
|
||||
@ -82,9 +101,9 @@ BEGIN
|
||||
GROUP 2
|
||||
END
|
||||
|
||||
STRING F_DESGRMERC 50 45
|
||||
STRING F_DESGRMERC 50 48
|
||||
BEGIN
|
||||
PROMPT 28 4 ""
|
||||
PROMPT 27 1 ""
|
||||
USE GMC KEY 2
|
||||
INPUT S0 F_DESGRMERC
|
||||
DISPLAY "Descrizione@50" S0
|
||||
@ -97,24 +116,41 @@ END
|
||||
|
||||
TEXT DLG_NULL
|
||||
BEGIN
|
||||
PROMPT 1 5 "@bListini figli"
|
||||
PROMPT 1 2 "@bListini figli"
|
||||
END
|
||||
|
||||
SPREADSHEET F_LISTINI_FIGLI 78 4
|
||||
BEGIN
|
||||
PROMPT 0 6 "@bListini figli"
|
||||
PROMPT 0 3 "Listini figli"
|
||||
ITEM "Cat.Ven."
|
||||
ITEM "Codice"
|
||||
ITEM "Ricarico@8"
|
||||
ITEM "Descrizione@50"
|
||||
END
|
||||
|
||||
SPREADSHEET F_MULTILISTINI -1 -1
|
||||
BEGIN
|
||||
PROMPT 0 8 "Aggiornamento figli"
|
||||
ITEM "Descrizione\nArticolo@30"
|
||||
ITEM "U. M. \nPrezzo base@8"
|
||||
ITEM "Figlio 1@8"
|
||||
ITEM "Figlio 2@8"
|
||||
ITEM "Figlio 3@8"
|
||||
ITEM "Figlio 4@8"
|
||||
ITEM "Figlio 5@8"
|
||||
ITEM "Figlio 6@8"
|
||||
ITEM "Figlio 7@8"
|
||||
ITEM "Figlio 8@8"
|
||||
ITEM "Figlio 9@8"
|
||||
ITEM "Figlio 10@8"
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
|
||||
ENDMASK
|
||||
|
||||
/////////////////////////////////////////
|
||||
//maschera di riga
|
||||
////////////////////////////////////////////
|
||||
//maschera di riga sheet dei listini figli
|
||||
TOOLBAR "topbar" 0 0 0 2
|
||||
|
||||
BUTTON DLG_OK 10 2
|
||||
@ -146,8 +182,6 @@ BEGIN
|
||||
DISPLAY "Cat." CODTAB
|
||||
DISPLAY "Descrizione@50" S0
|
||||
OUTPUT F_CATVEN CODTAB
|
||||
//OUTPUT F_DESVEN S0
|
||||
//CHECKTYPE FORCED
|
||||
END
|
||||
|
||||
STRING F_CODLIS 3
|
||||
@ -169,4 +203,102 @@ END
|
||||
|
||||
ENDPAGE
|
||||
|
||||
ENDMASK
|
||||
|
||||
|
||||
///////////////////////////////////////////////
|
||||
//maschera di riga sheet aggiornamento listini
|
||||
TOOLBAR "topbar" 0 0 0 2
|
||||
|
||||
BUTTON DLG_OK 10 2
|
||||
BEGIN
|
||||
PROMPT -13 -1 ""
|
||||
END
|
||||
|
||||
BUTTON DLG_DELREC 10 2
|
||||
BEGIN
|
||||
PROMPT -23 -1 ""
|
||||
END
|
||||
|
||||
BUTTON DLG_CANCEL 10 2
|
||||
BEGIN
|
||||
PROMPT -33 -1 ""
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
|
||||
PAGE "Riga aggiornamento listini" -1 -1 78 22
|
||||
|
||||
STRING F_CODRIGA 50 20
|
||||
BEGIN
|
||||
PROMPT 1 1 "Codice "
|
||||
END
|
||||
|
||||
STRING F_PREZZO 8
|
||||
BEGIN
|
||||
PROMPT 1 2 "Prezzo "
|
||||
END
|
||||
|
||||
CURRENCY F_LIST1 8
|
||||
BEGIN
|
||||
PROMPT 1 4 "List1 "
|
||||
FLAGS "U"
|
||||
END
|
||||
|
||||
CURRENCY F_LIST2 8
|
||||
BEGIN
|
||||
PROMPT 1 5 "List2 "
|
||||
FLAGS "U"
|
||||
END
|
||||
|
||||
CURRENCY F_LIST3 8
|
||||
BEGIN
|
||||
PROMPT 1 6 "List3 "
|
||||
FLAGS "U"
|
||||
END
|
||||
|
||||
CURRENCY F_LIST4 8
|
||||
BEGIN
|
||||
PROMPT 1 7 "List4 "
|
||||
FLAGS "U"
|
||||
END
|
||||
|
||||
CURRENCY F_LIST5 8
|
||||
BEGIN
|
||||
PROMPT 1 8 "List5 "
|
||||
FLAGS "U"
|
||||
END
|
||||
|
||||
CURRENCY F_LIST6 8
|
||||
BEGIN
|
||||
PROMPT 1 9 "List6 "
|
||||
FLAGS "U"
|
||||
END
|
||||
|
||||
CURRENCY F_LIST7 8
|
||||
BEGIN
|
||||
PROMPT 1 10 "List7 "
|
||||
FLAGS "U"
|
||||
END
|
||||
|
||||
CURRENCY F_LIST8 8
|
||||
BEGIN
|
||||
PROMPT 1 11 "List8 "
|
||||
FLAGS "U"
|
||||
END
|
||||
|
||||
CURRENCY F_LIST9 8
|
||||
BEGIN
|
||||
PROMPT 1 12 "List9 "
|
||||
FLAGS "U"
|
||||
END
|
||||
|
||||
CURRENCY F_LIST10 8
|
||||
BEGIN
|
||||
PROMPT 1 13 "List10 "
|
||||
FLAGS "U"
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
|
||||
ENDMASK
|
@ -282,6 +282,7 @@ BEGIN
|
||||
ITEM "Listino"
|
||||
ITEM "Ricarico"
|
||||
ITEM "Descrizione@50"
|
||||
FLAGS "|"
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
|
Loading…
x
Reference in New Issue
Block a user