Tabelle sconti

git-svn-id: svn://10.65.10.50/trunk@1723 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
gianluca 1995-08-21 17:10:07 +00:00
parent 04be25d9d2
commit 6d6de98bad
9 changed files with 388 additions and 84 deletions

View File

@ -1,60 +1,100 @@
#include <relapp.h>
#include <config.h>
#include "ve2100.h"
#define LF_CONDV 52
#define LF_RCONDV 53
#ifndef __CHECKS_H
#include <checks.h>
#endif
class TTabelle_sconti: public TRelation_application {
TMask *_msk; // maschera principale
TRelation *_rel; // relazione principale
#ifndef __RELAPP_H
#include <relapp.h>
#endif
#ifndef __LFFILES_H
#include <lffiles.h>
#endif
class Tlistino_application : public TRelation_application
{
TMask* _msk;
TRelation* _rel;
char _sconti; // carattere che indica il tipo di tabella
short _sci_k_id[4]; // vettore degli identificatori dei campi chiave per la maschera degli sconti incondizionati
bool _sci_k_enabled[4]; // vettore di abilitazione dei campi chiave per la maschera degli sconti incondizionati
virtual bool user_create();
virtual bool user_destroy();
virtual TMask* get_mask(int mode) { return _msk;}
virtual bool changing_mask(int mode) { return FALSE;}
virtual TRelation* get_relation() const { return _rel;}
virtual TMask *get_mask(int) { return _msk; }
virtual bool changing_mask(int) { return FALSE; }
virtual TRelation *get_relation() const { return _rel; }
virtual void init_query_mode(TMask &); // handler chiamato quando la maschera passa in modo ricerca
public:
Tlistino_application( ) { };
virtual ~Tlistino_application() { }
TTabelle_sconti() {}
virtual ~TTabelle_sconti() {}
};
bool Tlistino_application::user_create()
{
_msk = new TMask( "VE2100" );
_rel = new TRelation( LF_CONDV );
// _rel.add( "%PIP" )
bool TTabelle_sconti::user_create() {
bool gotcha= FALSE; // booleano di avvenuta inizializzazione
_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
else {
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
}
switch (_sconti) {
case 'D': { // sconti documento
_msk= new TMask("VE2100D"); // apre la maschera relativa
gotcha= TRUE;
break;
}
case 'R': { // sconti di riga
_msk= new TMask("VE2100R"); // apre la maschera relativa
set_search_field(F_R_RICERCA); // setta il campo di ricerca
gotcha= TRUE;
break;
}
case 'I': { // sconti incondizionati
_msk= new TMask("VE2100I"); // apre la maschera relativa
set_search_field(F_I_RICERCA); // setta il campo di ricerca
TConfig prassid(CONFIG_DITTA); // apre il file di configurazione di ditta
_sci_k_id[0]= F_I_CATVEN; // inizializza l'array dei campi da disabilitare condizionalmente
_sci_k_id[1]= F_I_SCCLIENTI;
_sci_k_id[2]= F_I_ZONE;
_sci_k_id[3]= F_I_CONDPAG;
for (int i=0; i<4; i++) {
if (prassid.get("K_SCONTI_INC", "ve", i).empty()) _sci_k_enabled[i]= FALSE; // se nel file di config. il campo non è abilitato, viene indicato nel vettore di abilitazione
else _sci_k_enabled[i]= gotcha= TRUE; // se c'è almeno un campo abilitato "gotcha" esce TRUE dal ciclo
}
if (!gotcha) error_box("Non ci sono campi chiave abilitati nella configurazione della ditta");
break;
}
default: { // messaggio di errore se si indica una tabella non valida
error_box("Indicare la tabella sulla linea di comando (D, R o I) oppure selezionarla dalla maschera di partenza");
break;
}
}
if (gotcha) _rel= new TRelation(LF_SCONTI); // se è stata selezionata una tabella, apre la relazione (un unico file)
return (gotcha);
}
bool TTabelle_sconti::user_destroy() {
delete _rel;
delete _msk;
return TRUE;
}
bool Tlistino_application::user_destroy()
{
delete _msk;
delete _rel;
return TRUE;
void TTabelle_sconti::init_query_mode(TMask &m) {
for (int i=0; i<4; i++) {
if (_sci_k_enabled[i]) { // se il campo deve essere abilitato...
m.enable(_sci_k_id[i]); // ...lo abilita...
m.efield(_sci_k_id[i]).check_type(CHECK_REQUIRED); // ...e lo rende richiesto...
} else { // ...altrimenti...
m.disable(_sci_k_id[i]); // ...lo disabilita...
m.efield(_sci_k_id[i]).check_type(CHECK_NORMAL); // ...e lo rende non richiesto
}
}
}
int ve2100(int argc, char* argv[])
{
int ve2100(int argc, char* argv[]) {
TTabelle_sconti a;
Tlistino_application a;
a.run(argc, argv, "Gestione listini " );
a.run(argc, argv, "Tabella sconti ");
return 0;
}

View File

@ -1,47 +1,6 @@
#define F_TIPO 101
#define F_CATVEN 102
#define F_CATVEN1 103
#define F_CODDIV1 107
#define F_COD 108
#define F_COD1 109
#define F_DESCR 110
#define F_CODVAL 111
#define F_CODVAL1 112
#define F_CAMBIO 113
#define F_DATACAM 114
#define F_VALIN 115
#define F_VALFIN 116
#define F_IMPLORDI 117
#define F_GESTUM 118
#define F_GESTSCAGL 119
#define F_GESTSCO 120
#define F_SCONST 121
#define F_CODLISSUCC 123
#include "ve2100d.h"
#include "ve2100r.h"
#include "ve2100i.h"
#define F_SEQRIC 124
#define F_FLART 125
#define F_FLCAT 126
#define F_FLLIN 127
#define F_FLRAGG 128
#define F_TIPOSC 101
#define F_CATVEN2 129
#define F_COD2 130
#define F_SHEET1 301
#define FS_QLIM 101
#define FS_PREZZO 102
#define FS_SCONTO 103
#define FS_ADDIVA 104
#define FS_CODIVA 105
#define FS_PRECPROVV 106
#define FS_QOM 107
#define FS_QBASE 108
#define FS_CODARTOM 109
#define FS_PROMAGGIO 110
#define FS_UMOM 111
#define FS_CODIVA1 114
#define FS_CODARTOM1 115

26
ve/ve2100.uml Executable file
View File

@ -0,0 +1,26 @@
#include "ve2100.h"
PAGE "Tabelle sconti " -1 -1 40 10
RADIOBUTTON F_TIPOSC 36
BEGIN
PROMPT 1 2 "Tipo di tabella "
ITEM "R|Sconti di riga"
ITEM "D|Sconti documento"
ITEM "I|Sconti indondizionati"
END
BUTTON DLG_SELECT 9 2
BEGIN
PROMPT -12 -1 "Selezione"
MESSAGE EXIT,K_ENTER
END
BUTTON DLG_QUIT 9 2
BEGIN
PROMPT -22 -1 ""
END
ENDPAGE
ENDMASK

3
ve/ve2100d.h Executable file
View File

@ -0,0 +1,3 @@
#define F_D_TIPO 111
#define F_D_CODCAT 112
#define F_D_SCONTO 113

48
ve/ve2100d.uml Executable file
View File

@ -0,0 +1,48 @@
#include <lffiles.h>
#include "ve2100d.h"
TOOLBAR "" 0 20 60 2
#include <toolbar.h>
ENDPAGE
PAGE "Archivio sconti documenti " 11 60 14
LISTA F_D_TIPO 1
BEGIN
PROMPT 100 100 ""
FIELD LF_SCONTI->TIPO
FLAG "H"
ITEM "D|Sconti documento"
END
STRING F_D_CODCAT 2
BEGIN
PROMPT 2 2 "Codice sconto documento "
FIELD LF_SCONTI->CODCAT
FLAG "UR"
KEY 1
USE LF_SCONTI
INPUT TIPO F_D_TIPO SELECT
INPUT CODCAT F_D_CODCAT
DISPLAY "Codice" CODCAT
DISPLAY "Sconto@50" SCONTO
OUTPUT F_D_CODCAT CODCAT
OUTPUT F_D_SCONTO SCONTO
CHECKTYPE REQUIRED
END
GROUPBOX DLG_NULL 70 5
BEGIN
PROMPT 0 0 ""
//FLAG "R"
END
STRING F_D_SCONTO 25
BEGIN
PROMPT 19 6 "Sconto "
FIELD LF_SCONTI->SCONTO
END
ENDPAGE
ENDMASK

7
ve/ve2100i.h Executable file
View File

@ -0,0 +1,7 @@
#define F_I_RICERCA 131
#define F_I_TIPO 132
#define F_I_CATVEN 133
#define F_I_SCCLIENTI 134
#define F_I_ZONE 135
#define F_I_CONDPAG 136
#define F_I_SCONTO 137

110
ve/ve2100i.uml Executable file
View File

@ -0,0 +1,110 @@
#include <lffiles.h>
#include "ve2100i.h"
TOOLBAR "" 0 20 60 2
#include <toolbar.h>
ENDPAGE
PAGE "Archivio sconti incondizionati " 11 60 14
LISTA F_I_TIPO 1
BEGIN
PROMPT 100 100 ""
FIELD LF_SCONTI->TIPO
FLAG "H"
ITEM "I|Sconti incondizionati"
END
STRING F_I_RICERCA 1
BEGIN
PROMPT 100 100 ""
FLAG "H"
USE LF_SCONTI
INPUT TIPO F_I_TIPO SELECT
INPUT CODART[1,2] F_I_CATVEN
INPUT CODART[3,4] F_I_SCCLIENTI
INPUT CODART[5,6] F_I_ZONE
INPUT CODART[7,10] F_I_CONDPAG
DISPLAY "CV" CODART[1,2]
DISPLAY "SC" CODART[3,4]
DISPLAY "ZN" CODART[5,6]
DISPLAY "C.P." CODART[7,10]
DISPLAY "Sconto@25" SCONTO
OUTPUT F_I_CATVEN CODART[1,2]
OUTPUT F_I_SCCLIENTI CODART[3,4]
OUTPUT F_I_ZONE CODART[5,6]
OUTPUT F_I_CONDPAG CODART[7,10]
OUTPUT F_I_SCONTO SCONTO
END
STRING F_I_CATVEN 2
BEGIN
PROMPT 5 2 "Categoria vendite "
FIELD LF_SCONTI->CODART[1,2]
FLAG "U"
KEY 1
USE %CVE
INPUT CODTAB F_I_CATVEN
DISPLAY "Cat. vend." CODTAB
DISPLAY "Descrizione@50" S0
OUTPUT F_I_CATVEN CODTAB
CHECKTYPE REQUIRED
END
STRING F_I_SCCLIENTI 2
BEGIN
PROMPT 8 4 "Sconto cliente "
FIELD LF_SCONTI->CODART[3,4]
FLAG "U"
KEY 1
USE %SCO
INPUT CODTAB F_I_SCCLIENTI
DISPLAY "Sc. Cliente" CODTAB
DISPLAY "Descrizione@50" S0
OUTPUT F_I_SCCLIENTI CODTAB
CHECKTYPE REQUIRED
END
STRING F_I_ZONE 2
BEGIN
PROMPT 18 6 "Zona "
FIELD LF_SCONTI->CODART[5,6]
FLAG "U"
KEY 1
USE %ZON
INPUT CODTAB F_I_ZONE
DISPLAY "Zona" CODTAB
DISPLAY "Descrizione@50" S0
OUTPUT F_I_ZONE CODTAB
CHECKTYPE REQUIRED
END
STRING F_I_CONDPAG 4
BEGIN
PROMPT 2 8 "Condizione pagamento "
FIELD LF_SCONTI->CODART[7,10]
FLAG "U"
KEY 1
USE %CPG
INPUT CODTAB F_I_CONDPAG
DISPLAY "Cond. pag." CODTAB
DISPLAY "Descrizione@50" S0
OUTPUT F_I_CONDPAG CODTAB
CHECKTYPE REQUIRED
END
GROUPBOX DLG_NULL 36 11
BEGIN
PROMPT 0 0 ""
//FLAG "R"
END
STRING F_I_SCONTO 25
BEGIN
PROMPT 2 12 "Sconto "
FIELD LF_SCONTI->SCONTO
END
ENDPAGE
ENDMASK

7
ve/ve2100r.h Executable file
View File

@ -0,0 +1,7 @@
#define F_R_RICERCA 121
#define F_R_TIPO 122
#define F_R_CODCAT 123
#define F_R_CODART 124
#define F_R_UM 125
#define F_R_UMDESC 126
#define F_R_SCONTO 127

104
ve/ve2100r.uml Executable file
View File

@ -0,0 +1,104 @@
#include <lffiles.h>
#include "ve2100r.h"
TOOLBAR "" 0 20 60 2
#include <toolbar.h>
ENDPAGE
PAGE "Archivio sconti di riga " 11 60 14
STRING F_R_RICERCA 1
BEGIN
PROMPT 100 100 ""
FLAG "H"
USE LF_SCONTI
JOIN %UMS INTO CODTAB=UM
INPUT TIPO F_R_TIPO SELECT
INPUT CODCAT F_R_CODCAT
INPUT CODART F_R_CODART
INPUT UM F_R_UM
DISPLAY "C.V." CODCAT
DISPLAY "Codice art.@20" CODART
DISPLAY "U.M." UM
DISPLAY "Sconto@25" SCONTO
OUTPUT F_R_CODCAT CODCAT
OUTPUT F_R_CODART CODART
OUTPUT F_R_UM UM
OUTPUT F_R_SCONTO SCONTO
OUTPUT F_R_UMDESC %UMS->S0
END
LISTA F_R_TIPO 1
BEGIN
PROMPT 100 100 ""
FIELD LF_SCONTI->TIPO
FLAG "H"
ITEM "R|Sconti di riga"
END
STRING F_R_CODCAT 2
BEGIN
PROMPT 2 2 "Categoria vendita "
FIELD LF_SCONTI->CODCAT
FLAG "U"
KEY 1
USE %CVE
INPUT CODTAB F_R_CODCAT
DISPLAY "Codice" CODTAB
DISPLAY "Descrizione@50" S0
OUTPUT F_R_CODCAT CODTAB
VALIDATE AUTOEXIT_FUNC 2 F_R_CODCAT F_R_CODART
END
STRING F_R_CODART 20
BEGIN
PROMPT 4 4 "Codice articolo "
FIELD LF_SCONTI->CODART
FLAG "U"
KEY 1
USE LF_ANAGR
INPUT CODART F_R_CODART
DISPLAY "Codice@20" CODART
DISPLAY "Descrizione@50" DESCR
OUTPUT F_R_CODART CODART
VALIDATE AUTOEXIT_FUNC 2 F_R_CODCAT F_R_CODART
END
STRING F_R_UM 2
BEGIN
PROMPT 15 6 "U.M. "
FIELD LF_SCONTI->UM
FLAG "U"
KEY 1
USE LF_UMART KEY 2
JOIN %UMS INTO CODTAB=UM
INPUT CODART F_R_CODART SELECT
INPUT UM F_R_UM
DISPLAY "U.M." UM
DISPLAY "Desccrizione@50" %UMS->S0
OUTPUT F_R_UM UM
OUTPUT F_R_UMDESC %UMS->S0
VALIDATE AUTOEXIT_FUNC 2 F_R_CODCAT F_R_CODART
END
STRING F_R_UMDESC 50
BEGIN
PROMPT 8 8 "Descrizione "
FLAG "D"
END
GROUPBOX DLG_NULL 75 11
BEGIN
PROMPT 0 0 ""
//FLAG "R"
END
STRING F_R_SCONTO 25
BEGIN
PROMPT 13 12 "Sconto "
FIELD LF_SCONTI->SCONTO
END
ENDPAGE
ENDMASK