corretto errore MI6114
git-svn-id: svn://10.65.10.50/trunk@3876 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
404b811fe1
commit
39416e0d06
@ -32,10 +32,11 @@ struct _LineTotal : public TObject //Oggetto di base per i TAssoc_array dei tot
|
|||||||
_s3, // Scaglione 3
|
_s3, // Scaglione 3
|
||||||
_s4, // Scaglione 4
|
_s4, // Scaglione 4
|
||||||
_s5, // Scaglione 5
|
_s5, // Scaglione 5
|
||||||
_s6; // Scaglione 6
|
_s6, // Scaglione 6
|
||||||
|
_s7; // scaglione 7
|
||||||
virtual TObject* dup() const { return new _LineTotal(*this); }
|
virtual TObject* dup() const { return new _LineTotal(*this); }
|
||||||
_LineTotal() {_rd = 0.0; _ns = 0.0; _bf = 0.0; _s1 = 0.0;
|
_LineTotal() {_rd = 0.0; _ns = 0.0; _bf = 0.0; _s1 = 0.0;
|
||||||
_s2 = 0.0; _s3 = 0.0; _s4 = 0.0; _s5 = 0.0; _s6 = 0.0;}
|
_s2 = 0.0; _s3 = 0.0; _s4 = 0.0; _s5 = 0.0; _s6 = 0.0; _s7 = 0.0;}
|
||||||
};
|
};
|
||||||
|
|
||||||
class TStampaScaduto : public TPrintapp
|
class TStampaScaduto : public TPrintapp
|
||||||
@ -54,7 +55,7 @@ class TStampaScaduto : public TPrintapp
|
|||||||
_ordcod; // VERO=ordine per codice, FALSO=ordine per ragione sociale
|
_ordcod; // VERO=ordine per codice, FALSO=ordine per ragione sociale
|
||||||
TString _anno,_numdoc,_protiva,_datadoc,_codval,_residuo,
|
TString _anno,_numdoc,_protiva,_datadoc,_codval,_residuo,
|
||||||
_nonscad,_buonfin,_sc_1,_sc_2,_sc_3,_sc_4,_sc_5,
|
_nonscad,_buonfin,_sc_1,_sc_2,_sc_3,_sc_4,_sc_5,
|
||||||
_sc_6, _cod, _cod_pre, _des;
|
_sc_6, _sc_7, _cod, _cod_pre, _des;
|
||||||
TDate _limop, _limscad, _datas, _limbf; // Data limite operazione, data limite scaduto e data di stampa
|
TDate _limop, _limscad, _datas, _limbf; // Data limite operazione, data limite scaduto e data di stampa
|
||||||
int _gcr; // Giorni per Calcolo Rischio (valido solo per stampa clienti)
|
int _gcr; // Giorni per Calcolo Rischio (valido solo per stampa clienti)
|
||||||
real _unsnc,_uns; // Unassigned per partita.
|
real _unsnc,_uns; // Unassigned per partita.
|
||||||
@ -80,7 +81,7 @@ public:
|
|||||||
void print_totali(int& nriga);
|
void print_totali(int& nriga);
|
||||||
void print_header();
|
void print_header();
|
||||||
void update_totals(bool what,real& res,real& non,real& buo,
|
void update_totals(bool what,real& res,real& non,real& buo,
|
||||||
real& s1,real& s2,real& s3,real& s4,real& s5, real& s6);
|
real& s1,real& s2,real& s3,real& s4,real& s5, real& s6, real& s7);
|
||||||
void compute_unassigned(TPartita& p);
|
void compute_unassigned(TPartita& p);
|
||||||
void compute_all(TPartita& p);
|
void compute_all(TPartita& p);
|
||||||
TStampaScaduto();
|
TStampaScaduto();
|
||||||
@ -106,8 +107,9 @@ bool TStampaScaduto::fil_function(const TRelation *r)
|
|||||||
return rt;
|
return rt;
|
||||||
}
|
}
|
||||||
|
|
||||||
void TStampaScaduto::update_totals(bool what, real& res, real& non, real& buo,
|
void TStampaScaduto::update_totals(bool what, real& res, real& non, real& buo,
|
||||||
real& s1, real& s2, real& s3, real& s4, real& s5, real& s6)
|
real& s1, real& s2, real& s3, real& s4, real& s5,
|
||||||
|
real& s6, real& s7)
|
||||||
{
|
{
|
||||||
TAssoc_array& a = (TAssoc_array&) _t[what];
|
TAssoc_array& a = (TAssoc_array&) _t[what];
|
||||||
const bool is_key = a.is_key(_codval);
|
const bool is_key = a.is_key(_codval);
|
||||||
@ -122,6 +124,7 @@ void TStampaScaduto::update_totals(bool what, real& res, real& non, real& buo,
|
|||||||
ll._s4 += s4;
|
ll._s4 += s4;
|
||||||
ll._s5 += s5;
|
ll._s5 += s5;
|
||||||
ll._s6 += s6;
|
ll._s6 += s6;
|
||||||
|
ll._s7 += s7;
|
||||||
a.add(_codval,ll,is_key);
|
a.add(_codval,ll,is_key);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -144,9 +147,9 @@ void TStampaScaduto::compute_unassigned(TPartita& p)
|
|||||||
|
|
||||||
void TStampaScaduto::compute_all(TPartita& p)
|
void TStampaScaduto::compute_all(TPartita& p)
|
||||||
{
|
{
|
||||||
real residuo,nonscad,buonf,s1,s2,s3,s4,s5,s6,res_pagati;
|
real residuo,nonscad,buonf,s1,s2,s3,s4,s5,s6,s7,res_pagati;
|
||||||
residuo = 0.0; nonscad = 0.0; buonf = 0.0; s1 = 0.0;
|
residuo = 0.0; nonscad = 0.0; buonf = 0.0; s1 = 0.0;
|
||||||
s2 = 0.0; s3 = 0.0; s4 = 0.0; s5 = 0.0; s6 = 0.0;
|
s2 = 0.0; s3 = 0.0; s4 = 0.0; s5 = 0.0; s6 = 0.0; s7 = 0.0;
|
||||||
res_pagati = 0.0;
|
res_pagati = 0.0;
|
||||||
compute_unassigned(p);
|
compute_unassigned(p);
|
||||||
for (int r = p.last(); r > 0; r = p.pred(r)) // Browse all rows (partite)
|
for (int r = p.last(); r > 0; r = p.pred(r)) // Browse all rows (partite)
|
||||||
@ -259,10 +262,12 @@ void TStampaScaduto::compute_all(TPartita& p)
|
|||||||
s4 += res;
|
s4 += res;
|
||||||
if (_tipost == fornitori)
|
if (_tipost == fornitori)
|
||||||
{
|
{
|
||||||
if (d < (TDate&)_s_date[3] && d > (TDate&)_s_date[4])
|
if (d < (TDate&)_s_date[3] && d >= (TDate&)_s_date[4])
|
||||||
s5 += res;
|
s5 += res;
|
||||||
if (d < (TDate&)_s_date[4])
|
if (d < (TDate&)_s_date[4] && d >= (TDate&)_s_date[5])
|
||||||
s6 += res;
|
s6 += res;
|
||||||
|
if (d < (TDate&)_s_date[5])
|
||||||
|
s7 += res;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -317,11 +322,16 @@ void TStampaScaduto::compute_all(TPartita& p)
|
|||||||
if (_stvaluta && _codval != " ") _sc_6 = s6.string(".3");
|
if (_stvaluta && _codval != " ") _sc_6 = s6.string(".3");
|
||||||
else _sc_6 = s6.string(".");
|
else _sc_6 = s6.string(".");
|
||||||
}
|
}
|
||||||
// Aggiorna i totali...
|
if (s7 != 0.0)
|
||||||
if (residuo!=0.0 || nonscad!=0.0 || buonf!=0.0 || s1!=0.0 || s2!=0.0 || s3!=0.0 || s4!= 0.0 || s5!= 0.0 || s6!=0.0)
|
|
||||||
{
|
{
|
||||||
update_totals(0, residuo, nonscad, buonf, s1, s2, s3, s4, s5, s6); // Singolo...
|
if (_stvaluta && _codval != " ") _sc_7 = s7.string(".3");
|
||||||
update_totals(1, residuo, nonscad, buonf, s1, s2, s3, s4, s5, s6); // ...Generale
|
else _sc_7 = s7.string(".");
|
||||||
|
}
|
||||||
|
// Aggiorna i totali...
|
||||||
|
if (residuo!=0.0 || nonscad!=0.0 || buonf!=0.0 || s1!=0.0 || s2!=0.0 || s3!=0.0 || s4!= 0.0 || s5!= 0.0 || s6!=0.0 || s7!=0.0)
|
||||||
|
{
|
||||||
|
update_totals(0, residuo, nonscad, buonf, s1, s2, s3, s4, s5, s6, s7); // Singolo...
|
||||||
|
update_totals(1, residuo, nonscad, buonf, s1, s2, s3, s4, s5, s6, s7); // ...Generale
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -395,6 +405,7 @@ bool TStampaScaduto::preprocess_page(int file, int counter)
|
|||||||
_sc_4 = "";
|
_sc_4 = "";
|
||||||
_sc_5 = "";
|
_sc_5 = "";
|
||||||
_sc_6 = "";
|
_sc_6 = "";
|
||||||
|
_sc_7 = "";
|
||||||
|
|
||||||
if (r > 0) //Skip next partita if no fatture!
|
if (r > 0) //Skip next partita if no fatture!
|
||||||
{
|
{
|
||||||
@ -414,7 +425,8 @@ bool TStampaScaduto::preprocess_page(int file, int counter)
|
|||||||
|
|
||||||
// Se c'e' qualcosa da stampare (ovvero almeno un importo non nullo)
|
// Se c'e' qualcosa da stampare (ovvero almeno un importo non nullo)
|
||||||
const bool to_print = !_residuo.empty() || !_nonscad.empty() || !_sc_1.empty() || !_sc_2.empty() ||
|
const bool to_print = !_residuo.empty() || !_nonscad.empty() || !_sc_1.empty() || !_sc_2.empty() ||
|
||||||
!_sc_3.empty() || !_sc_4.empty() || !_sc_5.empty() || !_sc_6.empty() || (_tipost == clienti && !_buonfin.empty());
|
!_sc_3.empty() || !_sc_4.empty() || !_sc_5.empty() || !_sc_6.empty() || !_sc_7.empty() ||
|
||||||
|
(_tipost == clienti && !_buonfin.empty());
|
||||||
if (to_print)
|
if (to_print)
|
||||||
{
|
{
|
||||||
if (curr.get_int(PART_NRIGA) == 1)
|
if (curr.get_int(PART_NRIGA) == 1)
|
||||||
@ -472,7 +484,7 @@ bool TStampaScaduto::user_create()
|
|||||||
_scad = new TLocalisamfile(LF_SCADENZE);
|
_scad = new TLocalisamfile(LF_SCADENZE);
|
||||||
_pagsca = new TLocalisamfile(LF_PAGSCA);
|
_pagsca = new TLocalisamfile(LF_PAGSCA);
|
||||||
_t.add(new TAssoc_array);_t.add(new TAssoc_array);
|
_t.add(new TAssoc_array);_t.add(new TAssoc_array);
|
||||||
for (int i = 0; i < 5; i++)
|
for (int i = 0; i < 6; i++)
|
||||||
_s_date.add(new TDate);
|
_s_date.add(new TDate);
|
||||||
|
|
||||||
TConfig conf (CONFIG_DITTA,"cg");
|
TConfig conf (CONFIG_DITTA,"cg");
|
||||||
@ -524,7 +536,7 @@ bool TStampaScaduto::set_print(int)
|
|||||||
_anno.cut(0);_numdoc.cut(0);_protiva.cut(0);_datadoc.cut(0);
|
_anno.cut(0);_numdoc.cut(0);_protiva.cut(0);_datadoc.cut(0);
|
||||||
_codval.cut(0);_residuo.cut(0);_nonscad.cut(0);_buonfin.cut(0);
|
_codval.cut(0);_residuo.cut(0);_nonscad.cut(0);_buonfin.cut(0);
|
||||||
_cod.cut(0); _des.cut(0); _cod_pre.cut(0);
|
_cod.cut(0); _des.cut(0); _cod_pre.cut(0);
|
||||||
_sc_1.cut(0);_sc_2.cut(0);_sc_3.cut(0);_sc_4.cut(0);_sc_5.cut(0);_sc_6.cut(0);
|
_sc_1.cut(0);_sc_2.cut(0);_sc_3.cut(0);_sc_4.cut(0);_sc_5.cut(0);_sc_6.cut(0);_sc_7.cut(0);
|
||||||
for (int it=0; it < _t.items(); it++)
|
for (int it=0; it < _t.items(); it++)
|
||||||
{
|
{
|
||||||
TAssoc_array& aa = (TAssoc_array&) _t[it];
|
TAssoc_array& aa = (TAssoc_array&) _t[it];
|
||||||
@ -580,10 +592,10 @@ bool TStampaScaduto::set_print(int)
|
|||||||
if (_tipost == clienti)
|
if (_tipost == clienti)
|
||||||
inc = 30l;
|
inc = 30l;
|
||||||
long nday = inc;
|
long nday = inc;
|
||||||
for (int j = 0; j < 5; j++)
|
for (int j = 0; j < 6; j++)
|
||||||
{
|
{
|
||||||
TDate* d = (TDate *)_s_date.objptr(j);
|
TDate* d = (TDate *)_s_date.objptr(j);
|
||||||
if (_tipost == fornitori && j == 4 )
|
if (_tipost == fornitori && (j == 4 || j == 5) )
|
||||||
nday += inc;
|
nday += inc;
|
||||||
*d = _limscad - nday;
|
*d = _limscad - nday;
|
||||||
nday += inc;
|
nday += inc;
|
||||||
@ -643,6 +655,10 @@ void TStampaScaduto::print_totali_rows(int& nriga, bool what)
|
|||||||
else value = v._s6.string(".");
|
else value = v._s6.string(".");
|
||||||
if (v._s6 != 0.0)
|
if (v._s6 != 0.0)
|
||||||
set_row(nriga,"@193g%18s",(const char*) value);
|
set_row(nriga,"@193g%18s",(const char*) value);
|
||||||
|
if (_stvaluta && k != " ") value = v._s7.string(".3");
|
||||||
|
else value = v._s7.string(".");
|
||||||
|
if (v._s7 != 0.0)
|
||||||
|
set_row(nriga,"@212g%18s",(const char*) value);
|
||||||
set_row(++nriga,"");
|
set_row(++nriga,"");
|
||||||
}
|
}
|
||||||
xassoc.destroy(); // Distrugge il totale appena stampato
|
xassoc.destroy(); // Distrugge il totale appena stampato
|
||||||
@ -687,8 +703,8 @@ void TStampaScaduto::print_header()
|
|||||||
case fornitori:
|
case fornitori:
|
||||||
case clienti:
|
case clienti:
|
||||||
{
|
{
|
||||||
TString rw(211);
|
TString rw(230);
|
||||||
TString s1,s2;
|
TString s1,s2, s3;
|
||||||
int o = 0; // Offset per scaglioni.
|
int o = 0; // Offset per scaglioni.
|
||||||
set_header (soh++, "Ditta : %ld %s@158gData@163g%s @190gPag. @#",
|
set_header (soh++, "Ditta : %ld %s@158gData@163g%s @190gPag. @#",
|
||||||
firm, (const char *)s, (const char *)datas);
|
firm, (const char *)s, (const char *)datas);
|
||||||
@ -696,11 +712,12 @@ void TStampaScaduto::print_header()
|
|||||||
{
|
{
|
||||||
set_header(soh++,"@72g** SCADUTO FORNITORI **");
|
set_header(soh++,"@72g** SCADUTO FORNITORI **");
|
||||||
s1 = ""; s2 = scaglioni[7]; // +90 gg per fornitori
|
s1 = ""; s2 = scaglioni[7]; // +90 gg per fornitori
|
||||||
|
s3 = scaglioni[8]; // +120 gg per fornitori
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
set_header(soh++,"@73g** SCADUTO CLIENTI **");
|
set_header(soh++,"@73g** SCADUTO CLIENTI **");
|
||||||
s1 ="In Attesa B.F."; s2 ="";
|
s1 ="In Attesa B.F."; s2 = ""; s3 = "";
|
||||||
o = 4;
|
o = 4;
|
||||||
}
|
}
|
||||||
set_header (soh++,"@73gAl %s Operazioni al %s",(const char*)limscad, (const char*)limop);
|
set_header (soh++,"@73gAl %s Operazioni al %s",(const char*)limscad, (const char*)limop);
|
||||||
@ -708,12 +725,12 @@ void TStampaScaduto::print_header()
|
|||||||
set_header(soh++, (const char *) rw);
|
set_header(soh++, (const char *) rw);
|
||||||
set_header(soh++,"CODICE@18gC O G N O M E E N O M E ");
|
set_header(soh++,"CODICE@18gC O G N O M E E N O M E ");
|
||||||
set_header(soh++,"Riferim.@12gNumero@20gNumero@27gData@50gResiduo@102g"
|
set_header(soh++,"Riferim.@12gNumero@20gNumero@27gData@50gResiduo@102g"
|
||||||
"---------------------------------------------- S C A D U T O "
|
"-------------------------------------------------------- S C A D U T O "
|
||||||
"----------------------------------------------");
|
"-------------------------------------------------------");
|
||||||
set_header(soh++,"partita@12gDocum.@20gProt.@27gDocumento@38gValuta"
|
set_header(soh++,"partita@12gDocum.@20gProt.@27gDocumento@38gValuta"
|
||||||
"@50gDocumento@67gNon Scaduto@86g%s@112g%s@129g%s@148g%s@167g%s@185g%s@204g%s",
|
"@50gDocumento@67gNon Scaduto@86g%s@112g%s@129g%s@148g%s@167g%s@185g%s@204g%s@223g%s",
|
||||||
(const char*)s1,scaglioni[0],scaglioni[1+o],scaglioni[2+o],
|
(const char*)s1,scaglioni[0],scaglioni[1+o],scaglioni[2+o],
|
||||||
scaglioni[3+o],scaglioni[4+o],(const char*) s2);
|
scaglioni[3+o],scaglioni[4+o],(const char*) s2, (const char*) s3);
|
||||||
set_header(soh++,(const char *)rw);
|
set_header(soh++,(const char *)rw);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@ -765,6 +782,7 @@ void TStampaScaduto::set_page_part(int& nriga)
|
|||||||
set_row(nriga,"@155g#18t",&_sc_4);
|
set_row(nriga,"@155g#18t",&_sc_4);
|
||||||
set_row(nriga,"@174g#18t",&_sc_5);
|
set_row(nriga,"@174g#18t",&_sc_5);
|
||||||
set_row(nriga,"@193g#18t",&_sc_6);
|
set_row(nriga,"@193g#18t",&_sc_6);
|
||||||
|
set_row(nriga,"@212g#18t",&_sc_7);
|
||||||
}
|
}
|
||||||
|
|
||||||
void TStampaScaduto::set_page(int file, int counter)
|
void TStampaScaduto::set_page(int file, int counter)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user