Corretto MI3308: revisionato prospetto agricoltori secondo sistema.

git-svn-id: svn://10.65.10.50/trunk@4341 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
angelo 1997-05-14 10:47:21 +00:00
parent a2e7b5aa4a
commit 76b7707241
2 changed files with 54 additions and 40 deletions

View File

@ -2208,7 +2208,7 @@ void TLiquidazione_app::write_liq(int month, const char* codatts)
else
{
// Tiene aggiornata l'iva vendite
iva_vend += _plm->get_real("R6");
iva_vend += _plm->get_real("R6") + _plm->get_real("R5");
// Tiene aggiornata l'iva acquisti, che andra' rettificata all'uscita
// secondo la formula:
// iva_acq = iva_acq + iva detraibile calcolata
@ -2217,7 +2217,7 @@ void TLiquidazione_app::write_liq(int month, const char* codatts)
// dove plm->R11 = acquisti misti fuori CEE
// pum->R10 = tot. imponibile reg agr. 1
// pum->R11 = tot. imponibile reg agr. 2
iva_acq += _plm->get_real("R7");
iva_acq += _plm->get_real("R7") + _plm->get_real("R5");
acq_noCEE += _plm->get_real("R11");
imp_agr1 += _pum->get_real("R10");
imp_agr2 += _pum->get_real("R11");

View File

@ -1590,7 +1590,7 @@ void TLiquidazione_app::set_grand(_DescrItem& d)
set_row(rw++,"@11gDebito da liquidazione precedente@75g%r", &debt_prec);
set_row(rw++,"@11gRISULTATO@75g%r", &res_debt);
set_row(rw++,"@11gIva sulle operazioni di acquisto@58g%r", &iva_acq);
set_row(rw++,"@11gIva ammessa in detrazione@58g%r", &iva_acq);
if (_isannual || d._f1)
set_row(rw++,"@11gCredito inizio anno@58g%r", &cred_prec);
else
@ -1970,6 +1970,8 @@ void TLiquidazione_app::set_regagr(_DescrItem& d)
real ara = agr_5 + agr_6;
real arn = agr_3 + agr_4;
real agr_ven = agr_1 + agr_2;
real ivadt_amm = agr_1 + agr_3 + ivadt;
// percentuale detraibilita'
// real pdetr = ();
@ -1977,49 +1979,61 @@ void TLiquidazione_app::set_regagr(_DescrItem& d)
set_row(1,"@50gPROSPETTO REGIME AGRICOLO");
set_row(2,"");
set_row(3, "Cessioni in regime agricolo (Tabella A/I)@54g%r",&agr_1);
set_row(3, "Iva vendite beni I parte Tabella A @56g%r",&agr_1);
set_row(4, "");
set_row(5, "Cessioni non in regime agricolo@54g%r",&agr_2);
set_row(5, "Iva vendite beni diversi da I parte Tabella A @56g%r",&agr_2);
set_row(6, "");
set_row(7, "Acquisti in regime agricolo@54g%r",&ara);
set_row(7, "Totale iva sulle operazioni di vendita @56g%r", &agr_ven);
set_row(8, "");
set_row(9, "Acquisti non in regime agricolo@54g%r",&arn);
set_row(10, "... di cui beni ammortizzabili@54g%r",&agr_4);
set_row(11, "");
set_row(12, "Acquisti ad uso promiscuo@54g%r",&agr_7);
set_row(9, "Iva acquisti in regime agricolo@56g%r",&ara);
set_row(10, "");
set_row(11, "Iva acquisti per operazioni diverse I parte Tabella A@56g%r",&arn);
set_row(12, "... di cui beni ammortizzabili@56g%r",&agr_4);
set_row(13, "");
set_row(14, "Iva acquisti ad uso promiscuo@56g%r",&agr_7);
if (/*agr_7.sign() > 0*/ TRUE)
{ /* Il calcolo della percentuale e' stato spostato in describe_agricolo() */
TString up = agr_2i.string(".");
up << " x 100";
TString dn = agr_1i.string(".");
dn << " + " << agr_2i.string(".");
int ln = max(up.len(), dn.len()) + 2;
TString den(ln); den.fill('-');
up.center_just(ln); dn.center_just(ln);
TString dn,riga;
riga = agr_2i.string(".");
if (agr_1i != ZERO)
dn << agr_1i.string(".") << " + ";
dn << riga;
int ln = max(riga.len(),dn.len()) + 2;
int corr = ln % 2 == 0 ? 0 : 1;
TString middle(ln); middle.fill('-');
int xl = 71 - riga.len()/2;
int times_sign = xl + ln/2 + 3; // per allineare i segni moltiplicativi
middle << "@" << times_sign;
middle << "gx 100 = " << pdetr.string(".");
middle << " %";
set_row(13, "");
set_row(14, "@31g%s", (const char*)up);
set_row(15, "Percentuale di detraibilita'@31g%s = @54g%r",
(const char*)den,
&pdetr);
set_row(16, "@31g%s", (const char*)dn);
set_row(15, "");
set_row(16, "@56g%r",&agr_2i);
riga.format("Percentuale delle operazioni diverse@%dg%%s",xl - corr - ln/2);
set_row(17, riga, (const char*)middle);
corr = dn.len() % 2 == 0 ? 0 : 1;
riga.format("@%dg%%s",xl - corr - dn.len()/2);
set_row(18, riga, (const char*)dn);
up = agr_7.string(".");
up << " x " << pdetr.string(".");
dn = "100";
if ((max(up.len(), dn.len()) + 2) > ln)
ln = max(up.len(), dn.len()) + 2;
TString den1(ln); den1.fill('-');
up.center_just(ln); dn.center_just(ln);
set_row(17, "");
set_row(18, "@31g%s", (const char*)up);
set_row(19, "Iva detraibile@31g%s = @54g%r",
(const char*)den1,
&ivadt);
set_row(20, "@31g%s", (const char*)dn);
}
riga = agr_7.string(".");
dn = "100";
ln = max(riga.len(),dn.len()) + 2;
xl = 71 - riga.len()/2;
corr = ln % 2 == 0 ? 0 : 1;
middle.fill('-',ln);
middle << "@" << times_sign;
middle << "gx " << pdetr.string("###");
middle << " = " << ivadt.string(".");
set_row(19, "");
set_row(20, "@56g%r", &agr_7, &pdetr);
riga.format("Iva ammessa in detrazione sugli acquisti promiscui@%dg%%s",xl - corr - ln/2);
set_row(21, riga, (const char*)middle);
corr = dn.len() % 2 == 0 ? 0 : 1;
riga.format("@%dg%%s",xl - corr - dn.len()/2);
set_row(22, riga, (const char*)dn);
set_row(23, "");
set_row(24, "Totale iva ammessa in detrazione@56g%r",&ivadt_amm);
set_auto_ff(TRUE);
set_print_zero(FALSE);