Patch level : aga 07 no patch
Files correlati : si0.exe Ricompilazione Demo : [ ] Commento : Corretta selezione stampa servizi In tutti i form bisogna fare un join da 20 (clienti) a 33 (documenti) git-svn-id: svn://10.65.10.50/trunk@10037 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
81fdc5499d
commit
2d0aeae806
@ -102,6 +102,7 @@ void TListe_application::set_limits()
|
||||
{
|
||||
TCursor * c = _form->cursor();
|
||||
TRelation * r = c->relation();
|
||||
const int headlnum = r->lfile().num();
|
||||
TString16 tipo(_select_mask->get(F_TIPOCF));
|
||||
TString16 cli_fr(_select_mask->get(F_CODFR));
|
||||
TString16 cli_to(_select_mask->get(F_CODTO));
|
||||
@ -109,31 +110,56 @@ void TListe_application::set_limits()
|
||||
from.put("TIPOCF", tipo);
|
||||
TRectype to(from);
|
||||
|
||||
if (cli_fr.empty() && cli_to.empty())
|
||||
{
|
||||
TString16 rag_fr(_select_mask->get(F_RAGSOCFR));
|
||||
if (rag_fr.not_empty())
|
||||
from.put("RAGSOC", rag_fr);
|
||||
TString16 rag_to(_select_mask->get(F_RAGSOCTO));
|
||||
if (rag_to.not_empty())
|
||||
to.put("RAGSOC", rag_to);
|
||||
c->setkey(2);
|
||||
TString filter("(");
|
||||
if (headlnum == LF_DOC)
|
||||
{
|
||||
if (cli_fr.empty() && cli_to.empty())
|
||||
{
|
||||
TString16 rag_fr(_select_mask->get(F_RAGSOCFR));
|
||||
if (rag_fr.not_empty())
|
||||
filter << format("&&(20->RAGSOC>=\"%s\")", (const char *) rag_fr);
|
||||
TString16 rag_to(_select_mask->get(F_RAGSOCTO));
|
||||
if (rag_to.not_empty())
|
||||
filter << format("&&(20->RAGSOC<=\"%s\")", (const char *) rag_to);
|
||||
}
|
||||
else
|
||||
{
|
||||
TString16 cli_fr(_select_mask->get(F_CODFR));
|
||||
if (cli_fr.not_empty())
|
||||
from.put("CODCF", cli_fr);
|
||||
TString16 rag_to(_select_mask->get(F_CODTO));
|
||||
if (rag_to.not_empty())
|
||||
to.put("CODCF", cli_to);
|
||||
c->setkey(2);
|
||||
}
|
||||
c->setregion(from, to);
|
||||
}
|
||||
else
|
||||
{
|
||||
TString16 cli_fr(_select_mask->get(F_CODFR));
|
||||
if (cli_fr.not_empty())
|
||||
from.put("CODCF", cli_fr);
|
||||
TString16 rag_to(_select_mask->get(F_CODTO));
|
||||
if (rag_to.not_empty())
|
||||
to.put("CODCF", cli_to);
|
||||
c->setkey(1);
|
||||
}
|
||||
c->setregion(from, to);
|
||||
TString filter;
|
||||
if (cli_fr.empty() && cli_to.empty())
|
||||
{
|
||||
TString16 rag_fr(_select_mask->get(F_RAGSOCFR));
|
||||
if (rag_fr.not_empty())
|
||||
filter << format("&&(20->RAGSOC>=\"%s\")", (const char *) rag_fr);
|
||||
TString16 rag_to(_select_mask->get(F_RAGSOCTO));
|
||||
if (rag_to.not_empty())
|
||||
filter << format("&&(20->RAGSOC<=\"%s\")", (const char *) rag_to);
|
||||
}
|
||||
else
|
||||
{
|
||||
TString16 cli_fr(_select_mask->get(F_CODFR));
|
||||
if (cli_fr.not_empty())
|
||||
from.put("CODCF", cli_fr);
|
||||
TString16 rag_to(_select_mask->get(F_CODTO));
|
||||
if (rag_to.not_empty())
|
||||
to.put("CODCF", cli_to);
|
||||
}
|
||||
}
|
||||
if (filter != "(")
|
||||
filter << "&&";
|
||||
filter << format("(ANNO==%d)", _select_mask->get_int(F_ANNO));
|
||||
filter << format("&&(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();
|
||||
|
||||
@ -149,7 +175,7 @@ void TListe_application::set_limits()
|
||||
if (riga.empty_items() || sw.empty())
|
||||
break; // Interrompe alla prima riga vuota...
|
||||
|
||||
e1.format("(33->CODNUM==\"%s\"", (const char*)sw);
|
||||
e1.format("(CODNUM==\"%s\"", (const char*)sw);
|
||||
e2 = "";
|
||||
for (int k=1; k<=6; k++) // Famme vede' li stati generali... Aho' A BURINO! Che e' la Rivoluzione Francese?
|
||||
{
|
||||
@ -179,16 +205,16 @@ void TListe_application::set_limits()
|
||||
}
|
||||
TDate data_fr(_select_mask->get(F_DA_DATADOC));
|
||||
if (data_fr.ok())
|
||||
filter << format("&&(ANSI(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("&&(ANSI(33->DATADOC)>=%s)", (const char *) data_to.string(ANSI));
|
||||
TDate art_fr(_select_mask->get(F_SERVFR));
|
||||
if (art_fr.ok())
|
||||
filter << format("&&(ANSI(33->DATADOC)<=\"%s\")", (const char *) data_to.string(ANSI));
|
||||
TString80 art_fr(_select_mask->get(F_SERVFR));
|
||||
if (art_fr.not_empty())
|
||||
filter << format("&&(34->CODARTMAG>=\"%s\")", (const char *) art_fr);
|
||||
TDate art_to(_select_mask->get(F_SERVTO));
|
||||
if (art_to.ok())
|
||||
filter << format("&&(34->CODARTMAG>=\"%s\")", (const char *) art_to);
|
||||
TString80 art_to(_select_mask->get(F_SERVTO));
|
||||
if (art_to.not_empty())
|
||||
filter << format("&&(34->CODARTMAG<=\"%s\")", (const char *) art_to);
|
||||
filter << ")";
|
||||
|
||||
c->setfilter(filter, TRUE);
|
||||
|
Loading…
x
Reference in New Issue
Block a user