Patch level :
Files correlati : Ricompilazione Demo : [ ] Commento : listini-contratti-offerte comprensibili git-svn-id: svn://10.65.10.50/branches/R_10_00@21054 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
f18c9a1569
commit
2da88fff15
348
ve/ve2500.cpp
348
ve/ve2500.cpp
@ -15,6 +15,34 @@
|
||||
#include "ve2500a.h"
|
||||
#include "ve2500b.h"
|
||||
|
||||
|
||||
const TString& build_query(const char tipo)
|
||||
{
|
||||
TString& query = get_tmp_string();
|
||||
query << "USE RCONDV";
|
||||
switch (tipo)
|
||||
{
|
||||
case 'C':
|
||||
{
|
||||
query << "\nFROM TIPO=C TIPOCF=#TIPOCF CODCF=#CODCF COD=#COD";
|
||||
query << "\nTO TIPO=C TIPOCF=#TIPOCF CODCF=#CODCF COD=#COD";
|
||||
}
|
||||
break;
|
||||
case 'O':
|
||||
{
|
||||
query << "\nFROM TIPO=O COD=#COD";
|
||||
query << "\nTO TIPO=O COD=#COD";
|
||||
}
|
||||
break;
|
||||
default: //il default è 'L', listini
|
||||
{
|
||||
query << "\nFROM TIPO=L CATVEN=#CATVEN COD=#COD";
|
||||
query << "\nTO TIPO=L CATVEN=#CATVEN COD=#COD";
|
||||
}
|
||||
break;
|
||||
}
|
||||
return query;
|
||||
}
|
||||
////////////////////////////////////////////////////////////////////
|
||||
// MASCHERA SECONDARIA DI GENERAZIONE LISTINO
|
||||
////////////////////////////////////////////////////////////////////
|
||||
@ -31,7 +59,7 @@ protected:
|
||||
public:
|
||||
void crea_listino();
|
||||
virtual bool on_field_event(TOperable_field& o, TField_event e, long jolly);
|
||||
TGestione_listini_semplice_mask_genera(TMask* main_mask);
|
||||
TGestione_listini_semplice_mask_genera(TMask* main_mask, const TString& mask_name);
|
||||
};
|
||||
|
||||
|
||||
@ -40,12 +68,12 @@ bool TGestione_listini_semplice_mask_genera::on_field_event(TOperable_field& o,
|
||||
return true;
|
||||
}
|
||||
|
||||
TGestione_listini_semplice_mask_genera::TGestione_listini_semplice_mask_genera(TMask* main_mask)
|
||||
: TAutomask("ve2500b"), _main_mask(main_mask)
|
||||
TGestione_listini_semplice_mask_genera::TGestione_listini_semplice_mask_genera(TMask* main_mask, const TString& mask_name)
|
||||
: TAutomask(mask_name), _main_mask(main_mask)
|
||||
{
|
||||
const bool gesliscv = ini_get_bool(CONFIG_DITTA, "ve", "GESLISCV");
|
||||
enable(FB_CATVEN, gesliscv);
|
||||
enable(FB_DESVEN, gesliscv);
|
||||
enable(FB_L_CATVEN, gesliscv);
|
||||
enable(FB_L_DESVEN, gesliscv);
|
||||
}
|
||||
|
||||
// COPIA LISTINO
|
||||
@ -76,18 +104,62 @@ int TGestione_listini_semplice_mask_genera::find_art_in_sheet(const char tipo, c
|
||||
//metodo per la copia da un listino esistente
|
||||
void TGestione_listini_semplice_mask_genera::copia_listino()
|
||||
{
|
||||
//parametri listino origine
|
||||
const TString& ori_catven = get(FB_CATVEN);
|
||||
const TString& ori_codlis = get(FB_COD);
|
||||
//inizializza il tipo di condv che serve ('L'istino, 'C'ontratto, 'O'fferta)
|
||||
char tipo = main_app().argv(2)[0];
|
||||
tipo = toupper(tipo);
|
||||
|
||||
//parametri listino/contratto/offerta origine
|
||||
TString4 ori_catven;
|
||||
char ori_tipocf;
|
||||
long ori_codcf;
|
||||
|
||||
switch (tipo)
|
||||
{
|
||||
case 'C':
|
||||
ori_tipocf = get(FB_C_TIPOCF)[0];
|
||||
ori_codcf = get_long(FB_C_CODCF);
|
||||
break;
|
||||
case 'O':
|
||||
break;
|
||||
default: //il default è 'L'
|
||||
ori_catven = get(FB_L_CATVEN);
|
||||
break;
|
||||
}
|
||||
|
||||
//parametri comuni
|
||||
const TString& ori_condv = get(FB_COD);
|
||||
const real ricarico = get_real(FB_RICARICO);
|
||||
|
||||
//vanno fuori dall'if(get_bool(FB_COPIATESTA)) perchè rec_ori_testata serve in seguito! (che schifo!)
|
||||
TToken_string key;
|
||||
key.add("L");
|
||||
key.add(ori_catven);
|
||||
key.add("");
|
||||
key.add("");
|
||||
key.add(ori_codlis);
|
||||
key.add(tipo);
|
||||
|
||||
switch(tipo)
|
||||
{
|
||||
case 'C':
|
||||
{
|
||||
key.add("");
|
||||
key.add(ori_tipocf);
|
||||
key.add(ori_codcf);
|
||||
}
|
||||
break;
|
||||
case 'O':
|
||||
{
|
||||
key.add("");
|
||||
key.add("");
|
||||
key.add("");
|
||||
}
|
||||
break;
|
||||
default: //'L', come sopra
|
||||
{
|
||||
key.add(ori_catven);
|
||||
key.add("");
|
||||
key.add("");
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
key.add(ori_condv);
|
||||
const TRectype& rec_ori_testata = cache().get(LF_CONDV, key);
|
||||
|
||||
//TESTATA
|
||||
@ -106,24 +178,35 @@ void TGestione_listini_semplice_mask_genera::copia_listino()
|
||||
|
||||
//RIGHE
|
||||
//prende il recordset delle righe del listino origine e lo mette sullo sheet
|
||||
TString query;
|
||||
query << "USE RCONDV\n";
|
||||
query << "FROM TIPO=L CATVEN=#CATVEN COD=#COD\n";
|
||||
query << "TO TIPO=L CATVEN=#CATVEN COD=#COD\n";
|
||||
TISAM_recordset righe(build_query(tipo)); //la build query è un metodo dell'altra maschera (A)
|
||||
switch (tipo)
|
||||
{
|
||||
case 'C':
|
||||
{
|
||||
TString4 str_tipocf;
|
||||
str_tipocf << ori_tipocf;
|
||||
righe.set_var("#TIPOCF", str_tipocf);
|
||||
righe.set_var("#CODCF", ori_codcf);
|
||||
}
|
||||
break;
|
||||
case 'O':
|
||||
break;
|
||||
default: //il default è 'L'
|
||||
righe.set_var("#CATVEN", ori_catven);
|
||||
break;
|
||||
}
|
||||
|
||||
TISAM_recordset righe_listino(query);
|
||||
righe_listino.set_var("#CATVEN", ori_catven);
|
||||
righe_listino.set_var("#COD", ori_codlis);
|
||||
righe.set_var("#COD", ori_condv);
|
||||
|
||||
const long righe_listino_items = righe_listino.items();
|
||||
TProgind pi(righe_listino_items, TR("Copia righe listino origine..."), true, true);
|
||||
const long righe_items = righe.items();
|
||||
TProgind pi(righe_items, TR("Copia righe origine..."), true, true);
|
||||
|
||||
//sheet righe listino da riempire nella maschera principale
|
||||
TSheet_field& sf_righe = _main_mask->sfield(FA_RIGHE);
|
||||
TMask& msk = sf_righe.sheet_mask();
|
||||
|
||||
//record corrente del recordset (non const perchè la modifica eventualmente causa ricarico)
|
||||
TRectype& riga_corrente = righe_listino.cursor()->curr();
|
||||
TRectype& riga_corrente = righe.cursor()->curr();
|
||||
TString80 val;
|
||||
|
||||
//alcune date utili nelle righe; prese qui perchè vengono dalla testata o dalla maschera e sono poi riportate..
|
||||
@ -136,7 +219,7 @@ void TGestione_listini_semplice_mask_genera::copia_listino()
|
||||
data_prz_storico = data_ult_aum - 1L;
|
||||
|
||||
//scorre tutte le righe listino del recordset e le sbatte nello sheet della maschera principale
|
||||
for (bool ok = righe_listino.move_first(); ok; ok = righe_listino.move_next())
|
||||
for (bool ok = righe.move_first(); ok; ok = righe.move_next())
|
||||
{
|
||||
if (!pi.addstatus(1))
|
||||
break;
|
||||
@ -299,27 +382,50 @@ void TGestione_listini_semplice_mask_genera::crea_listino()
|
||||
////////////////////////////////////////////////////////////////////
|
||||
class TGestione_listini_semplice_mask: public TAutomask
|
||||
{
|
||||
|
||||
int _pos_tipo, _pos_art, _pos_desc, _pos_um;
|
||||
protected:
|
||||
virtual bool on_field_event(TOperable_field& o, TField_event e, long jolly);
|
||||
|
||||
public:
|
||||
int find_art(TSheet_field& s, const char tipo, const TString& art, const int tranne = -1) const;
|
||||
int find_art(TSheet_field& s, const char tipo, const TString& art, const TString& um, const int tranne = -1) const;
|
||||
int guess_art(TSheet_field& s, const char tipo, const TString& art, const int column) const;
|
||||
TGestione_listini_semplice_mask();
|
||||
TGestione_listini_semplice_mask(const TString& mask_name);
|
||||
|
||||
};
|
||||
|
||||
|
||||
TGestione_listini_semplice_mask::TGestione_listini_semplice_mask() : TAutomask("ve2500a")
|
||||
TGestione_listini_semplice_mask::TGestione_listini_semplice_mask(const TString& mask_name) : TAutomask(mask_name)
|
||||
{
|
||||
//in base alla cervellotica configurazione impostata dall'utonto abilita/disabilita campi
|
||||
const bool gesliscv = ini_get_bool(CONFIG_DITTA, "ve", "GESLISCV");
|
||||
enable(FA_L_CATVEN, gesliscv);
|
||||
enable(FA_L_DESVEN, gesliscv);
|
||||
//attenzione!!! il campo CATVEN è in chiave 1! per disabilitarlo ci vuole questo trucco!
|
||||
if (!gesliscv)
|
||||
efield(FA_L_CATVEN).reset_key(1);
|
||||
//assegna le posizioni delle colonne dello sheet
|
||||
TSheet_field& sf_righe = sfield(FA_RIGHE);
|
||||
_pos_tipo = sf_righe.cid2index(S_TIPORIGA); //0
|
||||
_pos_art = sf_righe.cid2index(S_CODRIGA_A); //1
|
||||
_pos_desc = sf_righe.cid2index(S_DESRIGA_A); //2
|
||||
_pos_um = sf_righe.cid2index(S_UM); //4
|
||||
|
||||
//inizializza il tipo di condv che serve ('L'istino, 'C'ontratto, 'O'fferta)
|
||||
char tipo = main_app().argv(2)[0];
|
||||
tipo = toupper(tipo);
|
||||
|
||||
switch (tipo)
|
||||
{
|
||||
case 'C':
|
||||
break;
|
||||
case 'O':
|
||||
break;
|
||||
default: //il default è L
|
||||
{
|
||||
//in base alla cervellotica configurazione impostata dall'utonto abilita/disabilita campi
|
||||
const bool gesliscv = ini_get_bool(CONFIG_DITTA, "ve", "GESLISCV");
|
||||
enable(FA_L_CATVEN, gesliscv);
|
||||
enable(FA_L_DESVEN, gesliscv);
|
||||
//attenzione!!! il campo CATVEN è in chiave 1! per disabilitarlo ci vuole questo trucco!
|
||||
if (!gesliscv)
|
||||
efield(FA_L_CATVEN).reset_key(1);
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
//metodo per la ricerca al volo di un articolo (serve per posizionare il cursore sullo sheet in tempo reale..
|
||||
@ -330,7 +436,7 @@ int TGestione_listini_semplice_mask::guess_art(TSheet_field& s, const char tipo,
|
||||
int i = -1;
|
||||
FOR_EACH_SHEET_ROW(s, r, row)
|
||||
{
|
||||
const char tiporiga = row->get_char(0);
|
||||
const char tiporiga = row->get_char(_pos_tipo);
|
||||
const TString& cod = row->get(column);
|
||||
if (tipo == tiporiga && cod.starts_with(art, true))
|
||||
{
|
||||
@ -344,7 +450,7 @@ int TGestione_listini_semplice_mask::guess_art(TSheet_field& s, const char tipo,
|
||||
//metodo che restituisce l'indice della riga dello sheet che contiene
|
||||
//la coppia tipo-articolo desiderata (-1 se non lo trova)
|
||||
int TGestione_listini_semplice_mask::find_art(TSheet_field& s, const char tipo, const TString& art,
|
||||
const int tranne) const
|
||||
const TString& um, const int tranne) const
|
||||
{
|
||||
int i = -1;
|
||||
//tranne serve per evitare una riga specifica;di default è posto =-1 perchè non si usa
|
||||
@ -352,10 +458,11 @@ int TGestione_listini_semplice_mask::find_art(TSheet_field& s, const char tipo,
|
||||
{
|
||||
if (r != tranne)
|
||||
{
|
||||
const char tiporiga = row->get_char(0);
|
||||
const char* codart = row->get(1);
|
||||
|
||||
if (tipo == tiporiga && art == codart)
|
||||
const char tiporiga = row->get_char(_pos_tipo);
|
||||
const char* codart = row->get(_pos_art);
|
||||
TString4 umart = row->get(_pos_um);
|
||||
umart.trim();
|
||||
if (tipo == tiporiga && art == codart && um == umart)
|
||||
{
|
||||
i = r;
|
||||
break;
|
||||
@ -456,9 +563,11 @@ bool TGestione_listini_semplice_mask::on_field_event(TOperable_field &o, TField_
|
||||
{
|
||||
TSheet_field& sf_righe = sfield(FA_RIGHE);
|
||||
TToken_string& riga = sf_righe.row(jolly);
|
||||
const char tipo = riga.get_char(0);
|
||||
const TString& art = riga.get(1);
|
||||
const long found_riga = find_art(sf_righe, tipo, art, jolly);
|
||||
const char tipo = riga.get_char(_pos_tipo);
|
||||
const TString& art = riga.get(_pos_art);
|
||||
TString4 umart = riga.get(_pos_um);
|
||||
umart.trim();
|
||||
const long found_riga = find_art(sf_righe, tipo, art, umart, jolly);
|
||||
if (found_riga >= 0)
|
||||
return error_box(TR("Non è possibile inserire lo stesso articolo più di una volta!"));
|
||||
}
|
||||
@ -466,8 +575,8 @@ bool TGestione_listini_semplice_mask::on_field_event(TOperable_field &o, TField_
|
||||
{
|
||||
TSheet_field& sf_righe = sfield(FA_RIGHE);
|
||||
TToken_string& riga = sf_righe.row(jolly);
|
||||
const char tipo = riga.get_char(0);
|
||||
const TString& art = riga.get(1);
|
||||
const char tipo = riga.get_char(_pos_tipo);
|
||||
const TString& art = riga.get(_pos_art);
|
||||
|
||||
if (get(FA_TIPO)[0] != tipo)
|
||||
set(FA_TIPO, tipo, 0x1); //0x1 perchè ha dei message e non degli output
|
||||
@ -509,7 +618,6 @@ bool TGestione_listini_semplice_mask::on_field_event(TOperable_field &o, TField_
|
||||
{
|
||||
TISAM_recordset gmc_recset("USE GMC");
|
||||
|
||||
//TCursor_sheet cs(gmc_recset.cursor(), "CODTAB|S0", TR("Gruppi merceologici"), HR("Gr.Merc.|Descrizione@50"), 0, 0, win());
|
||||
TToken_string siblings;
|
||||
TBrowse_sheet cs (gmc_recset.cursor(), "CODTAB|S0", TR("Gruppi merceologici"), HR("Gr.Merc.|Descrizione@50"), 0,
|
||||
efield(FA_GRMERC_A), siblings);
|
||||
@ -530,10 +638,15 @@ bool TGestione_listini_semplice_mask::on_field_event(TOperable_field &o, TField_
|
||||
}
|
||||
}
|
||||
break;
|
||||
case DLG_CREA: //copia / generazione listino
|
||||
case DLG_CREA: //copia / generazione listino,contratto,offerta
|
||||
if (e == fe_button)
|
||||
{
|
||||
TGestione_listini_semplice_mask_genera mask_gen(this); //gli passa la maschera principale
|
||||
char tipo = main_app().argv(2)[0];
|
||||
tipo = toupper(tipo);
|
||||
TString16 mask_name;
|
||||
mask_name << "ve2500b" << tipo;
|
||||
//gli passa la maschera principale ed il nome della maschera di generazione in base al tipo di condv in esame
|
||||
TGestione_listini_semplice_mask_genera mask_gen(this, mask_name);
|
||||
if (mask_gen.run() == K_ENTER)
|
||||
mask_gen.crea_listino();
|
||||
}
|
||||
@ -544,10 +657,10 @@ bool TGestione_listini_semplice_mask::on_field_event(TOperable_field &o, TField_
|
||||
TSheet_field& sf_righe = sfield(FA_RIGHE);
|
||||
FOR_EACH_SHEET_ROW_BACK(sf_righe, r, row) //deve andare all'indietro per minimizzare il riordino righe
|
||||
{
|
||||
if (row->get_char(2) <= ' ') //le righe senza descrizione sono sbagliate (è obbligatoria per articoli ecc.)
|
||||
if (row->get_char(_pos_desc) <= ' ') //le righe senza descrizione sono sbagliate (è obbligatoria per articoli ecc.)
|
||||
{
|
||||
bool kill_row = true;
|
||||
if (row->get_char(0) == 'A') //solo se è un articolo tenta di recuperarlo con il codice alternativo..(mah?)
|
||||
if (row->get_char(_pos_tipo) == 'A') //solo se è un articolo tenta di recuperarlo con il codice alternativo..(mah?)
|
||||
{
|
||||
TLocalisamfile file_codcorr(LF_CODCORR);
|
||||
file_codcorr.setkey(2);
|
||||
@ -586,10 +699,10 @@ class TGestione_listini_semplice : public TRelation_application
|
||||
{
|
||||
TGestione_listini_semplice_mask *_mask;
|
||||
TRelation* _rel;
|
||||
char _tipo;
|
||||
|
||||
private:
|
||||
void save_rows();
|
||||
TString build_query() const;
|
||||
|
||||
protected:
|
||||
virtual bool user_create();
|
||||
@ -620,6 +733,7 @@ public:
|
||||
|
||||
|
||||
|
||||
|
||||
void TGestione_listini_semplice::save_rows()
|
||||
{
|
||||
TWait_cursor hourglass;
|
||||
@ -627,8 +741,20 @@ void TGestione_listini_semplice::save_rows()
|
||||
//attenzione!!! fatto questo casino per poter usare la find_art() che è un metodo della maschera listini
|
||||
const TGestione_listini_semplice_mask& m = *_mask;
|
||||
//instanzio un TISAM_recordset sulle righe listino e un localisamfile
|
||||
TISAM_recordset righelist(build_query());
|
||||
righelist.set_var("#CATVEN", m.get(FA_L_CATVEN));
|
||||
TISAM_recordset righelist(build_query(_tipo));
|
||||
switch (_tipo)
|
||||
{
|
||||
case 'C':
|
||||
righelist.set_var("#TIPOCF", m.get(FA_C_TIPOCF));
|
||||
righelist.set_var("#CODCF", m.get(FA_C_CODCF));
|
||||
break;
|
||||
case 'O':
|
||||
break;
|
||||
default: //il default è 'L'
|
||||
righelist.set_var("#CATVEN", m.get(FA_L_CATVEN));
|
||||
break;
|
||||
}
|
||||
|
||||
righelist.set_var("#COD", m.get(FA_COD));
|
||||
|
||||
const long righelist_items = righelist.items();
|
||||
@ -641,10 +767,11 @@ void TGestione_listini_semplice::save_rows()
|
||||
//scorro tutte le righe listino ed elimino tutte quelle che non ci sono più sullo sheet (modifiche utonto)
|
||||
for (bool ok = righelist.move_first(); ok; ok = righelist.move_next())
|
||||
{
|
||||
const char tiporiga = righelist.get("TIPORIGA").as_string()[0];
|
||||
const char tiporiga = righelist.get(RCONDV_TIPORIGA).as_string()[0];
|
||||
|
||||
const TString& art = righelist.get("CODRIGA").as_string();
|
||||
if (m.find_art(righe, tiporiga, art) < 0)
|
||||
const TString& art = righelist.get(RCONDV_CODRIGA).as_string();
|
||||
const TString& umart = righelist.get(RCONDV_UM).as_string();
|
||||
if (m.find_art(righe, tiporiga, art, umart) < 0)
|
||||
file.remove();
|
||||
}
|
||||
|
||||
@ -652,7 +779,22 @@ void TGestione_listini_semplice::save_rows()
|
||||
//-----------------------------------------
|
||||
|
||||
//per prima cosa servono i dati di testata utili per riempire la chiave di riga listino
|
||||
const TString& catven = m.get(FA_L_CATVEN);
|
||||
char tipocf;
|
||||
long codcf;
|
||||
TString4 catven;
|
||||
switch (_tipo)
|
||||
{
|
||||
case 'C':
|
||||
tipocf = m.get(FA_C_TIPOCF)[0];
|
||||
codcf = m.get_long(FA_C_CODCF);
|
||||
break;
|
||||
case 'O':
|
||||
break;
|
||||
default: //il default è 'L'
|
||||
catven = m.get(FA_L_CATVEN);
|
||||
break;
|
||||
}
|
||||
|
||||
const TString& cod = m.get(FA_COD);
|
||||
|
||||
//recupero la maschera di riga
|
||||
@ -662,8 +804,21 @@ void TGestione_listini_semplice::save_rows()
|
||||
FOR_EACH_SHEET_ROW(righe, r, row)
|
||||
{
|
||||
file.zero();
|
||||
file.put(RCONDV_TIPO, "L");
|
||||
file.put(RCONDV_CATVEN, catven);
|
||||
file.put(RCONDV_TIPO, _tipo);
|
||||
|
||||
switch (_tipo)
|
||||
{
|
||||
case 'C':
|
||||
file.put(RCONDV_TIPOCF, tipocf);
|
||||
file.put(RCONDV_CODCF, codcf);
|
||||
break;
|
||||
case 'O':
|
||||
break;
|
||||
default: //il default è 'L'
|
||||
file.put(RCONDV_CATVEN, catven);
|
||||
break;
|
||||
}
|
||||
|
||||
file.put(RCONDV_COD, cod);
|
||||
|
||||
//per ogni campo della maschera setta all'interno del record corrente di file
|
||||
@ -708,6 +863,8 @@ const TString& TGestione_listini_semplice::find_descr(TToken_string& row)
|
||||
bool TGestione_listini_semplice::protected_record(TRectype& rec)
|
||||
{
|
||||
//non deve consentire l'eliminazione di un listino se ha dei figli da mantenere!
|
||||
//SOLO i listini possono avere la disgrazia della paternità, quindi il controllo non si..
|
||||
//..estende per ora a contratti ed offerte
|
||||
TString query;
|
||||
query << "USE CONDV\n";
|
||||
query << "SELECT (FATHCATVEN=#CATVEN)&&(FATHCOD=#COD)\n";
|
||||
@ -720,15 +877,6 @@ bool TGestione_listini_semplice::protected_record(TRectype& rec)
|
||||
return figli.items() > 0;
|
||||
}
|
||||
|
||||
TString TGestione_listini_semplice::build_query() const
|
||||
{
|
||||
TString query;
|
||||
query << "USE RCONDV\n";
|
||||
query << "FROM TIPO=L CATVEN=#CATVEN COD=#COD\n";
|
||||
query << "TO TIPO=L CATVEN=#CATVEN COD=#COD\n";
|
||||
|
||||
return query;
|
||||
}
|
||||
|
||||
int TGestione_listini_semplice::read(TMask& m)
|
||||
{
|
||||
@ -739,8 +887,20 @@ int TGestione_listini_semplice::read(TMask& m)
|
||||
{
|
||||
TWait_cursor hourglass;
|
||||
//instanzio un TISAM_recordset sulle righe listino (RCONDV)
|
||||
TISAM_recordset righelist(build_query());
|
||||
righelist.set_var("#CATVEN", m.get(FA_L_CATVEN));
|
||||
TISAM_recordset righelist(build_query(_tipo));
|
||||
switch (_tipo)
|
||||
{
|
||||
case 'C':
|
||||
righelist.set_var("#TIPOCF", m.get(FA_C_TIPOCF));
|
||||
righelist.set_var("#CODCF", m.get(FA_C_CODCF));
|
||||
break;
|
||||
case 'O':
|
||||
break;
|
||||
default: //il default è 'L'
|
||||
righelist.set_var("#CATVEN", m.get(FA_L_CATVEN));
|
||||
break;
|
||||
}
|
||||
|
||||
righelist.set_var("#COD", m.get(FA_COD));
|
||||
|
||||
const long righelist_items = righelist.items();
|
||||
@ -807,8 +967,20 @@ bool TGestione_listini_semplice::remove()
|
||||
//vanno rimosse prima le righe poi la testata (nucleare?)
|
||||
const TRectype& rec_head = get_relation()->curr();
|
||||
|
||||
TISAM_recordset righelist(build_query());
|
||||
righelist.set_var("#CATVEN", rec_head.get(RCONDV_CATVEN));
|
||||
TISAM_recordset righelist(build_query(_tipo));
|
||||
switch (_tipo)
|
||||
{
|
||||
case 'C':
|
||||
righelist.set_var("#TIPOCF", rec_head.get(RCONDV_TIPOCF));
|
||||
righelist.set_var("#CODCF", rec_head.get(RCONDV_CODCF));
|
||||
break;
|
||||
case 'O':
|
||||
break;
|
||||
default: //il default è 'L'
|
||||
righelist.set_var("#CATVEN", rec_head.get(RCONDV_CATVEN));
|
||||
break;
|
||||
}
|
||||
|
||||
righelist.set_var("#COD", rec_head.get(RCONDV_COD));
|
||||
const long righelist_items = righelist.items();
|
||||
TProgind pi(righelist_items, TR("Eliminazione righe listino..."), true, true);
|
||||
@ -870,13 +1042,13 @@ void TGestione_listini_semplice::mask2ini(const TMask& m, TConfig& ini)
|
||||
query << "\nTO TIPO=#TIPO CATVEN=#CATVEN TIPOCF=#TCF CODCF=#CODCF COD=#COD";
|
||||
TISAM_recordset rcondv(query);
|
||||
|
||||
const TString& tipo = m.get(CONDV_TIPO);
|
||||
TString4 tipo(_tipo);
|
||||
rcondv.set_var("#TIPO", tipo);
|
||||
if (tipo == "L")
|
||||
if (_tipo == 'L')
|
||||
rcondv.set_var("#CATVEN", m.get(CONDV_CATVEN));
|
||||
else
|
||||
rcondv.set_var("#CATVEN", "");
|
||||
if (tipo == "C")
|
||||
if (_tipo == 'C')
|
||||
{
|
||||
rcondv.set_var("#TCF", m.get(CONDV_TIPOCF));
|
||||
rcondv.set_var("#CODCF", m.get(CONDV_CODCF));
|
||||
@ -934,12 +1106,34 @@ bool TGestione_listini_semplice::user_create()
|
||||
if (!dninst.can_I_run(true))
|
||||
return error_box(TR("Programma non autorizzato!"));
|
||||
|
||||
//decide il tipo di condizione di vendita: 'L'istino, 'C'ontratto 'O'fferta
|
||||
_tipo = 'L';
|
||||
if (argc() > 2) //se la chiamata ha un parametro ulteriore ('ve2 -4 c', ad esempio)..
|
||||
{
|
||||
TFilename trans = argv(2); //..prende il parametro ulteriore
|
||||
if (trans.len() == 1) //se è lungo 1 -> chiamata da menu...
|
||||
_tipo = trans[0];
|
||||
else
|
||||
{
|
||||
trans.ltrim(2); //..sennò chiamata interattiva con file .ini
|
||||
if (trans.exist())
|
||||
{
|
||||
TConfig ini(trans, "52");
|
||||
_tipo = ini.get_char("TIPO");
|
||||
}
|
||||
}
|
||||
_tipo = toupper(_tipo);
|
||||
}
|
||||
|
||||
_rel = new TRelation(LF_CONDV);
|
||||
|
||||
//attenzione!! questo è il parametro per avere la lunghezza del numero riga sullo sheet
|
||||
TSheet_field::set_line_number_width(5);
|
||||
|
||||
_mask = new TGestione_listini_semplice_mask;
|
||||
//super-attenzione! la maschera da caricare viene decisa in base al tipo di condizione di vendita
|
||||
TString16 mask_name;
|
||||
mask_name << "ve2500a" << _tipo;
|
||||
_mask = new TGestione_listini_semplice_mask(mask_name);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
98
ve/ve2500a.h
98
ve/ve2500a.h
@ -1,50 +1,64 @@
|
||||
//maschera gestione listini comprensibile
|
||||
#define FA_TIPO 200
|
||||
#define FA_L_CATVEN 201
|
||||
#define FA_L_DESVEN 202
|
||||
#define FA_COD 203
|
||||
#define FA_DESCR 204
|
||||
#define FA_VALINI 205
|
||||
#define FA_VALFIN 206
|
||||
#define FA_TIPORIGA 207
|
||||
#define FA_CODRIGA_A 208
|
||||
#define FA_DESRIGA_A 209
|
||||
#define FA_CODRIGA_G 210
|
||||
#define FA_DESRIGA_G 211
|
||||
#define FA_CODRIGA_S 212
|
||||
#define FA_DESRIGA_S 213
|
||||
#define FA_CODRIGA_R 214
|
||||
#define FA_DESRIGA_R 215
|
||||
//Istruzioni per un uso corretto
|
||||
//------------------------------
|
||||
//_L_ -> campo solo 'L'istini -> ve2500l.uml
|
||||
//_C_ -> campo solo 'C'ontratti -> ve2500c.uml
|
||||
//_O_ -> campo solo 'O'fferte -> ve2500o.uml
|
||||
//tutti gli altri campi stanno in ve2500x.uml
|
||||
|
||||
#define FA_GRMERC_A 216
|
||||
#define FA_SOTGRMERC_A 217
|
||||
#define FA_DESGRMERC_A 218
|
||||
#define DLG_GRMERC 219
|
||||
//in caso di modifiche seguire sempre queste istruzioni..
|
||||
//..e non fare le cose alla cazzo, grazie!
|
||||
|
||||
#define FA_RIGHE 220
|
||||
#define FA_TIPO 200
|
||||
#define FA_L_CATVEN 201
|
||||
#define FA_L_DESVEN 202
|
||||
#define FA_C_TIPOCF 203
|
||||
#define FA_C_CODCF 204
|
||||
#define FA_C_DESCF 205
|
||||
#define FA_COD 208
|
||||
#define FA_DESCR 209
|
||||
#define FA_VALINI 210
|
||||
#define FA_VALFIN 211
|
||||
#define FA_C_OBBL 212
|
||||
#define FA_TIPORIGA 213
|
||||
#define FA_CODRIGA_A 214
|
||||
#define FA_DESRIGA_A 215
|
||||
#define FA_CODRIGA_G 216
|
||||
#define FA_DESRIGA_G 217
|
||||
#define FA_CODRIGA_S 218
|
||||
#define FA_DESRIGA_S 219
|
||||
#define FA_CODRIGA_R 220
|
||||
#define FA_DESRIGA_R 221
|
||||
|
||||
#define FA_CODVAL 227
|
||||
#define FA_CAMBIO 228
|
||||
#define FA_CONTROEURO 229
|
||||
#define FA_DATACAM 230
|
||||
#define FA_GESTSCAGL 231
|
||||
#define FA_DECIMALI 232
|
||||
#define FA_SEQRIC_1 233
|
||||
#define FA_SEQRIC_2 234
|
||||
#define FA_SEQRIC_3 235
|
||||
#define FA_SEQRIC_4 236
|
||||
#define FA_IMPLORDI 237
|
||||
#define FA_GESTUM 238
|
||||
#define FA_GESTSCO 239
|
||||
#define FA_L_CODSUCC 240
|
||||
#define FA_L_DESSUCC 241
|
||||
#define FA_L_FATHCATVEN 242
|
||||
#define FA_L_FATHDESVEN 243
|
||||
#define FA_L_FATHCOD 244
|
||||
#define FA_L_FATHDESCR 245
|
||||
#define FA_L_ARROTONDA 246
|
||||
#define FA_GRMERC_A 222
|
||||
#define FA_SOTGRMERC_A 223
|
||||
#define FA_DESGRMERC_A 224
|
||||
#define DLG_GRMERC 225
|
||||
|
||||
//campi dello sheet delle righe
|
||||
#define FA_RIGHE 230
|
||||
|
||||
#define FA_CODVAL 231
|
||||
#define FA_CAMBIO 232
|
||||
#define FA_CONTROEURO 233
|
||||
#define FA_DATACAM 234
|
||||
#define FA_GESTSCAGL 235
|
||||
#define FA_DECIMALI 236
|
||||
#define FA_SEQRIC_1 240
|
||||
#define FA_SEQRIC_2 241
|
||||
#define FA_SEQRIC_3 242
|
||||
#define FA_SEQRIC_4 243
|
||||
#define FA_IMPLORDI 244
|
||||
#define FA_GESTUM 245
|
||||
#define FA_GESTSCO 246
|
||||
#define FA_L_CODSUCC 250
|
||||
#define FA_L_DESSUCC 251
|
||||
#define FA_L_FATHCATVEN 252
|
||||
#define FA_L_FATHDESVEN 253
|
||||
#define FA_L_FATHCOD 254
|
||||
#define FA_L_FATHDESCR 255
|
||||
#define FA_L_ARROTONDA 256
|
||||
|
||||
//campi dello sheet delle righe (ve2500x.uml)
|
||||
#define S_TIPORIGA 101
|
||||
#define S_CODRIGA_A 102
|
||||
#define S_DESRIGA_A 103
|
||||
|
838
ve/ve2500a.uml
838
ve/ve2500a.uml
@ -1,838 +0,0 @@
|
||||
#include "ve2500a.h"
|
||||
|
||||
TOOLBAR "Toolbar" 0 0 0 2
|
||||
|
||||
#include <filebar.h>
|
||||
|
||||
BUTTON DLG_CREA 2 2
|
||||
BEGIN
|
||||
PROMPT 10 -1 "Cr~ea"
|
||||
PICTURE TOOL_IMPORT
|
||||
END
|
||||
|
||||
BUTTON DLG_COMPATTA 2 2
|
||||
BEGIN
|
||||
PROMPT 11 -1 "Co~mpatta"
|
||||
PICTURE TOOL_PACK
|
||||
END
|
||||
|
||||
#include <cancelbar.h>
|
||||
|
||||
ENDPAGE
|
||||
|
||||
PAGE "Dati generali e Righe" 0 2 0 0
|
||||
|
||||
GROUPBOX DLG_NULL 78 5
|
||||
BEGIN
|
||||
PROMPT 0 0 "@bDati Listino"
|
||||
END
|
||||
|
||||
LIST FA_TIPO 1 7
|
||||
BEGIN
|
||||
PROMPT 100 100 ""
|
||||
ITEM "L|Listino"
|
||||
FLAGS "D"
|
||||
FIELD TIPO
|
||||
KEY 1
|
||||
END
|
||||
|
||||
STRING FA_L_CATVEN 2
|
||||
BEGIN
|
||||
PROMPT 1 1 "Cat. ven. "
|
||||
FIELD CATVEN
|
||||
FLAGS "U"
|
||||
KEY 1
|
||||
USE CVE
|
||||
INPUT CODTAB FA_L_CATVEN
|
||||
DISPLAY "Cat." CODTAB
|
||||
DISPLAY "Descrizione@50" S0
|
||||
OUTPUT FA_L_CATVEN CODTAB
|
||||
OUTPUT FA_L_DESVEN S0
|
||||
CHECKTYPE FORCED
|
||||
END
|
||||
|
||||
STRING FA_L_DESVEN 50
|
||||
BEGIN
|
||||
PROMPT 18 1 ""
|
||||
USE CVE KEY 2
|
||||
INPUT S0 FA_L_DESVEN
|
||||
DISPLAY "Descrizione@50" S0
|
||||
DISPLAY "Cat." CODTAB
|
||||
COPY OUTPUT FA_L_CATVEN
|
||||
CHECKTYPE NORMAL
|
||||
END
|
||||
|
||||
STRING FA_COD 3
|
||||
BEGIN
|
||||
PROMPT 1 2 "Listino "
|
||||
FIELD COD
|
||||
FLAGS "U"
|
||||
KEY 1
|
||||
USE LF_CONDV
|
||||
INPUT TIPO "L"
|
||||
INPUT CATVEN FA_L_CATVEN
|
||||
INPUT COD FA_COD
|
||||
DISPLAY "C.V." CATVEN
|
||||
DISPLAY "Codice" COD
|
||||
DISPLAY "Descrizione@50" DESCR
|
||||
DISPLAY "Valuta" CODVAL
|
||||
DISPLAY "Fine validita'" VALFIN
|
||||
OUTPUT FA_L_CATVEN CATVEN
|
||||
OUTPUT FA_COD COD
|
||||
OUTPUT FA_DESCR DESCR
|
||||
CHECKTYPE REQUIRED
|
||||
END
|
||||
|
||||
STRING FA_DESCR 50
|
||||
BEGIN
|
||||
PROMPT 18 2 ""
|
||||
FIELD DESCR
|
||||
END
|
||||
|
||||
DATA FA_VALINI
|
||||
BEGIN
|
||||
PROMPT 1 3 "Inizio validita` "
|
||||
FIELD VALIN
|
||||
END
|
||||
|
||||
DATA FA_VALFIN
|
||||
BEGIN
|
||||
PROMPT 42 3 "Fine validita` "
|
||||
FIELD VALFIN
|
||||
END
|
||||
|
||||
//campi di ricerca parziale sullo sheet
|
||||
//-------------------------------------
|
||||
LIST FA_TIPORIGA 1 13
|
||||
BEGIN
|
||||
PROMPT 1 5 ""
|
||||
FLAGS "P"
|
||||
ITEM "A|Articolo"
|
||||
MESSAGE HIDE,2@|HIDE,3@|HIDE,4@|SHOW,1@
|
||||
ITEM "G|Gr. merc."
|
||||
MESSAGE HIDE,1@|HIDE,3@|HIDE,4@|SHOW,2@
|
||||
ITEM "S|Sotgr.merc."
|
||||
MESSAGE HIDE,1@|HIDE,2@|HIDE,4@|SHOW,3@
|
||||
ITEM "R|Ragg. fisc."
|
||||
MESSAGE HIDE,1@|HIDE,2@|HIDE,3@|SHOW,4@
|
||||
END
|
||||
|
||||
STRING FA_CODRIGA_A 20
|
||||
BEGIN
|
||||
PROMPT 18 5 ""
|
||||
FLAGS "U"
|
||||
USE LF_ANAMAG
|
||||
INPUT CODART FA_CODRIGA_A
|
||||
DISPLAY "Articolo@20" CODART
|
||||
DISPLAY "Descrizione@50" DESCR
|
||||
OUTPUT FA_CODRIGA_A CODART
|
||||
OUTPUT FA_DESRIGA_A DESCR
|
||||
OUTPUT FA_GRMERC_A GRMERC
|
||||
CHECKTYPE SEARCH
|
||||
ADD RUN ve2 -3
|
||||
GROUP 1
|
||||
END
|
||||
|
||||
STRING FA_DESRIGA_A 50 33
|
||||
BEGIN
|
||||
PROMPT 42 5 ""
|
||||
USE LF_ANAMAG KEY 2
|
||||
INPUT DESCR FA_DESRIGA_A
|
||||
DISPLAY "Descrizione@50" DESCR
|
||||
DISPLAY "Articolo@20" CODART
|
||||
COPY OUTPUT FA_CODRIGA_A
|
||||
CHECKTYPE SEARCH
|
||||
ADD RUN ve2 -3
|
||||
GROUP 1
|
||||
END
|
||||
|
||||
STRING FA_CODRIGA_G 20 3
|
||||
BEGIN
|
||||
PROMPT 18 5 ""
|
||||
FLAGS "U"
|
||||
USE GMC SELECT CODTAB[4,5] == ""
|
||||
INPUT CODTAB[1,3] FA_CODRIGA_G
|
||||
DISPLAY "Gr. merc." CODTAB[1,3]
|
||||
DISPLAY "Descrizione@50" S0
|
||||
OUTPUT FA_CODRIGA_G CODTAB[1,3]
|
||||
OUTPUT FA_DESRIGA_G S0
|
||||
CHECKTYPE SEARCH
|
||||
GROUP 2
|
||||
END
|
||||
|
||||
STRING FA_DESRIGA_G 50
|
||||
BEGIN
|
||||
PROMPT 25 5 ""
|
||||
USE GMC KEY 2 SELECT CODTAB[4,5] == ""
|
||||
INPUT S0 F_DESRIGA_G
|
||||
DISPLAY "Descrizione@50" S0
|
||||
DISPLAY "Gr. merc." CODTAB[1,3]
|
||||
COPY OUTPUT FA_CODRIGA_G
|
||||
CHECKTYPE SEARCH
|
||||
GROUP 2
|
||||
END
|
||||
|
||||
STRING FA_CODRIGA_S 20 5
|
||||
BEGIN
|
||||
PROMPT 18 5 ""
|
||||
FLAGS "U"
|
||||
USE GMC SELECT CODTAB[4,5] != ""
|
||||
INPUT CODTAB FA_CODRIGA_S
|
||||
DISPLAY "Gruppo merc." CODTAB[1,3]
|
||||
DISPLAY "Sottogr. merc." CODTAB[4,5]
|
||||
DISPLAY "Descrizione@50" S0
|
||||
OUTPUT FA_CODRIGA_S CODTAB
|
||||
OUTPUT FA_DESRIGA_S S0
|
||||
CHECKTYPE SEARCH
|
||||
GROUP 3
|
||||
END
|
||||
|
||||
STRING FA_DESRIGA_S 50 48
|
||||
BEGIN
|
||||
PROMPT 27 5 ""
|
||||
USE GMC KEY 2 SELECT CODTAB[4,5] != ""
|
||||
INPUT S0 FA_DESRIGA_S
|
||||
DISPLAY "Descrizione@50" S0
|
||||
DISPLAY "Gr. merc." CODTAB[1,3]
|
||||
DISPLAY "Sottogr. merc." CODTAB[4,5]
|
||||
COPY OUTPUT FA_CODRIGA_S
|
||||
CHECKTYPE SEARCH
|
||||
GROUP 3
|
||||
END
|
||||
|
||||
STRING FA_CODRIGA_R 20 5
|
||||
BEGIN
|
||||
PROMPT 18 5 ""
|
||||
FLAGS "U"
|
||||
USE RFA
|
||||
INPUT CODTAB FA_CODRIGA_R
|
||||
DISPLAY "Ragg. fisc." CODTAB
|
||||
DISPLAY "Descrizione@50" S0
|
||||
OUTPUT FA_CODRIGA_R CODTAB
|
||||
OUTPUT FA_DESRIGA_R S0
|
||||
CHECKTYPE SEARCH
|
||||
GROUP 4
|
||||
END
|
||||
|
||||
STRING FA_DESRIGA_R 50 48
|
||||
BEGIN
|
||||
PROMPT 27 5 ""
|
||||
USE RFA KEY 2
|
||||
INPUT S0 FA_DESRIGA_R
|
||||
DISPLAY "Descrizione@50" S0
|
||||
DISPLAY "Ragg. fisc." CODTAB
|
||||
COPY OUTPUT FA_CODRIGA_R
|
||||
CHECKTYPE SEARCH
|
||||
GROUP 4
|
||||
END
|
||||
|
||||
STRING FA_GRMERC_A 5
|
||||
BEGIN
|
||||
PROMPT 15 6 "Gr.merc. "
|
||||
USE GMC
|
||||
INPUT CODTAB FA_GRMERC_A
|
||||
OUTPUT FA_DESGRMERC_A S0
|
||||
FLAGS "DG"
|
||||
CHECKTYPE NORMAL
|
||||
GROUP 1 2 3
|
||||
END
|
||||
|
||||
STRING FA_DESGRMERC_A 50 27
|
||||
BEGIN
|
||||
PROMPT 30 6 ""
|
||||
FLAGS "D"
|
||||
GROUP 1 2 3
|
||||
END
|
||||
|
||||
BUTTON DLG_GRMERC 18 1
|
||||
BEGIN
|
||||
PROMPT 58 6 "Modifica Gr.Merc."
|
||||
GROUP 1
|
||||
END
|
||||
|
||||
//------------------------------------------
|
||||
|
||||
TEXT -1
|
||||
BEGIN
|
||||
PROMPT 0 6 "@bRighe listino"
|
||||
END
|
||||
|
||||
SPREADSHEET FA_RIGHE
|
||||
BEGIN
|
||||
PROMPT 1 7 "Righe"
|
||||
ITEM "Tipo@4"
|
||||
ITEM "Codice@20"
|
||||
ITEM "Descrizione@50"
|
||||
ITEM "Prezzo netto@18"
|
||||
ITEM "UM"
|
||||
ITEM "N.Scagl."
|
||||
ITEM "Qta lim. scagl."
|
||||
ITEM "Sconto@25"
|
||||
ITEM "Add.IVA"
|
||||
ITEM "Cod.IVA"
|
||||
ITEM "Qta sconto/omag"
|
||||
ITEM "Qta base sconto"
|
||||
ITEM "Cod. art. omaggio@20"
|
||||
ITEM "UM omaggio"
|
||||
ITEM "Prezzo omaggio"
|
||||
ITEM "Prezzo storico"
|
||||
ITEM "Data prz.storico"
|
||||
ITEM "Data ult.aumento"
|
||||
ITEM "% provvigione"
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
|
||||
PAGE "Dati avanzati" 0 2 0 0
|
||||
|
||||
GROUPBOX DLG_NULL 78 3
|
||||
BEGIN
|
||||
PROMPT 0 0 "@bGestione valuta"
|
||||
END
|
||||
|
||||
STRING FA_CODVAL 5
|
||||
BEGIN
|
||||
PROMPT 1 1 "Valuta "
|
||||
FIELD CODVAL
|
||||
FLAGS "U"
|
||||
USE %VAL
|
||||
INPUT CODTAB FA_CODVAL
|
||||
DISPLAY "Valuta" CODTAB
|
||||
DISPLAY "Descrizione@50" S0
|
||||
DISPLAY "Cambio" S4
|
||||
OUTPUT FA_CODVAL CODTAB
|
||||
OUTPUT FA_CONTROEURO B1
|
||||
OUTPUT FA_CAMBIO S4
|
||||
CHECKTYPE NORMAL
|
||||
MESSAGE EMPTY CLEAR,FA_CAMBIO|CLEAR,FA_DATACAM|DISABLE,FA_DATACAM
|
||||
MESSAGE ENABLE,FA_CAMBIO|ENABLE,FA_DATACAM
|
||||
END
|
||||
|
||||
NUMBER FA_CAMBIO 15 6
|
||||
BEGIN
|
||||
PROMPT 17 1 "Cambio "
|
||||
FIELD CAMBIO
|
||||
END
|
||||
|
||||
BOOLEAN FA_CONTROEURO
|
||||
BEGIN
|
||||
PROMPT 42 1 "Contro Euro"
|
||||
FIELD CONTROEURO
|
||||
END
|
||||
|
||||
DATA FA_DATACAM
|
||||
BEGIN
|
||||
PROMPT 61 1 "Data "
|
||||
FIELD DATACAM
|
||||
END
|
||||
|
||||
GROUPBOX DLG_NULL 78 3
|
||||
BEGIN
|
||||
PROMPT 0 3 "@bScaglioni"
|
||||
END
|
||||
|
||||
BOOLEAN FA_GESTSCAGL
|
||||
BEGIN
|
||||
PROMPT 1 4 "Gestione scaglioni"
|
||||
FIELD GESTSCAGL
|
||||
MESSAGE FALSE CLEAR,FA_DECIMALI
|
||||
MESSAGE TRUE ENABLE,FA_DECIMALI
|
||||
END
|
||||
|
||||
LISTBOX FA_DECIMALI 7
|
||||
BEGIN
|
||||
PROMPT 25 4 "Decimali per quantita' limite "
|
||||
FIELD DECIMALI
|
||||
ITEM "0|Nessuno"
|
||||
ITEM "1|1"
|
||||
ITEM "2|2"
|
||||
ITEM "3|3"
|
||||
ITEM "4|4"
|
||||
ITEM "5|5"
|
||||
END
|
||||
|
||||
GROUPBOX DLG_NULL 78 3
|
||||
BEGIN
|
||||
PROMPT 0 6 "@bSequenza ricerca"
|
||||
END
|
||||
|
||||
LIST FA_SEQRIC_1 10
|
||||
BEGIN
|
||||
PROMPT 1 7 ""
|
||||
FIELD SEQRIC[1,1]
|
||||
ITEM "A|Articoli"
|
||||
ITEM "G|Gruppo M."
|
||||
ITEM "S|Sottog. M."
|
||||
ITEM "R|Ragg.fisc."
|
||||
END
|
||||
|
||||
LIST FA_SEQRIC_2 10
|
||||
BEGIN
|
||||
PROMPT 18 7 ""
|
||||
FIELD SEQRIC[2,2]
|
||||
ITEM "-|Nessuno" MESSAGE CLEAR,5@
|
||||
ITEM "A|Articoli" MESSAGE ENABLE,FA_SEQRIC_3
|
||||
ITEM "G|Gruppo M." MESSAGE ENABLE,FA_SEQRIC_3
|
||||
ITEM "S|Sottog. M." MESSAGE ENABLE,FA_SEQRIC_3
|
||||
ITEM "R|Ragg.fisc." MESSAGE ENABLE,FA_SEQRIC_3
|
||||
STR_EXPR (#THIS_FIELD=="-")||(#THIS_FIELD!=#FA_SEQRIC_1)
|
||||
WARNING "La sequenza di ricerca deve indicare quattro tipi diversi di righe"
|
||||
END
|
||||
|
||||
LIST FA_SEQRIC_3 10
|
||||
BEGIN
|
||||
PROMPT 33 7 ""
|
||||
FIELD SEQRIC[3,3]
|
||||
ITEM "-|Nessuno" MESSAGE CLEAR,FA_SEQRIC_4
|
||||
ITEM "A|Articoli" MESSAGE ENABLE,FA_SEQRIC_4
|
||||
ITEM "G|Gruppo M." MESSAGE ENABLE,FA_SEQRIC_4
|
||||
ITEM "S|Sottog. M." MESSAGE ENABLE,FA_SEQRIC_4
|
||||
ITEM "R|Ragg.fisc." MESSAGE ENABLE,FA_SEQRIC_4
|
||||
GROUP 5
|
||||
STR_EXPR (#THIS_FIELD=="-")||((#THIS_FIELD!=#FA_SEQRIC_1)&&(#THIS_FIELD!=#FA_SEQRIC_2))
|
||||
WARNING "La sequenza di ricerca deve indicare quattro tipi diversi di righe"
|
||||
END
|
||||
|
||||
LIST FA_SEQRIC_4 10
|
||||
BEGIN
|
||||
PROMPT 48 7 ""
|
||||
FIELD SEQRIC[4,4]
|
||||
ITEM "-|Nessuno"
|
||||
ITEM "A|Articoli"
|
||||
ITEM "G|Gruppo M."
|
||||
ITEM "S|Sottog. M."
|
||||
ITEM "R|Ragg.fisc."
|
||||
GROUP 5
|
||||
STR_EXPR (#THIS_FIELD=="-")||((#THIS_FIELD!=#FA_SEQRIC_1)&&(#THIS_FIELD!=#FA_SEQRIC_2)&&(#THIS_FIELD!=#FA_SEQRIC_3))
|
||||
WARNING "La sequenza di ricerca deve indicare quattro tipi diversi di righe"
|
||||
END
|
||||
|
||||
GROUPBOX DLG_NULL 78 3
|
||||
BEGIN
|
||||
PROMPT 0 9 "@bListino successivo"
|
||||
END
|
||||
|
||||
STRING FA_L_CODSUCC 3
|
||||
BEGIN
|
||||
PROMPT 1 10 ""
|
||||
FIELD CODLISSUCC
|
||||
FLAGS "U"
|
||||
USE LF_CONDV
|
||||
INPUT TIPO "L"
|
||||
INPUT CATVEN FA_L_CATVEN SELECT
|
||||
INPUT COD FA_L_CODSUCC
|
||||
DISPLAY "C.V." CATVEN
|
||||
DISPLAY "Codice" COD
|
||||
DISPLAY "Descrizione@50" DESCR
|
||||
OUTPUT FA_L_CODSUCC COD
|
||||
OUTPUT FA_L_DESSUCC DESCR
|
||||
CHECKTYPE NORMAL
|
||||
END
|
||||
|
||||
STRING FA_L_DESSUCC 50
|
||||
BEGIN
|
||||
PROMPT 10 10 ""
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
GROUPBOX DLG_NULL 78 5
|
||||
BEGIN
|
||||
PROMPT 0 12 "@bListino padre"
|
||||
END
|
||||
|
||||
STRING FA_L_FATHCATVEN 2
|
||||
BEGIN
|
||||
PROMPT 1 13 "Cat. ven. "
|
||||
FIELD FATHCATVEN
|
||||
FLAGS "U"
|
||||
USE CVE
|
||||
INPUT CODTAB FA_L_FATHCATVEN
|
||||
DISPLAY "Cat." CODTAB
|
||||
DISPLAY "Descrizione@50" S0
|
||||
OUTPUT FA_L_FATHCATVEN CODTAB
|
||||
OUTPUT FA_L_FATHDESVEN S0
|
||||
CHECKTYPE NORMAL
|
||||
END
|
||||
|
||||
STRING FA_L_FATHDESVEN 50
|
||||
BEGIN
|
||||
PROMPT 18 13 ""
|
||||
USE CVE KEY 2
|
||||
INPUT S0 FA_L_FATHDESVEN
|
||||
DISPLAY "Descrizione@50" S0
|
||||
DISPLAY "Cat." CODTAB
|
||||
COPY OUTPUT FA_L_FATHCATVEN
|
||||
END
|
||||
|
||||
STRING FA_L_FATHCOD 3
|
||||
BEGIN
|
||||
PROMPT 1 14 "Listino "
|
||||
FIELD FATHCOD
|
||||
FLAGS "U"
|
||||
USE LF_CONDV SELECT (CATVEN!=#FA_L_CATVEN)||(COD!=#FA_COD)
|
||||
INPUT TIPO "L"
|
||||
INPUT CATVEN FA_L_FATHCATVEN SELECT
|
||||
INPUT COD FA_L_FATHCOD
|
||||
DISPLAY "C.V." CATVEN
|
||||
DISPLAY "Codice" COD
|
||||
DISPLAY "Descrizione@50" DESCR
|
||||
DISPLAY "Valuta" CODVAL
|
||||
DISPLAY "Fine validita'" VALFIN
|
||||
OUTPUT FA_L_FATHCATVEN CATVEN
|
||||
OUTPUT FA_L_FATHCOD COD
|
||||
OUTPUT FA_L_FATHDESCR DESCR
|
||||
CHECKTYPE NORMAL
|
||||
END
|
||||
|
||||
STRING FA_L_FATHDESCR 50
|
||||
BEGIN
|
||||
PROMPT 18 14 ""
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
STRING FA_L_ARROTONDA 8
|
||||
BEGIN
|
||||
PROMPT 1 15 "Arrotonda "
|
||||
FIELD ARROTONDA
|
||||
END
|
||||
|
||||
TEXT -1
|
||||
BEGIN
|
||||
PROMPT 21 15 "es. -0,05=per difetto ai 5 cent; +0,10=per eccesso ai 10 cent"
|
||||
END
|
||||
|
||||
GROUPBOX DLG_NULL 78 3
|
||||
BEGIN
|
||||
PROMPT 0 17 "@bParametri gestione"
|
||||
END
|
||||
|
||||
BOOLEAN FA_IMPLORDI
|
||||
BEGIN
|
||||
PROMPT 1 18 "Importi lordi"
|
||||
FIELD IMPLORDI
|
||||
END
|
||||
|
||||
BOOLEAN FA_GESTUM
|
||||
BEGIN
|
||||
PROMPT 20 18 "Gestione unita` di misura"
|
||||
FIELD GESTUM
|
||||
END
|
||||
|
||||
BOOLEAN FA_GESTSCO
|
||||
BEGIN
|
||||
PROMPT 50 18 "Gestione sconti/omaggi"
|
||||
FIELD GESTSCO
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
|
||||
ENDMASK
|
||||
|
||||
/////////////////////////////////////////
|
||||
//maschera di riga
|
||||
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 listino" -1 -1 78 22
|
||||
|
||||
LIST S_TIPORIGA 1 16
|
||||
BEGIN
|
||||
PROMPT 1 0 "Tipo riga "
|
||||
FIELD TIPORIGA
|
||||
ITEM "A|Articolo"
|
||||
MESSAGE HIDE,2@|HIDE,3@|HIDE,4@|SHOW,1@
|
||||
ITEM "G|Gruppo merc."
|
||||
MESSAGE HIDE,1@|HIDE,3@|HIDE,4@|SHOW,2@
|
||||
ITEM "S|Sottogr. merc."
|
||||
MESSAGE HIDE,1@|HIDE,2@|HIDE,4@|SHOW,3@
|
||||
ITEM "R|Ragg. fiscale"
|
||||
MESSAGE HIDE,1@|HIDE,2@|HIDE,3@|SHOW,4@
|
||||
END
|
||||
|
||||
STRING S_CODRIGA_A 20
|
||||
BEGIN
|
||||
PROMPT 1 1 "Articolo "
|
||||
FIELD CODRIGA
|
||||
FLAGS "U"
|
||||
USE LF_ANAMAG
|
||||
INPUT CODART S_CODRIGA_A
|
||||
DISPLAY "Articolo@20" CODART
|
||||
DISPLAY "Descrizione@50" DESCR
|
||||
OUTPUT S_CODRIGA_A CODART
|
||||
OUTPUT S_DESRIGA_A DESCR
|
||||
CHECKTYPE FORCED
|
||||
ADD RUN ve2 -3
|
||||
GROUP 1
|
||||
END
|
||||
|
||||
STRING S_DESRIGA_A 50 39
|
||||
BEGIN
|
||||
PROMPT 35 1 ""
|
||||
USE LF_ANAMAG KEY 2
|
||||
INPUT DESCR S_DESRIGA_A
|
||||
DISPLAY "Descrizione@50" DESCR
|
||||
DISPLAY "Articolo@20" CODART
|
||||
COPY OUTPUT S_CODRIGA_A
|
||||
CHECKTYPE NORMAL
|
||||
ADD RUN ve2 -3
|
||||
GROUP 1
|
||||
END
|
||||
|
||||
STRING S_CODRIGA_G 20 3
|
||||
BEGIN
|
||||
PROMPT 1 1 "Gr. merceologico "
|
||||
FIELD CODRIGA
|
||||
FLAGS "U"
|
||||
USE GMC SELECT CODTAB[4,5] == ""
|
||||
INPUT CODTAB[1,3] S_CODRIGA_G
|
||||
DISPLAY "Gr. merc." CODTAB[1,3]
|
||||
DISPLAY "Descrizione@50" S0
|
||||
OUTPUT S_CODRIGA_G CODTAB[1,3]
|
||||
OUTPUT S_DESRIGA_G S0
|
||||
CHECKTYPE FORCED
|
||||
GROUP 2
|
||||
END
|
||||
|
||||
STRING S_DESRIGA_G 50
|
||||
BEGIN
|
||||
PROMPT 24 1 ""
|
||||
USE GMC KEY 2 SELECT CODTAB[4,5] == ""
|
||||
INPUT S0 S_DESRIGA_G
|
||||
DISPLAY "Descrizione@50" S0
|
||||
DISPLAY "Gr. merc." CODTAB[1,3]
|
||||
COPY OUTPUT S_CODRIGA_G
|
||||
CHECKTYPE NORMAL
|
||||
GROUP 2
|
||||
END
|
||||
|
||||
STRING S_CODRIGA_S 20 5
|
||||
BEGIN
|
||||
PROMPT 1 1 "Sottogr. merc. "
|
||||
FIELD CODRIGA
|
||||
FLAGS "U"
|
||||
USE GMC SELECT CODTAB[4,5] != ""
|
||||
INPUT CODTAB S_CODRIGA_S
|
||||
DISPLAY "Gruppo merc." CODTAB[1,3]
|
||||
DISPLAY "Sottogr. merc." CODTAB[4,5]
|
||||
DISPLAY "Descrizione@50" S0
|
||||
OUTPUT S_CODRIGA_S CODTAB
|
||||
OUTPUT S_DESRIGA_S S0
|
||||
CHECKTYPE FORCED
|
||||
GROUP 3
|
||||
END
|
||||
|
||||
STRING S_DESRIGA_S 50
|
||||
BEGIN
|
||||
PROMPT 24 1 ""
|
||||
USE GMC KEY 2 SELECT CODTAB[4,5] != ""
|
||||
INPUT S0 S_DESRIGA_S
|
||||
DISPLAY "Descrizione@50" S0
|
||||
DISPLAY "Gr. merc." CODTAB[1,3]
|
||||
DISPLAY "Sottogr. merc." CODTAB[4,5]
|
||||
COPY OUTPUT S_CODRIGA_S
|
||||
CHECKTYPE NORMAL
|
||||
GROUP 3
|
||||
END
|
||||
|
||||
STRING S_CODRIGA_R 20 5
|
||||
BEGIN
|
||||
PROMPT 1 1 "Raggr. fiscale "
|
||||
FIELD CODRIGA
|
||||
FLAGS "U"
|
||||
USE RFA
|
||||
INPUT CODTAB S_CODRIGA_R
|
||||
DISPLAY "Ragg. fisc." CODTAB
|
||||
DISPLAY "Descrizione@50" S0
|
||||
OUTPUT S_CODRIGA_R CODTAB
|
||||
OUTPUT S_DESRIGA_R S0
|
||||
CHECKTYPE FORCED
|
||||
GROUP 4
|
||||
END
|
||||
|
||||
STRING S_DESRIGA_R 50
|
||||
BEGIN
|
||||
PROMPT 24 1 ""
|
||||
USE RFA KEY 2
|
||||
INPUT S0 S_DESRIGA_R
|
||||
DISPLAY "Descrizione@50" S0
|
||||
DISPLAY "Ragg. fisc." CODTAB
|
||||
COPY OUTPUT S_CODRIGA_R
|
||||
CHECKTYPE NORMAL
|
||||
GROUP 4
|
||||
END
|
||||
|
||||
NUMBER S_PREZZO 18 5
|
||||
BEGIN
|
||||
PROMPT 2 2 "Prezzo "
|
||||
FIELD PREZZO
|
||||
FLAGS "U"
|
||||
DRIVENBY -FA_CODVAL
|
||||
END
|
||||
|
||||
STRING S_UM 2
|
||||
BEGIN
|
||||
PROMPT 67 0 "U.M. "
|
||||
FIELD UM
|
||||
FLAGS "U"
|
||||
USE LF_UMART KEY 2
|
||||
JOIN %UMS INTO CODTAB=UM
|
||||
INPUT CODART S_CODRIGA_A SELECT
|
||||
INPUT UM S_UM
|
||||
DISPLAY "U.M." UM
|
||||
DISPLAY "Descrizione@50" %UMS->S0
|
||||
OUTPUT S_UM UM
|
||||
CHECKTYPE FORCED
|
||||
END
|
||||
|
||||
GROUPBOX DLG_NULL 76 3
|
||||
BEGIN
|
||||
PROMPT 1 3 "Scaglione"
|
||||
END
|
||||
|
||||
NUMBER S_NSCAGL 1
|
||||
BEGIN
|
||||
PROMPT 2 4 "Numero "
|
||||
FIELD NSCAGL
|
||||
CHECKTYPE REQUIRED
|
||||
END
|
||||
|
||||
NUMBER S_QLIM 15 5
|
||||
BEGIN
|
||||
PROMPT 24 4 "Qta limite "
|
||||
FIELD QLIM
|
||||
END
|
||||
|
||||
GROUPBOX DLG_NULL 76 3
|
||||
BEGIN
|
||||
PROMPT 1 6 "IVA"
|
||||
END
|
||||
|
||||
BOOLEAN S_ADDIVA
|
||||
BEGIN
|
||||
PROMPT 2 7 "Addebito"
|
||||
FIELD ADDIVA
|
||||
END
|
||||
|
||||
STRING S_CODIVA 4
|
||||
BEGIN
|
||||
PROMPT 25 7 "Codice"
|
||||
FIELD CODIVA
|
||||
FLAGS "U"
|
||||
USE %IVA
|
||||
INPUT CODTAB S_CODIVA
|
||||
DISPLAY "Codice" CODTAB
|
||||
DISPLAY "Descrizione@50" S0
|
||||
OUTPUT S_CODIVA CODTAB
|
||||
CHECKTYPE NORMAL
|
||||
END
|
||||
|
||||
GROUPBOX DLG_NULL 76 8
|
||||
BEGIN
|
||||
PROMPT 1 9 "Sconti e omaggi"
|
||||
END
|
||||
|
||||
STRING S_SCONTO 25
|
||||
BEGIN
|
||||
PROMPT 2 10 "Sconto/maggiorazione "
|
||||
FIELD SCONTO
|
||||
FLAGS "U"
|
||||
END
|
||||
|
||||
NUMBER S_QOM 15 5
|
||||
BEGIN
|
||||
PROMPT 2 11 "Qta sconto/omaggio "
|
||||
FIELD QOM
|
||||
END
|
||||
|
||||
NUMBER S_QBASE 15 5
|
||||
BEGIN
|
||||
PROMPT 2 12 "Qta base sconto "
|
||||
FIELD QBASE
|
||||
END
|
||||
|
||||
STRING S_CODARTOM 20
|
||||
BEGIN
|
||||
PROMPT 2 13 "Cod. articolo omaggio "
|
||||
FIELD CODARTOM
|
||||
FLAGS "U"
|
||||
USE LF_ANAMAG
|
||||
INPUT CODART S_CODARTOM
|
||||
DISPLAY "Articolo@20" CODART
|
||||
DISPLAY "Descrizione@50" DESCR
|
||||
OUTPUT S_CODARTOM CODART
|
||||
CHECKTYPE NORMAL
|
||||
END
|
||||
|
||||
STRING S_UMOM 2
|
||||
BEGIN
|
||||
PROMPT 2 14 "U.M. qta omaggio "
|
||||
FIELD UMOM
|
||||
FLAGS "U"
|
||||
USE LF_UMART KEY 2
|
||||
JOIN %UMS INTO CODTAB=UM
|
||||
INPUT CODART S_CODARTOM SELECT
|
||||
INPUT UM F_UMOM
|
||||
DISPLAY "U.M." UM
|
||||
DISPLAY "Descrizione@50" %UMS->S0
|
||||
OUTPUT S_UMOM UM
|
||||
END
|
||||
|
||||
NUMBER S_PROMAGGIO 18 5
|
||||
BEGIN
|
||||
PROMPT 2 15 "Prezzo omaggio "
|
||||
FIELD PROMAGGIO
|
||||
FLAGS "U"
|
||||
DRIVENBY -FA_CODVAL
|
||||
END
|
||||
|
||||
GROUPBOX DLG_NULL 76 5
|
||||
BEGIN
|
||||
PROMPT 1 17 "Storico"
|
||||
END
|
||||
|
||||
NUMBER S_PRZSTO 18 5
|
||||
BEGIN
|
||||
PROMPT 2 18 "Prezzo storico "
|
||||
FIELD PRZSTO
|
||||
FLAGS "U"
|
||||
END
|
||||
|
||||
DATA S_DATAPRZSTO
|
||||
BEGIN
|
||||
PROMPT 2 19 "Data prz storico "
|
||||
FIELD DATAPRZSTO
|
||||
END
|
||||
|
||||
DATA S_DATAULTAUM
|
||||
BEGIN
|
||||
PROMPT 2 20 "Data ultimo aumento "
|
||||
FIELD DATAULTAUM
|
||||
END
|
||||
|
||||
NUMBER S_PERCPROVV 5 2
|
||||
BEGIN
|
||||
PROMPT 2 22 "% provv. "
|
||||
FIELD PERCPROVV
|
||||
NUM_EXPR (#F_PERCPROVV>=0)&&(#F_PERCPROVV<=100)
|
||||
WARNING "La percentuale di provvigione deve essere compresa tra 0 e 100"
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
|
||||
ENDMASK
|
36
ve/ve2500b.h
36
ve/ve2500b.h
@ -1,21 +1,23 @@
|
||||
//campi maschera ve2500b.uml (parametri di creazione nuovi listini)
|
||||
|
||||
#define FB_SELECT 101
|
||||
#define FB_SELECT 101
|
||||
|
||||
#define FB_CATVEN 102
|
||||
#define FB_DESVEN 103
|
||||
#define FB_COD 104
|
||||
#define FB_DESCR 105
|
||||
#define FB_RICARICO 106
|
||||
|
||||
#define FB_DACODART 107
|
||||
#define FB_DADESART 108
|
||||
#define FB_ACODART 109
|
||||
#define FB_ADESART 110
|
||||
#define FB_GRMERC 111
|
||||
#define FB_SOTGRMERC 112
|
||||
#define FB_DESGRMERC 113
|
||||
#define FB_RAGFIS 114
|
||||
#define FB_DESRAGFIS 115
|
||||
#define FB_COPIATESTA 116
|
||||
#define FB_L_CATVEN 102
|
||||
#define FB_L_DESVEN 103
|
||||
#define FB_C_TIPOCF 104
|
||||
#define FB_C_CODCF 105
|
||||
#define FB_C_DESCF 106
|
||||
#define FB_COD 107
|
||||
#define FB_DESCR 108
|
||||
#define FB_RICARICO 109
|
||||
|
||||
#define FB_DACODART 115
|
||||
#define FB_DADESART 116
|
||||
#define FB_ACODART 117
|
||||
#define FB_ADESART 118
|
||||
#define FB_GRMERC 119
|
||||
#define FB_SOTGRMERC 120
|
||||
#define FB_DESGRMERC 121
|
||||
#define FB_RAGFIS 122
|
||||
#define FB_DESRAGFIS 123
|
||||
#define FB_COPIATESTA 124
|
||||
|
229
ve/ve2500b.uml
229
ve/ve2500b.uml
@ -1,229 +0,0 @@
|
||||
#include "ve2500b.h"
|
||||
|
||||
TOOLBAR "Toolbar" 0 0 0 2
|
||||
|
||||
#include <stdbar.h>
|
||||
|
||||
ENDPAGE
|
||||
|
||||
PAGE "Creazione nuovo listino" 0 2 0 0
|
||||
|
||||
RADIOBUTTON FB_SELECT 76
|
||||
BEGIN
|
||||
PROMPT 1 1 "@bTipologia di generazione"
|
||||
ITEM "1|Copia da listino esistente"
|
||||
MESSAGE HIDE,2@|SHOW,1@
|
||||
ITEM "2|Anagrafica articoli"
|
||||
MESSAGE HIDE,1@|SHOW,2@
|
||||
END
|
||||
|
||||
//Copia listino esistente
|
||||
//-----------------------------------------------
|
||||
GROUPBOX DLG_NULL 76 5
|
||||
BEGIN
|
||||
PROMPT 1 7 "@bDati listino origine"
|
||||
GROUP 1
|
||||
END
|
||||
|
||||
STRING FB_CATVEN 2
|
||||
BEGIN
|
||||
PROMPT 2 8 "Cat. vend. "
|
||||
FIELD CATVEN
|
||||
FLAGS "U"
|
||||
KEY 1
|
||||
USE CVE
|
||||
INPUT CODTAB FB_CATVEN
|
||||
DISPLAY "Cat." CODTAB
|
||||
DISPLAY "Descrizione@50" S0
|
||||
OUTPUT FB_CATVEN CODTAB
|
||||
OUTPUT FB_DESVEN S0
|
||||
CHECKTYPE FORCED
|
||||
GROUP 1
|
||||
END
|
||||
|
||||
STRING FB_DESVEN 50
|
||||
BEGIN
|
||||
PROMPT 21 8 ""
|
||||
USE CVE KEY 2
|
||||
INPUT S0 FB_DESVEN
|
||||
DISPLAY "Descrizione@50" S0
|
||||
DISPLAY "Cat." CODTAB
|
||||
COPY OUTPUT FB_CATVEN
|
||||
CHECKTYPE NORMAL
|
||||
GROUP 1
|
||||
END
|
||||
|
||||
STRING FB_COD 3
|
||||
BEGIN
|
||||
PROMPT 2 9 "Listino "
|
||||
FLAGS "U"
|
||||
KEY 1
|
||||
USE LF_CONDV
|
||||
INPUT TIPO "L"
|
||||
INPUT CATVEN FB_CATVEN
|
||||
INPUT COD FB_COD
|
||||
DISPLAY "C.V." CATVEN
|
||||
DISPLAY "Codice" COD
|
||||
DISPLAY "Descrizione@50" DESCR
|
||||
DISPLAY "Valuta" CODVAL
|
||||
DISPLAY "Fine validita'" VALFIN
|
||||
OUTPUT FB_CATVEN CATVEN
|
||||
OUTPUT FB_COD COD
|
||||
OUTPUT FB_DESCR DESCR
|
||||
CHECKTYPE REQUIRED
|
||||
GROUP 1
|
||||
END
|
||||
|
||||
STRING FB_DESCR 50
|
||||
BEGIN
|
||||
PROMPT 21 9 ""
|
||||
GROUP 1
|
||||
END
|
||||
|
||||
NUMBER FB_RICARICO 6 2
|
||||
BEGIN
|
||||
PROMPT 2 10 "Ricarico "
|
||||
GROUP 1
|
||||
END
|
||||
|
||||
BOOLEAN FB_COPIATESTA
|
||||
BEGIN
|
||||
PROMPT 21 10 "Copia tutti i dati di testata"
|
||||
GROUP 1
|
||||
END
|
||||
|
||||
//Generazione da anagrafica articoli
|
||||
//-----------------------------------------------
|
||||
GROUPBOX DLG_NULL 76 6
|
||||
BEGIN
|
||||
PROMPT 1 7 "@bAnagrafica articoli"
|
||||
GROUP 2
|
||||
END
|
||||
|
||||
STRING FB_DACODART 20
|
||||
BEGIN
|
||||
PROMPT 2 8 "Da articolo "
|
||||
FLAGS "U"
|
||||
USE LF_ANAMAG
|
||||
INPUT CODART FB_DACODART
|
||||
DISPLAY "Articolo@20" CODART
|
||||
DISPLAY "Descrizione@50" DESCR
|
||||
OUTPUT FB_DACODART CODART
|
||||
OUTPUT FB_DADESART DESCR
|
||||
CHECKTYPE NORMAL
|
||||
ADD RUN ve2 -3
|
||||
GROUP 2
|
||||
END
|
||||
|
||||
STRING FB_DADESART 50 35
|
||||
BEGIN
|
||||
PROMPT 38 8 ""
|
||||
USE LF_ANAMAG KEY 2
|
||||
INPUT DESCR FB_DADESART
|
||||
DISPLAY "Descrizione@50" DESCR
|
||||
DISPLAY "Articolo@20" CODART
|
||||
COPY OUTPUT FB_DACODART
|
||||
CHECKTYPE NORMAL
|
||||
ADD RUN ve2 -3
|
||||
GROUP 2
|
||||
END
|
||||
|
||||
STRING FB_ACODART 20
|
||||
BEGIN
|
||||
PROMPT 2 9 "A articolo "
|
||||
FLAGS "U"
|
||||
USE LF_ANAMAG
|
||||
INPUT CODART FB_ACODART
|
||||
COPY DISPLAY FB_DACODART
|
||||
OUTPUT FB_ACODART CODART
|
||||
OUTPUT FB_ADESART DESCR
|
||||
CHECKTYPE NORMAL
|
||||
ADD RUN ve2 -3
|
||||
GROUP 2
|
||||
END
|
||||
|
||||
STRING FB_ADESART 50 35
|
||||
BEGIN
|
||||
PROMPT 38 9 ""
|
||||
USE LF_ANAMAG KEY 2
|
||||
INPUT DESCR FB_ADESART
|
||||
COPY DISPLAY FB_DADESART
|
||||
COPY OUTPUT FB_ACODART
|
||||
CHECKTYPE NORMAL
|
||||
ADD RUN ve2 -3
|
||||
GROUP 2
|
||||
END
|
||||
|
||||
STRING FB_GRMERC 3
|
||||
BEGIN
|
||||
PROMPT 2 10 "Gr. merc. "
|
||||
FLAGS "U"
|
||||
USE GMC SELECT CODTAB[4,5] == ""
|
||||
INPUT CODTAB[1,3] FB_GRMERC
|
||||
DISPLAY "Gruppo" CODTAB[1,3]
|
||||
DISPLAY "Descrizione@50" S0
|
||||
OUTPUT FB_GRMERC CODTAB[1,3]
|
||||
OUTPUT FB_DESGRMERC S0
|
||||
CHECKTYPE NORMAL
|
||||
GROUP 2
|
||||
END
|
||||
|
||||
STRING FB_SOTGRMERC 2
|
||||
BEGIN
|
||||
PROMPT 20 10 ""
|
||||
FLAGS "U"
|
||||
USE GMC
|
||||
COPY INPUT FB_GRMERC
|
||||
INPUT CODTAB[4,5] FB_SOTGRMERC
|
||||
DISPLAY "Gruppo" CODTAB[1,3]
|
||||
DISPLAY "Sottogruppo" CODTAB[4,5]
|
||||
DISPLAY "Descrizione@50" S0
|
||||
COPY OUTPUT FB_GRMERC
|
||||
OUTPUT FB_SOTGRMERC CODTAB[4,5]
|
||||
CHECKTYPE NORMAL
|
||||
GROUP 2
|
||||
END
|
||||
|
||||
STRING FB_DESGRMERC 50 45
|
||||
BEGIN
|
||||
PROMPT 28 10 ""
|
||||
USE GMC KEY 2
|
||||
INPUT S0 FB_DESGRMERC
|
||||
DISPLAY "Descrizione@50" S0
|
||||
DISPLAY "Gruppo" CODTAB[1,3]
|
||||
DISPLAY "Sottogruppo" CODTAB[4,5]
|
||||
COPY OUTPUT FB_SOTGRMERC
|
||||
CHECKTYPE NORMAL
|
||||
GROUP 2
|
||||
END
|
||||
|
||||
STRING FB_RAGFIS 5
|
||||
BEGIN
|
||||
PROMPT 2 11 "Raggr. fis. "
|
||||
FLAGS "U"
|
||||
USE RFA
|
||||
INPUT CODTAB FB_RAGFIS
|
||||
DISPLAY "Ragg. fisc." CODTAB
|
||||
DISPLAY "Descrizione@50" S0
|
||||
OUTPUT FB_RAGFIS CODTAB
|
||||
OUTPUT FB_DESRAGFIS S0
|
||||
CHECKTYPE NORMAL
|
||||
GROUP 2
|
||||
END
|
||||
|
||||
STRING FB_DESRAGFIS 50
|
||||
BEGIN
|
||||
PROMPT 23 11 ""
|
||||
USE RFA KEY 2
|
||||
INPUT S0 FB_DESRAGFIS
|
||||
DISPLAY "Descrizione@50" S0
|
||||
DISPLAY "Ragg. fisc." CODTAB
|
||||
COPY OUTPUT FB_RAGFIS
|
||||
CHECKTYPE NORMAL
|
||||
GROUP 2
|
||||
END
|
||||
|
||||
|
||||
ENDPAGE
|
||||
|
||||
ENDMASK
|
Loading…
x
Reference in New Issue
Block a user