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:
parent
6ac7b50cda
commit
9ded4cbee0
@ -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())
|
||||
{
|
||||
|
Loading…
x
Reference in New Issue
Block a user