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

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