Patch level :10.0 90

Files correlati     :sc2.exe
Ricompilazione Demo : [ ]
Commento            :
0000853: ultima colonna stampa scadenzario
Descrizione  il cliente Presscolor/sig.Vito segnala che l'ultima colonna della stampa scadenzario (sc2.exe -1) visualizza delle cifre strane tipo 62 ,00.
Allego esempio visto che l'errore viene trascinato sul txt.

0000854: stampa scadenzario
Descrizione  il cliente prescolor nella persona del simpaticissimo sig. Vito richiede nella stampa dello scadenzario (sc2.exe -1) che a suo dire gli spazi tra le colonne sono troppi, visto che non siamo più in lire ma in euro potremmo ridurli e sfruttare quel che avanza per separare la tipologia di pagamento rimessa diretta e bonifico


git-svn-id: svn://10.65.10.50/trunk@16881 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
luca 2008-07-17 11:22:03 +00:00
parent 00f78921b2
commit ee4d80f519

View File

@ -24,9 +24,10 @@ struct _LinearTotal : public TObject // Oggetto base per gli elementi di tlg, t
_ip, // Importo pagato
_rd, // Rimesse dirette
_ri, // Ri.ba/Tratte
_bo, // Bonifici
_al; // Altri
virtual TObject* dup() const { return new _LinearTotal(*this); }
_LinearTotal() {_is = 0.0; _ip = 0.0; _rd = 0.0; _ri = 0.0; _al = 0.0; }
_LinearTotal() {_is = 0.0; _ip = 0.0; _rd = 0.0; _ri = 0.0; _bo = 0.0; _al = 0.0; }
};
enum tipo_st {nessuno=0, tutti=1, clienti=2, fornitori=3, altri=4};
@ -47,8 +48,8 @@ class TStampaScadenzario : public TPrintapp
TString _last_ban, _desc_ban; // Banca correntemente in corso di raggruppamento
TPString *_descrizione,*_ragsoc,*_des_conto; // Descrizione (da LF_PARTITE), ragione sociale (da LF_CLIFO)
// Descrizione conto (da LF_PCON)
TString _imp_scad,_imp_pag,_rimdir,_riba,_altri, // Valori calcolati in preprocess_page: rimesse dirette, Ri.ba e altri
_cur_gr_s, _cur_co_s, _cur_codcf_s; // _imp_scad e _imp_pag vengono anch'essi calcolati in preprocess_page.
TString _imp_scad,_imp_pag,_rimdir,_riba,_altri,_bonifico, // Valori calcolati in preprocess_page: rimesse dirette, Ri.ba e altri
_cur_gr_s, _cur_co_s, _cur_codcf_s; // _imp_scad e _imp_pag vengono anch'essi calcolati in preprocess_page.
TDate _datai, _dataf, _datas, // Data inizio, fine e stampa
_cur_data; // Data di scadenza riferita al record corrente
long _cur_codcf; // Cli/Fo riferito al record corrente
@ -204,7 +205,7 @@ HIDDEN void print_real(TString& dest, const real& num, const char* val)
{
const TCurrency cur(num, val);
dest = cur.string(TRUE);
dest.right_just(18);
dest.right_just(15);
}
bool TStampaScadenzario::filter_func(const TRelation *r)
@ -297,6 +298,9 @@ void TStampaScadenzario::check_add_key_to_tl(tipo_pe p, int t)
case 3:
xtotal._ri += _w_imp_res;
break;
case 9:
xtotal._bo += _w_imp_res;
break;
default:
xtotal._al += _w_imp_res;
break;
@ -638,9 +642,10 @@ bool TStampaScadenzario::preprocess_page(int file, int counter)
_annopart.format("%d",annop);
_annopart.ltrim(2);
_rimdir="";
_riba="";
_altri="";
_rimdir = "";
_riba = "";
_bonifico = "";
_altri = "";
_imp_pag = "";
const bool print_in_valuta = _stvaluta && is_true_value(_codval);
@ -660,25 +665,28 @@ bool TStampaScadenzario::preprocess_page(int file, int counter)
case 3:
print_real(_riba, _w_imp_res, print_in_valuta ? _codval : EMPTY_STRING);
break;
default: // Altri
case 9: // Bonifici
print_real(_bonifico, _w_imp_res, print_in_valuta ? _codval : EMPTY_STRING);
break;
default: // Altri
print_real(_altri, _w_imp_res, print_in_valuta ? _codval : EMPTY_STRING);
break;
}
} //if (file == LF_SCADENZE && !_end_printed)...
if (file==LF_CLIFO)
if (file == LF_CLIFO)
{
TString80 xxx(current_cursor()->curr(LF_CLIFO).get(CLI_RAGSOC));
*_ragsoc = xxx.strip_double_spaces();
}
if (file ==LF_PCON)
if (file == LF_PCON)
*_des_conto = current_cursor()->curr(LF_PCON).get(PCN_DESCR);
// Se l'ordinamento principale e' per data scadenza stampa il totale del giorno e del mese
if (_ordata && !_end_printed)
if ((file == LF_SCADENZE && _tipost == tutti) ||
(file == LF_PCON && _tipost == altri) ||
(file ==LF_CLIFO && (_tipost == clienti || _tipost == fornitori)))
(file == LF_CLIFO && (_tipost == clienti || _tipost == fornitori)))
{
bool date_changed = false;
if (_cur_data.ok())
@ -1180,8 +1188,8 @@ void TStampaScadenzario::print_header()
set_header(soh++, (const char *) rw);
set_header(soh++,FR("@28gRif.@38gData@47gData@77gCd/Tp@91g%s"),(const char*)s1);
set_header(soh++,FR("Codice@9gRagione sociale@28gpartita@38gscadenza@47gRegistr."
"@56gDescrizione@77gPag.@86gRata@91g%s@97gVal."
"@106gImp. in sca.@125gImp. pagati@144gRimesse dir.@163gRi.ba./Tratte@189gAltri@195gBlocc."), (const char*)s2);
"@56gDescrizione@77gPag.@86gRata@91g%s@96gVal."
"@103gImp. in sca.@119gImp. pagati@135gRimesse dir.@151gRi.ba./Tratte@171gBonifici@190gAltri@197gBlc"), (const char*)s2);
set_header(soh++,FR("@28gData e Nr doc. @46gProt. IVA"));
set_header(soh++,(const char *)rw);
break;
@ -1207,9 +1215,8 @@ void TStampaScadenzario::print_header()
set_header(soh++, (const char *) rw);
set_header(soh++,FR("@33gRif.@43gData@53gData@82gCd/Tp"));
set_header(soh++,FR("Gr. Co. So.@16gDescrizione@33gpartita@43gscadenza@53gRegistr."
"@61gDescrizione@82gPag.@89gRata@97gVal."
"@106gImp. in sca.@125gImp. pagati@144gRimesse dir.@163gRi.ba./Tratte@189gAltri@195gBlocc."));
"@61gDescrizione@82gPag.@89gRata@96gVal."
"@103gImp. in sca.@119gImp. pagati@135gRimesse dir.@151gRi.ba./Tratte@171gBonifici@190gAltri@197gBlc"));
set_header(soh++,FR("@36gData e Nr doc. @54gProt. IVA"));
set_header(soh++,(const char *)rw);
@ -1238,13 +1245,14 @@ void TStampaScadenzario::set_page_clifo(int nriga)
set_row(nriga,"@86g@4n",FLD(LF_SCADENZE,SCAD_NRATA));
if (_tipost == fornitori)
set_row(nriga,"@91g@5pn",FLD(LF_SCADENZE,SCAD_CODABIPR,"@@@@@"));
set_row(nriga,"@97g#t", &_codval);
set_row(nriga,"@101g#18t",&_imp_scad);
set_row(nriga,"@120g#18t",&_imp_pag);
set_row(nriga,"@139g#18t",&_rimdir); // rimesse dirette
set_row(nriga,"@158g#18t",&_riba); // Ri.ba. / tratte
set_row(nriga,"@177g#18t",&_altri); // Altri tipi di pagamento
set_row(nriga,"@197g@1s",FLD(LF_SCADENZE,SCAD_BLOCCATA));
set_row(nriga,"@96g#t", &_codval);
set_row(nriga,"@100g#15t",&_imp_scad);
set_row(nriga,"@116g#15t",&_imp_pag);
set_row(nriga,"@132g#15t",&_rimdir); // rimesse dirette
set_row(nriga,"@148g#15t",&_riba); // Ri.ba. / tratte
set_row(nriga,"@164g#15t",&_bonifico); // Bonifico
set_row(nriga,"@180g#15t",&_altri); // Altri tipi di pagamento
set_row(nriga,"@198g@1s",FLD(LF_SCADENZE,SCAD_BLOCCATA));
nriga++;
set_row(nriga,"@31g#t",&_datadoc);
set_row(nriga,"@40g#t",&_numdoc);
@ -1264,13 +1272,14 @@ void TStampaScadenzario::set_page_pcon(int nriga)
set_row(nriga,"@61g#a",_descrizione);
set_row(nriga,"@82g@4,rs/@1n@89g@4n",FLD(LF_SCADENZE,SCAD_CODPAG),FLD(LF_SCADENZE,SCAD_TIPOPAG),
FLD(LF_SCADENZE,SCAD_NRATA));
set_row(nriga,"@97g#t", &_codval);
set_row(nriga,"@101g#18t",&_imp_scad);
set_row(nriga,"@120g#18t",&_imp_pag);
set_row(nriga,"@139g#18t",&_rimdir); // rimesse dirette
set_row(nriga,"@158g#18t",&_riba); // Ri.ba. / tratte
set_row(nriga,"@177g#18t",&_altri); // Altri tipi di pagamento
set_row(nriga,"@197g@1s",FLD(LF_SCADENZE,SCAD_BLOCCATA));
set_row(nriga,"@96g#t", &_codval);
set_row(nriga,"@100g#15t",&_imp_scad);
set_row(nriga,"@116g#15t",&_imp_pag);
set_row(nriga,"@132g#15t",&_rimdir); // rimesse dirette
set_row(nriga,"@148g#15t",&_riba); // Ri.ba. / tratte
set_row(nriga,"@164g#15t",&_bonifico); // Bonifico
set_row(nriga,"@180g#15t",&_altri); // Altri tipi di pagamento
set_row(nriga,"@198g@1s",FLD(LF_SCADENZE,SCAD_BLOCCATA));
nriga++;
set_row(nriga,"@36g#t@45g#t@54g#-5t",&_datadoc,&_numdoc,&_protiva);
}
@ -1303,7 +1312,7 @@ void TStampaScadenzario::print_rows_riepilogo(int& nriga, bool type, TAssoc_arra
t.get_keys(as);
as.sort();
for (int i=0; i < items; i++)
for (int i = 0; i < items; i++)
{
const TString& k = as.row(i);
real& v = (real&)t[k];
@ -1371,7 +1380,7 @@ void TStampaScadenzario::print_riepilogo(int &nriga, bool type)
const int items = totali.items();
TString val, value;
for (int i=0; i < items; i++)
for (int i = 0; i < items; i++)
{
val = as.row(i);
const bool stampa_in_valuta = _stvaluta && is_true_value(val);
@ -1420,14 +1429,14 @@ void TStampaScadenzario::print_rows_totali(int &nriga, tipo_pe p)
as.sort();
TString k, value;
for (int i=0; i < items; i++)
for (int i = 0; i < items; i++)
{
k = as.row(i); // Chiave di ordinamento(valuta)
const bool stampa_in_valuta = _stvaluta && is_true_value(k);
_LinearTotal& v = (_LinearTotal&)xassoc[k];
if (is_true_value(k))
set_row(nriga,"@97g%3s",(const char*)k);
set_row(nriga,"@96g%3s",(const char*)k);
if (!stampa_in_valuta)
k.cut(0);
@ -1435,28 +1444,33 @@ void TStampaScadenzario::print_rows_totali(int &nriga, tipo_pe p)
print_real(value, v._is, k);
if (v._is != ZERO)
set_row(nriga,"@101g%18s",(const char*) value);
set_row(nriga,"@100g%15s",(const char*) value);
print_real(value, v._ip, k);
if (v._ip != ZERO)
set_row(nriga,"@120g%18s",(const char*) value);
set_row(nriga,"@116g%15s",(const char*) value);
print_real(value, v._rd, k);
if (v._rd != ZERO)
set_row(nriga,"@139g%18s",(const char*) value);
set_row(nriga,"@132g%15s",(const char*) value);
print_real(value, v._ri, k);
if (v._ri != ZERO)
set_row(nriga,"@158g%18s",(const char*) value);
set_row(nriga,"@148g%15s",(const char*) value);
print_real(value, v._bo, k);
if (v._bo != ZERO)
set_row(nriga,"@164g%15s",(const char*) value);
print_real(value, v._al, k);
if (v._al != ZERO)
set_row(nriga,"@177g%18s",(const char*) value);
set_row(nriga,"@180g%15s",(const char*) value);
set_row(++nriga,"");
}
set_row(++nriga,"");