Patch level : 10.0

Files correlati     : cg2.exe
Ricompilazione Demo : [ ]
Commento            :
Corretta ricerca per codice alternativo in righe di prima nota


git-svn-id: svn://10.65.10.50/branches/R_10_00@22583 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
guy 2012-02-23 14:58:18 +00:00
parent 6ac7b50cda
commit 9ded4cbee0

View File

@ -1167,17 +1167,22 @@ bool TBrowse::check(CheckTime t)
if (_secondary == true && t != RUNNING_CHECK)
return true;
CheckType chk = field().check_type();
// Se ho la ricerca alternativa ed il campo comincia per % ...
if (_alt_browse != NULL && t == RUNNING_CHECK && field().get()[0]=='%')
{
if (_alt_browse->check(t))
{
if (chk == CHECK_NONE) // Se trovo la chiave forzo gli output (RAGSOC in righe prima nota)
chk = CHECK_NORMAL;
}
else
return false;
}
if (chk != CHECK_NONE)
{
// Se ho la ricerca alternativa ed il campo comincia per % ...
if (_alt_browse != NULL && t == RUNNING_CHECK && field().get().starts_with("%"))
{
if (!_alt_browse->check(t))
return false;
}
const TMaskmode mode = (TMaskmode)field().mask().mode();
if (chk == CHECK_REQUIRED && (t == STARTING_CHECK || mode == MODE_QUERY))
chk = CHECK_NORMAL;
@ -1625,15 +1630,16 @@ bool TAlternative_browse::check(CheckTime /*t*/)
TString80 magic_val;
magic_val = field().get();
magic_val.strip("% ");
magic_val.strip("%");
magic_val.trim();
magic_val.upper();
c = 0L;
TRectype& curr = c.curr();
curr.put(_altfld, magic_val);
int err = c.read();
if (err == NOERR && curr.get(_altfld).starts_with(magic_val))
c.read();
if (curr.get(_altfld).starts_with(magic_val))
{
field().set(curr.get(_outfld));
return true;
@ -1642,7 +1648,7 @@ bool TAlternative_browse::check(CheckTime /*t*/)
curr.put(_altfld, magic_val.left(1));
double best = 0;
for (err = c.read(); err == NOERR; ++c)
for (int err = c.read(); err == NOERR; ++c)
{
const TString& val = curr.get(_altfld);
if (val[0] != magic_val[0])
@ -1730,7 +1736,8 @@ KEY TAlternative_browse::run()
{
TString80 magic_val;
magic_val = field().get();
magic_val.strip("% ");
magic_val.strip("%");
magic_val.trim();
magic_val.upper();
if (magic_val.full())
{