Corretta stampa in valuta.
git-svn-id: svn://10.65.10.50/trunk@2478 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
a4b804a300
commit
aba2659298
@ -54,6 +54,7 @@ protected:
|
|||||||
int find_magic(TString& s, TString& magic1, TString& magic2) const;
|
int find_magic(TString& s, TString& magic1, TString& magic2) const;
|
||||||
void change_magic_body(const TEC_row& o, TString& s);
|
void change_magic_body(const TEC_row& o, TString& s);
|
||||||
void change_magic_footer(const THash_object& o, TString& s);
|
void change_magic_footer(const THash_object& o, TString& s);
|
||||||
|
void modify_picture(TForm_item& fi, TString_array& op, const bool in_valuta);
|
||||||
void print_total(int riga, const THash_object& o);
|
void print_total(int riga, const THash_object& o);
|
||||||
|
|
||||||
void stampa_testata(TPrinter& p);
|
void stampa_testata(TPrinter& p);
|
||||||
@ -147,7 +148,7 @@ public:
|
|||||||
void print_on(TPrint_section& body);
|
void print_on(TPrint_section& body);
|
||||||
|
|
||||||
TEC_row(const TRiga_partite& row, const TDate& data, const TImporto& imp, int rata);
|
TEC_row(const TRiga_partite& row, const TDate& data, const TImporto& imp, int rata);
|
||||||
TEC_row(const char* desc, const TImporto& imp);
|
TEC_row(const char* desc, const TImporto& imp, const TValuta& val);
|
||||||
virtual ~TEC_row() {}
|
virtual ~TEC_row() {}
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -168,11 +169,12 @@ TEC_row::TEC_row(const TRiga_partite& row, const TDate& data, const TImporto& im
|
|||||||
_valuta.get(row);
|
_valuta.get(row);
|
||||||
}
|
}
|
||||||
|
|
||||||
TEC_row::TEC_row(const char* desc, const TImporto& imp)
|
TEC_row::TEC_row(const char* desc, const TImporto& imp, const TValuta& val)
|
||||||
: _riga(9999), _rata(9999), _num_prot(0), _num_reg(0), _salvo_buon_fine(FALSE)
|
: _riga(9999), _rata(9999), _num_prot(0), _num_reg(0), _salvo_buon_fine(FALSE)
|
||||||
{
|
{
|
||||||
_descrizione = desc;
|
_descrizione = desc;
|
||||||
_importo = imp; _importo.normalize();
|
_importo = imp; _importo.normalize();
|
||||||
|
_valuta = val;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Le righe dell'estratto conto sono ordinate per data, riga partita, numero rata o
|
// Le righe dell'estratto conto sono ordinate per data, riga partita, numero rata o
|
||||||
@ -219,17 +221,19 @@ void TEC_row::set_imp(TForm_item& fi, const real& imp, bool valuta) const
|
|||||||
if (old_picture.find(',') > 0)
|
if (old_picture.find(',') > 0)
|
||||||
new_picture << ".###";
|
new_picture << ".###";
|
||||||
else
|
else
|
||||||
new_picture << ",###";
|
new_picture << ",@@@";
|
||||||
|
}
|
||||||
|
int exceed = fi.width() - new_picture.len();
|
||||||
|
if (exceed<0)
|
||||||
|
{
|
||||||
|
exceed=::abs(exceed);
|
||||||
|
new_picture = new_picture.mid(exceed,new_picture.len()-exceed);
|
||||||
}
|
}
|
||||||
fi.set_picture(new_picture);
|
fi.set_picture(new_picture);
|
||||||
}
|
}
|
||||||
|
|
||||||
fi.set(imp.string());
|
fi.set(imp.string());
|
||||||
|
|
||||||
if (valuta)
|
|
||||||
{
|
|
||||||
fi.set_picture(old_picture);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
TEC_form& TEC_row::form() const
|
TEC_form& TEC_row::form() const
|
||||||
@ -271,10 +275,13 @@ void TEC_row::print_on(TPrint_section& body)
|
|||||||
TForm_item& datapag = body.find_field(PEC_DATAPAG);
|
TForm_item& datapag = body.find_field(PEC_DATAPAG);
|
||||||
datapag.set(_data.string());
|
datapag.set(_data.string());
|
||||||
|
|
||||||
|
TString_array old_pictures;
|
||||||
const real& imp = _importo.valore();
|
const real& imp = _importo.valore();
|
||||||
TForm_item& dare = body.find_field(PEC_DARE);
|
TForm_item& dare = body.find_field(PEC_DARE);
|
||||||
TForm_item& avere = body.find_field(PEC_AVERE);
|
TForm_item& avere = body.find_field(PEC_AVERE);
|
||||||
|
|
||||||
|
old_pictures.add(dare.picture());
|
||||||
|
old_pictures.add(avere.picture());
|
||||||
if (_importo.sezione() == 'D')
|
if (_importo.sezione() == 'D')
|
||||||
{
|
{
|
||||||
set_imp(dare, imp, valuta);
|
set_imp(dare, imp, valuta);
|
||||||
@ -287,9 +294,11 @@ void TEC_row::print_on(TPrint_section& body)
|
|||||||
}
|
}
|
||||||
|
|
||||||
TForm_item& scaduto = body.find_field(PEC_SCADUTO);
|
TForm_item& scaduto = body.find_field(PEC_SCADUTO);
|
||||||
|
old_pictures.add(scaduto.picture());
|
||||||
set_imp(scaduto, _scaduto, valuta);
|
set_imp(scaduto, _scaduto, valuta);
|
||||||
|
|
||||||
TForm_item& esposto = body.find_field(PEC_ESPOSTO);
|
TForm_item& esposto = body.find_field(PEC_ESPOSTO);
|
||||||
|
old_pictures.add(esposto.picture());
|
||||||
set_imp(esposto, _esposto, valuta);
|
set_imp(esposto, _esposto, valuta);
|
||||||
esposto.set_prompt(_salvo_buon_fine ? "*" : " ");
|
esposto.set_prompt(_salvo_buon_fine ? "*" : " ");
|
||||||
|
|
||||||
@ -309,6 +318,11 @@ void TEC_row::print_on(TPrint_section& body)
|
|||||||
|
|
||||||
esposto.set_prompt(" "); // Ripristina il vecchi prompt
|
esposto.set_prompt(" "); // Ripristina il vecchi prompt
|
||||||
descr.set_prompt(old_prompt);
|
descr.set_prompt(old_prompt);
|
||||||
|
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));
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
///////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////
|
||||||
@ -655,9 +669,8 @@ void TEC_form::stampa_riporti(TPrinter& pr)
|
|||||||
THash_object* tot[MAXTOT];
|
THash_object* tot[MAXTOT];
|
||||||
_num_rip = ordina_totali_per_valuta(tot);
|
_num_rip = ordina_totali_per_valuta(tot);
|
||||||
|
|
||||||
const word maxtot = section('F').height() - 1; // La prima riga e' riservata alla fincatura
|
if (_num_rip > _maxtot)
|
||||||
if (_num_rip > maxtot)
|
_num_rip = _maxtot;
|
||||||
_num_rip = maxtot;
|
|
||||||
|
|
||||||
const TString& riporto = describe(PEC_RIPORTO);
|
const TString& riporto = describe(PEC_RIPORTO);
|
||||||
TString desc(80);
|
TString desc(80);
|
||||||
@ -668,9 +681,14 @@ void TEC_form::stampa_riporti(TPrinter& pr)
|
|||||||
TTotal& t = (TTotal&)(tot[j]->obj());
|
TTotal& t = (TTotal&)(tot[j]->obj());
|
||||||
|
|
||||||
desc = riporto;
|
desc = riporto;
|
||||||
|
TValuta val;
|
||||||
if (key.not_empty())
|
if (key.not_empty())
|
||||||
|
{
|
||||||
desc << ' ' << key;
|
desc << ' ' << key;
|
||||||
TEC_row rip(desc, t.importo().normalize());
|
TValuta val1(key,botime,ZERO); // E' una valuta fittizia, giusto per far
|
||||||
|
val = val1; // eseguire in set_imp() i calcoli per i decimali.
|
||||||
|
}
|
||||||
|
TEC_row rip(desc, t.importo().normalize(),val);
|
||||||
rip.scaduto(t.scaduto());
|
rip.scaduto(t.scaduto());
|
||||||
rip.esposto(t.esposto());
|
rip.esposto(t.esposto());
|
||||||
rip.importo_lire(t.importo_lire());
|
rip.importo_lire(t.importo_lire());
|
||||||
@ -748,6 +766,27 @@ 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)
|
||||||
|
{
|
||||||
|
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)
|
||||||
|
{
|
||||||
|
exceed=::abs(exceed);
|
||||||
|
pic = pic.mid(exceed,pic.len()-exceed);
|
||||||
|
}
|
||||||
|
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)
|
||||||
{
|
{
|
||||||
const short MAXID = 4;
|
const short MAXID = 4;
|
||||||
@ -776,9 +815,13 @@ void TEC_form::print_total(int riga, const THash_object& o)
|
|||||||
|
|
||||||
const TTotal& t = (const TTotal&)o.obj();
|
const TTotal& t = (const TTotal&)o.obj();
|
||||||
const TImporto& imp = t.importo();
|
const TImporto& imp = t.importo();
|
||||||
|
const bool in_valuta = o.key().not_empty();
|
||||||
TForm_item& dare = foot.find_field(PEC_DARE);
|
TForm_item& dare = foot.find_field(PEC_DARE);
|
||||||
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
|
||||||
|
|
||||||
|
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);
|
||||||
@ -810,6 +853,7 @@ 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);
|
||||||
@ -818,6 +862,7 @@ void TEC_form::print_total(int riga, const THash_object& o)
|
|||||||
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);
|
||||||
@ -846,6 +891,13 @@ void TEC_form::print_total(int riga, const THash_object& o)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (in_valuta)//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));
|
||||||
|
}
|
||||||
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));
|
||||||
}
|
}
|
||||||
@ -950,7 +1002,7 @@ bool TEC_form::print_game(const TPartita& game)
|
|||||||
{
|
{
|
||||||
saldo.normalize();
|
saldo.normalize();
|
||||||
|
|
||||||
TEC_row sld(describe(PEC_SALDO), saldo);
|
TEC_row sld(describe(PEC_SALDO), saldo, righe.row(r-1).valuta());
|
||||||
sld.scaduto(scaduto);
|
sld.scaduto(scaduto);
|
||||||
sld.esposto(esposto);
|
sld.esposto(esposto);
|
||||||
sld.importo_lire(implire);
|
sld.importo_lire(implire);
|
||||||
|
@ -75,11 +75,12 @@ TESSL_row::TESSL_row(const TRiga_partite& row, const TDate& data, const TImporto
|
|||||||
_valuta.get(row);
|
_valuta.get(row);
|
||||||
}
|
}
|
||||||
|
|
||||||
TESSL_row::TESSL_row(const char* desc, const TImporto& imp)
|
TESSL_row::TESSL_row(const char* desc, const TImporto& imp, const TValuta& val)
|
||||||
: _riga(9999), _rata(9999), _num_prot(0), _num_reg(0), _salvo_buon_fine(FALSE)
|
: _riga(9999), _rata(9999), _num_prot(0), _num_reg(0), _salvo_buon_fine(FALSE)
|
||||||
{
|
{
|
||||||
_descrizione = desc;
|
_descrizione = desc;
|
||||||
_importo = imp; _importo.normalize();
|
_importo = imp; _importo.normalize();
|
||||||
|
_valuta = val;
|
||||||
}
|
}
|
||||||
|
|
||||||
// le righe dell'estratto conto sono ordinate per data, riga partita, numero rata,
|
// le righe dell'estratto conto sono ordinate per data, riga partita, numero rata,
|
||||||
@ -126,17 +127,19 @@ void TESSL_row::set_imp(TForm_item& fi, const real& imp, bool valuta) const
|
|||||||
if (old_picture.find(',') > 0)
|
if (old_picture.find(',') > 0)
|
||||||
new_picture << ".###";
|
new_picture << ".###";
|
||||||
else
|
else
|
||||||
new_picture << ",###";
|
new_picture << ",@@@";
|
||||||
|
}
|
||||||
|
int exceed = fi.width() - new_picture.len();
|
||||||
|
if (exceed<0)
|
||||||
|
{
|
||||||
|
exceed=::abs(exceed);
|
||||||
|
new_picture = new_picture.mid(exceed,new_picture.len()-exceed);
|
||||||
}
|
}
|
||||||
fi.set_picture(new_picture);
|
fi.set_picture(new_picture);
|
||||||
}
|
}
|
||||||
|
|
||||||
fi.set(imp.string());
|
fi.set(imp.string());
|
||||||
|
|
||||||
if (valuta)
|
|
||||||
{
|
|
||||||
fi.set_picture(old_picture);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
TESSL_form& TESSL_row::form() const
|
TESSL_form& TESSL_row::form() const
|
||||||
@ -181,10 +184,13 @@ void TESSL_row::print_on(TPrint_section& body)
|
|||||||
TForm_item& datapag = body.find_field(PEC_DATAPAG);
|
TForm_item& datapag = body.find_field(PEC_DATAPAG);
|
||||||
datapag.set(_data.string());
|
datapag.set(_data.string());
|
||||||
|
|
||||||
|
TString_array old_pictures;
|
||||||
const real& imp = _importo.valore();
|
const real& imp = _importo.valore();
|
||||||
TForm_item& dare = body.find_field(PEC_DARE);
|
TForm_item& dare = body.find_field(PEC_DARE);
|
||||||
TForm_item& avere = body.find_field(PEC_AVERE);
|
TForm_item& avere = body.find_field(PEC_AVERE);
|
||||||
|
|
||||||
|
old_pictures.add(dare.picture());
|
||||||
|
old_pictures.add(avere.picture());
|
||||||
if (_importo.sezione() == 'D')
|
if (_importo.sezione() == 'D')
|
||||||
{
|
{
|
||||||
set_imp(dare, imp, valuta);
|
set_imp(dare, imp, valuta);
|
||||||
@ -200,9 +206,11 @@ void TESSL_row::print_on(TPrint_section& body)
|
|||||||
importo_in_lire.set(_importo_lire.string());
|
importo_in_lire.set(_importo_lire.string());
|
||||||
|
|
||||||
TForm_item& scaduto = body.find_field(PEC_SCADUTO);
|
TForm_item& scaduto = body.find_field(PEC_SCADUTO);
|
||||||
|
old_pictures.add(scaduto.picture());
|
||||||
set_imp(scaduto, _scaduto, valuta);
|
set_imp(scaduto, _scaduto, valuta);
|
||||||
|
|
||||||
TForm_item& esposto = body.find_field(PEC_ESPOSTO);
|
TForm_item& esposto = body.find_field(PEC_ESPOSTO);
|
||||||
|
old_pictures.add(esposto.picture());
|
||||||
set_imp(esposto, _esposto, valuta);
|
set_imp(esposto, _esposto, valuta);
|
||||||
esposto.set_prompt(_salvo_buon_fine ? "*" : " ");
|
esposto.set_prompt(_salvo_buon_fine ? "*" : " ");
|
||||||
|
|
||||||
@ -219,6 +227,10 @@ void TESSL_row::print_on(TPrint_section& body)
|
|||||||
|
|
||||||
esposto.set_prompt(" ");
|
esposto.set_prompt(" ");
|
||||||
descr.set_prompt(old_prompt); // Ripristina il vecchio prompt
|
descr.set_prompt(old_prompt); // Ripristina il vecchio prompt
|
||||||
|
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));
|
||||||
}
|
}
|
||||||
|
|
||||||
static int val_compare(const void* o1, const void* o2) {
|
static int val_compare(const void* o1, const void* o2) {
|
||||||
@ -541,7 +553,6 @@ void TESSL_form::stampa_riporti(TPrinter& pr)
|
|||||||
THash_object* tot[MAXTOT];
|
THash_object* tot[MAXTOT];
|
||||||
_num_rip = ordina_totali_per_valuta(tot);
|
_num_rip = ordina_totali_per_valuta(tot);
|
||||||
|
|
||||||
// const word maxtot = section('F').height() - 1;
|
|
||||||
if (_num_rip > _maxtot)
|
if (_num_rip > _maxtot)
|
||||||
_num_rip = _maxtot;
|
_num_rip = _maxtot;
|
||||||
|
|
||||||
@ -555,9 +566,14 @@ void TESSL_form::stampa_riporti(TPrinter& pr)
|
|||||||
TTotal& t = (TTotal&)(tot[j]->obj());
|
TTotal& t = (TTotal&)(tot[j]->obj());
|
||||||
|
|
||||||
desc = riporto;
|
desc = riporto;
|
||||||
|
TValuta val;
|
||||||
if (key.not_empty())
|
if (key.not_empty())
|
||||||
|
{
|
||||||
desc << ' ' << key;
|
desc << ' ' << key;
|
||||||
TESSL_row rip(desc, t.importo().normalize());
|
TValuta val1(key,botime,ZERO); // E' una valuta fittizia, giusto per far
|
||||||
|
val = val1; // eseguire in set_imp() i calcoli per i decimali.
|
||||||
|
}
|
||||||
|
TESSL_row rip(desc, t.importo().normalize(),val);
|
||||||
rip.scaduto(t.scaduto());
|
rip.scaduto(t.scaduto());
|
||||||
rip.esposto(t.esposto());
|
rip.esposto(t.esposto());
|
||||||
rip.importo_in_lire(t.importo_lire());
|
rip.importo_in_lire(t.importo_lire());
|
||||||
@ -635,6 +651,27 @@ 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)
|
||||||
|
{
|
||||||
|
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)
|
||||||
|
{
|
||||||
|
exceed=::abs(exceed);
|
||||||
|
pic = pic.mid(exceed,pic.len()-exceed);
|
||||||
|
}
|
||||||
|
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)
|
||||||
{
|
{
|
||||||
const short MAXID = 5;
|
const short MAXID = 5;
|
||||||
@ -663,9 +700,13 @@ void TESSL_form::print_total(int riga, const THash_object& o)
|
|||||||
|
|
||||||
const TTotal& t = (const TTotal&)o.obj();
|
const TTotal& t = (const TTotal&)o.obj();
|
||||||
const TImporto& imp = t.importo();
|
const TImporto& imp = t.importo();
|
||||||
|
const bool in_valuta = o.key().not_empty();
|
||||||
TForm_item& dare = foot.find_field(PEC_DARE);
|
TForm_item& dare = foot.find_field(PEC_DARE);
|
||||||
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
|
||||||
|
|
||||||
|
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);
|
||||||
@ -696,6 +737,7 @@ 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);
|
||||||
@ -704,6 +746,7 @@ void TESSL_form::print_total(int riga, const THash_object& o)
|
|||||||
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);
|
||||||
@ -720,6 +763,7 @@ void TESSL_form::print_total(int riga, const THash_object& o)
|
|||||||
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);
|
||||||
@ -739,7 +783,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
|
||||||
|
{
|
||||||
|
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));
|
||||||
|
}
|
||||||
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));
|
||||||
}
|
}
|
||||||
@ -814,7 +865,6 @@ bool TESSL_form::print_game(const TPartita& game)
|
|||||||
for (int r = 0; r < righe.items(); r++)
|
for (int r = 0; r < righe.items(); r++)
|
||||||
{
|
{
|
||||||
TESSL_row& riga = righe.row(r);
|
TESSL_row& riga = righe.row(r);
|
||||||
|
|
||||||
if (pr.rows_left() < body.height())
|
if (pr.rows_left() < body.height())
|
||||||
{
|
{
|
||||||
pr.formfeed();
|
pr.formfeed();
|
||||||
@ -850,7 +900,7 @@ bool TESSL_form::print_game(const TPartita& game)
|
|||||||
{
|
{
|
||||||
saldo.normalize();
|
saldo.normalize();
|
||||||
|
|
||||||
TESSL_row sld(describe(PEC_SALDO), saldo);
|
TESSL_row sld(describe(PEC_SALDO), saldo, righe.row(r-1).valuta());
|
||||||
sld.scaduto(scaduto);
|
sld.scaduto(scaduto);
|
||||||
sld.esposto(esposto);
|
sld.esposto(esposto);
|
||||||
sld.importo_in_lire(implire);
|
sld.importo_in_lire(implire);
|
||||||
|
@ -97,7 +97,7 @@ public:
|
|||||||
void print_on(TPrint_section& body);
|
void print_on(TPrint_section& body);
|
||||||
|
|
||||||
TESSL_row(const TRiga_partite& row, const TDate& data, const TImporto& imp, int rata);
|
TESSL_row(const TRiga_partite& row, const TDate& data, const TImporto& imp, int rata);
|
||||||
TESSL_row(const char* desc, const TImporto& imp);
|
TESSL_row(const char* desc, const TImporto& imp, const TValuta& val);
|
||||||
virtual ~TESSL_row() {}
|
virtual ~TESSL_row() {}
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -137,6 +137,7 @@ protected:
|
|||||||
int find_magic(TString& s, TString& magic1, TString& magic2) const;
|
int find_magic(TString& s, TString& magic1, TString& magic2) const;
|
||||||
void change_magic_body(const TESSL_row& o, TString& s);
|
void change_magic_body(const TESSL_row& o, TString& s);
|
||||||
void change_magic_footer(const THash_object& o, TString& s);
|
void change_magic_footer(const THash_object& o, TString& s);
|
||||||
|
void modify_picture(TForm_item& fi, TString_array& op, const bool in_valuta);
|
||||||
void print_total(int riga, const THash_object& o);
|
void print_total(int riga, const THash_object& o);
|
||||||
|
|
||||||
void stampa_testata(TPrinter& p);
|
void stampa_testata(TPrinter& p);
|
||||||
|
@ -39,8 +39,8 @@ TSol_row::TSol_row(const TRiga_partite& row, const TDate& data, const TImporto&
|
|||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
TSol_row::TSol_row(const char* desc, const TImporto& imp)
|
TSol_row::TSol_row(const char* desc, const TImporto& imp, const TValuta& val)
|
||||||
:TESSL_row(desc, imp)
|
:TESSL_row(desc, imp, val)
|
||||||
|
|
||||||
{}
|
{}
|
||||||
|
|
||||||
|
@ -43,7 +43,7 @@ protected: // TSortable
|
|||||||
|
|
||||||
public:
|
public:
|
||||||
TSol_row(const TRiga_partite& row, const TDate& data, const TImporto& imp, int rata);
|
TSol_row(const TRiga_partite& row, const TDate& data, const TImporto& imp, int rata);
|
||||||
TSol_row(const char* desc, const TImporto& imp);
|
TSol_row(const char* desc, const TImporto& imp, const TValuta& val);
|
||||||
virtual ~TSol_row() {}
|
virtual ~TSol_row() {}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user