Patch level : aga 07 no patch
Files correlati : Ricompilazione Demo : [ ] Commento : Corretta stampa per modulo serv.frm verificare anche le altre!! git-svn-id: svn://10.65.10.50/trunk@10021 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
57f2cb47a3
commit
0f5ea75fc9
@ -56,7 +56,10 @@ bool TListe_form::validate(TForm_item& fld, TToken_string& val)
|
||||
TListe_form::TListe_form(const char* form, const char* code, int editlevel, const char* desc)
|
||||
: TForm(form, code, editlevel, desc)
|
||||
{
|
||||
relation()->lfile().set_curr(new TDocumento);
|
||||
const int num = relation()->lfile().num();
|
||||
|
||||
if (num == LF_DOC)
|
||||
relation()->lfile().set_curr(new TDocumento);
|
||||
}
|
||||
|
||||
class TListe_application: public TSkeleton_application
|
||||
@ -134,22 +137,45 @@ void TListe_application::set_limits()
|
||||
TSheet_field & s = _select_mask->sfield(F_SHEETNUMS);
|
||||
const int rows = s.items();
|
||||
|
||||
for (int i = 0; i < rows; i++)
|
||||
{
|
||||
TString numfilter;
|
||||
TToken_string r = s.row(i);
|
||||
if (rows > 0)
|
||||
{
|
||||
TString sw, e1, e2;
|
||||
|
||||
numfilter << format("&&(33->CODNUM==\"%s\")", (const char *)r.get(0));
|
||||
|
||||
for (int j = 0; j < 6; j++)
|
||||
for (int j=0; j<rows; j++)
|
||||
{
|
||||
const int stato = r.get_int();
|
||||
TToken_string& riga = s.row(j);
|
||||
|
||||
sw = riga.get(0);sw.trim();
|
||||
if (riga.empty_items() || sw.empty())
|
||||
break; // Interrompe alla prima riga vuota...
|
||||
|
||||
if (stato > 0)
|
||||
numfilter << format("&&(33->STATO==%d)", stato);
|
||||
e1.format("(33->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?
|
||||
{
|
||||
const char c = riga.get(k)[0];
|
||||
if (c == '\0' || c == ' ')
|
||||
break; // Interrompe al primo blank...
|
||||
e2.format("(33->STATO==\"%c\")",c);
|
||||
// Se k vale 2 o piu' significa ke gli stati prec erano != "" no!?
|
||||
if (k == 1)
|
||||
e1 << "&&(";
|
||||
else
|
||||
e1 << "||";
|
||||
e1 << e2;
|
||||
}
|
||||
if (e2.not_empty())
|
||||
e1 << ")";
|
||||
e1 << ")"; // Piazza la parentesi finale
|
||||
|
||||
if (j == 0)
|
||||
filter << "&&(";
|
||||
else
|
||||
filter << "||";
|
||||
|
||||
filter << e1;
|
||||
}
|
||||
if (numfilter.not_empty())
|
||||
filter << numfilter;
|
||||
filter << ")"; // Parentesi finale
|
||||
}
|
||||
TDate data_fr(_select_mask->get(F_DA_DATADOC));
|
||||
if (data_fr.ok())
|
||||
@ -157,10 +183,10 @@ void TListe_application::set_limits()
|
||||
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_DA_DATADOC));
|
||||
TDate art_fr(_select_mask->get(F_SERVFR));
|
||||
if (art_fr.ok())
|
||||
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_SERVTO));
|
||||
if (art_to.ok())
|
||||
filter << format("&&(34->CODARTMAG>=\"%s\")", (const char *) art_to);
|
||||
filter << ")";
|
||||
|
Loading…
x
Reference in New Issue
Block a user