Corretto salto pagina, incolonnamento Dare/avere del saldo totale e

sort per data scadenza/data pagamento.


git-svn-id: svn://10.65.10.50/trunk@2468 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
angelo 1996-01-18 18:02:13 +00:00
parent 2867582609
commit a3418e10d4

View File

@ -755,6 +755,8 @@ void TEC_form::print_total(int riga, const THash_object& o)
TString_array prompt(MAXID);
TPrint_section& foot = section('F');
TPrint_section& body = section('B');
TForm_item& bdesc = body.find_field(PEC_DESCR);
// Sostituisce magic-names nei prompt
TString s(80);
@ -767,6 +769,8 @@ void TEC_form::print_total(int riga, const THash_object& o)
prompt.add(s, i);
change_magic_footer(o, s);
desc_field.set_prompt(s);
if (desc_field.x() <= 0)
desc_field.set_x(bdesc.x());
}
}
@ -775,7 +779,6 @@ void TEC_form::print_total(int riga, const THash_object& o)
TForm_item& dare = foot.find_field(PEC_DARE);
TForm_item& avere = foot.find_field(PEC_AVERE);
TPrint_section& body = section('B');
if (dare.x() <= 0 || avere.x() <= 0)
{
TForm_item& bdare = body.find_field(PEC_DARE);
@ -785,15 +788,25 @@ void TEC_form::print_total(int riga, const THash_object& o)
avere.set_x(bavere.x());
}
if (imp.sezione() == 'D')
char sez = imp.sezione();
real num = imp.valore();
if (sez=='D' && num<0)
{
dare.set(imp.valore().string());
num = abs(num); sez = 'A';
}
if (sez=='A' && num<0)
{
num = abs(num); sez = 'D';
}
if (sez == 'D')
{
dare.set(num.string());
avere.set("");
}
else
{
dare.set("");
avere.set(imp.valore().string());
avere.set(num.string());
}
TForm_item& scaduto = foot.find_field(PEC_SCADUTO);
@ -1016,6 +1029,7 @@ TEC_form::TEC_form(const TEC_mask& m, bool gesval)
pr.footerlen(foot.height());
TForm_item& flags = find_field('H', last_page, PEC_FLAGS);
TToken_string f(flags.prompt());
_in_valuta = gesval && f.get_char(0) == 'X'; // Il profilo e' in valuta se c'e' il flag di valuta
_fincatura = f.get_int(1);
@ -1028,6 +1042,10 @@ TEC_form::TEC_form(const TEC_mask& m, bool gesval)
set_mode((bkg_mode)_fincatura);
genera_fincatura(odd_page, first, last, horiz);
}
TForm_item& uns = section('F').find_field(PEC_UNASSIGNED);
TForm_item& tuns = section('F').find_field(PEC_TUNASSIGNED);
if (uns.shown()) uns.hide();
if (tuns.shown()) tuns.hide();
init_header(m); // Set fixed text
@ -1091,7 +1109,7 @@ public:
TEC_form& form() { return *_form; }
bool print_selected(); // print selected items
bool print_ec(); // print one item
int print_ec(); // print one item
TStampaEC_application();
virtual ~TStampaEC_application() {}
@ -1127,11 +1145,15 @@ bool TStampaEC_application::print_selected()
printer().formfeed();
fc = i; // Muove il cursore alla posizione corrente
const bool ok = print_ec();
if (ok)
const int ret = print_ec();
if (ret > 0)
one_printed = TRUE;
else
analfabeti++;
{
one_printed = FALSE;
if (ret < 0)
analfabeti++;
}
}
if (one_printed)
@ -1145,7 +1167,7 @@ bool TStampaEC_application::print_selected()
return TRUE;
}
bool TStampaEC_application::print_ec()
int TStampaEC_application::print_ec()
{
TEC_form& f = form();
@ -1159,7 +1181,7 @@ bool TStampaEC_application::print_ec()
ok = lincf == f.lingua();
if (!ok) // Cliente analfabeta
return FALSE;
return -1;
f.azzera_totali(); // Azzera totali di fine pagina
@ -1216,7 +1238,7 @@ bool TStampaEC_application::print_ec()
if (one_printed)
f.ultima_pagina();
return TRUE;
return one_printed ? 1 : 0;
}
///////////////////////////////////////////////////////////