This commit is contained in:
Dasc3er 2021-01-28 20:24:32 +01:00
parent 19c733d1ba
commit 22d71a40d2
2 changed files with 23 additions and 9 deletions

View File

@ -112,8 +112,15 @@ class Scadenze
{ {
$xml = XML::read($this->fattura->getXML()); $xml = XML::read($this->fattura->getXML());
$pagamenti = $xml['FatturaElettronicaBody']['DatiPagamento']; $fattura_body = $xml['FatturaElettronicaBody'];
$pagamenti = isset($pagamenti[0]) ? $pagamenti : [$pagamenti];
// Gestione per fattura elettroniche senza pagamento definito
$pagamenti = [];
if (isset($fattura_body['DatiPagamento'])) {
$pagamenti = $fattura_body['DatiPagamento'];
$pagamenti = isset($pagamenti[0]) ? $pagamenti : [$pagamenti];
}
foreach ($pagamenti as $pagamento) { foreach ($pagamenti as $pagamento) {
$rate = $pagamento['DettaglioPagamento']; $rate = $pagamento['DettaglioPagamento'];
$rate = isset($rate[0]) ? $rate : [$rate]; $rate = isset($rate[0]) ? $rate : [$rate];

View File

@ -110,13 +110,20 @@ $citta = $sede['comune'];
$provincia = $sede['provincia']; $provincia = $sede['provincia'];
// Dati generali // Dati generali
$dati_generali = $fattura_pa->getBody()['DatiGenerali']['DatiGeneraliDocumento']; $fattura_body = $fattura_pa->getBody();
$dati_generali = $fattura_body['DatiGenerali']['DatiGeneraliDocumento'];
$tipo_documento = $database->fetchOne('SELECT CONCAT("(", codice, ") ", descrizione) AS descrizione FROM fe_tipi_documento WHERE codice = '.prepare($dati_generali['TipoDocumento']))['descrizione']; $tipo_documento = $database->fetchOne('SELECT CONCAT("(", codice, ") ", descrizione) AS descrizione FROM fe_tipi_documento WHERE codice = '.prepare($dati_generali['TipoDocumento']))['descrizione'];
$pagamenti = $fattura_pa->getBody()['DatiPagamento']; // Gestione per fattura elettroniche senza pagamento definito
$pagamenti = isset($pagamenti[0]) ? $pagamenti : [$pagamenti]; $pagamenti = [];
$metodi = $pagamenti[0]['DettaglioPagamento']; if (isset($fattura_body['DatiPagamento'])) {
$pagamenti = $fattura_body['DatiPagamento'];
$pagamenti = isset($pagamenti[0]) ? $pagamenti : [$pagamenti];
}
// Individuazione metodo di pagamento di base
$metodi = isset($pagamenti[0]['DettaglioPagamento']) ? $pagamenti[0]['DettaglioPagamento'] : [];
$metodi = isset($metodi[0]) ? $metodi : [$metodi]; $metodi = isset($metodi[0]) ? $metodi : [$metodi];
$codice_modalita_pagamento = $metodi[0]['ModalitaPagamento']; $codice_modalita_pagamento = $metodi[0]['ModalitaPagamento'];
@ -164,9 +171,9 @@ if (!empty($pagamenti)) {
<h4>'.tr('Pagamento').'</h4> <h4>'.tr('Pagamento').'</h4>
<p>'.tr('La fattura importata presenta _NUM_ rat_E_ di pagamento con le seguenti scadenze', [ <p>'.tr('La fattura importata presenta _NUM_ rat_E_ di pagamento con le seguenti scadenze', [
'_NUM_' => count($metodi), '_NUM_' => count($metodi),
'_E_' => ((count($metodi) > 1) ? 'e' : 'a'), '_E_' => ((count($metodi) > 1) ? 'e' : 'a'),
]).':</p> ]).':</p>
<ol>'; <ol>';
foreach ($pagamenti as $pagamento) { foreach ($pagamenti as $pagamento) {