Patch level : 10.0

Files correlati     : ve0
Ricompilazione Demo : [ ]
Commento            :
Rivisto calcolo peso CONAI con esenzione


git-svn-id: svn://10.65.10.50/trunk@19919 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
guy 2010-01-13 16:19:06 +00:00
parent 8f25649f72
commit a453998974

View File

@ -2759,19 +2759,32 @@ void TDocumento::update_spese_aut(TString_array & spese_aut, bool preserve_old,
// Calcola il peso in Kg degli imballaggi di una data categoria CONAI
real TDocumento::calc_conai_qta(TCONAI_class type)
{
ofstream conaicaz("conai.txt");
{
real qta;
FOR_EACH_PHYSICAL_RDOC(*this, i, r) if (r->is_merce() || r->is_omaggio())
{
const real row_qta = r->calc_conai_qta(type);
if (!row_qta.is_zero())
{
conaicaz << "Riga(" << i << ")=" << row_qta << endl;
qta += row_qta;
if (type == CONAI_CAR)
{
ofstream conaicaz("conai.txt");
FOR_EACH_PHYSICAL_RDOC(*this, i, r) if (r->is_merce() || r->is_omaggio())
{
const real row_qta = r->calc_conai_qta(type);
if (!row_qta.is_zero())
{
conaicaz << "Riga(" << i << ")=" << row_qta << endl;
qta += row_qta;
}
}
}
else
{
FOR_EACH_PHYSICAL_RDOC(*this, i, r) if (r->is_merce() || r->is_omaggio())
{
const real row_qta = r->calc_conai_qta(type);
if (!row_qta.is_zero())
qta += row_qta;
}
}
return qta;
}
@ -2845,15 +2858,22 @@ void TDocumento::update_conai()
FOR_EACH_CONFIGURED_CONAI_CLASS(ct) if (!updated[ct])
{
const real perc_esenz = cfven.get_real(__conai_cf_names[ct]);
const bool cli_esente = (esponi_esenti) && (perc_esenz == CENTO);
real qta = calc_conai_qta(ct);
const bool cli_esente = (esponi_esenti) && (perc_esenz >= CENTO);
const real qta_lorda = calc_conai_qta(ct);
real qta = qta_lorda;
if (!cli_esente && !qta_lorda.is_zero() && !perc_esenz.is_zero())
{
qta = qta_lorda * (CENTO - perc_esenz) / CENTO; // More precise
qta.round(3);
}
ofstream conaicaz("conai.txt", ios::app);
conaicaz << "Lordo=" << qta << endl;
conaicaz << "Esenzione=" << perc_esenz << endl;
if (!cli_esente && !qta.is_zero() && !perc_esenz.is_zero())
qta = qta * (CENTO - perc_esenz) / CENTO; // More precise
conaicaz << "Netto=" << qta << endl;
if (ct == CONAI_CAR)
{
ofstream conaicaz("conai.txt", ios::app);
conaicaz << "Lordo=" << qta_lorda << endl
<< "Esenzione=" << perc_esenz << endl
<< "Netto=" << qta << endl;
}
if (qta > ZERO)
{