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();
}
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);
}
}
///////////////////////////////////////////////////////////

View File

@ -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