Aggiornamento elenco righe dei documenti

This commit is contained in:
Thomas Zilio 2020-02-28 11:38:24 +01:00
parent 3b4add5592
commit ec93a1ab62
6 changed files with 207 additions and 244 deletions

View File

@ -66,6 +66,16 @@ abstract class Row extends Description
return ($this->prezzo_unitario_ivato - $this->sconto_unitario_ivato) * $this->qta;
}
/**
* Restituisce l'importo (unitario oppure unitario ivato a seconda dell'impostazione 'Utilizza prezzi di vendita con IVA incorporata') per la riga.
*
* @return float
*/
public function getImportoAttribute()
{
return $this->incorporaIVA() ? $this->totale : $this->totale_imponibile;
}
/**
* Restituisce la spesa (costo_unitario * qta) relativa all'elemento.
*

View File

@ -7,11 +7,10 @@ echo '
<thead>
<tr>
<th>'.tr('Descrizione').'</th>
<th width="120">'.tr('Q.').' <i title="'.tr('da evadere').' / '.tr('totale').'" class="tip fa fa-question-circle-o"></i></th>
<th width="80">'.tr('U.m.').'</th>
<th width="120">'.tr('Costo unitario').'</th>
<th width="120">'.tr('Iva').'</th>
<th width="120">'.tr('Imponibile').'</th>
<th class="text-center tip" width="150" title="'.tr('da evadere').' / '.tr('totale').'">'.tr('Q.').' <i class="fa fa-question-circle-o"></i></th>
<th class="text-center" width="150">'.tr('Prezzo unitario').'</th>
<th class="text-center" width="150">'.tr('Iva unitaria').'</th>
<th class="text-center" width="150">'.tr('Importo').'</th>
<th width="60"></th>
</tr>
</thead>
@ -28,6 +27,7 @@ foreach ($righe as $riga) {
if ($riga->isArticolo()) {
$descrizione = Modules::link('Articoli', $riga->idarticolo, $riga->articolo->codice.' - '.$descrizione);
}
echo '
<td>
'.$descrizione.'
@ -38,48 +38,48 @@ foreach ($righe as $riga) {
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>';
} else {
// Q.tà
// Quantità e unità di misura
echo '
<td class="text-center">
'.Translator::numberToLocale($riga->qta_rimanente, 'qta').' / '.Translator::numberToLocale($riga->qta, 'qta').'
</td>';
<td class="text-center">
'.numberFormat($riga->qta_rimanente, 'qta').' / '.numberFormat($riga->qta, 'qta').' '.$r['um'].'
</td>';
// Unità di misura
// Prezzi unitari
echo '
<td class="text-center">
'.$riga->um.'
</td>';
<td class="text-right">
'.moneyFormat($riga->prezzo_unitario_corrente);
// Costo unitario
echo '
<td class="text-right">
'.moneyFormat($riga->prezzo_unitario);
if ($dir == 'entrata' && $riga->costo_unitario != 0) {
echo '
<br><small>
'.tr('Acquisto').': '.moneyFormat($riga->costo_unitario).'
</small>';
}
if (abs($riga->sconto_unitario) > 0) {
$text = discountInfo($riga);
echo '
<br><small class="label label-danger">'.$text.'</small>';
<br><small class="label label-danger">'.$text.'</small>';
}
echo'
</td>';
// IVA
echo '
<td class="text-right">
'.moneyFormat($riga->iva).'<br>
<small class="help-block">'.$riga->aliquota->descrizione.(($riga->aliquota->esente) ? ' ('.$riga->aliquota->codice_natura_fe.')' : null).'</small>
</td>';
</td>';
// Imponibile
// Iva
echo '
<td class="text-right">
'.moneyFormat($riga->totale_imponibile).'
</td>';
<td class="text-right">
'.moneyFormat($riga->iva_unitaria).'
<br><small class="'.(($riga->aliquota->deleted_at) ? 'text-red' : '').' help-block">'.$riga->aliquota->descrizione.(($riga->aliquota->esente) ? ' ('.$riga->aliquota->codice_natura_fe.')' : null).'</small>
</td>';
// Importo
echo '
<td class="text-right">
'.moneyFormat($riga->importo).'
</td>';
}
// Possibilità di rimuovere una riga solo se il preventivo non è stato pagato
@ -140,7 +140,7 @@ $totale = abs($contratto->totale);
// Totale totale imponibile
echo '
<tr>
<td colspan="5" class="text-right">
<td colspan="4" class="text-right">
<b>'.tr('Imponibile', [], ['upper' => true]).':</b>
</td>
<td class="text-right">
@ -153,7 +153,7 @@ echo '
if (!empty($sconto)) {
echo '
<tr>
<td colspan="5" class="text-right">
<td colspan="4" class="text-right">
<b><span class="tip" title="'.tr('Un importo positivo indica uno sconto, mentre uno negativo indica una maggiorazione').'"> <i class="fa fa-question-circle-o"></i> '.tr('Sconto/maggiorazione', [], ['upper' => true]).':</span></b>
</td>
<td class="text-right">
@ -165,7 +165,7 @@ if (!empty($sconto)) {
// Totale totale imponibile
echo '
<tr>
<td colspan="5" class="text-right">
<td colspan="4" class="text-right">
<b>'.tr('Totale imponibile', [], ['upper' => true]).':</b>
</td>
<td class="text-right">
@ -178,7 +178,7 @@ if (!empty($sconto)) {
// Totale iva
echo '
<tr>
<td colspan="5" class="text-right">
<td colspan="4" class="text-right">
<b>'.tr('Iva', [], ['upper' => true]).':</b>
</td>
<td class="text-right">
@ -190,7 +190,7 @@ echo '
// Totale contratto
echo '
<tr>
<td colspan="5" class="text-right">
<td colspan="4" class="text-right">
<b>'.tr('Totale', [], ['upper' => true]).':</b>
</td>
<td class="text-right">

View File

@ -4,15 +4,16 @@ include_once __DIR__.'/../../core.php';
echo '
<table class="table table-striped table-hover table-condensed table-bordered">
<tr>
<th>'.tr('Descrizione').'</th>
<th width="120">'.tr('Q.').' <i title="'.tr('da evadere').' / '.tr('totale').'" class="tip fa fa-question-circle-o"></i></th>
<th width="80">'.tr('U.m.').'</th>
<th width="120">'.tr('Costo unitario').'</th>
<th width="120">'.tr('Iva').'</th>
<th width="120">'.tr('Imponibile').'</th>
<th width="60"></th>
</tr>
<thead>
<tr>
<th>'.tr('Descrizione').'</th>
<th class="text-center tip" width="150" title="'.tr('da evadere').' / '.tr('totale').'">'.tr('Q.').' <i class="fa fa-question-circle-o"></i></th>
<th class="text-center" width="150">'.tr('Prezzo unitario').'</th>
<th class="text-center" width="150">'.tr('Iva unitaria').'</th>
<th class="text-center" width="150">'.tr('Importo').'</th>
<th width="60"></th>
</tr>
</thead>
<tbody class="sortable">';
@ -72,65 +73,54 @@ foreach ($righe as $riga) {
echo '
</td>';
echo '
<td class="text-center">';
if (empty($r['is_descrizione'])) {
if ($riga->isDescrizione()) {
echo '
<span>'.Translator::numberToLocale($r['qta'] - $r['qta_evasa'], 'qta').' / '.Translator::numberToLocale($r['qta'], 'qta').'</span>';
}
echo '
<td></td>
<td></td>
<td></td>
<td></td>';
} else {
// Quantità e unità di misura
echo '
<td class="text-center">
'.numberFormat($riga->qta_rimanente, 'qta').' / '.numberFormat($riga->qta, 'qta').' '.$r['um'].'
</td>';
// Unità di misura
echo '
<td class="text-center">';
if (empty($r['is_descrizione'])) {
// Prezzi unitari
echo '
'.$r['um'];
}
echo '
</td>';
<td class="text-right">
'.moneyFormat($riga->prezzo_unitario_corrente);
// Costo unitario
echo '
<td class="text-right">';
if (empty($r['is_descrizione'])) {
echo '
'.moneyFormat($r['subtotale'] / $r['qta']);
if ($dir == 'entrata' && $riga->costo_unitario != 0) {
echo '
<br><small>
'.tr('Acquisto').': '.moneyFormat($riga->costo_unitario).'
</small>';
}
if (abs($r['sconto_unitario']) > 0) {
$text = $r['sconto_unitario'] > 0 ? tr('sconto _TOT_ _TYPE_') : tr('maggiorazione _TOT_ _TYPE_');
if (abs($riga->sconto_unitario) > 0) {
$text = discountInfo($riga);
echo '
<br><small class="label label-danger">'.replace($text, [
'_TOT_' => Translator::numberToLocale(abs($r['sconto_unitario'])),
'_TYPE_' => ($r['tipo_sconto'] == 'PRC' ? '%' : currency()),
]).'</small>';
<br><small class="label label-danger">'.$text.'</small>';
}
}
echo '
echo '
</td>';
// Iva
echo '
<td class="text-right">';
if (empty($r['is_descrizione'])) {
// Iva
echo '
'.moneyFormat($r['iva']).'
<br><small class="help-block">'.$r['desc_iva'].'</small>';
}
echo '
<td class="text-right">
'.moneyFormat($riga->iva_unitaria).'
<br><small class="'.(($riga->aliquota->deleted_at) ? 'text-red' : '').' help-block">'.$riga->aliquota->descrizione.(($riga->aliquota->esente) ? ' ('.$riga->aliquota->codice_natura_fe.')' : null).'</small>
</td>';
// Imponibile
echo '
<td class="text-right">';
if (empty($r['is_descrizione'])) {
// Importo
echo '
'.moneyFormat($r['subtotale'] - $r['sconto']);
}
echo '
<td class="text-right">
'.moneyFormat($riga->importo).'
</td>';
}
// Possibilità di rimuovere una riga solo se il ddt non è evaso
echo '
@ -187,7 +177,7 @@ $totale = abs($ddt->totale);
// IMPONIBILE
echo '
<tr>
<td colspan="5" class="text-right">
<td colspan="4" class="text-right">
<b>'.tr('Imponibile', [], ['upper' => true]).':</b>
</td>
@ -202,7 +192,7 @@ echo '
if (!empty($sconto)) {
echo '
<tr>
<td colspan="5" class="text-right">
<td colspan="4" class="text-right">
<b><span class="tip" title="'.tr('Un importo positivo indica uno sconto, mentre uno negativo indica una maggiorazione').'"> <i class="fa fa-question-circle-o"></i> '.tr('Sconto/maggiorazione', [], ['upper' => true]).':</span></b>
</td>
@ -216,7 +206,7 @@ if (!empty($sconto)) {
// TOTALE IMPONIBILE
echo '
<tr>
<td colspan="5" class="text-right">
<td colspan="4" class="text-right">
<b>'.tr('Totale imponibile', [], ['upper' => true]).':</b>
</td>
@ -231,7 +221,7 @@ if (!empty($sconto)) {
// IVA
echo '
<tr>
<td colspan="5" class="text-right">
<td colspan="4" class="text-right">
<b>'.tr('IVA', [], ['upper' => true]).':</b>
</td>
@ -245,7 +235,7 @@ echo '
// TOTALE
echo '
<tr>
<td colspan="5" class="text-right">
<td colspan="4" class="text-right">
<b>'.tr('Totale', [], ['upper' => true]).':</b>
</td>

View File

@ -7,11 +7,10 @@ echo '
<thead>
<tr>
<th>'.tr('Descrizione').'</th>
<th width="120">'.tr('Q.').'</th>
<th width="80">'.tr('U.m.').'</th>
<th width="120">'.tr('Prezzo unitario').'</th>
<th width="120">'.tr('Iva').'</th>
<th width="120">'.tr('Importo').'</th>
<th class="text-center" width="150">'.tr('Q.').'</th>
<th class="text-center" width="150">'.tr('Prezzo unitario').'</th>
<th class="text-center" width="150">'.tr('Iva unitaria').'</th>
<th class="text-center" width="150">'.tr('Importo').'</th>
<th width="60"></th>
</tr>
</thead>
@ -152,36 +151,23 @@ foreach ($righe as $riga) {
echo '
</td>';
echo '
<td class="text-center">';
if (!$riga->isDescrizione()) {
if ($riga->isDescrizione()) {
echo '
'.Translator::numberToLocale($r['qta'], 'qta');
}
echo '
<td></td>
<td></td>
<td></td>
<td></td>';
} else {
// Quantità e unità di misura
echo '
<td class="text-center">
'.numberFormat($riga->qta, 'qta').' '.$r['um'].'
</td>';
// Unità di misura
echo '
<td class="text-center">';
if (!$riga->isDescrizione()) {
// Prezzi unitari
echo '
'.$r['um'];
}
echo '
</td>';
// Prezzi unitari
echo '
<td class="text-right">';
if (!$riga->isDescrizione()) {
echo '
'.moneyFormat($riga->prezzo_unitario);
<td class="text-right">
'.moneyFormat($riga->prezzo_unitario_corrente);
if ($dir == 'entrata' && $riga->costo_unitario != 0) {
echo '
@ -196,34 +182,24 @@ foreach ($righe as $riga) {
echo '
<br><small class="label label-danger">'.$text.'</small>';
}
}
echo '
</td>';
// Iva
echo '
<td class="text-right">';
if (!$riga->isDescrizione()) {
echo '
'.moneyFormat($r['iva']).'
<br><small class="'.(($riga->aliquota->deleted_at) ? 'text-red' : '').' help-block">'.$riga->aliquota->descrizione.(($riga->aliquota->esente) ? ' ('.$riga->aliquota->codice_natura_fe.')' : null).'</small>';
}
echo '
</td>';
// Importo
echo '
<td class="text-right">';
if (!$riga->isDescrizione()) {
// Iva
echo '
'.moneyFormat($r['totale_imponibile']);
}
echo '
<td class="text-right">
'.moneyFormat($riga->iva_unitaria).'
<br><small class="'.(($riga->aliquota->deleted_at) ? 'text-red' : '').' help-block">'.$riga->aliquota->descrizione.(($riga->aliquota->esente) ? ' ('.$riga->aliquota->codice_natura_fe.')' : null).'</small>
</td>';
// Importo
echo '
<td class="text-right">
'.moneyFormat($riga->importo).'
</td>';
}
// Possibilità di rimuovere una riga solo se la fattura non è pagata
echo '
<td class="text-center">';
@ -289,7 +265,7 @@ $netto_a_pagare = abs($fattura->netto);
// IMPONIBILE
echo '
<tr>
<td colspan="5" class="text-right">
<td colspan="4" class="text-right">
<b>'.tr('Imponibile', [], ['upper' => true]).':</b>
</td>
<td align="right">
@ -302,7 +278,7 @@ echo '
if (!empty($sconto)) {
echo '
<tr>
<td colspan="5" class="text-right">
<td colspan="4" class="text-right">
<b><span class="tip" title="'.tr('Un importo positivo indica uno sconto, mentre uno negativo indica una maggiorazione').'"><i class="fa fa-question-circle-o"></i> '.tr('Sconto/maggiorazione', [], ['upper' => true]).':</span></b>
</td>
<td align="right">
@ -314,7 +290,7 @@ if (!empty($sconto)) {
// TOTALE IMPONIBILE
echo '
<tr>
<td colspan="5" class="text-right">
<td colspan="4" class="text-right">
<b>'.tr('Totale imponibile', [], ['upper' => true]).':</b>
</td>
<td align="right">
@ -328,7 +304,7 @@ if (!empty($sconto)) {
if (!empty($fattura->rivalsa_inps)) {
echo '
<tr>
<td colspan="5" class="text-right">';
<td colspan="4" class="text-right">';
if ($dir == 'entrata') {
echo '
@ -349,7 +325,7 @@ if (!empty($fattura->rivalsa_inps)) {
if (!empty($iva)) {
echo '
<tr>
<td colspan="5" class="text-right">';
<td colspan="4" class="text-right">';
if ($records[0]['split_payment']) {
echo '<b>'.tr('Iva a carico del destinatario', [], ['upper' => true]).':</b>';
@ -368,7 +344,7 @@ if (!empty($iva)) {
// TOTALE
echo '
<tr>
<td colspan="5" class="text-right">
<td colspan="4" class="text-right">
<b>'.tr('Totale', [], ['upper' => true]).':</b>
</td>
<td align="right">
@ -381,7 +357,7 @@ echo '
if (!empty($fattura->ritenuta_acconto)) {
echo '
<tr>
<td colspan="5" class="text-right">
<td colspan="4" class="text-right">
<b>'.tr("Ritenuta d'acconto", [], ['upper' => true]).':</b>
</td>
<td align="right">
@ -395,7 +371,7 @@ if (!empty($fattura->ritenuta_acconto)) {
if (!empty($fattura->totale_ritenuta_contributi)) {
echo '
<tr>
<td colspan="5" class="text-right">
<td colspan="4" class="text-right">
<b>'.tr('Ritenuta contributi', [], ['upper' => true]).':</b>
</td>
<td align="right">
@ -409,7 +385,7 @@ if (!empty($fattura->totale_ritenuta_contributi)) {
if ($totale != $netto_a_pagare) {
echo '
<tr>
<td colspan="5" class="text-right">
<td colspan="4" class="text-right">
<b>'.tr('Netto a pagare', [], ['upper' => true]).':</b>
</td>
<td align="right">

View File

@ -7,11 +7,10 @@ echo '
<thead>
<tr>
<th>'.tr('Descrizione').'</th>
<th width="120">'.tr('Q.').' <i title="'.tr('da evadere').' / '.tr('totale').'" class="tip fa fa-question-circle-o"></i></th>
<th width="80">'.tr('U.m.').'</th>
<th width="120">'.tr('Costo unitario').'</th>
<th width="120">'.tr('Iva').'</th>
<th width="120">'.tr('Imponibile').'</th>
<th class="text-center tip" width="150" title="'.tr('da evadere').' / '.tr('totale').'">'.tr('Q.').' <i class="fa fa-question-circle-o"></i></th>
<th class="text-center" width="150">'.tr('Prezzo unitario').'</th>
<th class="text-center" width="150">'.tr('Iva unitaria').'</th>
<th class="text-center" width="150">'.tr('Importo').'</th>
<th width="60"></th>
</tr>
</thead>
@ -74,65 +73,54 @@ foreach ($righe as $riga) {
echo '
</td>';
echo '
<td class="text-center">';
if (empty($r['is_descrizione'])) {
if ($riga->isDescrizione()) {
echo '
<span >'.Translator::numberToLocale($r['qta'] - $r['qta_evasa'], 'qta').' / '.Translator::numberToLocale($r['qta'], 'qta').'</span>';
}
echo '
<td></td>
<td></td>
<td></td>
<td></td>';
} else {
// Quantità e unità di misura
echo '
<td class="text-center">
'.numberFormat($riga->qta_rimanente, 'qta').' / '.numberFormat($riga->qta, 'qta').' '.$r['um'].'
</td>';
// Unità di misura
echo '
<td class="text-center">';
if (empty($r['is_descrizione'])) {
// Prezzi unitari
echo '
'.$r['um'];
}
echo '
</td>';
<td class="text-right">
'.moneyFormat($riga->prezzo_unitario_corrente);
// Costo unitario
echo '
<td class="text-right">';
if (empty($r['is_descrizione'])) {
echo '
'.moneyFormat($r['subtotale'] / $r['qta']);
if ($dir == 'entrata' && $riga->costo_unitario != 0) {
echo '
<br><small>
'.tr('Acquisto').': '.moneyFormat($riga->costo_unitario).'
</small>';
}
if (abs($r['sconto_unitario']) > 0) {
$text = $r['sconto_unitario'] > 0 ? tr('sconto _TOT_ _TYPE_') : tr('maggiorazione _TOT_ _TYPE_');
if (abs($riga->sconto_unitario) > 0) {
$text = discountInfo($riga);
echo '
<br><small class="label label-danger">'.replace($text, [
'_TOT_' => Translator::numberToLocale(abs($r['sconto_unitario'])),
'_TYPE_' => ($r['tipo_sconto'] == 'PRC' ? '%' : currency()),
]).'</small>';
<br><small class="label label-danger">'.$text.'</small>';
}
}
echo '
echo '
</td>';
// Iva
echo '
<td class="text-right">';
if (empty($r['is_descrizione'])) {
// Iva
echo '
'.moneyFormat($r['iva']).'
<br><small class="help-block">'.$r['desc_iva'].'</small>';
}
echo '
<td class="text-right">
'.moneyFormat($riga->iva_unitaria).'
<br><small class="'.(($riga->aliquota->deleted_at) ? 'text-red' : '').' help-block">'.$riga->aliquota->descrizione.(($riga->aliquota->esente) ? ' ('.$riga->aliquota->codice_natura_fe.')' : null).'</small>
</td>';
// Imponibile
echo '
<td class="text-right">';
if (empty($r['is_descrizione'])) {
// Importo
echo '
'.moneyFormat($r['subtotale'] - $r['sconto']);
}
echo '
<td class="text-right">
'.moneyFormat($riga->importo).'
</td>';
}
// Possibilità di rimuovere una riga solo se l'ordine non è evaso
echo '
@ -188,7 +176,7 @@ $totale = abs($ordine->totale);
// IMPONIBILE
echo '
<tr>
<td colspan="5" class="text-right">
<td colspan="4" class="text-right">
<b>'.tr('Imponibile', [], ['upper' => true]).':</b>
</td>
<td align="right">
@ -201,7 +189,7 @@ echo '
if (!empty($sconto)) {
echo '
<tr>
<td colspan="5" class="text-right">
<td colspan="4" class="text-right">
<b><span class="tip" title="'.tr('Un importo positivo indica uno sconto, mentre uno negativo indica una maggiorazione').'"> <i class="fa fa-question-circle-o"></i> '.tr('Sconto/maggiorazione', [], ['upper' => true]).':</span></b>
</td>
<td align="right">
@ -213,7 +201,7 @@ if (!empty($sconto)) {
// TOTALE IMPONIBILE
echo '
<tr>
<td colspan="5" class="text-right">
<td colspan="4" class="text-right">
<b>'.tr('Totale imponibile', [], ['upper' => true]).':</b>
</td>
<td align="right">
@ -226,7 +214,7 @@ if (!empty($sconto)) {
// IVA
echo '
<tr>
<td colspan="5" class="text-right">
<td colspan="4" class="text-right">
<b>'.tr('Iva', [], ['upper' => true]).':</b>
</td>
<td align="right">
@ -238,7 +226,7 @@ echo '
// TOTALE
echo '
<tr>
<td colspan="5" class="text-right">
<td colspan="4" class="text-right">
<b>'.tr('Totale', [], ['upper' => true]).':</b>
</td>
<td align="right">

View File

@ -7,11 +7,10 @@ echo '
<thead>
<tr>
<th>'.tr('Descrizione').'</th>
<th width="120">'.tr('Q.').' <i title="'.tr('da evadere').' / '.tr('totale').'" class="tip fa fa-question-circle-o"></i></th>
<th width="80">'.tr('U.m.').'</th>
<th width="120">'.tr('Costo unitario').'</th>
<th width="120">'.tr('Iva').'</th>
<th width="120">'.tr('Imponibile').'</th>
<th class="text-center tip" width="150" title="'.tr('da evadere').' / '.tr('totale').'">'.tr('Q.').' <i class="fa fa-question-circle-o"></i></th>
<th class="text-center" width="150">'.tr('Prezzo unitario').'</th>
<th class="text-center" width="150">'.tr('Iva unitaria').'</th>
<th class="text-center" width="150">'.tr('Importo').'</th>
<th width="60"></th>
</tr>
</thead>
@ -38,48 +37,48 @@ foreach ($righe as $riga) {
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>';
} else {
// Q.tà
// Quantità e unità di misura
echo '
<td class="text-center">
'.Translator::numberToLocale($riga->qta_rimanente, 'qta').' / '.Translator::numberToLocale($riga->qta, 'qta').'
</td>';
<td class="text-center">
'.numberFormat($riga->qta_rimanente, 'qta').' / '.numberFormat($riga->qta, 'qta').' '.$r['um'].'
</td>';
// Unità di misura
// Prezzi unitari
echo '
<td class="text-center">
'.$riga->um.'
</td>';
<td class="text-right">
'.moneyFormat($riga->prezzo_unitario_corrente);
// Costo unitario
echo '
<td class="text-right">
'.moneyFormat($riga->prezzo_unitario);
if ($dir == 'entrata' && $riga->costo_unitario != 0) {
echo '
<br><small>
'.tr('Acquisto').': '.moneyFormat($riga->costo_unitario).'
</small>';
}
if (abs($riga->sconto_unitario) > 0) {
$text = discountInfo($riga);
echo '
<br><small class="label label-danger">'.$text.'</small>';
<br><small class="label label-danger">'.$text.'</small>';
}
echo'
</td>';
// IVA
echo '
<td class="text-right">
'.moneyFormat($riga->iva).'<br>
<small class="help-block">'.$riga->aliquota->descrizione.(($riga->aliquota->esente) ? ' ('.$riga->aliquota->codice_natura_fe.')' : null).'</small>
</td>';
</td>';
// Imponibile
// Iva
echo '
<td class="text-right">
'.moneyFormat($riga->totale_imponibile).'
</td>';
<td class="text-right">
'.moneyFormat($riga->iva_unitaria).'
<br><small class="'.(($riga->aliquota->deleted_at) ? 'text-red' : '').' help-block">'.$riga->aliquota->descrizione.(($riga->aliquota->esente) ? ' ('.$riga->aliquota->codice_natura_fe.')' : null).'</small>
</td>';
// Importo
echo '
<td class="text-right">
'.moneyFormat($riga->importo).'
</td>';
}
// Possibilità di rimuovere una riga solo se il preventivo non è stato pagato
@ -140,7 +139,7 @@ $totale = abs($preventivo->totale);
// Totale imponibile scontato
echo '
<tr>
<td colspan="5" class="text-right">
<td colspan="4" class="text-right">
<b>'.tr('Imponibile', [], ['upper' => true]).':</b>
</td>
<td class="text-right">
@ -153,7 +152,7 @@ echo '
if (!empty($sconto)) {
echo '
<tr>
<td colspan="5" class="text-right">
<td colspan="4" class="text-right">
<b><span class="tip" title="'.tr('Un importo positivo indica uno sconto, mentre uno negativo indica una maggiorazione').'"> <i class="fa fa-question-circle-o"></i> '.tr('Sconto/maggiorazione', [], ['upper' => true]).':</span></b>
</td>
<td class="text-right">
@ -165,7 +164,7 @@ if (!empty($sconto)) {
// Totale imponibile scontato
echo '
<tr>
<td colspan="5" class="text-right">
<td colspan="4" class="text-right">
<b>'.tr('Totale imponibile', [], ['upper' => true]).':</b>
</td>
<td align="right">
@ -178,7 +177,7 @@ if (!empty($sconto)) {
// Totale iva
echo '
<tr>
<td colspan="5" class="text-right">
<td colspan="4" class="text-right">
<b>'.tr('Iva', [], ['upper' => true]).':</b>
</td>
<td class="text-right">
@ -190,7 +189,7 @@ echo '
// Totale
echo '
<tr>
<td colspan="5" class="text-right">
<td colspan="4" class="text-right">
<b>'.tr('Totale', [], ['upper' => true]).':</b>
</td>
<td class="text-right">
@ -205,7 +204,7 @@ $margine_style = ($margine <= 0 and $preventivo->totale > 0) ? 'background-color
echo '
<tr>
<td colspan="5" class="text-right">
<td colspan="4" class="text-right">
'.tr('Margine (_PRC_%)', [
'_PRC_' => numberFormat($preventivo->margine_percentuale),
]).':