'.tr('Descrizione').' '.tr('Q.tà').' '.tr('Prezzo unitario').' '.tr('Iva unitaria').' '.tr('Importo').' '; // Righe documento $righe = $fattura->getRighe(); foreach ($righe as $riga) { $r = $riga->toArray(); // Valori assoluti $r['qta'] = abs($r['qta']); $r['costo_unitario'] = abs($r['costo_unitario']); $r['totale_imponibile'] = ($fattura->isNota() ? -$riga->totale_imponibile : $riga->totale_imponibile); $r['sconto_unitario'] = abs($r['sconto_unitario']); $r['sconto'] = abs($r['sconto']); $r['iva'] = abs($r['iva']); if (empty($r['is_descrizione'])) { $r['descrizione_conto'] = $dbo->fetchOne('SELECT descrizione FROM co_pianodeiconti3 WHERE id = '.prepare($r['idconto']))['descrizione']; } $r['ritenuta_acconto'] = !empty($r['idritenutaacconto']) ? moneyFormat(abs($r['ritenutaacconto']), 2) : null; $r['ritenuta_contributi'] = !empty($r['ritenuta_contributi']) ? moneyFormat(abs($r['ritenuta_contributi']), 2) : null; $r['rivalsa'] = !empty($r['idrivalsainps']) ? moneyFormat(abs($r['rivalsainps']), 2) : null; $extra = ''; $delete = 'delete_riga'; // Articoli if ($riga->isArticolo()) { $r['descrizione'] = (!empty($riga->articolo) ? $riga->articolo->codice.' - ' : '').$r['descrizione']; $extra = ''; $mancanti = 0; } // Intervento if (!empty($r['idintervento'])) { $intervento = $dbo->fetchOne('SELECT num_item,codice_cig,codice_cup,id_documento_fe FROM in_interventi WHERE id = '.prepare($r['idintervento'])); $r['num_item'] = $intervento['num_item']; $r['codice_cig'] = $intervento['codice_cig']; $r['codice_cup'] = $intervento['codice_cup']; $r['id_documento_fe'] = $intervento['id_documento_fe']; $delete = 'unlink_intervento'; } // Preventivi elseif (!empty($r['idpreventivo'])) { $preventivo = $dbo->fetchOne('SELECT num_item,codice_cig,codice_cup,id_documento_fe FROM co_preventivi WHERE id = '.prepare($r['idpreventivo'])); $r['num_item'] = $preventivo['num_item']; $r['codice_cig'] = $preventivo['codice_cig']; $r['codice_cup'] = $preventivo['codice_cup']; $r['id_documento_fe'] = $preventivo['id_documento_fe']; } // Contratti elseif (!empty($r['idcontratto'])) { $contratto = $dbo->fetchOne('SELECT num_item,codice_cig,codice_cup,id_documento_fe FROM co_contratti WHERE id = '.prepare($r['idcontratto'])); $r['num_item'] = $contratto['num_item']; $r['codice_cig'] = $contratto['codice_cig']; $r['codice_cup'] = $contratto['codice_cup']; $r['id_documento_fe'] = $contratto['id_documento_fe']; } // Ordini (IDDOCUMENTO,CIG,CUP) elseif (!empty($r['idordine'])) { $ordine = $dbo->fetchOne('SELECT num_item,codice_cig,codice_cup,id_documento_fe FROM or_ordini WHERE id = '.prepare($r['idordine'])); $r['num_item'] = $ordine['num_item']; $r['codice_cig'] = $ordine['codice_cig']; $r['codice_cup'] = $ordine['codice_cup']; $r['id_documento_fe'] = $ordine['id_documento_fe']; } // Individuazione dei seriali if (!empty($r['abilita_serial'])) { $serials = $riga->serials; $mancanti = $r['qta'] - count($serials); if ($mancanti > 0) { $extra = 'class="warning"'; } else { $mancanti = 0; } } $extra_riga = ''; if (!$r['is_descrizione']) { $extra_riga = tr('_DESCRIZIONE_CONTO__ID_DOCUMENTO__NUMERO_RIGA__CODICE_CIG__CODICE_CUP__RITENUTA_ACCONTO__RITENUTA_CONTRIBUTI__RIVALSA_', [ '_RIVALSA_' => $r['rivalsa'] ? '
Rivalsa: '.$r['rivalsa'] : null, '_RITENUTA_ACCONTO_' => $r['ritenuta_acconto'] ? '
Ritenuta acconto: '.$r['ritenuta_acconto'] : null, '_RITENUTA_CONTRIBUTI_' => $r['ritenuta_contributi'] ? '
Ritenuta contributi: '.$r['ritenuta_contributi'] : null, '_DESCRIZIONE_CONTO_' => $r['descrizione_conto'] ?: null, '_ID_DOCUMENTO_' => $r['id_documento_fe'] ? ' - DOC: '.$r['id_documento_fe'] : null, '_NUMERO_RIGA_' => $r['num_item'] ? ', NRI: '.$r['num_item'] : null, '_CODICE_CIG_' => $r['codice_cig'] ? ', CIG: '.$r['codice_cig'] : null, '_CODICE_CUP_' => $r['codice_cup'] ? ', CUP: '.$r['codice_cup'] : null, ]); } echo ' '.Modules::link($riga->isArticolo() ? Modules::get('Articoli')['id'] : null, $riga->isArticolo() ? $r['idarticolo'] : null, $r['descrizione']).' '.$extra_riga.''; if (!empty($r['abilita_serial'])) { if (!empty($mancanti)) { echo '
'.tr('_NUM_ serial mancanti', [ '_NUM_' => $mancanti, ]).''; } if (!empty($serials)) { echo '
'.tr('SN').': '.implode(', ', $serials); } } // Aggiunta dei riferimenti ai documenti if ($fattura->isNota() && !empty($record['ref_documento'])) { $data = $dbo->fetchArray("SELECT IF(numero_esterno != '', numero_esterno, numero) AS numero, data FROM co_documenti WHERE id = ".prepare($record['ref_documento'])); $text = tr('Rif. fattura _NUM_ del _DATE_', [ '_NUM_' => $data[0]['numero'], '_DATE_' => Translator::dateToLocale($data[0]['data']), ]); echo '
'.Modules::link($id_module, $record['ref_documento'], $text, $text); } $ref = doc_references($r, $dir, ['iddocumento']); if (!empty($ref)) { echo '
'.Modules::link($ref['module'], $ref['id'], $ref['description'], $ref['description']); } echo ' '; if ($riga->isDescrizione()) { echo ' '; } else { // Quantità e unità di misura echo ' '.numberFormat($riga->qta, 'qta').' '.$r['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 la fattura non è pagata echo ' '; if ($record['stato'] != 'Pagato' && $record['stato'] != 'Emessa' && $r['id'] != $fattura->rigaBollo->id) { echo "
"; if ($riga->isArticolo()) { echo " "; } echo "
"; if ($riga->isArticolo() && $r['abilita_serial'] && (empty($r['idddt']) || empty($r['idintervento']))) { echo " fileurl('add_serial.php').'?id_module='.$id_module.'&id_record='.$id_record.'&idriga='.$r['id'].'&idarticolo='.$r['idarticolo']."');\">"; } echo " fileurl('row-edit.php').'?id_module='.$id_module.'&id_record='.$id_record.'&idriga='.$r['id'].'&type='.urlencode(get_class($riga))."');\">
"; } echo '
'; echo ' '; } echo ' '; $imponibile = abs($fattura->imponibile); $sconto = $fattura->sconto; $totale_imponibile = abs($fattura->totale_imponibile); $iva = abs($fattura->iva); $totale = abs($fattura->totale); $netto_a_pagare = abs($fattura->netto); // 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).' '; } // RIVALSA INPS if (!empty($fattura->rivalsa_inps)) { echo ' '; if ($dir == 'entrata') { echo ' '; } echo ' '.tr('Rivalsa', [], ['upper' => true]).' : '.moneyFormat($fattura->rivalsa_inps, 2).' '; } // IVA if (!empty($iva)) { echo ' '; if ($records[0]['split_payment']) { echo ''.tr('Iva a carico del destinatario', [], ['upper' => true]).':'; } else { echo ''.tr('Iva', [], ['upper' => true]).':'; } echo ' '.moneyFormat($iva, 2).' '; } // TOTALE echo ' '.tr('Totale', [], ['upper' => true]).': '.moneyFormat($totale, 2).' '; // RITENUTA D'ACCONTO if (!empty($fattura->ritenuta_acconto)) { echo ' '.tr("Ritenuta d'acconto", [], ['upper' => true]).': '.moneyFormat(abs($fattura->ritenuta_acconto), 2).' '; } // RITENUTA CONTRIBUTI if (!empty($fattura->totale_ritenuta_contributi)) { echo ' '.tr('Ritenuta contributi', [], ['upper' => true]).': '.moneyFormat(abs($fattura->totale_ritenuta_contributi), 2).' '; } // NETTO A PAGARE if ($totale != $netto_a_pagare) { echo ' '.tr('Netto a pagare', [], ['upper' => true]).': '.moneyFormat($netto_a_pagare, 2).' '; } echo ' '; echo ' ';