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
|
else
|
||||||
new_picture << ",@@@";
|
new_picture << ",@@@";
|
||||||
}
|
}
|
||||||
int exceed = fi.width() - new_picture.len();
|
const int w = fi.width();
|
||||||
if (exceed<0)
|
int exceed = w - new_picture.len();
|
||||||
|
if (exceed<0 && w>0)
|
||||||
{
|
{
|
||||||
exceed=::abs(exceed);
|
exceed=::abs(exceed);
|
||||||
new_picture = new_picture.mid(exceed,new_picture.len()-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)
|
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)
|
if (in_valuta && _in_valuta)
|
||||||
{
|
{
|
||||||
TString pic(20);
|
|
||||||
pic = fi.picture();
|
|
||||||
op.add(pic);
|
|
||||||
if (pic.find(',') > 0)
|
if (pic.find(',') > 0)
|
||||||
pic << ".###";
|
pic << ".###";
|
||||||
else
|
else
|
||||||
pic << ",@@@";
|
pic << ",@@@";
|
||||||
int exceed = fi.width() - pic.len();
|
int exceed = w - pic.len();
|
||||||
if (exceed<0)
|
if (exceed<0 && w>0)
|
||||||
{
|
{
|
||||||
exceed=::abs(exceed);
|
exceed=::abs(exceed);
|
||||||
pic = pic.mid(exceed,pic.len()-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)
|
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);
|
TForm_item& avere = foot.find_field(PEC_AVERE);
|
||||||
TString_array old_pictures;//pictures da rippristinare dopo aver stampato
|
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)
|
if (dare.x() <= 0 || avere.x() <= 0)
|
||||||
{
|
{
|
||||||
TForm_item& bdare = body.find_field(PEC_DARE);
|
TForm_item& bdare = body.find_field(PEC_DARE);
|
||||||
dare.set_x(bdare.x());
|
dare.set_x(bdare.x());
|
||||||
|
dare.width() = bdare.width();
|
||||||
|
|
||||||
TForm_item& bavere = body.find_field(PEC_AVERE);
|
TForm_item& bavere = body.find_field(PEC_AVERE);
|
||||||
avere.set_x(bavere.x());
|
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();
|
char sez = imp.sezione();
|
||||||
real num = imp.valore();
|
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);
|
TForm_item& scaduto = foot.find_field(PEC_SCADUTO);
|
||||||
modify_picture(scaduto,old_pictures,in_valuta);
|
|
||||||
if (scaduto.x() <= 0)
|
if (scaduto.x() <= 0)
|
||||||
{
|
{
|
||||||
TForm_item& bscaduto = body.find_field(PEC_SCADUTO);
|
TForm_item& bscaduto = body.find_field(PEC_SCADUTO);
|
||||||
scaduto.set_x(bscaduto.x());
|
scaduto.set_x(bscaduto.x());
|
||||||
|
scaduto.width() = bscaduto.width();
|
||||||
}
|
}
|
||||||
|
modify_picture(scaduto,old_pictures,in_valuta);
|
||||||
scaduto.set(t.scaduto().string());
|
scaduto.set(t.scaduto().string());
|
||||||
|
|
||||||
TForm_item& esposto = foot.find_field(PEC_ESPOSTO);
|
TForm_item& esposto = foot.find_field(PEC_ESPOSTO);
|
||||||
modify_picture(esposto,old_pictures,in_valuta);
|
|
||||||
if (esposto.x() <= 0)
|
if (esposto.x() <= 0)
|
||||||
{
|
{
|
||||||
TForm_item& besposto = body.find_field(PEC_ESPOSTO);
|
TForm_item& besposto = body.find_field(PEC_ESPOSTO);
|
||||||
esposto.set_x(besposto.x());
|
esposto.set_x(besposto.x());
|
||||||
|
esposto.width() = besposto.width();
|
||||||
}
|
}
|
||||||
|
modify_picture(esposto,old_pictures,in_valuta);
|
||||||
esposto.set(t.esposto().string());
|
esposto.set(t.esposto().string());
|
||||||
|
|
||||||
TForm_item& implire = foot.find_field(PEC_IMPLIRE);
|
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);
|
TForm_item& bimplire = body.find_field(PEC_IMPLIRE);
|
||||||
implire.set_x(bimplire.x());
|
implire.set_x(bimplire.x());
|
||||||
|
esposto.width() = bimplire.width();
|
||||||
}
|
}
|
||||||
|
modify_picture(implire,old_pictures,FALSE);
|
||||||
implire.set(t.importo_lire().string());
|
implire.set(t.importo_lire().string());
|
||||||
|
|
||||||
foot.update();
|
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));
|
dare.set_picture(old_pictures.row(0));
|
||||||
avere.set_picture(old_pictures.row(1));
|
avere.set_picture(old_pictures.row(1));
|
||||||
scaduto.set_picture(old_pictures.row(2));
|
scaduto.set_picture(old_pictures.row(2));
|
||||||
esposto.set_picture(old_pictures.row(3));
|
esposto.set_picture(old_pictures.row(3));
|
||||||
|
implire.set_picture(old_pictures.row(4));
|
||||||
}
|
}
|
||||||
for (word r = 0; r < _total_rows; r++)
|
for (word r = 0; r < _total_rows; r++)
|
||||||
printer().setfooterline(riga + r, foot.row(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
|
else
|
||||||
new_picture << ",@@@";
|
new_picture << ",@@@";
|
||||||
}
|
}
|
||||||
int exceed = fi.width() - new_picture.len();
|
const int w = fi.width();
|
||||||
if (exceed<0)
|
int exceed = w - new_picture.len();
|
||||||
|
if (exceed<0 && w>0)
|
||||||
{
|
{
|
||||||
exceed=::abs(exceed);
|
exceed=::abs(exceed);
|
||||||
new_picture = new_picture.mid(exceed,new_picture.len()-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)
|
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)
|
if (in_valuta && _in_valuta)
|
||||||
{
|
{
|
||||||
TString pic(20);
|
|
||||||
pic = fi.picture();
|
|
||||||
op.add(pic);
|
|
||||||
if (pic.find(',') > 0)
|
if (pic.find(',') > 0)
|
||||||
pic << ".###";
|
pic << ".###";
|
||||||
else
|
else
|
||||||
pic << ",@@@";
|
pic << ",@@@";
|
||||||
int exceed = fi.width() - pic.len();
|
int exceed = w - pic.len();
|
||||||
if (exceed<0)
|
if (exceed<0 && w>0)
|
||||||
{
|
{
|
||||||
exceed=::abs(exceed);
|
exceed=::abs(exceed);
|
||||||
pic = pic.mid(exceed,pic.len()-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)
|
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);
|
TForm_item& avere = foot.find_field(PEC_AVERE);
|
||||||
TString_array old_pictures;//pictures da rippristinare dopo aver stampato
|
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)
|
if (dare.x() <= 0 || avere.x() <= 0)
|
||||||
{
|
{
|
||||||
TForm_item& bdare = body.find_field(PEC_DARE);
|
TForm_item& bdare = body.find_field(PEC_DARE);
|
||||||
dare.set_x(bdare.x());
|
dare.set_x(bdare.x());
|
||||||
|
dare.width() = bdare.width();
|
||||||
|
|
||||||
TForm_item& bavere = body.find_field(PEC_AVERE);
|
TForm_item& bavere = body.find_field(PEC_AVERE);
|
||||||
avere.set_x(bavere.x());
|
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();
|
char sez = imp.sezione();
|
||||||
real num = imp.valore();
|
real num = imp.valore();
|
||||||
if (sez=='D' && num<0)
|
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);
|
TForm_item& scaduto = foot.find_field(PEC_SCADUTO);
|
||||||
modify_picture(scaduto,old_pictures,in_valuta);
|
|
||||||
if (scaduto.x() <= 0)
|
if (scaduto.x() <= 0)
|
||||||
{
|
{
|
||||||
TForm_item& bscaduto = body.find_field(PEC_SCADUTO);
|
TForm_item& bscaduto = body.find_field(PEC_SCADUTO);
|
||||||
scaduto.set_x(bscaduto.x());
|
scaduto.set_x(bscaduto.x());
|
||||||
|
scaduto.width() = bscaduto.width();
|
||||||
}
|
}
|
||||||
|
modify_picture(scaduto,old_pictures,in_valuta);
|
||||||
scaduto.set(t.scaduto().string());
|
scaduto.set(t.scaduto().string());
|
||||||
|
|
||||||
TForm_item& esposto = foot.find_field(PEC_ESPOSTO);
|
TForm_item& esposto = foot.find_field(PEC_ESPOSTO);
|
||||||
modify_picture(esposto,old_pictures,in_valuta);
|
|
||||||
if (esposto.x() <= 0)
|
if (esposto.x() <= 0)
|
||||||
{
|
{
|
||||||
TForm_item& besposto = body.find_field(PEC_ESPOSTO);
|
TForm_item& besposto = body.find_field(PEC_ESPOSTO);
|
||||||
esposto.set_x(besposto.x());
|
esposto.set_x(besposto.x());
|
||||||
|
esposto.width() = besposto.width();
|
||||||
}
|
}
|
||||||
|
modify_picture(esposto,old_pictures,in_valuta);
|
||||||
esposto.set(t.esposto().string());
|
esposto.set(t.esposto().string());
|
||||||
|
|
||||||
TForm_item& implire = foot.find_field(PEC_IMPLIRE);
|
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);
|
TForm_item& bimplire = body.find_field(PEC_IMPLIRE);
|
||||||
implire.set_x(bimplire.x());
|
implire.set_x(bimplire.x());
|
||||||
|
implire.width() = bimplire.width();
|
||||||
}
|
}
|
||||||
|
modify_picture(implire,old_pictures,FALSE);
|
||||||
implire.set(t.importo_lire().string());
|
implire.set(t.importo_lire().string());
|
||||||
|
|
||||||
TForm_item& unreferenced = foot.find_field(PEC_UNASSIGNED);
|
TForm_item& unreferenced = foot.find_field(PEC_UNASSIGNED);
|
||||||
modify_picture(unreferenced,old_pictures,in_valuta);
|
|
||||||
if (unreferenced.x() <= 0)
|
if (unreferenced.x() <= 0)
|
||||||
{
|
{
|
||||||
TForm_item& uns = body.find_field(PEC_AVERE);
|
TForm_item& uns = body.find_field(PEC_AVERE);
|
||||||
unreferenced.set_x(uns.x());
|
unreferenced.set_x(uns.x());
|
||||||
|
unreferenced.width() = avere.width();
|
||||||
}
|
}
|
||||||
|
modify_picture(unreferenced,old_pictures,in_valuta);
|
||||||
unreferenced.set(t.unassigned().valore().string());
|
unreferenced.set(t.unassigned().valore().string());
|
||||||
|
|
||||||
foot.update();
|
foot.update();
|
||||||
@ -783,13 +804,14 @@ void TESSL_form::print_total(int riga, const THash_object& o)
|
|||||||
desc_field.set_prompt(*p);
|
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));
|
dare.set_picture(old_pictures.row(0));
|
||||||
avere.set_picture(old_pictures.row(1));
|
avere.set_picture(old_pictures.row(1));
|
||||||
scaduto.set_picture(old_pictures.row(2));
|
scaduto.set_picture(old_pictures.row(2));
|
||||||
esposto.set_picture(old_pictures.row(3));
|
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++)
|
for (word r = 0; r < _total_rows; r++)
|
||||||
printer().setfooterline(riga + r, foot.row(r));
|
printer().setfooterline(riga + r, foot.row(r));
|
||||||
|
Loading…
x
Reference in New Issue
Block a user