Patch level : 10.0

Files correlati     : ve0.exe vetbnum.msk
Ricompilazione Demo : [ ]
Commento            :
Corretta selezione tipo documento per numerazione definitiva di documenti provvisori


git-svn-id: svn://10.65.10.50/trunk@19107 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
guy 2009-07-13 12:47:53 +00:00
parent 1ea4c49413
commit b43d12ee46
2 changed files with 31 additions and 39 deletions

View File

@ -63,33 +63,20 @@ void TVendite_mask::reset_printer_config() const
ini.remove_all(); ini.remove_all();
} }
static TString16 __tab_codnum; static TString4 __tab_codnum;
bool tab_tipodoc_ok(const TString & tipodoc) static bool tab_tip_filter(const TRelation* r)
{
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)
{ {
if (__tab_codnum.blank()) if (__tab_codnum.blank())
return true; return true;
const TCodice_numerazione & cod_num = cached_numerazione(__tab_codnum); const TCodice_numerazione & cod_num = cached_numerazione(__tab_codnum);
const TString4 tipo = r->curr().get("CODTAB"); const TString4 tipo = r->curr().get("CODTAB");
const int last = cod_num.ntipi_doc();
int last = cod_num.ntipi_doc();
for (int i = 0; i < last; i++ ) for (int i = 0; i < last; i++ )
{ {
const TString & curtipo = cod_num.tipo_doc(i); const TString& curtipo = cod_num.tipo_doc(i);
if (curtipo == tipo)
if (curtipo == tipo && tab_tipodoc_ok(curtipo)) return true;
return true;
} }
return false; return false;
} }
@ -99,8 +86,11 @@ bool TVendite_mask::on_num_event(TOperable_field& o, TField_event e, long jolly)
switch (o.dlg()) switch (o.dlg())
{ {
case F_CODNUM: case F_CODNUM:
if (e == fe_modify) if (e == fe_init || e == fe_modify)
{
__tab_codnum = o.get(); __tab_codnum = o.get();
efield(F_TIPODOC).browse()->cursor()->set_filterfunction(tab_tip_filter);
}
break; break;
default: default:
break; break;
@ -120,12 +110,6 @@ TVendite_mask::TVendite_mask(const char* name) : TAutomask(name)
const TFixed_string n(name); const TFixed_string n(name);
_tab = n.mid(4,3); _tab = n.mid(4,3);
_tab.upper(); _tab.upper();
if (is_table("NUM"))
{
TCursor * cur = efield(F_TIPODOC).browse()->cursor();
cur->set_filterfunction(tab_tip_filter);
}
} }
/////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////

View File

@ -11,7 +11,7 @@ PAGE "Numerazione documenti" 0 0 0 0
GROUPBOX DLG_NULL 75 7 GROUPBOX DLG_NULL 75 7
BEGIN BEGIN
PROMPT 1 0 "" PROMPT 1 0 ""
FLAG "R" FLAGS "R"
END END
STRING F_CODTAB 4 STRING F_CODTAB 4
@ -60,20 +60,21 @@ END
BOOLEAN F_NUMPROVV BOOLEAN F_NUMPROVV
BEGIN BEGIN
PROMPT 2 10 "Numerazione provvisoria" PROMPT 2 10 "Numerazione provvisoria"
MESSAGE FALSE CLEAR,1@|CLEAR,2@ MESSAGE FALSE HIDE,1@
MESSAGE TRUE ENABLE,1@ MESSAGE TRUE SHOW,1@
FIELD B0 FIELD B0
END END
BOOLEAN F_DOCDEFDIV BOOLEAN F_DOCDEFDIV
BEGIN BEGIN
PROMPT 2 11 "Documento definitivo diverso" PROMPT 2 11 "Documento definitivo diverso"
MESSAGE FALSE CLEAR,2@ MESSAGE FALSE CLEAR,F_CODNUM|CLEAR,F_TIPODOC
MESSAGE TRUE ENABLE,2@ MESSAGE TRUE ENABLE,F_CODNUM|DISABLE,F_TIPODOC
GROUP 1 GROUP 1
FIELD B8 FIELD B8
FLAGS "DG" FLAGS "G"
END END
STRING F_CODNUM 4 STRING F_CODNUM 4
BEGIN BEGIN
PROMPT 35 11 "Numerazione " PROMPT 35 11 "Numerazione "
@ -85,15 +86,17 @@ BEGIN
DISPLAY "Descrizione@50" S0 DISPLAY "Descrizione@50" S0
OUTPUT F_CODNUM CODTAB OUTPUT F_CODNUM CODTAB
CHECKTYPE NORMAL CHECKTYPE NORMAL
FLAG "UD" FLAGS "UDG"
WARNING "Numerazione assente" WARNING "Numerazione assente"
FIELD S8 FIELD S8
GROUP 2 MESSAGE EMPTY CLEAR,F_TIPODOC
MESSAGE ENABLE,F_TIPODOC
GROUP 1
END END
STRING F_TIPODOC 4 STRING F_TIPODOC 4
BEGIN BEGIN
PROMPT 55 11 "Tipo " PROMPT 63 11 "Tipo "
FIELD TIPODOC FIELD TIPODOC
HELP "Codice tipo documento" HELP "Codice tipo documento"
USE %TIP USE %TIP
@ -102,10 +105,11 @@ BEGIN
DISPLAY "Descrizione@50" S0 DISPLAY "Descrizione@50" S0
OUTPUT F_TIPODOC CODTAB OUTPUT F_TIPODOC CODTAB
CHECKTYPE NORMAL CHECKTYPE NORMAL
FLAG "UD" FLAGS "UD"
FIELD S9 FIELD S9
GROUP 2 GROUP 1
END END
BOOLEAN F_NUMAUTO BOOLEAN F_NUMAUTO
BEGIN BEGIN
PROMPT 2 12 "Utilizzo della numerazione automatica" PROMPT 2 12 "Utilizzo della numerazione automatica"
@ -154,9 +158,13 @@ BEGIN
FIELD B9 FIELD B9
END END
NUMBER F_REVLEN 1 LIST F_REVLEN 1 8
BEGIN 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 FIELD I0
END END