. */ use Modules\Interventi\Intervento; include_once __DIR__.'/init.php'; use Models\Plugin; $block_edit = !empty($note_accredito) || in_array($record['stato'], ['Emessa', 'Pagato', 'Parzialmente pagato']) || !$abilita_genera; $order_row_desc = $_SESSION['module_'.$id_module]['order_row_desc']; $righe = $order_row_desc ? $fattura->getRighe()->sortByDesc('created_at') : $fattura->getRighe(); $colspan = $dir == 'entrata' ? '8' : '7'; echo '
'; if ($dir == 'entrata') { echo ''; } echo ' '; // Righe documento $num = 0; foreach ($righe as $riga) { $show_notifica = []; ++$num; $extra = ''; $mancanti = 0; $delete = 'delete_riga'; // 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; } } // Imposto sfondo rosso alle righe con quantità a 0 if ($riga->qta == 0) { $extra = 'class="danger"'; } $extra_riga = ''; if (!$riga->isDescrizione()) { // Informazioni su CIG, CUP, ... if ($riga->hasOriginalComponent()) { $documento_originale = $riga->getOriginalComponent()->getDocument(); $num_item = $documento_originale['num_item']; $codice_cig = $documento_originale['codice_cig']; $codice_commessa = $documento_originale['codice_commessa']; $codice_cup = $documento_originale['codice_cup']; $id_documento_fe = $documento_originale['id_documento_fe']; } $descrizione_conto = $dbo->fetchOne('SELECT descrizione FROM co_pianodeiconti3 WHERE id = '.prepare($riga->id_conto))['descrizione']; $extra_riga = replace('_DESCRIZIONE_CONTO__ID_DOCUMENTO__NUMERO_RIGA__CODICE_COMMESSA__CODICE_CIG__CODICE_CUP__RITENUTA_ACCONTO__RITENUTA_CONTRIBUTI__RIVALSA_', [ '_RIVALSA_' => $riga->rivalsa_inps ? '
'.tr('Cassa previdenziale').': '.moneyFormat(abs($riga->rivalsa_inps)) : null, '_RITENUTA_ACCONTO_' => $riga->ritenuta_acconto ? '
Ritenuta acconto: '.moneyFormat(abs($riga->ritenuta_acconto)) : null, '_RITENUTA_CONTRIBUTI_' => $riga->ritenuta_contributi ? '
Ritenuta previdenziale: '.moneyFormat(abs($riga->ritenuta_contributi)) : null, '_DESCRIZIONE_CONTO_' => $descrizione_conto ?: ' '.tr('Conto mancante').'', '_ID_DOCUMENTO_' => $id_documento_fe ? ' - DOC: '.$id_documento_fe : null, '_NUMERO_RIGA_' => $num_item ? ', NRI: '.$num_item : null, '_CODICE_COMMESSA_' => $codice_commessa ? ', COM: '.$codice_commessa : null, '_CODICE_CIG_' => $codice_cig ? ', CIG: '.$codice_cig : null, '_CODICE_CUP_' => $codice_cup ? ', CUP: '.$codice_cup : null, ]); } echo ' '; if ($riga->isDescrizione()) { echo ' '; if ($dir == 'entrata') { echo ''; } echo ' '; } else { // Quantità e unità di misura echo ' '; if ($riga->isArticolo()) { $id_anagrafica = $fattura->idanagrafica; $show_notifica = getPrezzoConsigliato($id_anagrafica, $dir, $riga->idarticolo, $riga); } // Costi unitari if ($dir == 'entrata') { if ($riga->isSconto()) { echo ' '; } else { echo ' '; } } // Prezzi unitari if ($riga->isSconto()) { echo ' '; } else { echo ' '; } // Sconto unitario $tipo_sconto = ''; if ($riga['sconto'] == 0) { $tipo_sconto = (setting('Tipo di sconto predefinito') == '%' ? 'PRC' : 'UNT'); } echo ' '; // Iva echo ' '; // Importo echo ' '; } // Possibilità di rimuovere una riga solo se la fattura non è pagata echo ' '; } echo ' '; // Individuazione dei totali $imponibile = $fattura->imponibile; $sconto = -$fattura->sconto; $totale_imponibile = $fattura->totale_imponibile; $iva = $fattura->iva; $totale = $fattura->totale; $sconto_finale = $fattura->getScontoFinale(); $netto_a_pagare = $fattura->netto; $rivalsa_inps = $fattura->rivalsa_inps; $ritenuta_acconto = $fattura->ritenuta_acconto; $ritenuta_contributi = $fattura->totale_ritenuta_contributi; // IMPONIBILE echo ' '; // SCONTO if (!empty($sconto)) { echo ' '; // TOTALE IMPONIBILE echo ' '; } // RIVALSA INPS if (!empty($rivalsa_inps)) { echo ' '; } // IVA if (!empty($iva)) { echo ' '; } // TOTALE echo ' '; // RITENUTA D'ACCONTO if (!empty($ritenuta_acconto)) { echo ' '; } // RITENUTA PREVIDENZIALE if (!empty($ritenuta_contributi)) { echo ' '; } // SCONTO IN FATTURA if (!empty($sconto_finale)) { echo ' '; } // NETTO A PAGARE if ($totale != $netto_a_pagare) { echo ' '; } // Provvigione if (!empty($fattura->provvigione)) { echo ' '; echo ' '; } echo '
'; if (!$block_edit && sizeof($righe) > 0) { echo ' '; } echo ' '.tr('#').' '.tr('Descrizione').' '.tr('Q.tà').''.tr('Costo unitario').''.tr('Prezzo unitario').' '.tr('Sconto unitario').' '.tr('Iva unitaria').' '.tr('Importo').'
'; if (!$block_edit) { echo ' '; } echo ' '.$num.' '; // Informazioni aggiuntive sulla destra echo ' '.$extra_riga; // Aggiunta dei riferimenti ai documenti if ($riga->hasOriginalComponent()) { echo '
'.reference($riga->getOriginalComponent()->getDocument(), tr('Origine')); } // Fix per righe da altre componenti degli Interventi elseif (!empty($riga->idintervento)) { echo '
'.reference(Intervento::find($riga->idintervento), tr('Origine')); } echo '
'; if ($riga->isArticolo()) { echo Modules::link('Articoli', $riga->idarticolo, $riga->codice.' - '.$riga->descrizione); } else { echo nl2br($riga->descrizione); } if ($riga->isArticolo() && !empty($riga->articolo->deleted_at)) { echo '
'.tr('Articolo eliminato', []).''; } if ($riga->isArticolo() && empty($riga->articolo->codice)) { echo '
'.tr('_DATO_ articolo mancante', [ '_DATO_' => 'Codice', ]).''; } 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); } } if ($riga->isArticolo() && !empty($riga->articolo->barcode)) { echo '
'.$riga->articolo->barcode.''; } if (!empty($riga->note)) { if (strlen($riga->note) > 50) { $prima_parte = substr($riga->note, 0, (strpos($riga->note, ' ', 50) < 60) && (strpos($riga->note, ' ', 50) != 0) ? strpos($riga->note, ' ', 50) : 50); $seconda_parte = substr($riga->note, (strpos($riga->note, ' ', 50) < 60) && (strpos($riga->note, ' ', 50) != 0) ? strpos($riga->note, ' ', 50) : 50); $stringa_modificata = ''.$prima_parte.' '.$seconda_parte.'...'; } else { $stringa_modificata = ''.$riga->note.''; } echo '
'.nl2br($stringa_modificata).'
'; } echo '
{[ "type": "number", "name": "qta_'.$riga->id.'", "value": "'.$riga->qta.'", "min-value": "0", "onchange": "aggiornaInline($(this).closest(\'tr\').data(\'id\'))", "disabled": "'.($riga->isSconto() ? 1 : 0).'", "disabled": "'.($block_edit || $riga->isSconto()).'" ]} {[ "type": "number", "name": "costo_'.$riga->id.'", "value": "'.$riga->costo_unitario.'", "onchange": "aggiornaInline($(this).closest(\'tr\').data(\'id\'))", "icon-after": "'.currency().'", "disabled": "'.$block_edit.'" ]} '.($show_notifica['show_notifica_prezzo'] ? '' : '').' {[ "type": "number", "name": "prezzo_'.$riga->id.'", "value": "'.$riga->prezzo_unitario_corrente.'", "onchange": "aggiornaInline($(this).closest(\'tr\').data(\'id\'))", "icon-before": "'.(abs($riga->provvigione_unitaria) > 0 ? '' : '').'", "icon-after": "'.currency().'", "disabled": "'.$block_edit.'" ]} '.($show_notifica['show_notifica_sconto'] ? '' : '').' {[ "type": "number", "name": "sconto_'.$riga->id.'", "value": "'.($riga->sconto_percentuale ?: $riga->sconto_unitario_corrente).'", "onchange": "aggiornaInline($(this).closest(\'tr\').data(\'id\'))", "icon-after": "'.($riga->isSconto() ? currency() : 'choice|untprc|'.($tipo_sconto ?: $riga->tipo_sconto)).'", "disabled": "'.$block_edit.'" ]} '.moneyFormat($riga->iva_unitaria_scontata).'
'.$riga->aliquota->getTranslation('name').' ('.$riga->aliquota->esigibilita.') '.(($riga->aliquota->esente) ? ' ('.$riga->aliquota->codice_natura_fe.')' : null).'
'.moneyFormat($riga->importo).'
'; if (hasArticoliFiglio($riga->idarticolo)) { echo ' '; } if ($riga->isArticolo() && !empty($riga->abilita_serial)) { echo ' '; } if ($record['stato'] != 'Pagato' && $record['stato'] != 'Emessa') { if ($riga->id != $fattura->rigaBollo->id) { echo ' '; } echo ' '; } echo '
'.tr('Imponibile', [], ['upper' => true]).': '.moneyFormat($imponibile, 2).'
'.tr('Sconto/maggiorazione', [], ['upper' => true]).': '.moneyFormat($sconto, 2).'
'.tr('Totale imponibile', [], ['upper' => true]).': '.moneyFormat($totale_imponibile, 2).'
'; if ($dir == 'entrata') { $descrizione_rivalsa = $database->fetchOne('SELECT CONCAT_WS(\' - \', codice, descrizione) AS descrizione FROM fe_tipo_cassa WHERE codice = '.prepare(setting('Tipo Cassa Previdenziale'))); echo ' '; } echo ' '.tr('Cassa previdenziale', [], ['upper' => true]).' : '.moneyFormat($rivalsa_inps, 2).'
'.tr('Totale imponibile', [], ['upper' => true]).' : '.moneyFormat($totale_imponibile + $rivalsa_inps, 2).'
'; if ($records[0]['split_payment']) { echo ''.tr('Iva a carico del destinatario', [], ['upper' => true]).':'; } else { echo ''.tr('Iva', [], ['upper' => true]).':'; } echo ' '.moneyFormat($iva, 2).'
'.tr('Totale documento', [], ['upper' => true]).': '.moneyFormat($totale, 2).'
'.tr("Ritenuta d'acconto", [], ['upper' => true]).': '.moneyFormat($ritenuta_acconto, 2).'
'.tr('Ritenuta previdenziale', [], ['upper' => true]).': '.moneyFormat($ritenuta_contributi, 2).'
'.tr('Sconto in fattura', [], ['upper' => true]).': '.moneyFormat($sconto_finale, 2).'
'.tr('Netto a pagare', [], ['upper' => true]).': '.moneyFormat($netto_a_pagare, 2).'
'.tr('Provvigioni').': '.moneyFormat($fattura->provvigione).'
'.tr('Netto da provvigioni').': '.moneyFormat($fattura->totale_imponibile - $fattura->provvigione).'
'; if (!$block_edit && sizeof($righe) > 0) { echo '
'; if ($dir == 'entrata') { echo ' '; } echo '
'; } echo '
';