Corretta la stampa in valuta e l'incolonnamento degli stessi importi.
git-svn-id: svn://10.65.10.50/trunk@2488 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
b2c54b409e
commit
1a3147d03f
@ -223,8 +223,9 @@ void TEC_row::set_imp(TForm_item& fi, const real& imp, bool valuta) const
|
||||
else
|
||||
new_picture << ",@@@";
|
||||
}
|
||||
int exceed = fi.width() - new_picture.len();
|
||||
if (exceed<0)
|
||||
const int w = fi.width();
|
||||
int exceed = w - new_picture.len();
|
||||
if (exceed<0 && w>0)
|
||||
{
|
||||
exceed=::abs(exceed);
|
||||
new_picture = new_picture.mid(exceed,new_picture.len()-exceed);
|
||||
@ -768,23 +769,36 @@ void TEC_form::change_magic_footer(const THash_object& o, TString& s)
|
||||
|
||||
void TEC_form::modify_picture(TForm_item& fi, TString_array& op, const bool in_valuta)
|
||||
{
|
||||
TString pic(20);
|
||||
pic = fi.picture();
|
||||
op.add(pic);
|
||||
const int w = fi.width();
|
||||
if (in_valuta && _in_valuta)
|
||||
{
|
||||
TString pic(20);
|
||||
pic = fi.picture();
|
||||
op.add(pic);
|
||||
if (pic.find(',') > 0)
|
||||
pic << ".###";
|
||||
else
|
||||
pic << ",@@@";
|
||||
int exceed = fi.width() - pic.len();
|
||||
if (exceed<0)
|
||||
int exceed = w - pic.len();
|
||||
if (exceed<0 && w>0)
|
||||
{
|
||||
exceed=::abs(exceed);
|
||||
pic = pic.mid(exceed,pic.len()-exceed);
|
||||
}
|
||||
fi.set_picture(pic);
|
||||
}
|
||||
// oltre a cio' deve correggere la picture, in modo che tutti gli importi del
|
||||
// footer risultino incolonnati correttamente.
|
||||
// (nel body cio' e' fatto in TForm_number::put_paragraph())
|
||||
const int l = pic.len();
|
||||
if (w>l)
|
||||
{
|
||||
int gap = w-l;
|
||||
TString stmp(gap); // cosi' mette gli spazi necessari davanti alla picture
|
||||
stmp.fill(' '); // in modo da colmare il vuoto
|
||||
pic.insert(stmp);
|
||||
}
|
||||
|
||||
fi.set_picture(pic);
|
||||
}
|
||||
|
||||
void TEC_form::print_total(int riga, const THash_object& o)
|
||||
@ -820,16 +834,18 @@ void TEC_form::print_total(int riga, const THash_object& o)
|
||||
TForm_item& avere = foot.find_field(PEC_AVERE);
|
||||
TString_array old_pictures;//pictures da rippristinare dopo aver stampato
|
||||
|
||||
modify_picture(dare,old_pictures,in_valuta);
|
||||
modify_picture(avere,old_pictures,in_valuta);
|
||||
if (dare.x() <= 0 || avere.x() <= 0)
|
||||
{
|
||||
TForm_item& bdare = body.find_field(PEC_DARE);
|
||||
dare.set_x(bdare.x());
|
||||
dare.width() = bdare.width();
|
||||
|
||||
TForm_item& bavere = body.find_field(PEC_AVERE);
|
||||
avere.set_x(bavere.x());
|
||||
avere.width() = bavere.width();
|
||||
}
|
||||
modify_picture(dare,old_pictures,in_valuta);
|
||||
modify_picture(avere,old_pictures,in_valuta);
|
||||
|
||||
char sez = imp.sezione();
|
||||
real num = imp.valore();
|
||||
@ -853,21 +869,23 @@ void TEC_form::print_total(int riga, const THash_object& o)
|
||||
}
|
||||
|
||||
TForm_item& scaduto = foot.find_field(PEC_SCADUTO);
|
||||
modify_picture(scaduto,old_pictures,in_valuta);
|
||||
if (scaduto.x() <= 0)
|
||||
{
|
||||
TForm_item& bscaduto = body.find_field(PEC_SCADUTO);
|
||||
scaduto.set_x(bscaduto.x());
|
||||
scaduto.width() = bscaduto.width();
|
||||
}
|
||||
modify_picture(scaduto,old_pictures,in_valuta);
|
||||
scaduto.set(t.scaduto().string());
|
||||
|
||||
TForm_item& esposto = foot.find_field(PEC_ESPOSTO);
|
||||
modify_picture(esposto,old_pictures,in_valuta);
|
||||
if (esposto.x() <= 0)
|
||||
{
|
||||
TForm_item& besposto = body.find_field(PEC_ESPOSTO);
|
||||
esposto.set_x(besposto.x());
|
||||
esposto.width() = besposto.width();
|
||||
}
|
||||
modify_picture(esposto,old_pictures,in_valuta);
|
||||
esposto.set(t.esposto().string());
|
||||
|
||||
TForm_item& implire = foot.find_field(PEC_IMPLIRE);
|
||||
@ -875,7 +893,9 @@ void TEC_form::print_total(int riga, const THash_object& o)
|
||||
{
|
||||
TForm_item& bimplire = body.find_field(PEC_IMPLIRE);
|
||||
implire.set_x(bimplire.x());
|
||||
esposto.width() = bimplire.width();
|
||||
}
|
||||
modify_picture(implire,old_pictures,FALSE);
|
||||
implire.set(t.importo_lire().string());
|
||||
|
||||
foot.update();
|
||||
@ -891,12 +911,13 @@ void TEC_form::print_total(int riga, const THash_object& o)
|
||||
}
|
||||
}
|
||||
|
||||
if (in_valuta)//restore old pictures
|
||||
if (old_pictures.items() > 0)//restore old pictures
|
||||
{
|
||||
dare.set_picture(old_pictures.row(0));
|
||||
avere.set_picture(old_pictures.row(1));
|
||||
scaduto.set_picture(old_pictures.row(2));
|
||||
esposto.set_picture(old_pictures.row(3));
|
||||
implire.set_picture(old_pictures.row(4));
|
||||
}
|
||||
for (word r = 0; r < _total_rows; r++)
|
||||
printer().setfooterline(riga + r, foot.row(r));
|
||||
|
@ -129,8 +129,9 @@ void TESSL_row::set_imp(TForm_item& fi, const real& imp, bool valuta) const
|
||||
else
|
||||
new_picture << ",@@@";
|
||||
}
|
||||
int exceed = fi.width() - new_picture.len();
|
||||
if (exceed<0)
|
||||
const int w = fi.width();
|
||||
int exceed = w - new_picture.len();
|
||||
if (exceed<0 && w>0)
|
||||
{
|
||||
exceed=::abs(exceed);
|
||||
new_picture = new_picture.mid(exceed,new_picture.len()-exceed);
|
||||
@ -653,23 +654,36 @@ void TESSL_form::change_magic_footer(const THash_object& o, TString& s)
|
||||
|
||||
void TESSL_form::modify_picture(TForm_item& fi, TString_array& op, const bool in_valuta)
|
||||
{
|
||||
TString pic(20);
|
||||
pic = fi.picture();
|
||||
op.add(pic);
|
||||
const int w = fi.width();
|
||||
if (in_valuta && _in_valuta)
|
||||
{
|
||||
TString pic(20);
|
||||
pic = fi.picture();
|
||||
op.add(pic);
|
||||
if (pic.find(',') > 0)
|
||||
pic << ".###";
|
||||
else
|
||||
pic << ",@@@";
|
||||
int exceed = fi.width() - pic.len();
|
||||
if (exceed<0)
|
||||
int exceed = w - pic.len();
|
||||
if (exceed<0 && w>0)
|
||||
{
|
||||
exceed=::abs(exceed);
|
||||
pic = pic.mid(exceed,pic.len()-exceed);
|
||||
}
|
||||
fi.set_picture(pic);
|
||||
}
|
||||
// oltre a cio' deve correggere la picture, in modo che tutti gli importi del
|
||||
// footer risultino incolonnati correttamente.
|
||||
// (nel body cio' e' fatto in TForm_number::put_paragraph())
|
||||
const int l = pic.len();
|
||||
if (w>l)
|
||||
{
|
||||
int gap = w-l;
|
||||
TString stmp(gap); // cosi' mette gli spazi necessari davanti alla picture
|
||||
stmp.fill(' '); // in modo da colmare il vuoto
|
||||
pic.insert(stmp);
|
||||
}
|
||||
|
||||
fi.set_picture(pic);
|
||||
}
|
||||
|
||||
void TESSL_form::print_total(int riga, const THash_object& o)
|
||||
@ -705,16 +719,18 @@ void TESSL_form::print_total(int riga, const THash_object& o)
|
||||
TForm_item& avere = foot.find_field(PEC_AVERE);
|
||||
TString_array old_pictures;//pictures da rippristinare dopo aver stampato
|
||||
|
||||
modify_picture(dare,old_pictures,in_valuta);
|
||||
modify_picture(avere,old_pictures,in_valuta);
|
||||
if (dare.x() <= 0 || avere.x() <= 0)
|
||||
{
|
||||
TForm_item& bdare = body.find_field(PEC_DARE);
|
||||
dare.set_x(bdare.x());
|
||||
dare.width() = bdare.width();
|
||||
|
||||
TForm_item& bavere = body.find_field(PEC_AVERE);
|
||||
avere.set_x(bavere.x());
|
||||
avere.width() = bavere.width();
|
||||
}
|
||||
modify_picture(dare,old_pictures,in_valuta);
|
||||
modify_picture(avere,old_pictures,in_valuta);
|
||||
char sez = imp.sezione();
|
||||
real num = imp.valore();
|
||||
if (sez=='D' && num<0)
|
||||
@ -737,21 +753,23 @@ void TESSL_form::print_total(int riga, const THash_object& o)
|
||||
}
|
||||
|
||||
TForm_item& scaduto = foot.find_field(PEC_SCADUTO);
|
||||
modify_picture(scaduto,old_pictures,in_valuta);
|
||||
if (scaduto.x() <= 0)
|
||||
{
|
||||
TForm_item& bscaduto = body.find_field(PEC_SCADUTO);
|
||||
scaduto.set_x(bscaduto.x());
|
||||
scaduto.width() = bscaduto.width();
|
||||
}
|
||||
modify_picture(scaduto,old_pictures,in_valuta);
|
||||
scaduto.set(t.scaduto().string());
|
||||
|
||||
TForm_item& esposto = foot.find_field(PEC_ESPOSTO);
|
||||
modify_picture(esposto,old_pictures,in_valuta);
|
||||
if (esposto.x() <= 0)
|
||||
{
|
||||
TForm_item& besposto = body.find_field(PEC_ESPOSTO);
|
||||
esposto.set_x(besposto.x());
|
||||
esposto.width() = besposto.width();
|
||||
}
|
||||
modify_picture(esposto,old_pictures,in_valuta);
|
||||
esposto.set(t.esposto().string());
|
||||
|
||||
TForm_item& implire = foot.find_field(PEC_IMPLIRE);
|
||||
@ -759,16 +777,19 @@ void TESSL_form::print_total(int riga, const THash_object& o)
|
||||
{
|
||||
TForm_item& bimplire = body.find_field(PEC_IMPLIRE);
|
||||
implire.set_x(bimplire.x());
|
||||
implire.width() = bimplire.width();
|
||||
}
|
||||
modify_picture(implire,old_pictures,FALSE);
|
||||
implire.set(t.importo_lire().string());
|
||||
|
||||
TForm_item& unreferenced = foot.find_field(PEC_UNASSIGNED);
|
||||
modify_picture(unreferenced,old_pictures,in_valuta);
|
||||
if (unreferenced.x() <= 0)
|
||||
{
|
||||
TForm_item& uns = body.find_field(PEC_AVERE);
|
||||
unreferenced.set_x(uns.x());
|
||||
unreferenced.width() = avere.width();
|
||||
}
|
||||
modify_picture(unreferenced,old_pictures,in_valuta);
|
||||
unreferenced.set(t.unassigned().valore().string());
|
||||
|
||||
foot.update();
|
||||
@ -783,13 +804,14 @@ void TESSL_form::print_total(int riga, const THash_object& o)
|
||||
desc_field.set_prompt(*p);
|
||||
}
|
||||
}
|
||||
if (in_valuta)//restore old pictures
|
||||
if (old_pictures.items() > 0)//restore old pictures
|
||||
{
|
||||
dare.set_picture(old_pictures.row(0));
|
||||
avere.set_picture(old_pictures.row(1));
|
||||
scaduto.set_picture(old_pictures.row(2));
|
||||
esposto.set_picture(old_pictures.row(3));
|
||||
unreferenced.set_picture(old_pictures.row(4));
|
||||
implire.set_picture(old_pictures.row(4));
|
||||
unreferenced.set_picture(old_pictures.row(5));
|
||||
}
|
||||
for (word r = 0; r < _total_rows; r++)
|
||||
printer().setfooterline(riga + r, foot.row(r));
|
||||
|
Loading…
x
Reference in New Issue
Block a user