'.tr('#').' '.tr('Descrizione').' '.tr('Q.tà disponibile').' '.tr('Q.tà richiesta').' '.tr('Prezzo unitario').' '.tr('Iva unitaria').' '.tr('Importo').' '; // Righe documento $righe = $ordine->getRighe(); foreach ($righe as $riga) { $extra = ''; $mancanti = 0; // Individuazione dei seriali if ($riga->isArticolo() && !empty($riga->abilita_serial)) { $serials = $riga->serials; $mancanti = abs($riga->qta) - count($serials); if ($mancanti > 0) { $extra = 'class="warning"'; } else { $mancanti = 0; } } echo ' '; echo ' '.(($riga->order) + 1).' '; if ($riga->isArticolo()) { echo ' '.Modules::link('Articoli', $riga->idarticolo, $riga->codice.' - '.$riga->descrizione); } else { echo nl2br($riga->descrizione); } if ($riga->isArticolo() && !empty($riga->abilita_serial)) { if (!empty($mancanti)) { echo '
'.tr('_NUM_ serial mancanti', [ '_NUM_' => $mancanti, ]).''; } if (!empty($serials)) { echo '
'.tr('SN').': '.implode(', ', $serials); } } // Disponibilità articolo $disponibile = $riga->articolo->qta >= ($riga->qta - $riga->qta_evasa); echo ' '; if ($riga->isArticolo()) { echo ( $disponibile ? ' ' : ' ').numberFormat($riga->articolo->qta).' '.$riga->um; } else { echo '-'; } echo ' '; // Aggiunta dei riferimenti ai documenti if ($riga->hasOriginal()) { echo '
'.reference($riga->getOriginal()->parent); } echo ' '; if ($riga->isDescrizione()) { echo ' '; } else { // Quantità e unità di misura echo ' '.numberFormat($riga->qta_rimanente, 'qta').' / '.numberFormat($riga->qta, 'qta').' '.$riga->um.' '; // Prezzi unitari echo ' '.moneyFormat($riga->prezzo_unitario_corrente); if ($dir == 'entrata' && $riga->costo_unitario != 0) { echo '
'.tr('Acquisto').': '.moneyFormat($riga->costo_unitario).' '; } if (abs($riga->sconto_unitario) > 0) { $text = discountInfo($riga); echo '
'.$text.''; } echo ' '; // Iva echo ' '.moneyFormat($riga->iva_unitaria).'
'.$riga->aliquota->descrizione.(($riga->aliquota->esente) ? ' ('.$riga->aliquota->codice_natura_fe.')' : null).' '; // Importo echo ' '.moneyFormat($riga->importo).' '; } // Possibilità di rimuovere una riga solo se l'ordine non è evaso echo ' '; if ($record['flag_completato'] == 0) { echo '
'; if ($riga->isArticolo() && !empty($riga->abilita_serial)) { echo ' '; } echo '
'; } echo ' '; } echo ' '; // Calcoli $imponibile = abs($ordine->imponibile); $sconto = $ordine->sconto; $totale_imponibile = abs($ordine->totale_imponibile); $iva = abs($ordine->iva); $totale = abs($ordine->totale); // IMPONIBILE echo ' '.tr('Imponibile', [], ['upper' => true]).': '.moneyFormat($imponibile, 2).' '; // SCONTO if (!empty($sconto)) { echo ' '.tr('Sconto/maggiorazione', [], ['upper' => true]).': '.moneyFormat($sconto, 2).' '; // TOTALE IMPONIBILE echo ' '.tr('Totale imponibile', [], ['upper' => true]).': '.moneyFormat($totale_imponibile, 2).' '; } // IVA echo ' '.tr('Iva', [], ['upper' => true]).': '.moneyFormat($iva, 2).' '; // TOTALE echo ' '.tr('Totale', [], ['upper' => true]).': '.moneyFormat($totale, 2).' '; echo ' '; echo ' ';