La liquidasiun

la te indurmenta me 'n cuiun
     ma la funsiuna
	ala perfesiun


git-svn-id: svn://10.65.10.50/trunk@1009 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
villa 1995-02-16 10:18:30 +00:00
parent 7796b9a1a3
commit 33ee1dd21b
2 changed files with 69 additions and 31 deletions

View File

@ -756,6 +756,10 @@ void TLiquidazione_app::recalc_att(int month, const char* codatt)
real bdi = _pim_r->get_real("R9"); real bdi = _pim_r->get_real("R9");
real bdv = _pim_r->get_real("R10"); real bdv = _pim_r->get_real("R10");
/* i falsi corrispettivi */
real fci = _pim_r->get_real("R13");
real fcv = _pim_r->get_real("R14");
if (tipomov == vendita) if (tipomov == vendita)
{ {
fsi += vsimp_imp; fsi += vsimp_imp;
@ -783,7 +787,8 @@ void TLiquidazione_app::recalc_att(int month, const char* codatt)
acquisti_iva += imposta; acquisti_iva += imposta;
} }
// corrispettivi // corrispettivi
bool true_corrisp = FALSE;
if (corrisp) if (corrisp)
{ {
/* /*
@ -795,7 +800,8 @@ void TLiquidazione_app::recalc_att(int month, const char* codatt)
* fortunatamente essere corrispettivi. * fortunatamente essere corrispettivi.
*/ */
if (tipodoc == "CR" || tipodoc == "RF" || tipodoc == "SC") if (tipodoc == "CR" || tipodoc == "RF" || tipodoc == "SC")
{ {
true_corrisp = TRUE;
_pim_r->put("I0",LORDO); _pim_r->put("I0",LORDO);
// questi sono corrispettivi davvero; comportamento normale // questi sono corrispettivi davvero; comportamento normale
if (tipoiva == "VE") // da ventilare if (tipoiva == "VE") // da ventilare
@ -871,7 +877,13 @@ void TLiquidazione_app::recalc_att(int month, const char* codatt)
*/ */
adf += imponibile; adf += imponibile;
adi += imposta; adi += imposta;
} }
if (corrisp && !true_corrisp)
{
fci += imponibile;
fcv += imposta;
}
_pim_r->put("B2",isvolaff); _pim_r->put("B2",isvolaff);
@ -886,6 +898,8 @@ void TLiquidazione_app::recalc_att(int month, const char* codatt)
_pim_r->put("R8",adi); _pim_r->put("R8",adi);
_pim_r->put("R9",bdi); _pim_r->put("R9",bdi);
_pim_r->put("R10",bdv); _pim_r->put("R10",bdv);
_pim_r->put("R13",fci);
_pim_r->put("R14",fcv);
} }
// questi servono per i ricalcoli altrui (classify_pim) // questi servono per i ricalcoli altrui (classify_pim)

View File

