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)
|
if (_secondary == true && t != RUNNING_CHECK)
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
|
|
||||||
CheckType chk = field().check_type();
|
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)
|
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();
|
const TMaskmode mode = (TMaskmode)field().mask().mode();
|
||||||
if (chk == CHECK_REQUIRED && (t == STARTING_CHECK || mode == MODE_QUERY))
|
if (chk == CHECK_REQUIRED && (t == STARTING_CHECK || mode == MODE_QUERY))
|
||||||
chk = CHECK_NORMAL;
|
chk = CHECK_NORMAL;
|
||||||
@ -1625,15 +1630,16 @@ bool TAlternative_browse::check(CheckTime /*t*/)
|
|||||||
|
|
||||||
TString80 magic_val;
|
TString80 magic_val;
|
||||||
magic_val = field().get();
|
magic_val = field().get();
|
||||||
magic_val.strip("% ");
|
magic_val.strip("%");
|
||||||
|
magic_val.trim();
|
||||||
magic_val.upper();
|
magic_val.upper();
|
||||||
|
|
||||||
c = 0L;
|
c = 0L;
|
||||||
|
|
||||||
TRectype& curr = c.curr();
|
TRectype& curr = c.curr();
|
||||||
curr.put(_altfld, magic_val);
|
curr.put(_altfld, magic_val);
|
||||||
int err = c.read();
|
c.read();
|
||||||
if (err == NOERR && curr.get(_altfld).starts_with(magic_val))
|
if (curr.get(_altfld).starts_with(magic_val))
|
||||||
{
|
{
|
||||||
field().set(curr.get(_outfld));
|
field().set(curr.get(_outfld));
|
||||||
return true;
|
return true;
|
||||||
@ -1642,7 +1648,7 @@ bool TAlternative_browse::check(CheckTime /*t*/)
|
|||||||
curr.put(_altfld, magic_val.left(1));
|
curr.put(_altfld, magic_val.left(1));
|
||||||
|
|
||||||
double best = 0;
|
double best = 0;
|
||||||
for (err = c.read(); err == NOERR; ++c)
|
for (int err = c.read(); err == NOERR; ++c)
|
||||||
{
|
{
|
||||||
const TString& val = curr.get(_altfld);
|
const TString& val = curr.get(_altfld);
|
||||||
if (val[0] != magic_val[0])
|
if (val[0] != magic_val[0])
|
||||||
@ -1730,7 +1736,8 @@ KEY TAlternative_browse::run()
|
|||||||
{
|
{
|
||||||
TString80 magic_val;
|
TString80 magic_val;
|
||||||
magic_val = field().get();
|
magic_val = field().get();
|
||||||
magic_val.strip("% ");
|
magic_val.strip("%");
|
||||||
|
magic_val.trim();
|
||||||
magic_val.upper();
|
magic_val.upper();
|
||||||
if (magic_val.full())
|
if (magic_val.full())
|
||||||
{
|
{
|
||||||
|
Loading…
x
Reference in New Issue
Block a user