diff --git a/ve/bolacq.src b/ve/bolacq.src index cf898fc49..c28bad665 100755 --- a/ve/bolacq.src +++ b/ve/bolacq.src @@ -84,14 +84,12 @@ DESBANPRE = S_NORMALE //700 PROGBNP = S_NOCHECK //700 CATVEN = S_NASCOSTO //800 DESCATVEN = S_DISABILITATO //800 -CODLIST1 = S_NASCOSTO //800 -CODLIST2 = S_NASCOSTO //800 -DESLIST = S_DISABILITATO //800 -CODCONT1 = S_NASCOSTO //810 -CODCONT2 = S_NASCOSTO //810 -DESCONT = S_DISABILITATO //810 -CODCAMP = S_NASCOSTO //820 -DESCAMP = S_DISABILITATO //820 +CODLIST = S_NORMALE //800 +DESLIST = S_NORMALE //800 +CODCONT = S_NORMALE //810 +DESCONT = S_NORMALE //810 +CODCAMP = S_NORMALE //820 +DESCAMP = S_NORMALE //820 SCONTOPERC = S_NORMALE //830 GRINDSPED = S_NASCOSTO //900 CODINDSP = S_NASCOSTO //900 diff --git a/ve/bollac.src b/ve/bollac.src index 569a6db59..f1ba6efa0 100755 --- a/ve/bollac.src +++ b/ve/bollac.src @@ -83,14 +83,12 @@ DESBANPRE = S_NORMALE //700 PROGBNP = S_NOCHECK //700 CATVEN = S_NORMALE //800 DESCATVEN = S_DISABILITATO //800 -CODLIST1 = S_NORMALE //800 -CODLIST2 = S_NORMALE //800 -DESLIST = S_DISABILITATO //800 -CODCONT1 = S_NORMALE //810 -CODCONT2 = S_NORMALE //810 -DESCONT = S_DISABILITATO //810 +CODLIST = S_NORMALE //800 +DESLIST = S_NORMALE //800 +CODCONT = S_NORMALE //810 +DESCONT = S_NORMALE //810 CODCAMP = S_NORMALE //820 -DESCAMP = S_DISABILITATO //820 +DESCAMP = S_NORMALE //820 SCONTOPERC = S_NORMALE //830 GRINDSPED = S_NORMALE //900 CODINDSP = S_NORMALE //900 diff --git a/ve/fatacq.src b/ve/fatacq.src index 51b88ba45..e7518c459 100755 --- a/ve/fatacq.src +++ b/ve/fatacq.src @@ -82,14 +82,12 @@ DESBANPRE = S_NORMALE //700 PROGBNP = S_NOCHECK //700 CATVEN = S_NORMALE //800 DESCATVEN = S_DISABILITATO //800 -CODLIST1 = S_NORMALE //800 -CODLIST2 = S_NORMALE //800 -DESLIST = S_DISABILITATO //800 -CODCONT1 = S_NORMALE //810 -CODCONT2 = S_NORMALE //810 -DESCONT = S_DISABILITATO //810 +CODLIST = S_NORMALE //800 +DESLIST = S_NORMALE //800 +CODCONT = S_NORMALE //810 +DESCONT = S_NORMALE //810 CODCAMP = S_NORMALE //820 -DESCAMP = S_DISABILITATO //820 +DESCAMP = S_NORMALE //820 SCONTOPERC = S_NORMALE //830 DATADOCRIF = S_NORMALE //1000 NUMDOCRIF = S_NOCHECK //1000 diff --git a/ve/fatturaa.src b/ve/fatturaa.src index e9caa79e9..2c39b38bf 100755 --- a/ve/fatturaa.src +++ b/ve/fatturaa.src @@ -83,14 +83,12 @@ DESBANPRE = S_NORMALE //700 PROGBNP = S_NOCHECK //700 CATVEN = S_NORMALE //800 DESCATVEN = S_DISABILITATO //800 -CODLIST1 = S_NORMALE //800 -CODLIST2 = S_NORMALE //800 -DESLIST = S_DISABILITATO //800 -CODCONT1 = S_NORMALE //810 -CODCONT2 = S_NORMALE //810 -DESCONT = S_DISABILITATO //810 +CODLIST = S_NORMALE //800 +DESLIST = S_NORMALE //800 +CODCONT = S_NORMALE //810 +DESCONT = S_NORMALE //810 CODCAMP = S_NORMALE //820 -DESCAMP = S_DISABILITATO //820 +DESCAMP = S_NORMALE //820 SCONTOPERC = S_NORMALE //830 GRINDSPED = S_NORMALE //900 CODINDSP = S_NORMALE //900 diff --git a/ve/fatturac.src b/ve/fatturac.src index 9f84d469d..e614f22cd 100755 --- a/ve/fatturac.src +++ b/ve/fatturac.src @@ -79,14 +79,12 @@ DESBANPRE = S_NORMALE //700 PROGBNP = S_NOCHECK //700 CATVEN = S_NORMALE //800 DESCATVEN = S_DISABILITATO //800 -CODLIST1 = S_NORMALE //800 -CODLIST2 = S_NORMALE //800 -DESLIST = S_DISABILITATO //800 -CODCONT1 = S_NORMALE //810 -CODCONT2 = S_NORMALE //810 -DESCONT = S_DISABILITATO //810 +CODLIST = S_NORMALE //800 +DESLIST = S_NORMALE //800 +CODCONT = S_NORMALE //810 +DESCONT = S_NORMALE //810 CODCAMP = S_NORMALE //820 -DESCAMP = S_DISABILITATO //820 +DESCAMP = S_NORMALE //820 SCONTOPERC = S_NORMALE //830 GRINDSPED = S_NORMALE //900 CODINDSP = S_NORMALE //900 diff --git a/ve/ordbon.src b/ve/ordbon.src index 4357a69f8..fd8aba2e0 100755 --- a/ve/ordbon.src +++ b/ve/ordbon.src @@ -83,14 +83,12 @@ CODCABP = S_NORMALE //700 DESBANPRE = S_NORMALE //700 CATVEN = S_NORMALE //800 DESCATVEN = S_DISABILITATO //800 -CODLIST1 = S_NORMALE //800 -CODLIST2 = S_NORMALE //800 -DESLIST = S_DISABILITATO //800 -CODCONT1 = S_NORMALE //810 -CODCONT2 = S_NORMALE //810 -DESCONT = S_DISABILITATO //810 +CODLIST = S_NORMALE //800 +DESLIST = S_NORMALE //800 +CODCONT = S_NORMALE //810 +DESCONT = S_NORMALE //810 CODCAMP = S_NORMALE //820 -DESCAMP = S_DISABILITATO //820 +DESCAMP = S_NORMALE //820 SCONTOPERC = S_NORMALE //830 GRINDSPED = S_NORMALE //900 CODINDSP = S_NORMALE //900 diff --git a/ve/ordinec.src b/ve/ordinec.src index aa252b0f5..bc57ab013 100755 --- a/ve/ordinec.src +++ b/ve/ordinec.src @@ -90,14 +90,12 @@ DESBANPRE = S_NORMALE //700 PROGBNP = S_NOCHECK //700 CATVEN = S_NORMALE //800 DESCATVEN = S_DISABILITATO //800 -CODLIST1 = S_NORMALE //800 -CODLIST2 = S_NORMALE //800 -DESLIST = S_DISABILITATO //800 -CODCONT1 = S_NORMALE //810 -CODCONT2 = S_NORMALE //810 -DESCONT = S_DISABILITATO //810 +CODLIST = S_NORMALE //800 +DESLIST = S_NORMALE //800 +CODCONT = S_NORMALE //810 +DESCONT = S_NORMALE //810 CODCAMP = S_NORMALE //820 -DESCAMP = S_DISABILITATO //820 +DESCAMP = S_NORMALE //820 SCONTOPERC = S_NORMALE //830 GRINDSPED = S_NORMALE //900 CODINDSP = S_NORMALE //900 diff --git a/ve/ordinef.src b/ve/ordinef.src index 940dc896e..51aaf660b 100755 --- a/ve/ordinef.src +++ b/ve/ordinef.src @@ -89,14 +89,12 @@ DESBANPRE = S_NORMALE //700 PROGBNP = S_NOCHECK //700 CATVEN = S_NORMALE //800 DESCATVEN = S_DISABILITATO //800 -CODLIST1 = S_NORMALE //800 -CODLIST2 = S_NORMALE //800 -DESLIST = S_DISABILITATO //800 -CODCONT1 = S_NORMALE //810 -CODCONT2 = S_NORMALE //810 -DESCONT = S_DISABILITATO //810 +CODLIST = S_NORMALE //800 +DESLIST = S_NORMALE //800 +CODCONT = S_NORMALE //810 +DESCONT = S_NORMALE //810 CODCAMP = S_NORMALE //820 -DESCAMP = S_DISABILITATO //820 +DESCAMP = S_NORMALE //820 SCONTOPERC = S_NORMALE //830 GRINDSPED = S_NORMALE //900 CODINDSP = S_NORMALE //900 diff --git a/ve/ve0100.cpp b/ve/ve0100.cpp index 16896e19f..ebd833bd7 100755 --- a/ve/ve0100.cpp +++ b/ve/ve0100.cpp @@ -886,12 +886,7 @@ void TMotore_application::ini2mask(TConfig& ini, TMask& msk, bool query) if (!ini.exist(DOC_ZONA)) msk.set(F_CODZON, ven_rec.get(CFV_CODZONA), true); if (!ini.exist(DOC_CODLIST)) - { - const TString16 codlist = ven_rec.get(CFV_CODLIST); - - msk.set(F_CODLIST, codlist, true); - msk.set(F_CODLIST1, codlist, true); - } + msk.set(F_CODLIST, ven_rec.get(CFV_CODLIST), true); TSheet_field& f = msk.sfield(F_SHEET); diff --git a/ve/ve0300a.src b/ve/ve0300a.src index 4f8b7b4e5..f01b3249d 100755 --- a/ve/ve0300a.src +++ b/ve/ve0300a.src @@ -725,7 +725,7 @@ TYPE=T_STRINGA PROMPT="" SIZE=50 -[CODLIST1] +[CODLIST] GROUP=800 X=2 Y=1 @@ -741,22 +741,6 @@ DISPLAY="Codice" COD~"Descrizione@50" DESCR OUTPUT=F_CODLIST COD~F_DESLIST DESCR SPECIAL=ADD RUN ve2 -1 l -[CODLIST2] -GROUP=800 -X=2 -Y=1 -FIELDNAME=CODLIST -MSKID=F_CODLIST1 -TYPE=T_STRINGA -PROMPT="Listino " -SIZE=3 -FLAG=U -USE=LF_CONDV SE CATVEN!=""~JO CVE TO LF_CONDV INTO CODTAB=CATVEN -INPUT=TIPO "L"~CATVEN F_CATVEN~COD F_CODLIST1 -DISPLAY="Cat.Ven." CATVEN~"Codice" COD~"Descrizione@50" DESCR -OUTPUT=F_CATVEN CATVEN~F_DESCATVEN CVE->S0~F_CODLIST1 COD~F_DESLIST DESCR -SPECIAL=ADD RUN ve2 -1 l~ME CO,F_CODLIST - [DESLIST] GROUP=800 X=24 @@ -765,8 +749,13 @@ MSKID=F_DESLIST TYPE=T_STRINGA PROMPT="" SIZE=50 +USE=LF_CONDV KEY 2 +INPUT=TIPO "L"~DESCR F_DESLIST +DISPLAY="Descrizione@50" DESCR~"Codice" COD +OUTPUT=F_CODLIST COD~F_DESLIST DESCR +SPECIAL=ADD RUN ve2 -1 l -[CODCONT1] +[CODCONT] GROUP=810 X=2 Y=0 @@ -777,27 +766,11 @@ PROMPT="Contratto " SIZE=3 FLAG=U USE=LF_CONDV -INPUT=TIPO "C"~TIPOCF ""~COD F_CODCONT +INPUT=TIPO "C"~TIPOCF ""~CODCF ""~COD F_CODCONT DISPLAY="Codice" COD~"Descrizione@35" DESCR OUTPUT=F_CODCONT COD~F_DESCONT DESCR SPECIAL=ADD RUN ve2 -1 c -[CODCONT2] -GROUP=810 -X=2 -Y=0 -FIELDNAME=CODCONT -MSKID=F_CODCONT1 -TYPE=T_STRINGA -PROMPT="Contratto " -SIZE=3 -FLAG=U -USE=LF_CONDV SELECT CODCF!="" -INPUT=TIPO "C"~TIPOCF F_TIPOCF SE~CODCF F_CODCF SE~COD F_CODCONT1 -DISPLAY="Cliente" CODCF~"Codice" COD~"Descrizione@35" DESCR -OUTPUT=F_CODCONT1 COD~F_DESCONT DESCR -SPECIAL=ADD RUN ve2 -1 c~ME CO,F_CODCONT - [DESCONT] GROUP=810 X=24 @@ -805,7 +778,12 @@ Y=0 MSKID=F_DESCONT TYPE=T_STRINGA PROMPT="" +USE=LF_CONDV KEY 2 SE CODCF=="" +INPUT=TIPO "C"~DESCR F_DESCONT +DISPLAY="Descrizione@50" DESCR~"Codice" COD +OUTPUT=F_CODCONT COD~F_DESCONT DESCR~F_CODCONT COD SIZE=50 +SPECIAL=ADD RUN ve2 -1 c [CODCAMP] GROUP=820 @@ -819,8 +797,8 @@ SIZE=3 FLAG=U USE=LF_CONDV INPUT=TIPO "O"~COD F_CODCAMP -DISPLAY="Codice" LF_CONDV->COD~"Descrizione@35" LF_CONDV->DESCR -OUTPUT=F_CODCAMP LF_CONDV->COD~F_DESCAMP LF_CONDV->DESCR +DISPLAY="Codice" COD~"Descrizione@35" DESCR +OUTPUT=F_CODCAMP COD~F_DESCAMP DESCR SPECIAL=ADD RUN ve2 -1 o [DESCAMP] @@ -831,6 +809,12 @@ MSKID=F_DESCAMP TYPE=T_STRINGA PROMPT="" SIZE=50 +USE=LF_CONDV KEY 2 +INPUT=TIPO "O"~DESCR F_DESCAMP +DISPLAY="Descrizione@50" DESCR~"Codice" COD +OUTPUT=F_CODCAMP COD~F_DESCAMP DESCR +SIZE=50 +SPECIAL=ADD RUN ve2 -1 o [SCONTOPERC] GROUP=830 @@ -2031,4 +2015,4 @@ Y=0 MSKID=F_BLANK TYPE=T_STRINGA PROMPT="" -SIZE=1 \ No newline at end of file +SIZE=1 diff --git a/ve/velib.h b/ve/velib.h index 14d21fe75..249c0b412 100755 --- a/ve/velib.h +++ b/ve/velib.h @@ -984,7 +984,6 @@ protected: int insert_anal_fields(TMask& m, int page, int lf, int& y, short& dlg, short& dlgd, bool required); void insert_anal_page(); - void kill_double_fields(short fld1, short fld2); public: virtual bool is_omaggio_enabled() { return true;} diff --git a/ve/velib06.cpp b/ve/velib06.cpp index 3fd8ff2a0..9f103f73a 100755 --- a/ve/velib06.cpp +++ b/ve/velib06.cpp @@ -88,21 +88,6 @@ TCONAI_class conai_id2class(short id) // TDocumento_mask /////////////////////////////////////////////////////////// -// Data una coppia di campi, toglie il FIELD a quello invisibile dei due -void TDocumento_mask::kill_double_fields(short fld1, short fld2) -{ - for (int i = 0; i < 2; i++) - { - const short id = i == 0 ? fld1 : fld2; - if (id2pos(id) > 0) - { - TEdit_field& f = efield(id); - if (f.hidden()) - f.set_field(EMPTY_STRING); - } - } -} - TDocumento_mask::TDocumento_mask(const char* td) : TVariable_mask(), _progs_page(-1), _condv(NULL), _smartcard(NULL), _cms_start(-1), _cms_end(-1), _cms_start_sh(-1), _cms_end_sh(-1), @@ -167,9 +152,7 @@ TDocumento_mask::TDocumento_mask(const char* td) set_field_handler( F_CODNOTE, note_hndl ); set_field_handler( F_DATADOC, data_hndl ); set_field_handler( F_CODLIST, codlist_handler ); - set_field_handler( F_CODLIST1, codlist_handler ); set_field_handler( F_CODCONT, codcont_handler ); - set_field_handler( F_CODCONT1, codcont_handler ); set_field_handler( F_CODCAMP, codcamp_handler ); set_field_handler( F_CODVAL, codval_handler ); set_field_handler( F_CODVAL1, codval_handler ); @@ -241,39 +224,67 @@ TDocumento_mask::TDocumento_mask(const char* td) enable(F_CODLIN, geslin); enable(F_DESLIN, geslin); - const bool geslis = cfg.get_bool("GES", NULL, 1); - const bool gesliscatven = cfg.get_bool("GESLISCV"); + const bool geslis = cfg.get_bool("GES", NULL, 1); - if (geslis) + show(F_CODLIST, geslis); + show(F_DESLIST, geslis); + enable(F_CODLIST, geslis); + enable(F_DESLIST, geslis); + if (cfg.get_bool("GESLISCV")) { - show(F_CODLIST, !gesliscatven); - show(F_CODLIST1, gesliscatven); + TBrowse * b = efield(F_CODLIST).browse(); + + if (b != NULL) + { + b->remove_input_field(); + b->add_input_field("\"L\"", RCONDV_TIPO); + b->add_input_field(TOSTRING(F_CATVEN), DOC_CATVEN, -1, true); + b->add_input_field("\"\"", DOC_TIPOCF); + b->add_input_field("\"\"", DOC_CODCF); + b->add_input_field(TOSTRING(F_CODLIST), RCONDV_COD); + } + b = efield(F_DESLIST).browse(); + if (b != NULL) + { + TString filter; + + filter << DOC_CATVEN << "==#" << F_CATVEN; + b->set_filter(filter); + } } - else - { - disable(F_CODLIST); - hide(F_CODLIST1); - } - kill_double_fields(F_CODLIST, F_CODLIST1); const bool gescontr = cfg.get_bool("GES", "ve", 2); - const bool gescontrcli = cfg.get_bool("GESCONCC"); - if (gescontr) + show(F_CODCONT, gescontr); + show(F_DESCONT, gescontr); + enable(F_CODCONT, gescontr); + enable(F_DESCONT, gescontr); + if (cfg.get_bool("GESCONCC")) { - show(F_CODCONT1, gescontrcli); - show(F_CODCONT, !gescontrcli); + TBrowse * b = efield(F_CODCONT).browse(); + + if (b != NULL) + { + b->remove_input_field(); + b->add_input_field("\"C\"", RCONDV_TIPO); + b->add_input_field("\"\"", RCONDV_CATVEN); + b->add_input_field(TOSTRING(F_TIPOCF), RCONDV_TIPOCF, -1, true); + b->add_input_field(TOSTRING(F_CODCF), RCONDV_CODCF, -1, true); + b->add_input_field(TOSTRING(F_CODCONT), RCONDV_COD); + } + b = efield(F_DESCONT).browse(); + if (b != NULL) + { + TString filter; + + filter << "(" << DOC_TIPOCF << "==#" << F_TIPOCF << ")&&(" << DOC_CODCF << "==#" << F_CODCF << ")"; + b->set_filter(filter); + } } - else - { - hide(F_CODCONT); - hide(F_CODCONT1); - } - kill_double_fields(F_CODCONT, F_CODCONT1); const bool gesoff = cfg.get_bool("GES", "ve", 3); enable(F_CODCAMP, gesoff); - + enable(F_DESCAMP, gesoff); const bool gessco = cfg.get_char("GESSCO") != 'N'; enable(F_SCONTOPERC, gessco); @@ -913,15 +924,6 @@ void TDocumento_mask::cli2mask(bool force_load) { TEdit_field & f = (TEdit_field&) fld(pos); - f.set(codlist); - f.check(); - f.on_hit(); - } - pos = id2pos(F_CODLIST1); - if (pos >= 0 && fld(pos).active()) - { - TEdit_field & f = (TEdit_field&) fld(pos); - f.set(codlist); f.check(); f.on_hit(); @@ -969,9 +971,6 @@ void TDocumento_mask::cli2mask(bool force_load) fld(pos).check(); check_field( F_CODCABA ); pos = id2pos(F_CODLIST); - if (pos >= 0 && fld(pos).active()) - fld(pos).check(); - pos = id2pos(F_CODLIST1); if (pos >= 0 && fld(pos).active()) fld(pos).check(); check_field( F_CODCABP ); @@ -994,12 +993,10 @@ void TDocumento_mask::cli2mask(bool force_load) check_field( F_CODZON ); //gestione contratti - bool gescontr = ven_rec.get_bool(CFV_GESTCONTR); - if (gescontr) - gescontr = ini_get_bool(CONFIG_DITTA, "ve", "GES", false, 2); + bool gescontr = ven_rec.get_bool(CFV_GESTCONTR) && ini_get_bool(CONFIG_DITTA, "ve", "GES", false, 2); - enable(F_CODCONT1, gescontr); enable(F_CODCONT, gescontr); + enable(F_DESCONT, gescontr); } void TDocumento_mask::sconto_testa2mask() @@ -1867,12 +1864,12 @@ bool TDocumento_mask::clifo_handler( TMask_field& f, KEY key ) if (m.id2pos(F_CODCONT) >= 0) { - const short id = m.field(F_CODCONT).active() ? F_CODCONT : F_CODCONT1; - TEdit_field & e = m.efield(id); + TEdit_field & e = m.efield(F_CODCONT); if (e.active()) { e.set_dirty(); + e.check(); e.on_hit(); } } diff --git a/ve/veuml.h b/ve/veuml.h index b4dc20052..900f8c4e9 100755 --- a/ve/veuml.h +++ b/ve/veuml.h @@ -97,8 +97,6 @@ #define F_CODVAL1 200 #define F_NOMEVAL1 201 #define F_DATACAMBIO1 202 -#define F_CODLIST1 203 -#define F_CODCONT1 204 #define F_CODZON 205 #define F_ORDDA 206 #define F_ORDDADES 207