Patch level : 12.00 1284

Files correlati     : ve0.exe ve2.exe ve2400.msk

Commento            :

Non era possibile svuotare una riga conai suglii articoli
Se le svuotavo tutte ricaricava i vvalori di prima della conversione
Il calcolo CONAI viene fatto anche se riattivo la registrazione con shift-F12
This commit is contained in:
Alessandro Bonazzi 2023-10-04 17:20:57 +02:00
parent 2ccae253fc
commit b2580dbf79
5 changed files with 44 additions and 17 deletions

View File

@ -123,6 +123,7 @@
#define SCONTO_FUNC 23 0 #define SCONTO_FUNC 23 0
#define CHECK_IBAN_FUNC 24 10 #define CHECK_IBAN_FUNC 24 10
#define CHECK_BBAN_FUNC 25 5 #define CHECK_BBAN_FUNC 25 5
#define NOT_EMPTY_CHECK_TARGET 21 1
#define VALEXPR VALIDATE EXPR_FUNC #define VALEXPR VALIDATE EXPR_FUNC
#define NUM_EXPR VALEXPR 0 #define NUM_EXPR VALEXPR 0

View File

@ -74,7 +74,6 @@
#define DOC_G1 "G1" #define DOC_G1 "G1"
#define DOC_DATAAGG "DATAAGG" #define DOC_DATAAGG "DATAAGG"
#define DOC_UTENTE "UTENTE" #define DOC_UTENTE "UTENTE"
#define DOC_COLL_GOLEM "COLL_GOLEM"
#define DOC_DOCEVASO "DOCEVASO" #define DOC_DOCEVASO "DOCEVASO"
#define DOC_CONTROEURO "CONTROEURO" #define DOC_CONTROEURO "CONTROEURO"
#define DOC_CODCMS "CODCMS" #define DOC_CODCMS "CODCMS"
@ -114,7 +113,6 @@
#define DOC_DATAINIRIF "DATAINIRIF" #define DOC_DATAINIRIF "DATAINIRIF"
#define DOC_DATAFINRIF "DATAFINRIF" #define DOC_DATAFINRIF "DATAFINRIF"
// modulo pe // modulo pe
#define DOC_SPESEUPD "SPESEUPD" #define DOC_SPESEUPD "SPESEUPD"
#define DOC_USEK "USEK" #define DOC_USEK "USEK"

View File

@ -642,7 +642,7 @@ const char* TMask_field::prompt() const
// Certified 100% // Certified 100%
void TMask_field::reset() void TMask_field::reset()
{ {
if (!_flags.persistent) if (!_flags.persistent)
set(""); set("");
} }
@ -3998,7 +3998,7 @@ int TList_field::str2curr(const char* data)
} }
void TList_field::reset() void TList_field::reset()
{ {
if (!_flags.persistent) if (!_flags.persistent)
current(0); current(0);
} }
@ -4082,6 +4082,8 @@ bool TList_field::on_key(KEY key)
{ {
if (has_warning()) if (has_warning())
return error_box(get_warning()); return error_box(get_warning());
else
return false;
} }
} }
} }

View File

@ -409,7 +409,7 @@ public:
{ _filter_update = update; _filter_limit = limit; filter(filter_expr); } { _filter_update = update; _filter_limit = limit; filter(filter_expr); }
// @cmember Setta la regione-filtro dal record <p from> al record <p to> // @cmember Setta la regione-filtro dal record <p from> al record <p to>
void setregion(const TRectype& from, const TRectype& to, int tilde = 0x0) void setregion(const TRectype& from, const TRectype& to, int tilde = 0x0)
{ filter(NULL,&from, &to, tilde); } { filter(nullptr, &from, &to, tilde); }
// @cmember Ritorna la relazione del cursore // @cmember Ritorna la relazione del cursore
TRelation* relation() const TRelation* relation() const

View File

@ -665,11 +665,11 @@ HIDDEN bool _chkfld_val(TMask_field& f, KEY k)
else else
return f.check(); return f.check();
} }
TMask_field & chkfld = f.mask().field(fldid);
chkfld.set(f.get()); TMask_field & chkfld = f.mask().field(fldid);
return chkfld.check();
chkfld.set(f.get());
return chkfld.check();
} }
return true; return true;
} }
@ -711,10 +711,35 @@ HIDDEN bool _alpha_val(TMask_field& f, KEY k)
HIDDEN bool _not_empty_chkfld_val(TMask_field& f, KEY k) HIDDEN bool _not_empty_chkfld_val(TMask_field& f, KEY k)
{ {
bool ok = true; bool ok = true;
if (f.to_check(k,true) && f.get().not_empty()) const int nparms = get_val_param_count();
{ const int fldid = nparms > 0 ? get_int_val_param(0) : THIS_FIELD;
TBrowse * b = ((TEdit_field&)f).browse(); bool check = f.to_check(k, true);
if (b != NULL) ok = b->check(k == K_TAB ? RUNNING_CHECK : FINAL_CHECK);
if (!check && fldid != THIS_FIELD)
check = f.mask().efield(fldid).to_check(k, true);
if (check && f.get().not_empty())
{
if (fldid == THIS_FIELD)
{
TBrowse * b = ((TEdit_field&)f).browse();
if (b != NULL)
ok = b->check(k == K_TAB ? RUNNING_CHECK : FINAL_CHECK);
}
else
{
TEdit_field & chkfld = f.mask().efield(fldid);
TBrowse * b = chkfld.browse();
if (b != NULL)
{
CheckType c = chkfld.check_type();
chkfld.check_type(CHECK_REQUIRED);
ok = b->check(k == K_TAB ? RUNNING_CHECK : FINAL_CHECK);
chkfld.check_type(c);
}
}
} }
return ok; return ok;
} }
@ -957,11 +982,11 @@ HIDDEN bool _iban_val(TMask_field& f, KEY key)
id[i] = get_int_val_param(i); id[i] = get_int_val_param(i);
if (nparms < 9) if (nparms < 9)
id[8] = -1; id[8] = 0;
if (nparms < 10) if (nparms < 10)
id[9] = 0; id[9] = 0;
bool pres = get_int_val_param(9); bool pres = get_int_val_param(9) > 0;
TString80 iban = m.get(id[0]); TString80 iban = m.get(id[0]);
TString4 iso, cin, bcin; TString4 iso, cin, bcin;
@ -977,7 +1002,7 @@ HIDDEN bool _iban_val(TMask_field& f, KEY key)
enable_iban_fields(m, id[3], id[4], id[5], id[6], id[7], id[8], italy, pres); enable_iban_fields(m, id[3], id[4], id[5], id[6], id[7], id[8], italy, pres);
m.reset(id[0]); m.reset(id[0]);
m.reset(id[2]); m.reset(id[2]);
if (italy) if (!italy)
m.reset(id[3]); m.reset(id[3]);
else else
{ {
@ -988,7 +1013,8 @@ HIDDEN bool _iban_val(TMask_field& f, KEY key)
m.reset(id[6]); m.reset(id[6]);
} }
m.reset(id[7]); m.reset(id[7]);
m.reset(id[8]); if (nparms > 8)
m.reset(id[8]);
} }
if (m.is_sheetmask()) if (m.is_sheetmask())
{ {