diff --git a/ve/ve0400.cpp b/ve/ve0400.cpp index 261225571..2b1a3cbf1 100755 --- a/ve/ve0400.cpp +++ b/ve/ve0400.cpp @@ -63,33 +63,20 @@ void TVendite_mask::reset_printer_config() const ini.remove_all(); } -static TString16 __tab_codnum; +static TString4 __tab_codnum; -bool tab_tipodoc_ok(const TString & tipodoc) -{ - const TString4 module(main_app().name().left(2)); - const TTipo_documento& tipo = cached_tipodoc(tipodoc); - const TString & tipomod = tipo.module(); - - if (module == "ve" && tipomod.blank()) - return true; - return tipomod == module; -} - -bool tab_tip_filter(const TRelation* r) +static bool tab_tip_filter(const TRelation* r) { if (__tab_codnum.blank()) return true; const TCodice_numerazione & cod_num = cached_numerazione(__tab_codnum); const TString4 tipo = r->curr().get("CODTAB"); - - int last = cod_num.ntipi_doc(); + const int last = cod_num.ntipi_doc(); for (int i = 0; i < last; i++ ) { - const TString & curtipo = cod_num.tipo_doc(i); - - if (curtipo == tipo && tab_tipodoc_ok(curtipo)) - return true; + const TString& curtipo = cod_num.tipo_doc(i); + if (curtipo == tipo) + return true; } return false; } @@ -99,8 +86,11 @@ bool TVendite_mask::on_num_event(TOperable_field& o, TField_event e, long jolly) switch (o.dlg()) { case F_CODNUM: - if (e == fe_modify) + if (e == fe_init || e == fe_modify) + { __tab_codnum = o.get(); + efield(F_TIPODOC).browse()->cursor()->set_filterfunction(tab_tip_filter); + } break; default: break; @@ -120,12 +110,6 @@ TVendite_mask::TVendite_mask(const char* name) : TAutomask(name) const TFixed_string n(name); _tab = n.mid(4,3); _tab.upper(); - if (is_table("NUM")) - { - TCursor * cur = efield(F_TIPODOC).browse()->cursor(); - - cur->set_filterfunction(tab_tip_filter); - } } /////////////////////////////////////////////////////////// diff --git a/ve/vetbnum.uml b/ve/vetbnum.uml index affb424eb..9233c4d14 100755 --- a/ve/vetbnum.uml +++ b/ve/vetbnum.uml @@ -11,7 +11,7 @@ PAGE "Numerazione documenti" 0 0 0 0 GROUPBOX DLG_NULL 75 7 BEGIN PROMPT 1 0 "" - FLAG "R" + FLAGS "R" END STRING F_CODTAB 4 @@ -60,20 +60,21 @@ END BOOLEAN F_NUMPROVV BEGIN PROMPT 2 10 "Numerazione provvisoria" - MESSAGE FALSE CLEAR,1@|CLEAR,2@ - MESSAGE TRUE ENABLE,1@ + MESSAGE FALSE HIDE,1@ + MESSAGE TRUE SHOW,1@ FIELD B0 END BOOLEAN F_DOCDEFDIV BEGIN PROMPT 2 11 "Documento definitivo diverso" - MESSAGE FALSE CLEAR,2@ - MESSAGE TRUE ENABLE,2@ + MESSAGE FALSE CLEAR,F_CODNUM|CLEAR,F_TIPODOC + MESSAGE TRUE ENABLE,F_CODNUM|DISABLE,F_TIPODOC GROUP 1 FIELD B8 - FLAGS "DG" + FLAGS "G" END + STRING F_CODNUM 4 BEGIN PROMPT 35 11 "Numerazione " @@ -85,15 +86,17 @@ BEGIN DISPLAY "Descrizione@50" S0 OUTPUT F_CODNUM CODTAB CHECKTYPE NORMAL - FLAG "UD" + FLAGS "UDG" WARNING "Numerazione assente" FIELD S8 - GROUP 2 + MESSAGE EMPTY CLEAR,F_TIPODOC + MESSAGE ENABLE,F_TIPODOC + GROUP 1 END STRING F_TIPODOC 4 BEGIN - PROMPT 55 11 "Tipo " + PROMPT 63 11 "Tipo " FIELD TIPODOC HELP "Codice tipo documento" USE %TIP @@ -102,10 +105,11 @@ BEGIN DISPLAY "Descrizione@50" S0 OUTPUT F_TIPODOC CODTAB CHECKTYPE NORMAL - FLAG "UD" + FLAGS "UD" FIELD S9 - GROUP 2 + GROUP 1 END + BOOLEAN F_NUMAUTO BEGIN PROMPT 2 12 "Utilizzo della numerazione automatica" @@ -154,9 +158,13 @@ BEGIN FIELD B9 END -NUMBER F_REVLEN 1 +LIST F_REVLEN 1 8 BEGIN - PROMPT 2 20 "Lunghezza revisioni (Preventivi) " + PROMPT 2 20 "Cifre riservate alle revisioni (Preventivi) " + ITEM "0|Nessuna" + ITEM "1|1 Cifra" + ITEM "2|2 Cifre" + ITEM "3|3 Cifre" FIELD I0 END