. */ include_once __DIR__.'/init.php'; use Models\Upload; use Plugins\ExportFE\FatturaElettronica; use Plugins\ExportFE\Interaction; use Util\XML; /* Per le PA EC02 e EC01 sono dei stati successivi a NE il quale a sua volta è successivo a RC. EC01 e EC02 sono definiti all'interno della ricevuta di NE che di fatto indica il rifiuto o l'accettazione. */ $abilita_genera = empty($fattura->codice_stato_fe) || in_array($fattura->codice_stato_fe, ['GEN', 'NS', 'EC02', 'ERR']); $ricevuta_principale = $fattura->getRicevutaPrincipale(); if (!empty($fattura_pa)) { $disabled = false; $generated = $fattura_pa->isGenerated(); } else { $disabled = true; $generated = false; } $checks = FatturaElettronica::controllaFattura($fattura); if (!empty($checks)) { echo '

'.tr('Prima di procedere alla generazione della fattura elettronica completa le seguenti informazioni').':

'; foreach ($checks as $check) { echo '

'.$check['name'].' '.$check['link'].'

'; } echo '
'; } echo '

'.tr("Per effettuare la generazione dell'XML della fattura elettronica clicca sul pulsante _BTN_", [ '_BTN_' => 'Genera', ]).'. '.tr('Successivamente sarà possibile procedere alla visualizzazione e al download della fattura generata attraverso i pulsanti dedicati').'.

'.tr("Tutti gli allegati inseriti all'interno della categoria \"Allegati Fattura Elettronica\" saranno inclusi nell'XML").'.


'; echo '
'; $file = $generated ? Upload::where('filename', $fattura_pa->getFilename()) ->where('id_record', $id_record) ->first() : null; echo ' '.tr('Visualizza').' '; // Scelgo quando posso inviarla $send = Interaction::isEnabled() && $generated && in_array($record['codice_stato_fe'], ['GEN', 'ERVAL', 'ERR']); echo ' '.tr('Scarica').' '; echo ' '; $verify = Interaction::isEnabled() && $generated; echo '
'; echo '

'; // Messaggio informativo sulla ricevuta principale impostata if (!empty($record['codice_stato_fe'])) { if ($record['codice_stato_fe'] == 'GEN') { echo '
'.tr("La fattura è stata generata ed è pronta per l'invio").'.
'; } else { $stato_fe = database()->fetchOne('SELECT codice, descrizione, icon FROM fe_stati_documento WHERE codice='.prepare($record['codice_stato_fe'])); if (in_array($stato_fe['codice'], ['EC01', 'RC'])) { $class = 'success'; } elseif (in_array($stato_fe['codice'], ['ERVAL', 'GEN', 'MC', 'WAIT', 'NE'])) { $class = 'warning'; } else { $class = 'danger'; } echo '
'.Translator::timestampToLocale($record['data_stato_fe']); if (!empty($ricevuta_principale)) { echo ' '.tr('Visualizza ricevuta').' '; } echo '
'.$stato_fe['codice'].' - '.$stato_fe['descrizione'].' '.(!empty($record['descrizione_ricevuta_fe']) ? '
'.tr('Note', [], ['upper' => true]).': '.$record['descrizione_ricevuta_fe'] : '').'
'; // Lettura della ricevuta if (!empty($ricevuta_principale)) { $contenuto_ricevuta = XML::readFile($ricevuta_principale->filepath); $lista_errori = $contenuto_ricevuta['ListaErrori']; if (!empty($lista_errori)) { echo '

'.tr('Elenco degli errori').'

'; $lista_errori = $lista_errori[0] ? $lista_errori : [$lista_errori]; foreach ($lista_errori as $errore) { $errore = $errore['Errore']; echo ' '; } echo '
'.tr('Codice').' '.tr('Descrizione').'
'.$errore['Codice'].' '.$errore['Descrizione'].'
'; } } } } echo ' ';