Correzione Agli estratti conto
git-svn-id: svn://10.65.10.50/trunk@2648 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
677751be4d
commit
28d7c4ac99
@ -267,6 +267,7 @@ BEGIN
|
|||||||
KEY "Totale documento"
|
KEY "Totale documento"
|
||||||
PROMPT 6 1 ""
|
PROMPT 6 1 ""
|
||||||
FLAGS "H"
|
FLAGS "H"
|
||||||
|
PICTURE "###.###.###.###"
|
||||||
END
|
END
|
||||||
|
|
||||||
DATA 209 10
|
DATA 209 10
|
||||||
|
@ -18,6 +18,7 @@
|
|||||||
#include <mov.h>
|
#include <mov.h>
|
||||||
#include <pagsca.h>
|
#include <pagsca.h>
|
||||||
#include <scadenze.h>
|
#include <scadenze.h>
|
||||||
|
#define DA_VUOTARE "***"
|
||||||
|
|
||||||
|
|
||||||
///////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////
|
||||||
@ -161,6 +162,7 @@ TEC_row::TEC_row(const TRiga_partite& row, const TDate& data, const TImporto& im
|
|||||||
_data = data;
|
_data = data;
|
||||||
_causale = row.get(PART_CODCAUS);
|
_causale = row.get(PART_CODCAUS);
|
||||||
_data_doc = row.get(PART_DATADOC);
|
_data_doc = row.get(PART_DATADOC);
|
||||||
|
_num_doc = row.get(PART_NUMDOC);
|
||||||
_num_prot = row.get_long(PART_PROTIVA);
|
_num_prot = row.get_long(PART_PROTIVA);
|
||||||
_num_reg = row.get_long(PART_NREG);
|
_num_reg = row.get_long(PART_NREG);
|
||||||
_importo = imp; _importo.normalize();
|
_importo = imp; _importo.normalize();
|
||||||
@ -176,7 +178,8 @@ TEC_row::TEC_row(const TRiga_partite& row, const TDate& data, const TImporto& im
|
|||||||
}
|
}
|
||||||
|
|
||||||
TEC_row::TEC_row(const char* desc, const TImporto& imp, const TValuta& val)
|
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_doc(0),
|
||||||
|
_num_prot(0), _num_reg(0), _salvo_buon_fine(FALSE)
|
||||||
{
|
{
|
||||||
_descrizione = desc;
|
_descrizione = desc;
|
||||||
_importo = imp; _importo.normalize();
|
_importo = imp; _importo.normalize();
|
||||||
@ -203,7 +206,7 @@ int TEC_row::compare(const TSortable& s) const
|
|||||||
// Annulla i campi uguali alla riga precedente
|
// Annulla i campi uguali alla riga precedente
|
||||||
void TEC_row::reset_uguali()
|
void TEC_row::reset_uguali()
|
||||||
{
|
{
|
||||||
_descrizione = "";
|
_descrizione = DA_VUOTARE;
|
||||||
_num_doc = "";
|
_num_doc = "";
|
||||||
_data_doc = botime;
|
_data_doc = botime;
|
||||||
_num_prot = 0;
|
_num_prot = 0;
|
||||||
@ -226,7 +229,7 @@ void TEC_row::set_imp(TForm_item& fi, const real& imp, bool valuta) const
|
|||||||
{
|
{
|
||||||
new_picture = old_picture;
|
new_picture = old_picture;
|
||||||
if (old_picture.find(',') > 0)
|
if (old_picture.find(',') > 0)
|
||||||
new_picture << ".###";
|
new_picture << ".@@@";
|
||||||
else
|
else
|
||||||
new_picture << ",@@@";
|
new_picture << ",@@@";
|
||||||
}
|
}
|
||||||
@ -263,9 +266,14 @@ void TEC_row::print_on(TPrint_section& body)
|
|||||||
|
|
||||||
if (num_reg() > 0) // Riga di partita vera e propria (non totale parziale)
|
if (num_reg() > 0) // Riga di partita vera e propria (non totale parziale)
|
||||||
{
|
{
|
||||||
TString s(80); s = descr.prompt();
|
TString s(80);
|
||||||
|
if (_descrizione != DA_VUOTARE)
|
||||||
|
{
|
||||||
|
s = descr.prompt();
|
||||||
TEC_form::_form->change_magic_body(*this, s);
|
TEC_form::_form->change_magic_body(*this, s);
|
||||||
|
}
|
||||||
descr.set(s);
|
descr.set(s);
|
||||||
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
descr.set(_descrizione);
|
descr.set(_descrizione);
|
||||||
@ -273,9 +281,6 @@ void TEC_row::print_on(TPrint_section& body)
|
|||||||
TForm_item& datadoc = body.find_field(PEC_DATADOC);
|
TForm_item& datadoc = body.find_field(PEC_DATADOC);
|
||||||
datadoc.set(_data_doc.string());
|
datadoc.set(_data_doc.string());
|
||||||
|
|
||||||
TForm_item& totdoc = body.find_field(PEC_TOTDOC);
|
|
||||||
totdoc.set(_totale.string());
|
|
||||||
|
|
||||||
TForm_item& numdoc = body.find_field(PEC_NUMDOC);
|
TForm_item& numdoc = body.find_field(PEC_NUMDOC);
|
||||||
numdoc.set(_num_doc);
|
numdoc.set(_num_doc);
|
||||||
|
|
||||||
@ -313,6 +318,10 @@ void TEC_row::print_on(TPrint_section& body)
|
|||||||
set_imp(esposto, _esposto, valuta);
|
set_imp(esposto, _esposto, valuta);
|
||||||
esposto.set_prompt(_salvo_buon_fine ? "*" : " ");
|
esposto.set_prompt(_salvo_buon_fine ? "*" : " ");
|
||||||
|
|
||||||
|
TForm_item& totdoc = body.find_field(PEC_TOTDOC);
|
||||||
|
old_pictures.add(totdoc.picture());
|
||||||
|
set_imp(totdoc, _totale, valuta);
|
||||||
|
|
||||||
TForm_item& lire = body.find_field(PEC_IMPLIRE);
|
TForm_item& lire = body.find_field(PEC_IMPLIRE);
|
||||||
lire.set(_importo_lire.string());
|
lire.set(_importo_lire.string());
|
||||||
|
|
||||||
@ -333,6 +342,7 @@ void TEC_row::print_on(TPrint_section& body)
|
|||||||
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));
|
||||||
|
totdoc.set_picture(old_pictures.row(4));
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -499,7 +509,8 @@ real TEC_array::calcola_scaduto(const TRiga_scadenze& rata, bool valuta)
|
|||||||
delete arrpag;
|
delete arrpag;
|
||||||
|
|
||||||
scaduto_rata.normalize(sezione);
|
scaduto_rata.normalize(sezione);
|
||||||
return scaduto_rata.valore();
|
const bool total_payed = scaduto_rata.valore().sign() <= 0;
|
||||||
|
return total_payed ? ZERO : scaduto_rata.valore();
|
||||||
}
|
}
|
||||||
|
|
||||||
TEC_row& TEC_array::new_row(const TRiga_partite& row, const TDate& data,
|
TEC_row& TEC_array::new_row(const TRiga_partite& row, const TDate& data,
|
||||||
@ -987,6 +998,7 @@ void TEC_form::azzera_totali()
|
|||||||
|
|
||||||
TPrint_section& foot = section('F');
|
TPrint_section& foot = section('F');
|
||||||
printer().footerlen(foot.height());
|
printer().footerlen(foot.height());
|
||||||
|
printer().setcurrentpage(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool TEC_form::print_game(const TPartita& game)
|
bool TEC_form::print_game(const TPartita& game)
|
||||||
@ -1047,7 +1059,15 @@ bool TEC_form::print_game(const TPartita& game)
|
|||||||
{
|
{
|
||||||
saldo.normalize();
|
saldo.normalize();
|
||||||
|
|
||||||
TEC_row sld(describe(PEC_SALDO), saldo, righe.row(r-1).valuta());
|
const TString & dessaldo = describe(PEC_SALDO);
|
||||||
|
TString desc(80);
|
||||||
|
const TValuta & val = righe.row(r-1).valuta();
|
||||||
|
|
||||||
|
desc = dessaldo;
|
||||||
|
desc << ' ' << val.codice();
|
||||||
|
|
||||||
|
TEC_row sld(desc, saldo, val);
|
||||||
|
|
||||||
sld.scaduto(scaduto);
|
sld.scaduto(scaduto);
|
||||||
sld.esposto(esposto);
|
sld.esposto(esposto);
|
||||||
sld.importo_lire(implire);
|
sld.importo_lire(implire);
|
||||||
@ -1235,7 +1255,8 @@ bool TStampaEC_application::print_selected()
|
|||||||
bool one_printed = FALSE;
|
bool one_printed = FALSE;
|
||||||
|
|
||||||
const long items = c.items();
|
const long items = c.items();
|
||||||
for (long i = 0; i < items; i++) if (print_all || s.checked(i))
|
for (long i = 0; i < items; i++)
|
||||||
|
if (print_all || s.checked(i))
|
||||||
{
|
{
|
||||||
if (one_printed)
|
if (one_printed)
|
||||||
printer().formfeed();
|
printer().formfeed();
|
||||||
|
@ -65,7 +65,7 @@ END
|
|||||||
DATE F_DATALIMOP
|
DATE F_DATALIMOP
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 1 4 "Data limite operazione "
|
PROMPT 1 4 "Data limite operazione "
|
||||||
FLAGS "A"
|
// FLAGS "A"
|
||||||
// CHECKTYPE REQUIRED
|
// CHECKTYPE REQUIRED
|
||||||
END
|
END
|
||||||
|
|
||||||
|
@ -67,7 +67,8 @@ bool TStampaSol_application::print_selected()
|
|||||||
|
|
||||||
bool one_printed = FALSE;
|
bool one_printed = FALSE;
|
||||||
const long items = c.items();
|
const long items = c.items();
|
||||||
for (long i=0; i < items; i++) if (print_all || s.checked(i))
|
for (long i=0; i < items; i++)
|
||||||
|
if (print_all || s.checked(i))
|
||||||
{
|
{
|
||||||
if (one_printed)
|
if (one_printed)
|
||||||
printer().formfeed();
|
printer().formfeed();
|
||||||
@ -224,8 +225,7 @@ bool TStampaSol_application::menu(MENU_TAG)
|
|||||||
TSol_mask &m= mask();
|
TSol_mask &m= mask();
|
||||||
while (m.run() != K_QUIT)
|
while (m.run() != K_QUIT)
|
||||||
{
|
{
|
||||||
const bool neverending_game = m.get_bool(F_ALLMOV);
|
_form= new TSol_form(m, _gesval, F_DATALIMOP, F_DATALIMSOL);
|
||||||
_form= new TSol_form(m, _gesval, neverending_game ? 0: F_DATALIMSOL, F_DATALIMSOL);
|
|
||||||
print_selected();
|
print_selected();
|
||||||
delete _form;
|
delete _form;
|
||||||
_form= NULL;
|
_form= NULL;
|
||||||
|
@ -9,6 +9,5 @@
|
|||||||
#define F_STAMPESP 107
|
#define F_STAMPESP 107
|
||||||
#define F_IMPORMIN 108
|
#define F_IMPORMIN 108
|
||||||
#define F_RIFIMPMIN 109
|
#define F_RIFIMPMIN 109
|
||||||
#define F_ALLMOV 110
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -59,6 +59,12 @@ BEGIN
|
|||||||
FLAGS "D"
|
FLAGS "D"
|
||||||
END
|
END
|
||||||
|
|
||||||
|
DATE F_DATALIMOP
|
||||||
|
BEGIN
|
||||||
|
PROMPT 30 4 "Data limite operazione "
|
||||||
|
END
|
||||||
|
|
||||||
|
|
||||||
DATE F_DATALIMSOL
|
DATE F_DATALIMSOL
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 1 4 "Data limite sollecito "
|
PROMPT 1 4 "Data limite sollecito "
|
||||||
@ -85,11 +91,6 @@ BEGIN
|
|||||||
PROMPT 1 6 "Stampa esposizione"
|
PROMPT 1 6 "Stampa esposizione"
|
||||||
END
|
END
|
||||||
|
|
||||||
BOOLEAN F_ALLMOV
|
|
||||||
BEGIN
|
|
||||||
PROMPT 1 7 "Stampa tutti i movimenti"
|
|
||||||
END
|
|
||||||
|
|
||||||
STRING F_LUOGOSEND 50 32
|
STRING F_LUOGOSEND 50 32
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 1 8 "Luogo d'invio "
|
PROMPT 1 8 "Luogo d'invio "
|
||||||
|
@ -9,6 +9,7 @@
|
|||||||
#include "sc2401.h"
|
#include "sc2401.h"
|
||||||
|
|
||||||
#include <causali.h>
|
#include <causali.h>
|
||||||
|
#define DA_VUOTARE "***"
|
||||||
|
|
||||||
TESSL_mask::TESSL_mask(const char *name) : TSelection_mask(name), _ditta(LF_NDITTE) {
|
TESSL_mask::TESSL_mask(const char *name) : TSelection_mask(name), _ditta(LF_NDITTE) {
|
||||||
_ditta.add(LF_ANAG, "TIPOA==TIPOA|CODANAGR==CODANAGR");
|
_ditta.add(LF_ANAG, "TIPOA==TIPOA|CODANAGR==CODANAGR");
|
||||||
@ -66,9 +67,12 @@ TESSL_row::TESSL_row(const TRiga_partite& row, const TDate& data, const TImporto
|
|||||||
_data = data;
|
_data = data;
|
||||||
_causale = row.get(PART_CODCAUS);
|
_causale = row.get(PART_CODCAUS);
|
||||||
_data_doc = row.get(PART_DATADOC);
|
_data_doc = row.get(PART_DATADOC);
|
||||||
|
_num_doc = row.get(PART_NUMDOC);
|
||||||
_num_prot = row.get_long(PART_PROTIVA);
|
_num_prot = row.get_long(PART_PROTIVA);
|
||||||
_num_reg = row.get_long(PART_NREG);
|
_num_reg = row.get_long(PART_NREG);
|
||||||
_importo = imp; _importo.normalize();
|
_importo = imp; _importo.normalize();
|
||||||
|
_descrizione = row.get(PART_DESCR);
|
||||||
|
|
||||||
_valuta.get(row);
|
_valuta.get(row);
|
||||||
|
|
||||||
const bool valuta = form().in_valuta() && _valuta.in_valuta();
|
const bool valuta = form().in_valuta() && _valuta.in_valuta();
|
||||||
@ -81,7 +85,7 @@ TESSL_row::TESSL_row(const TRiga_partite& row, const TDate& data, const TImporto
|
|||||||
TESSL_row::TESSL_row(const char* desc, const TImporto& imp, const TValuta& val)
|
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 = DA_VUOTARE;
|
||||||
_importo = imp; _importo.normalize();
|
_importo = imp; _importo.normalize();
|
||||||
_valuta = val;
|
_valuta = val;
|
||||||
}
|
}
|
||||||
@ -105,7 +109,7 @@ int TESSL_row::compare(const TSortable& s) const
|
|||||||
// Annulla i campi uguali alla riga precedente
|
// Annulla i campi uguali alla riga precedente
|
||||||
void TESSL_row::reset_uguali()
|
void TESSL_row::reset_uguali()
|
||||||
{
|
{
|
||||||
_descrizione = "";
|
_descrizione = DA_VUOTARE;
|
||||||
_num_doc = "";
|
_num_doc = "";
|
||||||
_data_doc = botime;
|
_data_doc = botime;
|
||||||
_num_prot = 0;
|
_num_prot = 0;
|
||||||
@ -129,7 +133,7 @@ void TESSL_row::set_imp(TForm_item& fi, const real& imp, bool valuta) const
|
|||||||
{
|
{
|
||||||
new_picture = old_picture;
|
new_picture = old_picture;
|
||||||
if (old_picture.find(',') > 0)
|
if (old_picture.find(',') > 0)
|
||||||
new_picture << ".###";
|
new_picture << ".@@@";
|
||||||
else
|
else
|
||||||
new_picture << ",@@@";
|
new_picture << ",@@@";
|
||||||
}
|
}
|
||||||
@ -169,8 +173,12 @@ void TESSL_row::print_on(TPrint_section& body)
|
|||||||
TForm_item& descr = body.find_field(PEC_DESCR);
|
TForm_item& descr = body.find_field(PEC_DESCR);
|
||||||
if (num_reg() > 0) // Riga di partita vera e propria (non totale parziale)
|
if (num_reg() > 0) // Riga di partita vera e propria (non totale parziale)
|
||||||
{
|
{
|
||||||
TString s(80); s = descr.prompt();
|
TString s(80);
|
||||||
|
if (_descrizione != DA_VUOTARE)
|
||||||
|
{
|
||||||
|
s = descr.prompt();
|
||||||
TESSL_form::_form->change_magic_body(*this, s);
|
TESSL_form::_form->change_magic_body(*this, s);
|
||||||
|
}
|
||||||
descr.set(s);
|
descr.set(s);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -179,9 +187,6 @@ void TESSL_row::print_on(TPrint_section& body)
|
|||||||
TForm_item& datadoc = body.find_field(PEC_DATADOC);
|
TForm_item& datadoc = body.find_field(PEC_DATADOC);
|
||||||
datadoc.set(_data_doc.string());
|
datadoc.set(_data_doc.string());
|
||||||
|
|
||||||
TForm_item& totdoc = body.find_field(PEC_TOTDOC);
|
|
||||||
totdoc.set(_totale.string());
|
|
||||||
|
|
||||||
TForm_item& numdoc = body.find_field(PEC_NUMDOC);
|
TForm_item& numdoc = body.find_field(PEC_NUMDOC);
|
||||||
numdoc.set(_num_doc);
|
numdoc.set(_num_doc);
|
||||||
|
|
||||||
@ -222,6 +227,10 @@ void TESSL_row::print_on(TPrint_section& body)
|
|||||||
set_imp(esposto, _esposto, valuta);
|
set_imp(esposto, _esposto, valuta);
|
||||||
esposto.set_prompt(_salvo_buon_fine ? "*" : " ");
|
esposto.set_prompt(_salvo_buon_fine ? "*" : " ");
|
||||||
|
|
||||||
|
TForm_item& totdoc = body.find_field(PEC_TOTDOC);
|
||||||
|
old_pictures.add(totdoc.picture());
|
||||||
|
set_imp(totdoc, _totale, valuta);
|
||||||
|
|
||||||
TForm_item& cambio = body.find_field(PEC_CAMBIO);
|
TForm_item& cambio = body.find_field(PEC_CAMBIO);
|
||||||
cambio.set(_valuta.cambio().string());
|
cambio.set(_valuta.cambio().string());
|
||||||
|
|
||||||
@ -239,6 +248,7 @@ void TESSL_row::print_on(TPrint_section& body)
|
|||||||
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));
|
||||||
|
totdoc.set_picture(old_pictures.row(4));
|
||||||
}
|
}
|
||||||
|
|
||||||
static int val_compare(const void* o1, const void* o2) {
|
static int val_compare(const void* o1, const void* o2) {
|
||||||
@ -357,7 +367,8 @@ real TESSL_array::calcola_scaduto(const TRiga_scadenze& rata, bool valuta)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
scaduto_rata.normalize(sezione);
|
scaduto_rata.normalize(sezione);
|
||||||
return scaduto_rata.valore();
|
const bool total_payed = scaduto_rata.valore().sign() <= 0;
|
||||||
|
return total_payed ? ZERO : scaduto_rata.valore();
|
||||||
}
|
}
|
||||||
|
|
||||||
TESSL_row& TESSL_array::new_row(const TRiga_partite& row, const TDate& data, const TImporto& imp, int n)
|
TESSL_row& TESSL_array::new_row(const TRiga_partite& row, const TDate& data, const TImporto& imp, int n)
|
||||||
@ -875,6 +886,7 @@ void TESSL_form::azzera_totali()
|
|||||||
|
|
||||||
TPrint_section& foot = section('F');
|
TPrint_section& foot = section('F');
|
||||||
printer().footerlen(foot.height());
|
printer().footerlen(foot.height());
|
||||||
|
printer().setcurrentpage(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool TESSL_form::print_game(const TPartita& game)
|
bool TESSL_form::print_game(const TPartita& game)
|
||||||
@ -934,7 +946,15 @@ bool TESSL_form::print_game(const TPartita& game)
|
|||||||
{
|
{
|
||||||
saldo.normalize();
|
saldo.normalize();
|
||||||
|
|
||||||
TESSL_row sld(describe(PEC_SALDO), saldo, righe.row(r-1).valuta());
|
const TString & dessaldo = describe(PEC_SALDO);
|
||||||
|
TString desc(80);
|
||||||
|
const TValuta & val = righe.row(r-1).valuta();
|
||||||
|
|
||||||
|
desc = dessaldo;
|
||||||
|
desc << ' ' << val.codice();
|
||||||
|
|
||||||
|
TESSL_row sld(desc, saldo, val);
|
||||||
|
|
||||||
sld.scaduto(scaduto);
|
sld.scaduto(scaduto);
|
||||||
sld.esposto(esposto);
|
sld.esposto(esposto);
|
||||||
sld.importo_in_lire(implire);
|
sld.importo_in_lire(implire);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user