diff --git a/si/si0200.cpp b/si/si0200.cpp index 149ed2fcd..83fc0e08a 100755 --- a/si/si0200.cpp +++ b/si/si0200.cpp @@ -127,40 +127,40 @@ void TListe_application::set_limits() c->setregion(from, to); TString filter; - 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->ANNO==%d)", _select_mask->get_int(F_ANNO)); + filter << format("&& (33->PROVV==\"%c\")", _select_mask->get(F_PROVV)[0]); TSheet_field & s = _select_mask->sfield(F_SHEETNUMS); const int rows = s.items(); for (int i = 0; i < rows; i++) { - TString numfilter("&& ("); + TString numfilter("&&("); 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++) { const int stato = r.get_int(); if (stato > 0) - numfilter << format("&& (33->STATO == %d)", stato); + numfilter << format("&&(33->STATO==%d)", stato); } if (numfilter.not_empty()) filter << numfilter; } TDate data_fr(_select_mask->get(F_DA_DATADOC)); 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)); 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)); 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)); if (art_to.ok()) - filter << format("&& (34->CODARTMAG >= %s)", (const char *) art_to); + filter << format("&&(34->CODARTMAG>=\"%s\")", (const char *) art_to); filter << ")"; c->setfilter(filter, TRUE);