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:
parent
8f25649f72
commit
a453998974
@ -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)
|
||||
{
|
||||
|
Loading…
x
Reference in New Issue
Block a user