From 6d6de98bad97d13ef4c303627e22efd31562f9a7 Mon Sep 17 00:00:00 2001 From: gianluca Date: Mon, 21 Aug 1995 17:10:07 +0000 Subject: [PATCH] Tabelle sconti git-svn-id: svn://10.65.10.50/trunk@1723 c028cbd2-c16b-5b4b-a496-9718f37d4682 --- ve/ve2100.cpp | 118 +++++++++++++++++++++++++++++++++---------------- ve/ve2100.h | 49 ++------------------ ve/ve2100.uml | 26 +++++++++++ ve/ve2100d.h | 3 ++ ve/ve2100d.uml | 48 ++++++++++++++++++++ ve/ve2100i.h | 7 +++ ve/ve2100i.uml | 110 +++++++++++++++++++++++++++++++++++++++++++++ ve/ve2100r.h | 7 +++ ve/ve2100r.uml | 104 +++++++++++++++++++++++++++++++++++++++++++ 9 files changed, 388 insertions(+), 84 deletions(-) create mode 100755 ve/ve2100.uml create mode 100755 ve/ve2100d.h create mode 100755 ve/ve2100d.uml create mode 100755 ve/ve2100i.h create mode 100755 ve/ve2100i.uml create mode 100755 ve/ve2100r.h create mode 100755 ve/ve2100r.uml diff --git a/ve/ve2100.cpp b/ve/ve2100.cpp index ba40f00e3..9b26f14e8 100755 --- a/ve/ve2100.cpp +++ b/ve/ve2100.cpp @@ -1,60 +1,100 @@ + +#include +#include + #include "ve2100.h" -#define LF_CONDV 52 -#define LF_RCONDV 53 -#ifndef __CHECKS_H -#include -#endif +class TTabelle_sconti: public TRelation_application { + TMask *_msk; // maschera principale + TRelation *_rel; // relazione principale -#ifndef __RELAPP_H -#include -#endif - -#ifndef __LFFILES_H -#include -#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; } diff --git a/ve/ve2100.h b/ve/ve2100.h index c49631c2e..ce0cdf05c 100755 --- a/ve/ve2100.h +++ b/ve/ve2100.h @@ -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 diff --git a/ve/ve2100.uml b/ve/ve2100.uml new file mode 100755 index 000000000..b9f18c02d --- /dev/null +++ b/ve/ve2100.uml @@ -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 diff --git a/ve/ve2100d.h b/ve/ve2100d.h new file mode 100755 index 000000000..eda93c20c --- /dev/null +++ b/ve/ve2100d.h @@ -0,0 +1,3 @@ +#define F_D_TIPO 111 +#define F_D_CODCAT 112 +#define F_D_SCONTO 113 diff --git a/ve/ve2100d.uml b/ve/ve2100d.uml new file mode 100755 index 000000000..a25cfe8b0 --- /dev/null +++ b/ve/ve2100d.uml @@ -0,0 +1,48 @@ +#include +#include "ve2100d.h" + +TOOLBAR "" 0 20 60 2 + #include +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 diff --git a/ve/ve2100i.h b/ve/ve2100i.h new file mode 100755 index 000000000..1ffffdafc --- /dev/null +++ b/ve/ve2100i.h @@ -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 diff --git a/ve/ve2100i.uml b/ve/ve2100i.uml new file mode 100755 index 000000000..7e9011786 --- /dev/null +++ b/ve/ve2100i.uml @@ -0,0 +1,110 @@ +#include +#include "ve2100i.h" + +TOOLBAR "" 0 20 60 2 + #include +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 diff --git a/ve/ve2100r.h b/ve/ve2100r.h new file mode 100755 index 000000000..8ebc77cbc --- /dev/null +++ b/ve/ve2100r.h @@ -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 diff --git a/ve/ve2100r.uml b/ve/ve2100r.uml new file mode 100755 index 000000000..fd91f2a0b --- /dev/null +++ b/ve/ve2100r.uml @@ -0,0 +1,104 @@ +#include +#include "ve2100r.h" + +TOOLBAR "" 0 20 60 2 + #include +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