Errore aga0045
git-svn-id: svn://10.65.10.50/trunk@5096 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
043926ad37
commit
a3fba6a9ad
@ -853,7 +853,7 @@ bool TDocumento_form::validate(TForm_item &cf, TToken_string &s) {
|
|||||||
if (x.is_real(value))
|
if (x.is_real(value))
|
||||||
{
|
{
|
||||||
TString picture(cf.picture());
|
TString picture(cf.picture());
|
||||||
if (x != 0.0)
|
if (x != ZERO)
|
||||||
value = x.string(picture); // Riformatta il valore
|
value = x.string(picture); // Riformatta il valore
|
||||||
else
|
else
|
||||||
value = "";
|
value = "";
|
||||||
@ -951,6 +951,7 @@ class TStampaDoc_application: public TApplication
|
|||||||
TRelation *_firmrel; // puntatore alla relazione che gestisce i dati della ditta corrente
|
TRelation *_firmrel; // puntatore alla relazione che gestisce i dati della ditta corrente
|
||||||
TDocumento_form *_form; // puntatore al form di stampa
|
TDocumento_form *_form; // puntatore al form di stampa
|
||||||
TLocalisamfile * _clifo;
|
TLocalisamfile * _clifo;
|
||||||
|
TLocalisamfile * _cfven;
|
||||||
TLocalisamfile * _occas;
|
TLocalisamfile * _occas;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
@ -1182,6 +1183,7 @@ bool TStampaDoc_application::create()
|
|||||||
_firmrel->add(LF_COMUNI, "COM=STATORES+COMRF", 1, LF_ANAG, 200+LF_COMUNI);
|
_firmrel->add(LF_COMUNI, "COM=STATORES+COMRF", 1, LF_ANAG, 200+LF_COMUNI);
|
||||||
_occas = new TLocalisamfile(LF_OCCAS);
|
_occas = new TLocalisamfile(LF_OCCAS);
|
||||||
_clifo = new TLocalisamfile(LF_CLIFO);
|
_clifo = new TLocalisamfile(LF_CLIFO);
|
||||||
|
_cfven = new TLocalisamfile(LF_CFVEN);
|
||||||
const int argc = TApplication::argc();
|
const int argc = TApplication::argc();
|
||||||
|
|
||||||
_is_lista = argc == 3 && argv(2)[0] == 'L';
|
_is_lista = argc == 3 && argv(2)[0] == 'L';
|
||||||
@ -1226,6 +1228,7 @@ bool TStampaDoc_application::destroy()
|
|||||||
{
|
{
|
||||||
delete _firmrel; // distruzione della relazione di gestione della ditta corrente
|
delete _firmrel; // distruzione della relazione di gestione della ditta corrente
|
||||||
delete _clifo;
|
delete _clifo;
|
||||||
|
delete _cfven;
|
||||||
delete _occas;
|
delete _occas;
|
||||||
return TApplication::destroy();
|
return TApplication::destroy();
|
||||||
}
|
}
|
||||||
|
342
ve/ve2100.cpp
342
ve/ve2100.cpp
@ -8,6 +8,14 @@
|
|||||||
|
|
||||||
#define MAX_REAL "9999999999.99999" //mmmhh..
|
#define MAX_REAL "9999999999.99999" //mmmhh..
|
||||||
|
|
||||||
|
static void key_hide(TMask & m, short id, int key = 1)
|
||||||
|
{
|
||||||
|
TEditable_field & e = ((TEditable_field &)m.field(id));
|
||||||
|
e.reset_key(key);
|
||||||
|
e.check_type(CHECK_NONE);
|
||||||
|
e.set_field("");
|
||||||
|
m.hide(id);
|
||||||
|
}
|
||||||
|
|
||||||
static void key_disable(TMask & m, short id, int key = 1)
|
static void key_disable(TMask & m, short id, int key = 1)
|
||||||
{
|
{
|
||||||
@ -47,7 +55,7 @@ class TTabelle_sconti: public TRelation_application {
|
|||||||
virtual void init_query_insert_mode(TMask& m);
|
virtual void init_query_insert_mode(TMask& m);
|
||||||
virtual bool remove(); // metodo usato per rimuovere il record sul file
|
virtual bool remove(); // metodo usato per rimuovere il record sul file
|
||||||
void renumber_sca(const TRectype& r); //metodo per rinumerare gli scaglioni
|
void renumber_sca(const TRectype& r); //metodo per rinumerare gli scaglioni
|
||||||
static void fill_rec(TRectype& r, TMask& m);
|
// static void fill_rec(TRectype& r, TMask& m);
|
||||||
static real find_prev_qta(TRectype& r);
|
static real find_prev_qta(TRectype& r);
|
||||||
static real find_next_qta(TRectype& r);
|
static real find_next_qta(TRectype& r);
|
||||||
static bool handle_qta(TMask_field &, KEY); // handler della quantita' limite per scaglione
|
static bool handle_qta(TMask_field &, KEY); // handler della quantita' limite per scaglione
|
||||||
@ -57,11 +65,11 @@ class TTabelle_sconti: public TRelation_application {
|
|||||||
// Risposta, perche quando si clicca su nuovo per andare in modo ricerca/inserimento, tutti i campi
|
// Risposta, perche quando si clicca su nuovo per andare in modo ricerca/inserimento, tutti i campi
|
||||||
// che hanno CHECKTYPE FORCED risultano non essere validi. Percio' si e' rimesso il CHECKTYPE REQUIRED
|
// che hanno CHECKTYPE FORCED risultano non essere validi. Percio' si e' rimesso il CHECKTYPE REQUIRED
|
||||||
// e si controlla la consistenza del campo.
|
// e si controlla la consistenza del campo.
|
||||||
static bool handle_um(TMask_field &, KEY); // handler delle unita' di misura per gli sconti di riga
|
// static bool handle_um(TMask_field &, KEY); // handler delle unita' di misura per gli sconti di riga
|
||||||
static bool handle_art(TMask_field &, KEY); // handler dei codici articoli per sconti di riga
|
static bool handle_check(TMask_field &, KEY); // handler per i check
|
||||||
// static bool handle_sco(TMask_field &, KEY); // handler delle sconto cliente
|
// static bool handle_sco(TMask_field &, KEY); // handler delle sconto cliente
|
||||||
static bool handle_zon(TMask_field &, KEY); // handler delle zone
|
// static bool handle_zon(TMask_field &, KEY); // handler delle zone
|
||||||
static bool handle_cpg(TMask_field &, KEY); // handler delle condizioni di pagamento
|
// static bool handle_cpg(TMask_field &, KEY); // handler delle condizioni di pagamento
|
||||||
|
|
||||||
public:
|
public:
|
||||||
TTabelle_sconti() {_sca = _scoum = _catven = FALSE;}
|
TTabelle_sconti() {_sca = _scoum = _catven = FALSE;}
|
||||||
@ -72,19 +80,19 @@ inline TTabelle_sconti& app() { return (TTabelle_sconti &) main_app(); }
|
|||||||
|
|
||||||
// Handlers per i campi quantita' limite e scaglione, valgono solo per gli sconti di riga
|
// Handlers per i campi quantita' limite e scaglione, valgono solo per gli sconti di riga
|
||||||
|
|
||||||
void TTabelle_sconti::fill_rec(TRectype &r, TMask& m)
|
/*void TTabelle_sconti::fill_rec(TRectype &r, TMask& m)
|
||||||
{
|
{
|
||||||
TString16 tipo(m.get(F_R_TIPO));
|
TString16 tipo(m.get(F_R_TIPO));
|
||||||
TString16 codcat(m.get(F_R_CODCAT));
|
TString16 codcat(m.get(F_R_CODCAT));
|
||||||
if (codcat.empty()) codcat = m.get(F_R_RICERCA);
|
|
||||||
TString codart(m.get(F_R_CODART));
|
TString codart(m.get(F_R_CODART));
|
||||||
if (codart.empty()) codart = m.get(F_R_RICERCA_A);
|
if (codart.empty()) codart = m.get(F_R_CODART_A);
|
||||||
TString16 um(m.get(F_R_UM));
|
TString16 um(m.get(F_R_UM));
|
||||||
int sca = m.get_int(F_R_SCA);
|
int sca = m.get_int(F_R_SCA);
|
||||||
r.zero();
|
r.zero();
|
||||||
r.put("TIPO",tipo);r.put("CODCAT",codcat);
|
r.put("TIPO",tipo);r.put("CODCAT",codcat);
|
||||||
r.put("CODART",codart); r.put("UM",um);r.put("NSCAGL",sca);
|
r.put("CODART",codart); r.put("UM",um);r.put("NSCAGL",sca);
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
real TTabelle_sconti::find_prev_qta(TRectype& r)
|
real TTabelle_sconti::find_prev_qta(TRectype& r)
|
||||||
{
|
{
|
||||||
@ -117,8 +125,9 @@ bool TTabelle_sconti::handle_qta(TMask_field &f, KEY k)
|
|||||||
TMask& m = f.mask();
|
TMask& m = f.mask();
|
||||||
real qta_prev,qta_next;
|
real qta_prev,qta_next;
|
||||||
real current_qta(f.get());
|
real current_qta(f.get());
|
||||||
TRectype r1(LF_SCONTI);
|
TRelation r(LF_SCONTI);
|
||||||
fill_rec(r1,m);
|
m.autosave(r);
|
||||||
|
TRectype r1(r.curr());
|
||||||
TRectype r2(r1);
|
TRectype r2(r1);
|
||||||
|
|
||||||
qta_prev = find_prev_qta(r1);
|
qta_prev = find_prev_qta(r1);
|
||||||
@ -154,17 +163,19 @@ bool TTabelle_sconti::handle_sca(TMask_field &f, KEY k)
|
|||||||
int sca = atoi(f.get());
|
int sca = atoi(f.get());
|
||||||
if (sca == 1) return TRUE;
|
if (sca == 1) return TRUE;
|
||||||
|
|
||||||
TRectype r(LF_SCONTI);
|
TRelation sconti(LF_SCONTI);
|
||||||
fill_rec(r, m);
|
|
||||||
TLocalisamfile sconti(LF_SCONTI);
|
m.autosave(sconti);
|
||||||
|
|
||||||
|
TRectype r(sconti.curr());
|
||||||
|
|
||||||
sconti.curr() = r;
|
|
||||||
sconti.read();
|
sconti.read();
|
||||||
if (sconti.bad()) // se non l'ha trovato significa che e' in inserimento
|
if (sconti.bad()) // se non l'ha trovato significa che e' in inserimento
|
||||||
{
|
{
|
||||||
sca--;
|
sca--;
|
||||||
r.put("NSCAGL",sca); //cerca quello precedente...
|
sconti.curr() = r;
|
||||||
if (sconti.read(r) != NOERR) // se non lo trova segnala l'errore di errata sequenza
|
sconti.curr().put("NSCAGL",sca); //cerca quello precedente...
|
||||||
|
if (sconti.read() != NOERR) // se non lo trova segnala l'errore di errata sequenza
|
||||||
{
|
{
|
||||||
f.error_box("Il numero di scaglione immesso non e' in sequenza.");
|
f.error_box("Il numero di scaglione immesso non e' in sequenza.");
|
||||||
return FALSE;
|
return FALSE;
|
||||||
@ -174,23 +185,20 @@ bool TTabelle_sconti::handle_sca(TMask_field &f, KEY k)
|
|||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool TTabelle_sconti::handle_art(TMask_field &f, KEY k)
|
bool TTabelle_sconti::handle_check(TMask_field &f, KEY k)
|
||||||
{
|
{
|
||||||
if (f.to_check(k))
|
if (f.to_check(k))
|
||||||
{
|
{
|
||||||
TLocalisamfile a(LF_ANAMAG);
|
TEditable_field & check_field = (TEditable_field &) f.mask().field(f.dlg() + 100);
|
||||||
TString art(f.get());
|
|
||||||
if (art.empty()) return TRUE;
|
check_field.set(f.get());
|
||||||
a.put("CODART",art);
|
if (!check_field.check())
|
||||||
if (a.read() != NOERR)
|
return check_field.error_box(check_field.get_warning());
|
||||||
{
|
|
||||||
f.error_box("Codice articolo non presente sull'anagrafica");
|
|
||||||
return FALSE;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
bool TTabelle_sconti::handle_um(TMask_field &f, KEY k)
|
bool TTabelle_sconti::handle_um(TMask_field &f, KEY k)
|
||||||
{
|
{
|
||||||
if (f.to_check(k))
|
if (f.to_check(k))
|
||||||
@ -209,94 +217,47 @@ bool TTabelle_sconti::handle_um(TMask_field &f, KEY k)
|
|||||||
}
|
}
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* bool TTabelle_sconti::handle_sco(TMask_field &f, KEY k)
|
|
||||||
{
|
|
||||||
if (f.to_check(k))
|
|
||||||
{
|
|
||||||
TLocalisamfile a(LF_SCONTI);
|
|
||||||
TString sco(f.get());
|
|
||||||
if (sco.empty()) return TRUE;
|
|
||||||
a.put("TIPO","D");
|
|
||||||
a.put("CODCAT",sco);
|
|
||||||
if (a.read() != NOERR)
|
|
||||||
{
|
|
||||||
f.error_box("Sconto cliente non presente");
|
|
||||||
return FALSE;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return TRUE;
|
|
||||||
}
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
bool TTabelle_sconti::handle_zon(TMask_field &f, KEY k)
|
bool TTabelle_sconti::user_create()
|
||||||
{
|
{
|
||||||
if (f.to_check(k))
|
|
||||||
{
|
|
||||||
TTable a("%ZON");
|
|
||||||
TString zon(f.get());
|
|
||||||
if (zon.empty()) return TRUE;
|
|
||||||
a.put("CODTAB",zon);
|
|
||||||
if (a.read() != NOERR)
|
|
||||||
{
|
|
||||||
f.error_box("Zona non presente");
|
|
||||||
return FALSE;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return TRUE;
|
|
||||||
}
|
|
||||||
|
|
||||||
bool TTabelle_sconti::handle_cpg(TMask_field &f, KEY k)
|
|
||||||
{
|
|
||||||
if (f.to_check(k))
|
|
||||||
{
|
|
||||||
TTable a("%CPG");
|
|
||||||
TString con(f.get());
|
|
||||||
if (con.empty()) return TRUE;
|
|
||||||
a.put("CODTAB",con);
|
|
||||||
if (a.read() != NOERR)
|
|
||||||
{
|
|
||||||
f.error_box("Condizione di pagamento non presente");
|
|
||||||
return FALSE;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return TRUE;
|
|
||||||
}
|
|
||||||
|
|
||||||
bool TTabelle_sconti::user_create() {
|
|
||||||
bool gotcha= FALSE; // booleano di avvenuta inizializzazione
|
bool gotcha= FALSE; // booleano di avvenuta inizializzazione
|
||||||
int i; // indice di ciclo
|
|
||||||
|
|
||||||
_sconti= '*'; // inizializzazione dell'indicatore del tipo di tabella
|
_sconti= '*'; // inizializzazione dell'indicatore del tipo di tabella
|
||||||
if (argc()>2) _sconti= toupper((argv(2))[0]); // se c'è, prende il tipo di tabella dalla linea di comando
|
if (argc()>2)
|
||||||
else {
|
_sconti = toupper((argv(2))[0]); // se c'è, prende il tipo di tabella dalla linea di comando
|
||||||
TMask choose("VE2100"); // istanzia la maschera di scelta del tipo di tabella
|
else
|
||||||
if (choose.run() == K_ENTER) _sconti= toupper((choose.get(F_TIPOSC))[0]); // prende il tipo di tabella dalla maschera
|
{
|
||||||
|
TMask choose("ve2100"); // istanzia la maschera di scelta del tipo di tabella
|
||||||
|
if (choose.run() == K_ENTER)
|
||||||
|
_sconti = toupper((choose.get(F_TIPOSC))[0]); // prende il tipo di tabella dalla maschera
|
||||||
|
else
|
||||||
|
return FALSE;
|
||||||
}
|
}
|
||||||
TConfig prassid(CONFIG_DITTA, "ve"); // apre il file di configurazione di ditta
|
TConfig prassid(CONFIG_DITTA, "ve"); // apre il file di configurazione di ditta
|
||||||
switch (_sconti) {
|
switch (_sconti) {
|
||||||
case 'D': // sconti documento
|
case 'D': // sconti documento
|
||||||
_msk= new TMask("VE2100D"); // apre la maschera relativa
|
_msk= new TMask("ve2100d"); // apre la maschera relativa
|
||||||
set_search_field(F_D_CODCAT); // setta il campo di ricerca
|
set_search_field(F_D_CODCAT); // setta il campo di ricerca
|
||||||
gotcha= TRUE;
|
gotcha= TRUE;
|
||||||
break;
|
break;
|
||||||
case 'R': // sconti di riga
|
case 'R': // sconti di riga
|
||||||
_gesscoriga = prassid.get("GESSCORIGA"); // legge lo stato del parametro di abilitazione degli sconti riga
|
_gesscoriga = prassid.get("GESSCORIGA"); // legge lo stato del parametro di abilitazione degli sconti riga
|
||||||
if (_gesscoriga == "A") {
|
if (_gesscoriga == "A")
|
||||||
_msk= new TMask("VE2100R"); // apre la maschera relativa
|
{
|
||||||
set_search_field(F_R_RICERCA); // setta il campo di ricerca
|
_msk= new TMask("ve2100r"); // apre la maschera relativa
|
||||||
|
|
||||||
_catven= prassid.get_bool("GESSCORIGACV"); // legge il parametro di abilitazione delle categorie di vendita
|
_catven= prassid.get_bool("GESSCORIGACV"); // legge il parametro di abilitazione delle categorie di vendita
|
||||||
_scoum = prassid.get_bool("GESSCOUM"); // legge il parametro di abilitazione delle unita' di misura
|
|
||||||
_sca = prassid.get_bool("GESSCOSCA"); // legge il parametro di abilitazione degli scaglioni
|
|
||||||
if (!_catven)
|
if (!_catven)
|
||||||
{
|
|
||||||
key_disable(*_msk, F_R_CODCAT); // se non è abilitato, viene disabilitato anche il campo
|
key_disable(*_msk, F_R_CODCAT); // se non è abilitato, viene disabilitato anche il campo
|
||||||
set_search_field(F_R_RICERCA_A); // setta il campo di ricerca
|
|
||||||
}
|
_scoum = prassid.get_bool("GESSCOUM"); // legge il parametro di abilitazione delle unita' di misura
|
||||||
if (!_scoum)
|
if (!_scoum)
|
||||||
key_disable(*_msk, F_R_UM); // se non e' abilitato, viene disabilitato anche il campo
|
key_disable(*_msk, F_R_UM); // se non e' abilitato, viene disabilitato anche il campo
|
||||||
else
|
// else
|
||||||
_msk->set_handler(F_R_UM,handle_um);
|
// _msk->set_handler(F_R_UM,handle_um);
|
||||||
|
|
||||||
|
_sca = prassid.get_bool("GESSCOSCA"); // legge il parametro di abilitazione degli scaglioni
|
||||||
if (!_sca)
|
if (!_sca)
|
||||||
{
|
{
|
||||||
key_disable(*_msk, F_R_SCA); // se non e' abilitato, viene disabilitato anche il campo
|
key_disable(*_msk, F_R_SCA); // se non e' abilitato, viene disabilitato anche il campo
|
||||||
@ -307,15 +268,60 @@ bool TTabelle_sconti::user_create() {
|
|||||||
_msk->set_handler(F_R_QLIM, handle_qta); // setta l'handler per controllare la quantita' limite
|
_msk->set_handler(F_R_QLIM, handle_qta); // setta l'handler per controllare la quantita' limite
|
||||||
_msk->set_handler(F_R_SCA, handle_sca); // setta l'handler per controllare la sequenza degli scaglioni
|
_msk->set_handler(F_R_SCA, handle_sca); // setta l'handler per controllare la sequenza degli scaglioni
|
||||||
}
|
}
|
||||||
_msk->set_handler(F_R_CODART,handle_art);
|
_msk->set_handler(F_R_CODART_A,handle_check);
|
||||||
_msk->set_handler(F_R_RICERCA_A,handle_art);
|
_msk->set_handler(F_R_RFA_A,handle_check);
|
||||||
|
_msk->set_handler(F_R_GRM_A,handle_check);
|
||||||
|
_msk->set_handler(F_R_SGM_A,handle_check);
|
||||||
gotcha= TRUE;
|
gotcha= TRUE;
|
||||||
} else error_box("Gli sconti di riga non sono abilitati nella configurazione");
|
|
||||||
|
const char * rigakey = prassid.get("SCORIGAKEY");
|
||||||
|
|
||||||
|
_msk->set(F_R_TIPO_RIGA, rigakey);
|
||||||
|
switch (*rigakey)
|
||||||
|
{
|
||||||
|
case 'A' :
|
||||||
|
key_hide(*_msk, F_R_RFA_A);
|
||||||
|
key_hide(*_msk, F_R_RFA);
|
||||||
|
key_hide(*_msk, F_R_GRM_A);
|
||||||
|
key_hide(*_msk, F_R_GRM);
|
||||||
|
key_hide(*_msk, F_R_SGM_A);
|
||||||
|
key_hide(*_msk, F_R_SGM);
|
||||||
|
break;
|
||||||
|
case 'R' :
|
||||||
|
key_hide(*_msk, F_R_CODART_A);
|
||||||
|
key_hide(*_msk, F_R_CODART);
|
||||||
|
key_hide(*_msk, F_R_GRM_A);
|
||||||
|
key_hide(*_msk, F_R_GRM);
|
||||||
|
key_hide(*_msk, F_R_SGM_A);
|
||||||
|
key_hide(*_msk, F_R_SGM);
|
||||||
|
break;
|
||||||
|
case 'C' :
|
||||||
|
key_hide(*_msk, F_R_CODART_A);
|
||||||
|
key_hide(*_msk, F_R_CODART);
|
||||||
|
key_hide(*_msk, F_R_RFA_A);
|
||||||
|
key_hide(*_msk, F_R_RFA);
|
||||||
|
key_hide(*_msk, F_R_GRM_A);
|
||||||
|
key_hide(*_msk, F_R_GRM);
|
||||||
|
break;
|
||||||
|
case 'L' :
|
||||||
|
key_hide(*_msk, F_R_CODART_A);
|
||||||
|
key_hide(*_msk, F_R_CODART);
|
||||||
|
key_hide(*_msk, F_R_RFA_A);
|
||||||
|
key_hide(*_msk, F_R_RFA);
|
||||||
|
key_hide(*_msk, F_R_SGM_A);
|
||||||
|
key_hide(*_msk, F_R_SGM);
|
||||||
|
break;
|
||||||
|
default :
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
error_box("Gli sconti di riga non sono abilitati nella configurazione");
|
||||||
break;
|
break;
|
||||||
case 'I': // sconti incondizionati
|
case 'I': // sconti incondizionati
|
||||||
_gessco= prassid.get("GESSCO"); // legge lo stato del parametro di abilitazione degli sconti
|
_gessco= prassid.get("GESSCO"); // legge lo stato del parametro di abilitazione degli sconti
|
||||||
if (_gessco=="A") {
|
if (_gessco=="A") {
|
||||||
_msk= new TMask("VE2100I"); // apre la maschera relativa
|
_msk= new TMask("ve2100i"); // apre la maschera relativa
|
||||||
// inizializza l'array dei campi da disabilitare condizionalmente
|
// inizializza l'array dei campi da disabilitare condizionalmente
|
||||||
_sci_k_id[0].normal_field = F_I_CATVEN;
|
_sci_k_id[0].normal_field = F_I_CATVEN;
|
||||||
_sci_k_id[0].search_field = F_I_RICERCA;
|
_sci_k_id[0].search_field = F_I_RICERCA;
|
||||||
@ -329,13 +335,12 @@ bool TTabelle_sconti::user_create() {
|
|||||||
_sci_k_id[3].normal_field = F_I_CONDPAG;
|
_sci_k_id[3].normal_field = F_I_CONDPAG;
|
||||||
_sci_k_id[3].search_field = F_I_RICERCA_CO;
|
_sci_k_id[3].search_field = F_I_RICERCA_CO;
|
||||||
_sci_k_id[3].enabled = TRUE;
|
_sci_k_id[3].enabled = TRUE;
|
||||||
// _msk->set_handler(F_I_SCCLIENTI,handle_sco);
|
_msk->set_handler(F_I_RICERCA, handle_check);
|
||||||
_msk->set_handler(F_I_ZONE,handle_zon);
|
_msk->set_handler(F_I_RICERCA_SC, handle_check);
|
||||||
_msk->set_handler(F_I_CONDPAG,handle_cpg);
|
_msk->set_handler(F_I_RICERCA_ZO, handle_check);
|
||||||
// _msk->set_handler(F_I_RICERCA_SC,handle_sco);
|
_msk->set_handler(F_I_RICERCA_CO, handle_check);
|
||||||
_msk->set_handler(F_I_RICERCA_ZO,handle_zon);
|
for (int i = 0; i < 4; i++)
|
||||||
_msk->set_handler(F_I_RICERCA_CO,handle_cpg);
|
{
|
||||||
for (i=0; i<4; i++) {
|
|
||||||
if (!prassid.get_bool("SCOKEY", NULL, i+1)) // se nel file di config. il campo non è abilitato...
|
if (!prassid.get_bool("SCOKEY", NULL, i+1)) // se nel file di config. il campo non è abilitato...
|
||||||
{
|
{
|
||||||
key_disable(*_msk, _sci_k_id[i].normal_field); // il campo non è abilitato viene disabilitato anche sulla maschera
|
key_disable(*_msk, _sci_k_id[i].normal_field); // il campo non è abilitato viene disabilitato anche sulla maschera
|
||||||
@ -367,7 +372,6 @@ bool TTabelle_sconti::user_destroy() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void TTabelle_sconti::init_query_mode(TMask& m) {
|
void TTabelle_sconti::init_query_mode(TMask& m) {
|
||||||
int i;
|
|
||||||
|
|
||||||
switch (_sconti)
|
switch (_sconti)
|
||||||
{
|
{
|
||||||
@ -375,67 +379,106 @@ void TTabelle_sconti::init_query_mode(TMask& m) {
|
|||||||
set_search_field(F_D_CODCAT); // setta il campo di ricerca
|
set_search_field(F_D_CODCAT); // setta il campo di ricerca
|
||||||
break;
|
break;
|
||||||
case 'I':
|
case 'I':
|
||||||
for (i=0; i<4;i++)
|
{
|
||||||
if (_sci_k_id[i].enabled)
|
for (int i = 0; i < 4 ; i++)
|
||||||
{
|
{
|
||||||
m.show(_sci_k_id[i].search_field);
|
if (_sci_k_id[i].enabled)
|
||||||
m.hide(_sci_k_id[i].normal_field);
|
{
|
||||||
key_enable(m,_sci_k_id[i].search_field);
|
m.show(_sci_k_id[i].search_field);
|
||||||
key_disable(m,_sci_k_id[i].normal_field);
|
m.hide(_sci_k_id[i].normal_field);
|
||||||
set_search_field(_sci_k_id[i].search_field);
|
key_enable(m,_sci_k_id[i].search_field);
|
||||||
break;
|
key_disable(m,_sci_k_id[i].normal_field);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
break;
|
set_search_field(F_I_RICERCA);
|
||||||
case 'R':
|
|
||||||
if (_catven)
|
|
||||||
{
|
|
||||||
m.show(F_R_RICERCA);
|
|
||||||
m.hide(F_R_CODCAT);
|
|
||||||
set_search_field(F_R_RICERCA); // setta il campo di ricerca
|
|
||||||
}
|
}
|
||||||
else
|
break;
|
||||||
|
case 'R':
|
||||||
{
|
{
|
||||||
m.hide(F_R_CODART);
|
const char * rigakey = m.get(F_R_TIPO_RIGA);
|
||||||
m.show(F_R_RICERCA_A);
|
|
||||||
set_search_field(F_R_RICERCA_A); // setta il campo di ricerca
|
switch (*rigakey)
|
||||||
|
{
|
||||||
|
case 'A' :
|
||||||
|
m.show(F_R_CODART_A);
|
||||||
|
m.hide(F_R_CODART);
|
||||||
|
set_search_field(F_R_CODART_A); // setta il campo di ricerca
|
||||||
|
break;
|
||||||
|
case 'R' :
|
||||||
|
m.show(F_R_RFA_A);
|
||||||
|
m.hide(F_R_RFA);
|
||||||
|
set_search_field(F_R_RFA_A); // setta il campo di ricerca
|
||||||
|
break;
|
||||||
|
case 'C' :
|
||||||
|
m.show(F_R_SGM_A);
|
||||||
|
m.hide(F_R_SGM);
|
||||||
|
set_search_field(F_R_SGM_A); // setta il campo di ricerca
|
||||||
|
break;
|
||||||
|
case 'L' :
|
||||||
|
m.show(F_R_GRM_A);
|
||||||
|
m.hide(F_R_GRM);
|
||||||
|
set_search_field(F_R_GRM_A); // setta il campo di ricerca
|
||||||
|
break;
|
||||||
|
default :
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
default: break;
|
default: break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void TTabelle_sconti::init_query_insert_mode(TMask& m) {
|
void TTabelle_sconti::init_query_insert_mode(TMask& m)
|
||||||
int i;
|
{
|
||||||
|
|
||||||
switch (_sconti)
|
switch (_sconti)
|
||||||
{
|
{
|
||||||
case 'D':
|
case 'D':
|
||||||
set_search_field(F_D_CODCAT); // setta il campo di ricerca
|
set_search_field(F_D_CODCAT); // setta il campo di ricerca
|
||||||
break;
|
break;
|
||||||
case 'I':
|
case 'I':
|
||||||
for (i=0; i<4;i++)
|
{
|
||||||
if (_sci_k_id[i].enabled)
|
for (int i = 0; i < 4; i++)
|
||||||
{
|
{
|
||||||
m.show(_sci_k_id[i].normal_field);
|
if (_sci_k_id[i].enabled)
|
||||||
m.hide(_sci_k_id[i].search_field);
|
{
|
||||||
key_enable(m,_sci_k_id[i].normal_field);
|
m.show(_sci_k_id[i].normal_field);
|
||||||
key_disable(m,_sci_k_id[i].search_field);
|
m.hide(_sci_k_id[i].search_field);
|
||||||
set_search_field(_sci_k_id[i].normal_field);
|
key_enable(m,_sci_k_id[i].normal_field);
|
||||||
break;
|
key_disable(m,_sci_k_id[i].search_field);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
set_search_field(F_I_CATVEN);
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case 'R':
|
case 'R':
|
||||||
if (_catven)
|
|
||||||
{
|
{
|
||||||
m.hide(F_R_RICERCA);
|
const char * rigakey = m.get(F_R_TIPO_RIGA);
|
||||||
m.show(F_R_CODCAT);
|
|
||||||
set_search_field(F_R_CODCAT); // setta il campo di ricerca
|
switch (*rigakey)
|
||||||
}
|
{
|
||||||
else
|
case 'A' :
|
||||||
{
|
m.show(F_R_CODART);
|
||||||
m.hide(F_R_RICERCA_A);
|
m.hide(F_R_CODART_A);
|
||||||
m.show(F_R_CODART);
|
set_search_field(F_R_CODART); // setta il campo di ricerca
|
||||||
set_search_field(F_R_CODART); // setta il campo di ricerca
|
break;
|
||||||
|
case 'R' :
|
||||||
|
m.show(F_R_RFA);
|
||||||
|
m.hide(F_R_RFA_A);
|
||||||
|
set_search_field(F_R_RFA); // setta il campo di ricerca
|
||||||
|
break;
|
||||||
|
case 'C' :
|
||||||
|
m.show(F_R_SGM);
|
||||||
|
m.hide(F_R_SGM_A);
|
||||||
|
set_search_field(F_R_SGM); // setta il campo di ricerca
|
||||||
|
break;
|
||||||
|
case 'L' :
|
||||||
|
m.show(F_R_GRM);
|
||||||
|
m.hide(F_R_GRM_A);
|
||||||
|
set_search_field(F_R_GRM); // setta il campo di ricerca
|
||||||
|
break;
|
||||||
|
default :
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
default: break;
|
default: break;
|
||||||
@ -457,7 +500,6 @@ void TTabelle_sconti::renumber_sca(const TRectype& r)
|
|||||||
bool TTabelle_sconti::remove()
|
bool TTabelle_sconti::remove()
|
||||||
{
|
{
|
||||||
TRectype r(LF_SCONTI);
|
TRectype r(LF_SCONTI);
|
||||||
fill_rec(r,*_msk);
|
|
||||||
const bool rt = TRelation_application::remove();
|
const bool rt = TRelation_application::remove();
|
||||||
if (_sca) // rinumera gli scaglioni
|
if (_sca) // rinumera gli scaglioni
|
||||||
renumber_sca(r);
|
renumber_sca(r);
|
||||||
|
@ -7,7 +7,7 @@ BEGIN
|
|||||||
PROMPT 1 2 "Tipo di archivio "
|
PROMPT 1 2 "Tipo di archivio "
|
||||||
ITEM "R|Sconti di riga"
|
ITEM "R|Sconti di riga"
|
||||||
ITEM "D|Sconti documento"
|
ITEM "D|Sconti documento"
|
||||||
ITEM "I|Sconti indondizionati"
|
ITEM "I|Sconti incondizionati"
|
||||||
END
|
END
|
||||||
|
|
||||||
BUTTON DLG_SELECT 9 2
|
BUTTON DLG_SELECT 9 2
|
||||||
|
29
ve/ve2100i.h
29
ve/ve2100i.h
@ -1,15 +1,16 @@
|
|||||||
#define F_I_RICERCA 131
|
#define F_I_TIPO 132
|
||||||
#define F_I_TIPO 132
|
#define F_I_SCONTO 137
|
||||||
#define F_I_CATVEN 133
|
#define F_I_DESVEN 138
|
||||||
#define F_I_SCCLIENTI 134
|
#define F_I_DESSCCLI 139
|
||||||
#define F_I_ZONE 135
|
#define F_I_DESZONE 140
|
||||||
#define F_I_CONDPAG 136
|
#define F_I_DESCONPAG 141
|
||||||
#define F_I_SCONTO 137
|
|
||||||
#define F_I_DESVEN 138
|
|
||||||
#define F_I_DESSCCLI 139
|
|
||||||
#define F_I_DESZONE 140
|
|
||||||
#define F_I_DESCONPAG 141
|
|
||||||
#define F_I_RICERCA_SC 142
|
|
||||||
#define F_I_RICERCA_ZO 143
|
|
||||||
#define F_I_RICERCA_CO 144
|
|
||||||
|
|
||||||
|
#define F_I_RICERCA_SC 150
|
||||||
|
#define F_I_RICERCA_ZO 151
|
||||||
|
#define F_I_RICERCA_CO 152
|
||||||
|
#define F_I_RICERCA 153
|
||||||
|
|
||||||
|
#define F_I_SCCLIENTI 250
|
||||||
|
#define F_I_ZONE 251
|
||||||
|
#define F_I_CONDPAG 252
|
||||||
|
#define F_I_CATVEN 253
|
||||||
|
@ -24,17 +24,17 @@ END
|
|||||||
|
|
||||||
STRING F_I_RICERCA 2
|
STRING F_I_RICERCA 2
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 2 2 "Cat. vendite "
|
PROMPT 2 2 "Cat. vendita "
|
||||||
FIELD CODCAT
|
FIELD CODCAT
|
||||||
FLAG "HU"
|
FLAG "HU"
|
||||||
KEY 1
|
KEY 1
|
||||||
USE LF_SCONTI SELECT CODCAT != ""
|
USE LF_SCONTI SELECT CODCAT != ""
|
||||||
JOIN CVE ALIAS 201 INTO CODTAB==CODCAT
|
JOIN CVE ALIAS 201 INTO CODTAB==CODCAT
|
||||||
INPUT TIPO F_I_TIPO SELECT
|
INPUT TIPO F_I_TIPO SELECT
|
||||||
INPUT CODCAT F_I_CATVEN
|
INPUT CODCAT F_I_RICERCA
|
||||||
INPUT CODART[1,2] F_I_SCCLIENTI
|
INPUT CODART[1,2] F_I_RICERCA_SC
|
||||||
INPUT CODART[3,4] F_I_ZONE
|
INPUT CODART[3,4] F_I_RICERCA_ZO
|
||||||
INPUT CODART[5,8] F_I_CONDPAG
|
INPUT CODART[5,8] F_I_RICERCA_CO
|
||||||
DISPLAY "Cat.Vend." CODCAT
|
DISPLAY "Cat.Vend." CODCAT
|
||||||
DISPLAY "Cod. sconto" CODART[1,2]
|
DISPLAY "Cod. sconto" CODART[1,2]
|
||||||
DISPLAY "Zona" CODART[3,4]
|
DISPLAY "Zona" CODART[3,4]
|
||||||
@ -42,9 +42,9 @@ BEGIN
|
|||||||
DISPLAY "Sconto@25" SCONTO
|
DISPLAY "Sconto@25" SCONTO
|
||||||
OUTPUT F_I_RICERCA CODCAT
|
OUTPUT F_I_RICERCA CODCAT
|
||||||
OUTPUT F_I_DESVEN -201->S0
|
OUTPUT F_I_DESVEN -201->S0
|
||||||
OUTPUT F_I_SCCLIENTI CODART[1,2]
|
OUTPUT F_I_RICERCA_SC CODART[1,2]
|
||||||
OUTPUT F_I_ZONE CODART[3,4]
|
OUTPUT F_I_RICERCA_ZO CODART[3,4]
|
||||||
OUTPUT F_I_CONDPAG CODART[5,8]
|
OUTPUT F_I_RICERCA_CO CODART[5,8]
|
||||||
END
|
END
|
||||||
|
|
||||||
STRING F_I_CATVEN 2
|
STRING F_I_CATVEN 2
|
||||||
@ -74,21 +74,7 @@ BEGIN
|
|||||||
FIELD CODART[1,2]
|
FIELD CODART[1,2]
|
||||||
FLAG "HU"
|
FLAG "HU"
|
||||||
KEY 1
|
KEY 1
|
||||||
USE LF_SCONTI
|
COPY ALL F_I_RICERCA
|
||||||
INPUT TIPO F_I_TIPO SELECT
|
|
||||||
INPUT CODCAT F_I_CATVEN SELECT
|
|
||||||
INPUT CODART[1,2] F_I_RICERCA_SC
|
|
||||||
INPUT CODART[3,4] F_I_ZONE
|
|
||||||
INPUT CODART[5,8] F_I_CONDPAG
|
|
||||||
DISPLAY "Cod. sconto" CODART[1,2]
|
|
||||||
DISPLAY "Zona" CODART[3,4]
|
|
||||||
DISPLAY "Cond.Pag." CODART[5,8]
|
|
||||||
DISPLAY "Sconto@25" SCONTO
|
|
||||||
OUTPUT F_I_RICERCA_SC CODART[1,2]
|
|
||||||
OUTPUT F_I_SCCLIENTI CODART[1,2]
|
|
||||||
OUTPUT F_I_ZONE CODART[3,4]
|
|
||||||
OUTPUT F_I_CONDPAG CODART[5,8]
|
|
||||||
MESSAGE COPY,F_I_SCCLIENTI
|
|
||||||
END
|
END
|
||||||
|
|
||||||
STRING F_I_SCCLIENTI 2
|
STRING F_I_SCCLIENTI 2
|
||||||
@ -98,18 +84,12 @@ BEGIN
|
|||||||
KEY 1
|
KEY 1
|
||||||
FLAG "U"
|
FLAG "U"
|
||||||
USE %SCC
|
USE %SCC
|
||||||
// INPUT TIPO "D"
|
|
||||||
// INPUT CODCAT F_I_SCCLIENTI
|
|
||||||
// DISPLAY "Sc. Cliente" CODCAT
|
|
||||||
// DISPLAY "Descrizione@50" DESCR
|
|
||||||
// OUTPUT F_I_SCCLIENTI CODCAT
|
|
||||||
// OUTPUT F_I_DESSCCLI DESCR
|
|
||||||
INPUT CODTAB F_I_SCCLIENTI
|
INPUT CODTAB F_I_SCCLIENTI
|
||||||
DISPLAY "Sc. Cliente" CODTAB
|
DISPLAY "Sc. Cliente" CODTAB
|
||||||
DISPLAY "Descrizione@50" S0
|
DISPLAY "Descrizione@50" S0
|
||||||
OUTPUT F_I_SCCLIENTI CODTAB
|
OUTPUT F_I_SCCLIENTI CODTAB
|
||||||
OUTPUT F_I_DESSCCLI S0
|
OUTPUT F_I_DESSCCLI S0
|
||||||
CHECKTYPE REQUIRED
|
CHECKTYPE FORCED
|
||||||
END
|
END
|
||||||
|
|
||||||
STRING F_I_DESSCCLI 50
|
STRING F_I_DESSCCLI 50
|
||||||
@ -124,19 +104,7 @@ BEGIN
|
|||||||
FIELD CODART[3,4]
|
FIELD CODART[3,4]
|
||||||
FLAG "HU"
|
FLAG "HU"
|
||||||
KEY 1
|
KEY 1
|
||||||
USE LF_SCONTI SELECT CODCAT==""
|
COPY ALL F_I_RICERCA
|
||||||
INPUT TIPO F_I_TIPO SELECT
|
|
||||||
INPUT CODCAT F_I_CATVEN SELECT
|
|
||||||
INPUT CODART[1,2] F_I_SCCLIENTI SELECT
|
|
||||||
INPUT CODART[3,4] F_I_RICERCA_ZO
|
|
||||||
INPUT CODART[5,8] F_I_CONDPAG
|
|
||||||
DISPLAY "Zona" CODART[3,4]
|
|
||||||
DISPLAY "Cond.Pag." CODART[5,8]
|
|
||||||
DISPLAY "Sconto@25" SCONTO
|
|
||||||
OUTPUT F_I_RICERCA_ZO CODART[3,4]
|
|
||||||
OUTPUT F_I_ZONE CODART[3,4]
|
|
||||||
OUTPUT F_I_CONDPAG CODART[5,8]
|
|
||||||
MESSAGE COPY,F_I_ZONE
|
|
||||||
END
|
END
|
||||||
|
|
||||||
STRING F_I_ZONE 2
|
STRING F_I_ZONE 2
|
||||||
@ -145,13 +113,13 @@ BEGIN
|
|||||||
FIELD CODART[3,4]
|
FIELD CODART[3,4]
|
||||||
FLAG "U"
|
FLAG "U"
|
||||||
KEY 1
|
KEY 1
|
||||||
USE %ZON
|
USE ZON
|
||||||
INPUT CODTAB F_I_ZONE
|
INPUT CODTAB F_I_ZONE
|
||||||
DISPLAY "Zona" CODTAB
|
DISPLAY "Zona" CODTAB
|
||||||
DISPLAY "Descrizione@50" S0
|
DISPLAY "Descrizione@50" S0
|
||||||
OUTPUT F_I_ZONE CODTAB
|
OUTPUT F_I_ZONE CODTAB
|
||||||
OUTPUT F_I_DESZONE S0
|
OUTPUT F_I_DESZONE S0
|
||||||
CHECKTYPE REQUIRED
|
CHECKTYPE FORCED
|
||||||
END
|
END
|
||||||
|
|
||||||
STRING F_I_DESZONE 50
|
STRING F_I_DESZONE 50
|
||||||
@ -166,17 +134,7 @@ BEGIN
|
|||||||
FIELD CODART[5,8]
|
FIELD CODART[5,8]
|
||||||
FLAG "HU"
|
FLAG "HU"
|
||||||
KEY 1
|
KEY 1
|
||||||
USE LF_SCONTI SELECT CODCAT == ""
|
COPY ALL F_I_RICERCA
|
||||||
INPUT TIPO F_I_TIPO SELECT
|
|
||||||
INPUT CODCAT F_I_CATVEN SELECT
|
|
||||||
INPUT CODART[1,2] F_I_SCCLIENTI SELECT
|
|
||||||
INPUT CODART[3,4] F_I_ZONE SELECT
|
|
||||||
INPUT CODART[5,8] F_I_RICERCA_CO
|
|
||||||
DISPLAY "Cond.Pag." CODART[5,8]
|
|
||||||
DISPLAY "Sconto@25" SCONTO
|
|
||||||
OUTPUT F_I_RICERCA_CO CODART[5,8]
|
|
||||||
OUTPUT F_I_CONDPAG CODART[5,8]
|
|
||||||
MESSAGE COPY,F_I_CONDPAG
|
|
||||||
END
|
END
|
||||||
|
|
||||||
STRING F_I_CONDPAG 4
|
STRING F_I_CONDPAG 4
|
||||||
@ -191,7 +149,7 @@ BEGIN
|
|||||||
DISPLAY "Descrizione@50" S0
|
DISPLAY "Descrizione@50" S0
|
||||||
OUTPUT F_I_CONDPAG CODTAB
|
OUTPUT F_I_CONDPAG CODTAB
|
||||||
OUTPUT F_I_DESCONPAG S0
|
OUTPUT F_I_DESCONPAG S0
|
||||||
CHECKTYPE REQUIRED
|
CHECKTYPE FORCED
|
||||||
END
|
END
|
||||||
|
|
||||||
STRING F_I_DESCONPAG 50
|
STRING F_I_DESCONPAG 50
|
||||||
|
29
ve/ve2100r.h
29
ve/ve2100r.h
@ -1,12 +1,19 @@
|
|||||||
#define F_R_RICERCA 121
|
#define F_R_TIPO 122
|
||||||
#define F_R_TIPO 122
|
#define F_R_CODCAT 123
|
||||||
#define F_R_CODCAT 123
|
#define F_R_UM 125
|
||||||
#define F_R_CODART 124
|
#define F_R_DESART 126
|
||||||
#define F_R_UM 125
|
#define F_R_SCONTO 127
|
||||||
#define F_R_DESART 126
|
#define F_R_DESCAT 128
|
||||||
#define F_R_SCONTO 127
|
#define F_R_SCA 129
|
||||||
#define F_R_DESCAT 128
|
#define F_R_QLIM 130
|
||||||
#define F_R_SCA 129
|
#define F_R_TIPO_RIGA 132
|
||||||
#define F_R_QLIM 130
|
|
||||||
#define F_R_RICERCA_A 131
|
|
||||||
|
|
||||||
|
#define F_R_CODART_A 150
|
||||||
|
#define F_R_RFA_A 151
|
||||||
|
#define F_R_GRM_A 152
|
||||||
|
#define F_R_SGM_A 153
|
||||||
|
|
||||||
|
#define F_R_CODART 250
|
||||||
|
#define F_R_RFA 251
|
||||||
|
#define F_R_GRM 252
|
||||||
|
#define F_R_SGM 253
|
||||||
|
199
ve/ve2100r.uml
199
ve/ve2100r.uml
@ -13,32 +13,6 @@ BEGIN
|
|||||||
FLAG "R"
|
FLAG "R"
|
||||||
END
|
END
|
||||||
|
|
||||||
STRING F_R_RICERCA 2
|
|
||||||
BEGIN
|
|
||||||
PROMPT 2 2 "Cat. vendita "
|
|
||||||
FIELD CODCAT
|
|
||||||
FLAG "HU"
|
|
||||||
KEY 1
|
|
||||||
USE LF_SCONTI SELECT CODCAT != ""
|
|
||||||
JOIN CVE ALIAS 201 INTO CODTAB==CODCAT
|
|
||||||
INPUT TIPO F_R_TIPO SELECT
|
|
||||||
INPUT CODCAT F_R_RICERCA
|
|
||||||
INPUT CODART F_R_CODART
|
|
||||||
INPUT UM F_R_UM
|
|
||||||
DISPLAY "Cat.Vend." CODCAT
|
|
||||||
DISPLAY "Codice art.@20" CODART
|
|
||||||
DISPLAY "U.M." UM
|
|
||||||
DISPLAY "N. scaglione" NSCAGL
|
|
||||||
DISPLAY "Sconto@25" SCONTO
|
|
||||||
OUTPUT F_R_RICERCA CODCAT
|
|
||||||
OUTPUT F_R_CODCAT CODCAT
|
|
||||||
OUTPUT F_R_DESCAT -201->S0
|
|
||||||
OUTPUT F_R_CODART CODART
|
|
||||||
OUTPUT F_R_UM UM
|
|
||||||
OUTPUT F_R_SCA NSCAGL
|
|
||||||
MESSAGE COPY,F_R_CODCAT
|
|
||||||
END
|
|
||||||
|
|
||||||
LIST F_R_TIPO 20
|
LIST F_R_TIPO 20
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 100 100 ""
|
PROMPT 100 100 ""
|
||||||
@ -69,7 +43,19 @@ BEGIN
|
|||||||
FLAG "D"
|
FLAG "D"
|
||||||
END
|
END
|
||||||
|
|
||||||
STRING F_R_RICERCA_A 20
|
LIST F_R_TIPO_RIGA 20
|
||||||
|
BEGIN
|
||||||
|
PROMPT 100 100 " "
|
||||||
|
FIELD TIPORIGA
|
||||||
|
KEY 1
|
||||||
|
ITEM "A|Articoli"
|
||||||
|
ITEM "R|Raggr.fiscale"
|
||||||
|
ITEM "L|Gruppo merc."
|
||||||
|
ITEM "C|Sottogr.merc."
|
||||||
|
FLAGS "DP"
|
||||||
|
END
|
||||||
|
|
||||||
|
STRING F_R_CODART_A 20
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 2 4 "Cod. articolo "
|
PROMPT 2 4 "Cod. articolo "
|
||||||
FIELD CODART
|
FIELD CODART
|
||||||
@ -79,19 +65,23 @@ BEGIN
|
|||||||
JOIN LF_ANAMAG INTO CODART==CODART
|
JOIN LF_ANAMAG INTO CODART==CODART
|
||||||
JOIN CVE ALIAS 201 INTO CODTAB==CODCAT
|
JOIN CVE ALIAS 201 INTO CODTAB==CODCAT
|
||||||
INPUT TIPO F_R_TIPO SELECT
|
INPUT TIPO F_R_TIPO SELECT
|
||||||
INPUT CODCAT F_R_RICERCA SELECT
|
INPUT CODCAT F_R_CODCAT SELECT
|
||||||
INPUT CODART F_R_RICERCA_A
|
INPUT TIPORIGA F_R_TIPO_RIGA SELECT
|
||||||
|
INPUT CODART F_R_CODART_A
|
||||||
INPUT UM F_R_UM
|
INPUT UM F_R_UM
|
||||||
|
DISPLAY "Cat. merc." CODCAT
|
||||||
DISPLAY "Codice art.@20" CODART
|
DISPLAY "Codice art.@20" CODART
|
||||||
DISPLAY "U.M." UM
|
DISPLAY "U.M." UM
|
||||||
DISPLAY "N. scaglione" NSCAGL
|
DISPLAY "N. scaglione" NSCAGL
|
||||||
DISPLAY "Sconto@25" SCONTO
|
DISPLAY "Sconto@25" SCONTO
|
||||||
OUTPUT F_R_RICERCA_A CODART
|
OUTPUT F_R_CODCAT CODCAT
|
||||||
OUTPUT F_R_CODART CODART
|
OUTPUT F_R_TIPO_RIGA TIPORIGA
|
||||||
|
OUTPUT F_R_CODART_A CODART
|
||||||
OUTPUT F_R_UM UM
|
OUTPUT F_R_UM UM
|
||||||
OUTPUT F_R_DESART LF_ANAMAG->DESCR
|
OUTPUT F_R_DESART LF_ANAMAG->DESCR
|
||||||
OUTPUT F_R_SCA NSCAGL
|
OUTPUT F_R_SCA NSCAGL
|
||||||
MESSAGE COPY,F_R_CODART
|
CHECKYTPE REQUIRED
|
||||||
|
GROUP 1
|
||||||
END
|
END
|
||||||
|
|
||||||
STRING F_R_CODART 20
|
STRING F_R_CODART 20
|
||||||
@ -106,10 +96,146 @@ BEGIN
|
|||||||
DISPLAY "Descrizione@50" DESCR
|
DISPLAY "Descrizione@50" DESCR
|
||||||
OUTPUT F_R_CODART CODART
|
OUTPUT F_R_CODART CODART
|
||||||
OUTPUT F_R_DESART DESCR
|
OUTPUT F_R_DESART DESCR
|
||||||
VALIDATE REQIF_FUNC 1 F_R_UM
|
CHECKYTPE FORCED
|
||||||
CHECKTYPE REQUIRED
|
WARNING "Articolo assente"
|
||||||
WARNING "Il codice articolo e' necessario se si specifica l'unita' di misura"
|
|
||||||
ADD RUN VE2 -3
|
ADD RUN VE2 -3
|
||||||
|
GROUP 1
|
||||||
|
END
|
||||||
|
|
||||||
|
STRING F_R_RFA_A 5
|
||||||
|
BEGIN
|
||||||
|
PROMPT 2 4 "Raggr.fiscale "
|
||||||
|
FIELD CODART
|
||||||
|
FLAG "HU"
|
||||||
|
KEY 1
|
||||||
|
USE LF_SCONTI
|
||||||
|
JOIN RFA INTO CODTAB==CODART
|
||||||
|
JOIN CVE ALIAS 201 INTO CODTAB==CODCAT
|
||||||
|
INPUT TIPO F_R_TIPO SELECT
|
||||||
|
INPUT CODCAT F_R_CODCAT SELECT
|
||||||
|
INPUT TIPORIGA F_R_TIPO_RIGA SELECT
|
||||||
|
INPUT CODART F_R_RFA_A
|
||||||
|
INPUT UM F_R_UM
|
||||||
|
DISPLAY "Cat. merc." CODCAT
|
||||||
|
DISPLAY "Codice art.@20" CODART
|
||||||
|
DISPLAY "U.M." UM
|
||||||
|
DISPLAY "N. scaglione" NSCAGL
|
||||||
|
DISPLAY "Sconto@25" SCONTO
|
||||||
|
OUTPUT F_R_CODCAT CODCAT
|
||||||
|
OUTPUT F_R_TIPO_RIGA TIPORIGA
|
||||||
|
OUTPUT F_R_RFA_A CODART
|
||||||
|
OUTPUT F_R_UM UM
|
||||||
|
OUTPUT F_R_DESART RFA->S0
|
||||||
|
OUTPUT F_R_SCA NSCAGL
|
||||||
|
CHECKYTPE REQUIRED
|
||||||
|
GROUP 2
|
||||||
|
END
|
||||||
|
|
||||||
|
STRING F_R_RFA 5
|
||||||
|
BEGIN
|
||||||
|
PROMPT 2 4 "Raggr.fiscale "
|
||||||
|
FIELD CODART
|
||||||
|
FLAG "U"
|
||||||
|
KEY 1
|
||||||
|
USE RFA
|
||||||
|
INPUT CODTAB F_R_RFA
|
||||||
|
DISPLAY "Codice@20" CODTAB
|
||||||
|
DISPLAY "Descrizione@50" S0
|
||||||
|
OUTPUT F_R_RFA CODTAB
|
||||||
|
OUTPUT F_R_DESART S0
|
||||||
|
CHECKYTPE FORCED
|
||||||
|
WARNING "Raggruppamento fiscale assente"
|
||||||
|
GROUP 2
|
||||||
|
END
|
||||||
|
|
||||||
|
STRING F_R_GRM_A 3
|
||||||
|
BEGIN
|
||||||
|
PROMPT 2 4 "Gruppo merc. "
|
||||||
|
FIELD CODART
|
||||||
|
FLAG "HU"
|
||||||
|
KEY 1
|
||||||
|
USE LF_SCONTI
|
||||||
|
JOIN GMC INTO CODTAB==CODART
|
||||||
|
JOIN CVE ALIAS 201 INTO CODTAB==CODCAT
|
||||||
|
INPUT TIPO F_R_TIPO SELECT
|
||||||
|
INPUT CODCAT F_R_CODCAT SELECT
|
||||||
|
INPUT TIPORIGA F_R_TIPO_RIGA SELECT
|
||||||
|
INPUT CODART F_R_GRM_A
|
||||||
|
DISPLAY "Cat. merc." CODCAT
|
||||||
|
DISPLAY "Gruppo merc." CODART
|
||||||
|
DISPLAY "U.M." UM
|
||||||
|
DISPLAY "N. scaglione" NSCAGL
|
||||||
|
DISPLAY "Sconto@25" SCONTO
|
||||||
|
OUTPUT F_R_CODCAT CODCAT
|
||||||
|
OUTPUT F_R_TIPO_RIGA TIPORIGA
|
||||||
|
OUTPUT F_R_GRM_A CODART
|
||||||
|
OUTPUT F_R_UM UM
|
||||||
|
OUTPUT F_R_DESART GMC->S0
|
||||||
|
OUTPUT F_R_SCA NSCAGL
|
||||||
|
CHECKYTPE REQUIRED
|
||||||
|
GROUP 3
|
||||||
|
END
|
||||||
|
|
||||||
|
STRING F_R_GRM 3
|
||||||
|
BEGIN
|
||||||
|
PROMPT 2 4 "Gruppo merc. "
|
||||||
|
FIELD CODART
|
||||||
|
FLAG "U"
|
||||||
|
KEY 1
|
||||||
|
USE GMC SELECT CODTAB ? '???'
|
||||||
|
INPUT CODTAB F_R_GRM
|
||||||
|
DISPLAY "Codice@20" CODTAB
|
||||||
|
DISPLAY "Descrizione@50" S0
|
||||||
|
OUTPUT F_R_GRM CODTAB
|
||||||
|
OUTPUT F_R_DESART S0
|
||||||
|
CHECKYTPE FORCED
|
||||||
|
WARNING "Gruppo merceologico assente"
|
||||||
|
GROUP 3
|
||||||
|
END
|
||||||
|
|
||||||
|
STRING F_R_SGM_A 5
|
||||||
|
BEGIN
|
||||||
|
PROMPT 2 4 "Sottog.merc. "
|
||||||
|
FIELD CODART
|
||||||
|
FLAG "HU"
|
||||||
|
KEY 1
|
||||||
|
USE LF_SCONTI
|
||||||
|
JOIN GMC INTO CODTAB==CODART
|
||||||
|
JOIN CVE ALIAS 201 INTO CODTAB==CODCAT
|
||||||
|
INPUT TIPO F_R_TIPO SELECT
|
||||||
|
INPUT CODCAT F_R_CODCAT SELECT
|
||||||
|
INPUT TIPORIGA F_R_TIPO_RIGA SELECT
|
||||||
|
INPUT CODART F_R_SGM_A
|
||||||
|
DISPLAY "Cat. merc." CODCAT
|
||||||
|
DISPLAY "Sottog.merc." CODART
|
||||||
|
DISPLAY "U.M." UM
|
||||||
|
DISPLAY "N. scaglione" NSCAGL
|
||||||
|
DISPLAY "Sconto@25" SCONTO
|
||||||
|
OUTPUT F_R_CODCAT CODCAT
|
||||||
|
OUTPUT F_R_TIPO_RIGA TIPORIGA
|
||||||
|
OUTPUT F_R_SGM_A CODART
|
||||||
|
OUTPUT F_R_UM UM
|
||||||
|
OUTPUT F_R_DESART GMC->S0
|
||||||
|
OUTPUT F_R_SCA NSCAGL
|
||||||
|
CHECKYTPE REQUIRED
|
||||||
|
GROUP 3
|
||||||
|
END
|
||||||
|
|
||||||
|
STRING F_R_SGM 5
|
||||||
|
BEGIN
|
||||||
|
PROMPT 2 4 "Sottog.merc. "
|
||||||
|
FIELD CODART
|
||||||
|
FLAG "U"
|
||||||
|
KEY 1
|
||||||
|
COPY USE F_R_GRM
|
||||||
|
INPUT CODTAB F_R_SGM
|
||||||
|
DISPLAY "Codice@20" CODTAB
|
||||||
|
DISPLAY "Descrizione@50" S0
|
||||||
|
OUTPUT F_R_SGM CODTAB
|
||||||
|
OUTPUT F_R_DESART S0
|
||||||
|
CHECKYTPE FORCED
|
||||||
|
WARNING "Sottogruppo merceologico assente"
|
||||||
|
GROUP 4
|
||||||
END
|
END
|
||||||
|
|
||||||
STRING F_R_UM 2
|
STRING F_R_UM 2
|
||||||
@ -125,7 +251,8 @@ BEGIN
|
|||||||
DISPLAY "U.M." UM
|
DISPLAY "U.M." UM
|
||||||
DISPLAY "Descrizione@50" %UMS->S0
|
DISPLAY "Descrizione@50" %UMS->S0
|
||||||
OUTPUT F_R_UM UM
|
OUTPUT F_R_UM UM
|
||||||
CHECKTYPE REQUIRED
|
CHECKTYPE FORCED
|
||||||
|
GROUP 1
|
||||||
END
|
END
|
||||||
|
|
||||||
NUMBER F_R_SCA 1
|
NUMBER F_R_SCA 1
|
||||||
|
Loading…
x
Reference in New Issue
Block a user