From 76d5da7cffbc933b2471522c62b864c3863e4719 Mon Sep 17 00:00:00 2001 From: luca Date: Thu, 24 Sep 2009 09:15:09 +0000 Subject: [PATCH] =?UTF-8?q?Patch=20level=20=20=20=20=20=20=20=20=20:10.0?= =?UTF-8?q?=20Files=20correlati=20=20=20=20=20:=20Ricompilazione=20Demo=20?= =?UTF-8?q?:=20[=20]=20Commento=20=20=20=20=20=20=20=20=20=20=20=20:=20agg?= =?UTF-8?q?iunta=20prima=20stesura=20del=20nuovo=20programma=20listini=20(?= =?UTF-8?q?per=20adesso=20li=20legge=20ma=20non=20li=20scrive!=20=C3=A8=20?= =?UTF-8?q?un=20carabiniere..)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: svn://10.65.10.50/trunk@19327 c028cbd2-c16b-5b4b-a496-9718f37d4682 --- ve/condv.h | 1 - ve/f52.dir | 2 +- ve/f52.trr | 6 +- ve/ve2.cpp | 10 +- ve/ve2.h | 2 + ve/ve2200x.h | 1 - ve/ve2200x.uml | 2 - ve/ve2300x.uml | 21 +- ve/ve2500.cpp | 213 ++++++++++++++++ ve/ve2500a.h | 61 +++++ ve/ve2500a.uml | 669 +++++++++++++++++++++++++++++++++++++++++++++++++ ve/ve3200.cpp | 2 - 12 files changed, 962 insertions(+), 28 deletions(-) create mode 100755 ve/ve2500.cpp create mode 100755 ve/ve2500a.h create mode 100755 ve/ve2500a.uml diff --git a/ve/condv.h b/ve/condv.h index 50b4911d7..be51d5ba2 100755 --- a/ve/condv.h +++ b/ve/condv.h @@ -17,7 +17,6 @@ #define CONDV_GESTUM "GESTUM" #define CONDV_GESTSCAGL "GESTSCAGL" #define CONDV_GESTSCO "GESTSCO" -#define CONDV_SCONST "SCONST" #define CONDV_OBBLIG "OBBLIG" #define CONDV_CODLISSUCC "CODLISSUCC" #define CONDV_SEQRIC "SEQRIC" diff --git a/ve/f52.dir b/ve/f52.dir index 3d923940a..9402b1b70 100755 --- a/ve/f52.dir +++ b/ve/f52.dir @@ -1,3 +1,3 @@ 52 0 -$condv|0|0|121|0|Cond.di vendita(listini,contratti,offerte)||| +$condv|0|0|133|0|Cond.di vendita(listini,contratti,offerte)||| diff --git a/ve/f52.trr b/ve/f52.trr index 66f530679..667070d34 100755 --- a/ve/f52.trr +++ b/ve/f52.trr @@ -1,5 +1,5 @@ 52 -21 +23 TIPO|1|1|0|Tipo (istini, ontratti, fferte) CATVEN|1|2|0|Categoria vendite (L) TIPOCF|1|1|0|liente, ornitore (C) @@ -16,10 +16,12 @@ IMPLORDI|8|1|0|Importi lordi GESTUM|8|1|0|Gestione unitį di misura GESTSCAGL|8|1|0|Gestione scaglioni GESTSCO|8|1|0|Gestione sconti -SCONST|8|1|0|Gestione sconti standard OBBLIG|8|1|0|Contratto obbligatorio (C) CODLISSUCC|1|3|0|Codice listino successivo (L) SEQRIC|1|4|0|Combinazione di (rticolo,ruppo merceologico,aggr.fiscale) DECIMALI|2|1|0|Numero di decimali significativi per la qta limite scaglione +FATHCATVEN|1|2|0|Listino padre: categoria vendite (L) +FATHCOD|1|3|0|Listino padre: codice (L) +ARROTONDA|1|8|0|Regola per arrotondamento importi (L) 1 TIPO+CATVEN+TIPOCF+CODCF+COD| diff --git a/ve/ve2.cpp b/ve/ve2.cpp index eafdddcff..9db3ab203 100755 --- a/ve/ve2.cpp +++ b/ve/ve2.cpp @@ -6,10 +6,12 @@ int main( int argc, char** argv) const int r = argc>1 ? (argv[1][1]-'0') : 0; switch (r) { - case 1: ve2200(argc, argv); break; - case 2: ve2300(argc, argv); break; - case 3: ve2400(argc, argv); break; - case 5: ve2600(argc, argv); break; + case 1: ve2200(argc, argv); break; + case 2: ve2300(argc, argv); break; + case 3: ve2400(argc, argv); break; + case 4: ve2500(argc, argv); break; + case 5: ve2600(argc, argv); break; + //case 6: ve2700(argc, argv); break; default: ve2100(argc, argv); break; } return 0; diff --git a/ve/ve2.h b/ve/ve2.h index 5c28f7e9d..3d42cfe0b 100755 --- a/ve/ve2.h +++ b/ve/ve2.h @@ -5,7 +5,9 @@ int ve2100(int argc, char* argv[]); // tabelle sconti (di riga/di documento/inc int ve2200(int argc, char* argv[]); // testate listini/contratti/offerte int ve2300(int argc, char* argv[]); // righe listini/contratti/offerte int ve2400(int argc, char* argv[]); // anagrafica di magazzino +int ve2500(int argc, char* argv[]); // gestione semplificata (ovvero comprensibile) listini int ve2600(int argc, char* argv[]); // relazioni articoli livelli di giacenza +//int ve2700(int argc, char* argv[]); // aggirnamento multiplo listini figli #endif diff --git a/ve/ve2200x.h b/ve/ve2200x.h index a08014b91..1fa0de6e5 100755 --- a/ve/ve2200x.h +++ b/ve/ve2200x.h @@ -12,7 +12,6 @@ #define F_GESTUM 120 #define F_GESTSCAGL 121 #define F_GESTSCO 122 -#define F_SCONST 123 #define F_SEQRIC_1 124 #define F_SEQRIC_2 125 #define F_SEQRIC_3 126 diff --git a/ve/ve2200x.uml b/ve/ve2200x.uml index bb2a7f85f..42eeccea0 100755 --- a/ve/ve2200x.uml +++ b/ve/ve2200x.uml @@ -324,8 +324,6 @@ BEGIN USE LF_CONDV INPUT TIPO F_TIPO SELECT INPUT CATVEN F_L_CATVEN SELECT -//INPUT TIPOCF F_C_TIPOCF SELECT -//INPUT CODCF F_C_CODCF SELECT INPUT COD F_L_CODSUCC DISPLAY "C.V." CATVEN DISPLAY "Codice" COD diff --git a/ve/ve2300x.uml b/ve/ve2300x.uml index 17cac39e2..60921f808 100755 --- a/ve/ve2300x.uml +++ b/ve/ve2300x.uml @@ -175,7 +175,7 @@ STRING F_R_CODRIGA_A 20 BEGIN PROMPT 37 4 "Codice articolo " FIELD LF_RCONDV->CODRIGA - FLAG "U" + FLAGS "U" KEY 1 USE LF_ANAMAG INPUT CODART F_R_CODRIGA_A @@ -184,7 +184,7 @@ BEGIN OUTPUT F_R_CODRIGA_A CODART OUTPUT F_R_DESRIGA_A DESCR CHECKTYPE FORCED - ADD RUN ve2 -3 + ADD RUN ve2 -3 END STRING F_R_DESRIGA_A 50 @@ -197,14 +197,14 @@ BEGIN DISPLAY "Articolo@20" CODART COPY OUTPUT F_R_CODRIGA_A CHECKTYPE NORMAL - ADD RUN ve2 -3 + ADD RUN ve2 -3 END STRING F_R_CODRIGA_G 3 BEGIN PROMPT 2 5 "Gruppo merc. " FIELD LF_RCONDV->CODRIGA[1,3] - FLAG "U" + FLAGS "U" KEY 1 USE GMC SELECT CODTAB[4,5] == "" INPUT CODTAB[1,3] F_R_CODRIGA_G @@ -212,7 +212,6 @@ BEGIN DISPLAY "Descrizione@50" S0 OUTPUT F_R_CODRIGA_G CODTAB[1,3] OUTPUT F_R_DESRIGA_G S0 -// MESSAGE COPY,F_R_CODRIGA_A CHECKTYPE FORCED END @@ -225,14 +224,13 @@ BEGIN DISPLAY "Descrizione@50" S0 DISPLAY "Gr. merc." CODTAB[1,3] COPY OUTPUT F_R_CODRIGA_G -// FLAG "D" END STRING F_R_CODRIGA_S 5 BEGIN PROMPT 2 5 "Sottogr.mer. " FIELD LF_RCONDV->CODRIGA[1,5] - FLAG "U" + FLAGS "U" KEY 1 USE GMC SELECT CODTAB[4,5] != "" INPUT CODTAB F_R_CODRIGA_S @@ -241,7 +239,6 @@ BEGIN DISPLAY "Descrizione@50" S0 OUTPUT F_R_CODRIGA_S CODTAB OUTPUT F_R_DESRIGA_S S0 -// MESSAGE COPY,F_R_CODRIGA_A CHECKTYPE FORCED END @@ -255,14 +252,13 @@ BEGIN DISPLAY "Gr. merc." CODTAB[1,3] DISPLAY "Sottogr. merc." CODTAB[4,5] COPY OUTPUT F_R_CODRIGA_S -// FLAG "D" END STRING F_R_CODRIGA_R 5 BEGIN PROMPT 2 5 "Ragg.fiscale " FIELD LF_RCONDV->CODRIGA[1,5] - FLAG "U" + FLAGS "U" KEY 1 USE RFA INPUT CODTAB F_R_CODRIGA_R @@ -270,7 +266,6 @@ BEGIN DISPLAY "Descrizione@50" S0 OUTPUT F_R_CODRIGA_R CODTAB OUTPUT F_R_DESRIGA_R S0 -// MESSAGE COPY,F_R_CODRIGA_A CHECKTYPE FORCED END @@ -283,7 +278,6 @@ BEGIN DISPLAY "Descrizione@50" S0 DISPLAY "Ragg. fisc." CODTAB COPY OUTPUT F_R_CODRIGA_R -// FLAG "D" END STRING F_R_UM 2 @@ -315,7 +309,6 @@ BEGIN PROMPT 100 100 "" FLAG "D" USE LF_RCONDV - // SELECT (TIPO==#F_R_TIPO)&&(CATVEN==#F_R_L_CATVEN)&&(COD==#F_R_L_COD) INPUT TIPO F_R_TIPO SELECT INPUT CATVEN F_R_L_CATVEN SELECT INPUT COD F_R_L_COD SELECT @@ -341,7 +334,6 @@ BEGIN PROMPT 100 100 "" FLAG "D" USE LF_RCONDV - // SELECT (TIPO==#F_R_TIPO)&&(TIPOCF==#F_R_C_TIPOCF)&&(CODCF==#F_R_C_CODCF)&&(COD==#F_R_C_COD) INPUT TIPO F_R_TIPO SELECT INPUT TIPOCF F_R_C_TIPOCF SELECT INPUT CODCF F_R_C_CODCF SELECT @@ -365,7 +357,6 @@ BEGIN PROMPT 100 100 "" FLAG "D" USE LF_RCONDV - // SELECT (TIPO==#F_R_TIPO)&&(COD==#F_R_O_COD) INPUT TIPO F_R_TIPO SELECT INPUT COD F_R_O_COD SELECT INPUT TIPORIGA F_R_TIPORIGA diff --git a/ve/ve2500.cpp b/ve/ve2500.cpp new file mode 100755 index 000000000..0e4de1966 --- /dev/null +++ b/ve/ve2500.cpp @@ -0,0 +1,213 @@ +#include +#include +#include +#include + +#include "condv.h" +#include "rcondv.h" + +#include "ve2500a.h" + +/////////////////////////////////////////////////////////////// +// MASCHERA +/////////////////////////////////////////////////////////////// +class TGestione_listini_semplice_mask: public TAutomask +{ + +protected: + virtual bool on_field_event(TOperable_field& o, TField_event e, long jolly); + +public: + TGestione_listini_semplice_mask(); + +}; + + +TGestione_listini_semplice_mask::TGestione_listini_semplice_mask() : TAutomask("ve2500a") +{ + //in base alla cervellotica configurazione impostata dall'utonto abilita/disabilita campi + const bool gesliscv = ini_get_bool(CONFIG_DITTA, "ve", "GESLISCV"); + enable(F_L_CATVEN, gesliscv); + enable(F_L_DESVEN, gesliscv); + //attenzione!!! il campo CATVEN č in chiave 1! per disabilitarlo ci vuole questo trucco! + if (!gesliscv) + efield(F_L_CATVEN).reset_key(1); +} + +bool TGestione_listini_semplice_mask::on_field_event(TOperable_field &o, TField_event e, long jolly) +{ + switch(o.dlg()) + { + //se abilita la gestione scaglioni nello sheet devono comparire le colonne NSCAGL e QLIM + case F_L_GESTSCAGL: + if (e == fe_init || e == fe_modify) + { + TSheet_field& sf_righe = sfield(F_RIGHE); + const bool gest_scagl = o.get().full(); + sf_righe.enable_column(F_NSCAGL, gest_scagl); + sf_righe.enable_column(F_QLIM, gest_scagl); + + sf_righe.force_update(); + } + break; + //stesso giochetto per UM + case F_L_GESTUM: + if (e == fe_init || e == fe_modify) + { + TSheet_field& sf_righe = sfield(F_RIGHE); + const bool gest_um = o.get().full(); + sf_righe.enable_column(F_UM, gest_um); + + sf_righe.force_update(); + } + break; + //e anche per i campi omaggio + case F_L_GESTSCO: + if (e == fe_init || e == fe_modify) + { + TSheet_field& sf_righe = sfield(F_RIGHE); + const bool gest_sco = o.get().full(); + sf_righe.enable_column(F_ADDIVA, gest_sco); + sf_righe.enable_column(F_CODIVA, gest_sco); + sf_righe.enable_column(F_QOM, gest_sco); + sf_righe.enable_column(F_QBASE, gest_sco); + sf_righe.enable_column(F_CODARTOM, gest_sco); + sf_righe.enable_column(F_UMOM, gest_sco); + sf_righe.enable_column(F_PROMAGGIO, gest_sco); + + sf_righe.force_update(); + } + break; + default: + break; + } + return true; +} + +/////////////////////////////////////////////////////////////// +// APPLICAZIONE +/////////////////////////////////////////////////////////////// +class TGestione_listini_semplice : public TRelation_application +{ + TGestione_listini_semplice_mask *_mask; + TRelation* _rel; + +protected: + virtual bool user_create(); + virtual bool user_destroy(); + virtual TMask *get_mask(int) { return _mask; } + virtual bool changing_mask(int) { return false; } +// virtual void init_query_mode(TMask& m); +// virtual void init_insert_mode(TMask& m); +// virtual void init_modify_mode(TMask& m); + + virtual bool protected_record(TRectype& rec); + + virtual int read(TMask& m); +// virtual bool remove(); +// virtual int write(const TMask& m); +// virtual int rewrite(const TMask& m); + +public: + virtual TRelation *get_relation() const { return _rel; } + + TGestione_listini_semplice() { _rel = NULL; _mask = NULL;} + virtual ~TGestione_listini_semplice() {} +}; + + +bool TGestione_listini_semplice::protected_record(TRectype& rec) +{ + //non deve consentire l'eliminazione di un listino se ha dei figli da mantenere! + TString query; + query << "USE CONDV\n"; + query << "SELECT (FATHCATVEN=#CATVEN)&&(FATHCOD=#COD)\n"; + query << "FROM TIPO=L\n"; + query << "TO TIPO=L\n"; + TISAM_recordset figli(query); + figli.set_var("#CATVEN", rec.get(CONDV_CATVEN)); + figli.set_var("#COD", rec.get(CONDV_COD)); + + return figli.items() > 0; +} + +int TGestione_listini_semplice::read(TMask& m) +{ + //eseguo la read() standard + int err = TRelation_application::read(m); + //se la read va a buon fine + if (err == NOERR) + { + //instanzio un TISAM_recordset sulle righe listino (RCONDV) + 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 righelist(query); + righelist.set_var("#CATVEN", m.get(F_L_CATVEN)); + righelist.set_var("#COD", m.get(F_L_COD)); + + const long righelist_items = righelist.items(); + + const TRectype& rec = righelist.cursor()->curr(); + +/* //instanzio un TLcalisamfile su LF_CLIFOGIAC + TLocalisamfile magcli(LF_CLIFOGIAC); + //setto alcune variabili di interesse + const TDate oggi(TODAY); + const int year = oggi.year(); + const long clifo = m.get_long(F_CODCF); + const int indsp = m.get_int(F_INDSPED);*/ + + + //recupero sheet e realtiva mashera di riga + TSheet_field& sf_righe = m.sfield(F_RIGHE); + TMask& msk = sf_righe.sheet_mask(); + sf_righe.destroy(); + + //per ogni riga dello sheet + int pos = -1; + for (bool ok = righelist.move_first(); ok; ok = righelist.move_next()) + { + ++pos; + TToken_string& row = sf_righe.row(-1); + //per ogni campo della maschera scrivi setta all'interno del record corrente di file + //il valore di quei campi che hanno un field + FOR_EACH_MASK_FIELD(msk,i,f) + { + const TFieldref* fr = f->field(); + if (fr != NULL) + row.add(fr->read(rec),sf_righe.cid2index(f->dlg())); + } + + //forzo una check_row + sf_righe.check_row(sf_righe.items()-1, 3); + } + } + return err; +} + +bool TGestione_listini_semplice::user_create() +{ + _rel = new TRelation(LF_CONDV); + + //attenzione!! questo č il parametro per avere la lunghezza del numero riga + TSheet_field::set_line_number_width(4); + + _mask = new TGestione_listini_semplice_mask; + return true; +} + +bool TGestione_listini_semplice::user_destroy() +{ + delete _mask; + delete _rel; + return true; +} + +int ve2500(int argc, char* argv[]) +{ + TGestione_listini_semplice a; + a.run(argc, argv, "Gestione listini"); + return 0; +} \ No newline at end of file diff --git a/ve/ve2500a.h b/ve/ve2500a.h new file mode 100755 index 000000000..08dea44ca --- /dev/null +++ b/ve/ve2500a.h @@ -0,0 +1,61 @@ +//maschera gestione listini comprensibile +#define F_L_CATVEN 201 +#define F_L_DESVEN 202 +#define F_L_COD 203 +#define F_L_DESCR 204 +#define F_VALINI 205 +#define F_VALFIN 206 + +#define F_RIGHE 207 + +#define F_L_CODVAL 208 +#define F_L_CAMBIO 209 +#define F_L_CONTROEURO 210 +#define F_L_DATACAM 211 +#define F_L_GESTSCAGL 212 +#define F_L_DECIMALI 213 +#define F_L_SEQRIC_1 214 +#define F_L_SEQRIC_2 215 +#define F_L_SEQRIC_3 216 +#define F_L_SEQRIC_4 217 +#define F_L_IMPLORDI 218 +#define F_L_GESTUM 219 +#define F_L_GESTSCO 220 +#define F_L_CODSUCC 221 +#define F_L_DESSUCC 222 +#define F_L_FATHCATVEN 223 +#define F_L_FATHDESVEN 224 +#define F_L_FATHCOD 225 +#define F_L_FATHDESCR 226 +#define F_L_ARROTONDA 227 + +//campi dello sheet delle righe +#define F_TIPORIGA 101 +#define F_CODRIGA_A 102 +#define F_DESRIGA_A 103 +#define F_CODRIGA_G 202 +#define F_DESRIGA_G 203 +#define F_CODRIGA_S 302 +#define F_DESRIGA_S 303 +#define F_CODRIGA_R 402 +#define F_DESRIGA_R 403 +#define F_PREZZO 104 +#define F_UM 105 +#define F_NSCAGL 106 +#define F_QLIM 107 +#define F_SCONTO 108 +#define F_ADDIVA 109 +#define F_CODIVA 110 +#define F_QOM 111 +#define F_QBASE 112 +#define F_CODARTOM 113 +#define F_UMOM 114 +#define F_PROMAGGIO 115 +#define F_PRZSTO 116 +#define F_DATAPRZSTO 117 +#define F_DATAULTAUM 118 +#define F_PERCPROVV 119 + + + + diff --git a/ve/ve2500a.uml b/ve/ve2500a.uml new file mode 100755 index 000000000..917247497 --- /dev/null +++ b/ve/ve2500a.uml @@ -0,0 +1,669 @@ +#include "ve2500a.h" + +TOOLBAR "Toolbar" 0 0 0 2 +#include +ENDPAGE + +PAGE "Dati generali e Righe" 0 2 0 0 + +GROUPBOX DLG_NULL 78 5 +BEGIN + PROMPT 0 0 "@bDati Listino" +END + +LIST DLG_NULL 1 7 +BEGIN + PROMPT 100 100 "" + ITEM "L|Listino" + FLAGS "D" + FIELD TIPO + KEY 1 +END + +STRING F_L_CATVEN 2 +BEGIN + PROMPT 1 1 "Cat. ven. " + FIELD CATVEN + FLAGS "U" + KEY 1 + USE CVE + INPUT CODTAB F_L_CATVEN + DISPLAY "Cat." CODTAB + DISPLAY "Descrizione@50" S0 + OUTPUT F_L_CATVEN CODTAB + OUTPUT F_L_DESVEN S0 + CHECKTYPE FORCED +END + +STRING F_L_DESVEN 50 +BEGIN + PROMPT 18 1 "" + USE CVE KEY 2 + INPUT S0 F_L_DESVEN + DISPLAY "Descrizione@50" S0 + DISPLAY "Cat." CODTAB + COPY OUTPUT F_L_CATVEN + CHECKTYPE NORMAL +END + +STRING F_L_COD 3 +BEGIN + PROMPT 1 2 "Listino " + FIELD COD + FLAGS "U" + KEY 1 + USE LF_CONDV + INPUT TIPO "L" + INPUT CATVEN F_L_CATVEN SELECT + INPUT COD F_L_COD + DISPLAY "C.V." CATVEN + DISPLAY "Codice" COD + DISPLAY "Descrizione@50" DESCR + DISPLAY "Valuta" CODVAL + DISPLAY "Fine validita'" VALFIN + OUTPUT F_L_CATVEN CATVEN + OUTPUT F_L_COD COD + OUTPUT F_L_DESCR DESCR + CHECKTYPE REQUIRED +END + +STRING F_L_DESCR 50 +BEGIN + PROMPT 18 2 "" + FIELD DESCR +END + +DATA F_VALINI +BEGIN + PROMPT 1 3 "Inizio validita` " + FIELD VALIN +END + +DATA F_VALFIN +BEGIN + PROMPT 42 3 "Fine validita` " + FIELD VALFIN +END + +TEXT -1 +BEGIN + PROMPT 0 5 "@bRighe listino" +END + +SPREADSHEET F_RIGHE +BEGIN + PROMPT 1 6 "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 F_L_CODVAL 5 +BEGIN + PROMPT 1 1 "Valuta " + FIELD CODVAL + FLAGS "U" + USE %VAL + INPUT CODTAB F_L_CODVAL + DISPLAY "Valuta" CODTAB + DISPLAY "Descrizione@50" S0 + DISPLAY "Cambio" S4 + OUTPUT F_L_CODVAL CODTAB + OUTPUT F_L_CONTROEURO B1 + OUTPUT F_L_CAMBIO S4 + CHECKTYPE NORMAL + MESSAGE EMPTY CLEAR,F_L_CAMBIO|CLEAR,F_L_DATACAM|DISABLE,F_L_DATACAM + MESSAGE ENABLE,F_L_CAMBIO|ENABLE,F_L_DATACAM +END + +NUMBER F_L_CAMBIO 15 6 +BEGIN + PROMPT 17 1 "Cambio " + FIELD CAMBIO +END + +BOOLEAN F_L_CONTROEURO +BEGIN + PROMPT 42 1 "Contro Euro" + FIELD CONTROEURO +END + +DATA F_L_DATACAM +BEGIN + PROMPT 61 1 "Data " + FIELD DATACAM +END + +GROUPBOX DLG_NULL 78 3 +BEGIN + PROMPT 0 3 "@bScaglioni" +END + +BOOLEAN F_L_GESTSCAGL +BEGIN + PROMPT 1 4 "Gestione scaglioni" + FIELD GESTSCAGL + MESSAGE FALSE CLEAR,F_L_DECIMALI + MESSAGE TRUE ENABLE,F_L_DECIMALI +END + +LISTBOX F_L_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 F_L_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 F_L_SEQRIC_2 10 +BEGIN + PROMPT 18 7 "" + FIELD SEQRIC[2,2] + ITEM "-|Nessuno" MESSAGE CLEAR,5@ + ITEM "A|Articoli" MESSAGE ENABLE,F_L_SEQRIC_3 + ITEM "G|Gruppo M." MESSAGE ENABLE,F_L_SEQRIC_3 + ITEM "S|Sottog. M." MESSAGE ENABLE,F_L_SEQRIC_3 + ITEM "R|Ragg.fisc." MESSAGE ENABLE,F_L_SEQRIC_3 + STR_EXPR (#THIS_FIELD=="-")||(#THIS_FIELD!=#F_L_SEQRIC_1) + WARNING "La sequenza di ricerca deve indicare quattro tipi diversi di righe" +END + +LIST F_L_SEQRIC_3 10 +BEGIN + PROMPT 33 7 "" + FIELD SEQRIC[3,3] + ITEM "-|Nessuno" MESSAGE CLEAR,F_L_SEQRIC_4 + ITEM "A|Articoli" MESSAGE ENABLE,F_L_SEQRIC_4 + ITEM "G|Gruppo M." MESSAGE ENABLE,F_L_SEQRIC_4 + ITEM "S|Sottog. M." MESSAGE ENABLE,F_L_SEQRIC_4 + ITEM "R|Ragg.fisc." MESSAGE ENABLE,F_L_SEQRIC_4 + GROUP 5 + STR_EXPR (#THIS_FIELD=="-")||((#THIS_FIELD!=#F_L_SEQRIC_1)&&(#THIS_FIELD!=#F_L_SEQRIC_2)) + WARNING "La sequenza di ricerca deve indicare quattro tipi diversi di righe" +END + +LIST F_L_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!=#F_L_SEQRIC_1)&&(#THIS_FIELD!=#F_L_SEQRIC_2)&&(#THIS_FIELD!=#F_L_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 F_L_CODSUCC 3 +BEGIN + PROMPT 1 10 "" + FIELD CODLISSUCC + FLAGS "U" + USE LF_CONDV + INPUT TIPO "L" + INPUT CATVEN F_L_CATVEN SELECT + INPUT COD F_L_CODSUCC + DISPLAY "C.V." CATVEN + DISPLAY "Codice" COD + DISPLAY "Descrizione@50" DESCR + OUTPUT F_L_CODSUCC COD + OUTPUT F_L_DESSUCC DESCR + CHECKTYPE NORMAL +END + +STRING F_L_DESSUCC 50 +BEGIN + PROMPT 10 10 "" + FLAGS "D" +END + +GROUPBOX DLG_NULL 78 5 +BEGIN + PROMPT 0 12 "@bListino padre" +END + +STRING F_L_FATHCATVEN 2 +BEGIN + PROMPT 1 13 "Cat. ven. " + FIELD FATHCATVEN + FLAGS "U" + USE CVE + INPUT CODTAB F_L_FATHCATVEN + DISPLAY "Cat." CODTAB + DISPLAY "Descrizione@50" S0 + OUTPUT F_L_FATHCATVEN CODTAB + OUTPUT F_L_FATHDESVEN S0 + CHECKTYPE NORMAL +END + +STRING F_L_FATHDESVEN 50 +BEGIN + PROMPT 18 13 "" + USE CVE KEY 2 + INPUT S0 F_L_FATHDESVEN + DISPLAY "Descrizione@50" S0 + DISPLAY "Cat." CODTAB + COPY OUTPUT F_L_FATHCATVEN +END + +STRING F_L_FATHCOD 3 +BEGIN + PROMPT 1 14 "Listino " + FIELD FATHCOD + FLAGS "U" + USE LF_CONDV SELECT COD!=#F_L_COD + INPUT TIPO "L" + INPUT CATVEN F_L_FATHCATVEN SELECT + INPUT COD F_L_FATHCOD + DISPLAY "C.V." CATVEN + DISPLAY "Codice" COD + DISPLAY "Descrizione@50" DESCR + DISPLAY "Valuta" CODVAL + DISPLAY "Fine validita'" VALFIN + OUTPUT F_L_FATHCATVEN CATVEN + OUTPUT F_L_FATHCOD COD + OUTPUT F_L_FATHDESCR DESCR + CHECKTYPE NORMAL +END + +STRING F_L_FATHDESCR 50 +BEGIN + PROMPT 18 14 "" + FLAGS "D" +END + +STRING F_L_ARROTONDA 8 +BEGIN + PROMPT 1 15 "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 F_L_IMPLORDI +BEGIN + PROMPT 1 18 "Importi lordi" + FIELD IMPLORDI +END + +BOOLEAN F_L_GESTUM +BEGIN + PROMPT 20 18 "Gestione unita` di misura" + FIELD GESTUM +END + +BOOLEAN F_L_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 F_TIPORIGA 1 16 +BEGIN + PROMPT 1 0 "Tipo riga " + FIELD TIPORIGA + FLAGS "P" + 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 F_CODRIGA_A 20 +BEGIN + PROMPT 1 1 "Articolo " + FIELD CODRIGA + FLAGS "U" + USE LF_ANAMAG + INPUT CODART F_CODRIGA_A + DISPLAY "Articolo@20" CODART + DISPLAY "Descrizione@50" DESCR + OUTPUT F_CODRIGA_A CODART + OUTPUT F_DESRIGA_A DESCR + CHECKTYPE FORCED + ADD RUN ve2 -3 + GROUP 1 +END + +STRING F_DESRIGA_A 50 39 +BEGIN + PROMPT 35 1 "" + USE LF_ANAMAG KEY 2 + INPUT DESCR F_DESRIGA_A + DISPLAY "Descrizione@50" DESCR + DISPLAY "Articolo@20" CODART + COPY OUTPUT F_CODRIGA_A + CHECKTYPE NORMAL + ADD RUN ve2 -3 + GROUP 1 +END + +STRING F_CODRIGA_G 20 3 +BEGIN + PROMPT 1 1 "Gr. merceologico " + FIELD CODRIGA + FLAGS "U" + USE GMC SELECT CODTAB[4,5] == "" + INPUT CODTAB[1,3] F_CODRIGA_G + DISPLAY "Gr. merc." CODTAB[1,3] + DISPLAY "Descrizione@50" S0 + OUTPUT F_CODRIGA_G CODTAB[1,3] + OUTPUT F_DESRIGA_G S0 + CHECKTYPE FORCED + GROUP 2 +END + +STRING F_DESRIGA_G 50 +BEGIN + PROMPT 24 1 "" + 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 F_CODRIGA_G + GROUP 2 +END + +STRING F_CODRIGA_S 20 5 +BEGIN + PROMPT 1 1 "Sottogr. merc. " + FIELD CODRIGA + FLAGS "U" + USE GMC SELECT CODTAB[4,5] != "" + INPUT CODTAB F_CODRIGA_S + DISPLAY "Gruppo merc." CODTAB[1,3] + DISPLAY "Sottogr. merc." CODTAB[4,5] + DISPLAY "Descrizione@50" S0 + OUTPUT F_CODRIGA_S CODTAB + OUTPUT F_DESRIGA_S S0 + CHECKTYPE FORCED + GROUP 3 +END + +STRING F_DESRIGA_S 50 +BEGIN + PROMPT 24 1 "" + USE GMC KEY 2 SELECT CODTAB[4,5] != "" + INPUT S0 F_DESRIGA_S + DISPLAY "Descrizione@50" S0 + DISPLAY "Gr. merc." CODTAB[1,3] + DISPLAY "Sottogr. merc." CODTAB[4,5] + COPY OUTPUT F_CODRIGA_S + GROUP 3 +END + +STRING F_CODRIGA_R 20 5 +BEGIN + PROMPT 1 1 "Raggr. fiscale " + FIELD CODRIGA + FLAGS "U" + USE RFA + INPUT CODTAB F_CODRIGA_R + DISPLAY "Ragg. fisc." CODTAB + DISPLAY "Descrizione@50" S0 + OUTPUT F_CODRIGA_R CODTAB + OUTPUT F_DESRIGA_R S0 + CHECKTYPE FORCED + GROUP 4 +END + +STRING F_DESRIGA_R 50 +BEGIN + PROMPT 24 1 "" + USE RFA KEY 2 + INPUT S0 F_DESRIGA_R + DISPLAY "Descrizione@50" S0 + DISPLAY "Ragg. fisc." CODTAB + COPY OUTPUT F_CODRIGA_R + GROUP 4 +END + +NUMBER F_PREZZO 18 5 +BEGIN + PROMPT 2 2 "Prezzo " + FIELD PREZZO + FLAGS "U" + DRIVENBY -F_L_CODVAL +END + +STRING F_UM 2 +BEGIN + PROMPT 67 0 "U.M. " + FIELD UM + FLAGS "U" + USE LF_UMART KEY 2 + JOIN %UMS INTO CODTAB=UM + INPUT CODART F_CODRIGA_A SELECT + INPUT UM F_UM + DISPLAY "U.M." UM + DISPLAY "Descrizione@50" %UMS->S0 + OUTPUT F_UM UM + CHECKTYPE FORCED + GROUP 1 +END + +GROUPBOX DLG_NULL 76 3 +BEGIN + PROMPT 1 3 "Scaglione" +END + +NUMBER F_NSCAGL 1 +BEGIN + PROMPT 2 4 "Numero " + FIELD NSCAGL + CHECKTYPE REQUIRED +END + +NUMBER F_QLIM 15 5 +BEGIN + PROMPT 24 4 "Qta limite " + FIELD QLIM +END + +GROUPBOX DLG_NULL 76 3 +BEGIN + PROMPT 1 6 "IVA" +END + +BOOLEAN F_ADDIVA +BEGIN + PROMPT 2 7 "Addebito" + FIELD ADDIVA +END + +STRING F_CODIVA 4 +BEGIN + PROMPT 25 7 "Codice" + FIELD CODIVA + FLAGS "U" + USE %IVA + INPUT CODTAB F_CODIVA + DISPLAY "Codice" CODTAB + DISPLAY "Descrizione@50" S0 + OUTPUT F_CODIVA CODTAB + CHECKTYPE NORMAL +END + +GROUPBOX DLG_NULL 76 8 +BEGIN + PROMPT 1 9 "Sconti e omaggi" +END + +STRING F_SCONTO 25 +BEGIN + PROMPT 2 10 "Sconto/maggiorazione " + FIELD SCONTO + FLAGS "U" +END + +NUMBER F_QOM 15 5 +BEGIN + PROMPT 2 11 "Qta sconto/omaggio " + FIELD QOM +END + +NUMBER F_QBASE 15 5 +BEGIN + PROMPT 2 12 "Qta base sconto " + FIELD QBASE +END + +STRING F_CODARTOM 20 +BEGIN + PROMPT 2 13 "Cod. articolo omaggio " + FIELD CODARTOM + FLAGS "U" + USE LF_ANAMAG + INPUT CODART F_CODARTOM + DISPLAY "Articolo@20" CODART + DISPLAY "Descrizione@50" DESCR + OUTPUT F_CODARTOM CODART + CHECKTYPE NORMAL +END + +STRING F_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 F_CODARTOM SELECT + INPUT UM F_UMOM + DISPLAY "U.M." UM + DISPLAY "Descrizione@50" %UMS->S0 + OUTPUT F_UMOM UM +END + +NUMBER F_PROMAGGIO 18 5 +BEGIN + PROMPT 2 15 "Prezzo omaggio " + FIELD PROMAGGIO + FLAGS "U" + DRIVENBY -F_L_CODVAL +END + +GROUPBOX DLG_NULL 76 5 +BEGIN + PROMPT 1 17 "Storico" +END + +NUMBER F_PRZSTO 18 5 +BEGIN + PROMPT 2 18 "Prezzo storico " + FIELD PRZSTO + FLAGS "U" +END + +DATA F_DATAPRZSTO +BEGIN + PROMPT 2 19 "Data prz storico " + FIELD DATAPRZSTO +END + +DATA F_DATAULTAUM +BEGIN + PROMPT 2 20 "Data ultimo aumento " + FIELD DATAULTAUM +END + +NUMBER F_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 \ No newline at end of file diff --git a/ve/ve3200.cpp b/ve/ve3200.cpp index cbc59cfcb..bce58ea17 100755 --- a/ve/ve3200.cpp +++ b/ve/ve3200.cpp @@ -392,7 +392,6 @@ void TStampa_condizioni_vendita::preprocess_header() { set_header(i, "@94g%s", (const char *) condv.get("GESTUM")); set_header(i, "@97g%s", (const char *) condv.get("GESTSCAGL")); set_header(i, "@100g%s", (const char *) condv.get("GESTSCO")); - set_header(i, "@103g%s", (const char *) condv.get("SCONST")); set_header(i, "@116g%s",(const char *) condv.get("SEQRIC")); if (is_listino) { @@ -458,7 +457,6 @@ void TStampa_condizioni_vendita::set_page(int file, int) { set_row(++i, "Gestione unitą di misura: @f", FLD(LF_CONDV, "GESTUM")); set_row(++i, "Gestione scaglioni: @f", FLD(LF_CONDV, "GESTSCAGL")); set_row(++i, "Gestione sconti: @f", FLD(LF_CONDV, "GESTSCO")); - set_row(++i, "Gestione sconti standard: @f", FLD(LF_CONDV, "SCONST")); if (_condven=="C") set_row(++i, "Contratto obbligatorio: @f", FLD(LF_CONDV, "OBBLIG")); if (_condven=="L") set_row(++i, "Codice listino successivo: @3s", FLD(LF_CONDV, "CODLISSUCC")); set_row(++i, "Sequenza di ricerca: @4s", FLD(LF_CONDV, "SEQRIC"));