Patch level : nopatch

Files correlati     : si0.exe
Ricompilazione Demo : [ ]
Commento            :
corrette formule di filtro


git-svn-id: svn://10.65.10.50/trunk@9982 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
guy 2001-12-23 19:26:58 +00:00
parent c095dc0609
commit 73c80f7790

View File

@ -127,40 +127,40 @@ void TListe_application::set_limits()
c->setregion(from, to); c->setregion(from, to);
TString filter; TString filter;
filter << format("((33->ANNO == %d)", _select_mask->get_int(F_ANNO)); filter << format("((33->ANNO==%d)", _select_mask->get_int(F_ANNO));
filter << format("&& (33->PROVV == %c)", _select_mask->get(F_PROVV)[0]); filter << format("&& (33->PROVV==\"%c\")", _select_mask->get(F_PROVV)[0]);
TSheet_field & s = _select_mask->sfield(F_SHEETNUMS); TSheet_field & s = _select_mask->sfield(F_SHEETNUMS);
const int rows = s.items(); const int rows = s.items();
for (int i = 0; i < rows; i++) for (int i = 0; i < rows; i++)
{ {
TString numfilter("&& ("); TString numfilter("&&(");
TToken_string r = s.row(i); TToken_string r = s.row(i);
numfilter << format("33->CODNUM == %s", (const char *)r.get(0)); numfilter << format("(33->CODNUM==\"%s\")", (const char *)r.get(0));
for (int j = 0; j < 6; j++) for (int j = 0; j < 6; j++)
{ {
const int stato = r.get_int(); const int stato = r.get_int();
if (stato > 0) if (stato > 0)
numfilter << format("&& (33->STATO == %d)", stato); numfilter << format("&&(33->STATO==%d)", stato);
} }
if (numfilter.not_empty()) if (numfilter.not_empty())
filter << numfilter; filter << numfilter;
} }
TDate data_fr(_select_mask->get(F_DA_DATADOC)); TDate data_fr(_select_mask->get(F_DA_DATADOC));
if (data_fr.ok()) if (data_fr.ok())
filter << format("&& (33->DATADOC >= %s)", (const char *) data_fr.string(ANSI)); filter << format("&&(ANSI(33->DATADOC)>=%s)", (const char *) data_fr.string(ANSI));
TDate data_to(_select_mask->get(F_A_DATADOC)); TDate data_to(_select_mask->get(F_A_DATADOC));
if (data_to.ok()) if (data_to.ok())
filter << format("&& (33->DATADOC >= %s)", (const char *) data_to.string(ANSI)); filter << format("&&(ANSI(33->DATADOC)>=%s)", (const char *) data_to.string(ANSI));
TDate art_fr(_select_mask->get(F_DA_DATADOC)); TDate art_fr(_select_mask->get(F_DA_DATADOC));
if (art_fr.ok()) if (art_fr.ok())
filter << format("&& (34->CODARTMAG >= %s)", (const char *) art_fr); filter << format("&&(34->CODARTMAG>=\"%s\")", (const char *) art_fr);
TDate art_to(_select_mask->get(F_A_DATADOC)); TDate art_to(_select_mask->get(F_A_DATADOC));
if (art_to.ok()) if (art_to.ok())
filter << format("&& (34->CODARTMAG >= %s)", (const char *) art_to); filter << format("&&(34->CODARTMAG>=\"%s\")", (const char *) art_to);
filter << ")"; filter << ")";
c->setfilter(filter, TRUE); c->setfilter(filter, TRUE);