@ -82,7 +82,7 @@ void TLiquidazione_app::describe_att(int month, const char* codatt, bool isresul
describe_agricolo(month, codatt); describe_agricolo(month, codatt);
if (atts.items() == 1 && _isviaggio) if (atts.items() == 1 && _isviaggio)
describe_viaggio(month, codatt); describe_viaggio(month, codatt);
if (isresult || month == 13) if (/* isresult || month == 13 */ TRUE)
describe_pims(month,codatt); describe_pims(month,codatt);
if (atts.items() == 1) if (atts.items() == 1)
describe_consistence(codatt); describe_consistence(codatt);
@ -410,6 +410,18 @@ void TLiquidazione_app::describe_pims(int month, const char* codatt)
} }
else // vendita else // vendita
{ {
// vedi corrispettivi veri e falsi
real cvi = _pim->get_real("R0"); // imp. totale
real cvv = _pim->get_real("R1"); // iva totale
real cfi = _pim->get_real("R13"); // imp. falsi corrisp
real cfv = _pim->get_real("R13"); // iva falsi corrisp
if (corrisp)
{
cvi -= cfi;
cvv -= cfv;
}
if (corrisp) if (corrisp)
{ {
// usa R0 e R1 visto che la ventilazione e' gia' // usa R0 e R1 visto che la ventilazione e' gia'
@ -417,16 +429,20 @@ void TLiquidazione_app::describe_pims(int month, const char* codatt)
real ifs(_pim->get_real("R5")); real ifs(_pim->get_real("R5"));
real vfs(_pim->get_real("R6")); real vfs(_pim->get_real("R6"));
d->_r2 += _pim->get_real("R0") - ifs; d->_r2 += cvi - ifs;
d->_r3 += _pim->get_real("R1") - vfs; d->_r3 += cvv - vfs;
t2 += _pim->get_real("R0") - ifs; t2 += cvi - ifs;
t3 += _pim->get_real("R1") - vfs; t3 += cvv - vfs;
t0 += ifs; t0 += ifs;
t1 += vfs; t1 += vfs;
} }
else
if (!corrisp || (!cfv.is_zero() || !cfi.is_zero()))
{ {
real adf, adi; real adf, adi;
real vendi = corrisp ? cfi : _pim->get_real("R0");
real vendv = corrisp ? cfv : _pim->get_real("R1");
// si scorporano solo per l'annuale, altrimenti // si scorporano solo per l'annuale, altrimenti
// vengono normalmente considerati nelle vendite // vengono normalmente considerati nelle vendite
@ -436,10 +452,10 @@ void TLiquidazione_app::describe_pims(int month, const char* codatt)
adi = _pim->get_real("R8"); adi = _pim->get_real("R8");
} }
d->_r0 += _pim->get_real("R0") - adf; d->_r0 += vendi - adf;
d->_r1 += _pim->get_real("R1") - adi; d->_r1 += vendv - adi;
t0 += _pim->get_real("R0") - adf; t0 += vendi - adf;
t1 += _pim->get_real("R1") - adi; t1 += vendv - adi;
autodafe += adf; autodafe += adf;
autodafe_iva += adi; autodafe_iva += adi;
@ -470,7 +486,7 @@ void TLiquidazione_app::describe_pims(int month, const char* codatt)
_descr_arr.add(ads); _descr_arr.add(ads);
} }
// prepara una bella riga di totali // prepara una bella riga di totali
if (!isfirst) if (/* !isfirst */ TRUE)
{ {
_DescrItem* d = new _DescrItem(TOT_ROW); _DescrItem* d = new _DescrItem(TOT_ROW);
d->_r0 = t0; d->_r1 = t1; d->_r0 = t0; d->_r1 = t1;
@ -479,7 +495,8 @@ void TLiquidazione_app::describe_pims(int month, const char* codatt)
// aggiunge dati ptm // aggiunge dati ptm
_DescrItem* t = new _DescrItem(MISC_LIQ); _DescrItem* t = new _DescrItem(MISC_LIQ);
t->_f1 = isfirst; // per il form feed
for (int m = 1; m <= month && m < 13; m++) for (int m = 1; m <= month && m < 13; m++)
{ {
if (!is_month_ok(m,month)) continue; if (!is_month_ok(m,month)) continue;
@ -490,8 +507,6 @@ void TLiquidazione_app::describe_pims(int month, const char* codatt)
TString att(tmpatt); TString att(tmpatt);
look_plm(m, att); look_plm(m, att);
// TBI rifare per pam e pum
d->_r6 += _pom->get_real("R0"); // acq. intracomunitari d->_r6 += _pom->get_real("R0"); // acq. intracomunitari
d->_r7 += _pom->get_real("R1"); // inded. art 19 d->_r7 += _pom->get_real("R1"); // inded. art 19
d->_r8 += _pom->get_real("R2"); // IVA su inded. art. 19 d->_r8 += _pom->get_real("R2"); // IVA su inded. art. 19
@ -830,16 +845,23 @@ void TLiquidazione_app::set_pim(_DescrItem& d)
void TLiquidazione_app::set_plm(_DescrItem& d) void TLiquidazione_app::set_plm(_DescrItem& d)
{ {
set_row(1,""); set_row(2,""); int rw = 1;
set_row(3,"Totale@25g%r@41g%r@58g%r@74g%r@91g%r@107g%r", if (!(d._r0.is_zero() &&
&(d._r0), d._r1.is_zero() &&
&(d._r1), d._r2.is_zero() &&
&(d._r2), d._r3.is_zero() &&
&(d._r3), d._r4.is_zero() &&
&(d._r4), d._r5.is_zero()))
&(d._r5)); {
// totalazzi parziali e generali set_row(rw++,""); set_row(rw++,"");
int rw = 4; set_row(rw++,"Totale@25g%r@41g%r@58g%r@74g%r@91g%r@107g%r",
&(d._r0),
&(d._r1),
&(d._r2),
&(d._r3),
&(d._r4),
&(d._r5));
}
if (!d._r6.is_zero()) if (!d._r6.is_zero())
{ {
set_row(rw++,"di cui per acquisti intracomunitari@107g%r", &(d._r6)); set_row(rw++,"di cui per acquisti intracomunitari@107g%r", &(d._r6));
@ -888,6 +910,8 @@ void TLiquidazione_app::set_pumpam(_DescrItem& d)
{ {
bool printed = FALSE; bool printed = FALSE;
// d._f1 dice se c'era qualcosa sopra nella stessa pagina
real spgn(d._s2); real spgn(d._s2);
real spgn_iva(d._s3); real spgn_iva(d._s3);
@ -961,11 +985,11 @@ void TLiquidazione_app::set_pumpam(_DescrItem& d)
"@77gimposta@91gdetrazione"); "@77gimposta@91gdetrazione");
set_row(4,""); set_row(4,"");
} }
else else if (!d._f1)
set_row(1,""); set_row(1,"");
// form feed // form feed
set_auto_ff(TRUE); if (printed || !d._f1) set_auto_ff(TRUE);
} }
void TLiquidazione_app::set_grand(_DescrItem& d) void TLiquidazione_app::set_grand(_DescrItem& d)