Gestione righe descrizione nell'xml

This commit is contained in:
Luca 2019-01-09 19:12:49 +01:00
parent 556da1bddf
commit 2b0772fe29
3 changed files with 37 additions and 15 deletions

View File

@ -1402,6 +1402,10 @@ class FatturaElettronica
$riga['qta'] = abs($riga['qta']); $riga['qta'] = abs($riga['qta']);
$riga['sconto'] = abs($riga['sconto']); $riga['sconto'] = abs($riga['sconto']);
if (!empty($riga['is_descrizione'])){
$riga['idiva'] = $database->fetchOne('SELECT `idiva` FROM `co_righe_documenti` WHERE `is_descrizione` = 0 AND `iddocumento` = '.prepare($documento['id']))['idiva'];
}
$riga['qta'] = (!empty($riga['qta'])) ? $riga['qta'] : 1; $riga['qta'] = (!empty($riga['qta'])) ? $riga['qta'] : 1;
$prezzo_unitario = $riga['subtotale'] / $riga['qta']; $prezzo_unitario = $riga['subtotale'] / $riga['qta'];

View File

@ -27,6 +27,8 @@ $citta = $sede['Comune'];
$provincia = $sede['Provincia']; $provincia = $sede['Provincia'];
echo ' echo '
<div class="row" >
<div class="col-md-6" >
<h4>'. <h4>'.
$ragione_sociale.'<br> $ragione_sociale.'<br>
<small> <small>
@ -34,7 +36,19 @@ echo '
'.(!empty($partita_iva) ? (tr('Partita IVA').': '.$partita_iva.'<br>') : '').' '.(!empty($partita_iva) ? (tr('Partita IVA').': '.$partita_iva.'<br>') : '').'
'.$cap.' '.$citta.' ('.$provincia.')<br> '.$cap.' '.$citta.' ('.$provincia.')<br>
</small> </small>
</h4><br>'; </h4>
</div>';
echo '
<div class="col-md-6">
<h4>'.$fattura_pa->getBody()['DatiGenerali']['DatiGeneraliDocumento']['Numero'].'<br>
<small>
'.database()->fetchOne('SELECT CONCAT("('.$fattura_pa->getBody()['DatiGenerali']['DatiGeneraliDocumento']['TipoDocumento'].') ", descrizione) AS descrizione FROM fe_tipi_documento WHERE codice = '.prepare($fattura_pa->getBody()['DatiGenerali']['DatiGeneraliDocumento']['TipoDocumento']))['descrizione'].'
<br>'.Translator::dateToLocale($fattura_pa->getBody()['DatiGenerali']['DatiGeneraliDocumento']['Data']).'
<br>'.$fattura_pa->getBody()['DatiGenerali']['DatiGeneraliDocumento']['Divisa'].'
</small>
</h4>
</div>
</div>';
// Se il blocco DatiPagamento è valorizzato (opzionale) // Se il blocco DatiPagamento è valorizzato (opzionale)
if (!empty($fattura_pa->getBody()['DatiPagamento'])){ if (!empty($fattura_pa->getBody()['DatiPagamento'])){
@ -48,10 +62,11 @@ if (!empty($fattura_pa->getBody()['DatiPagamento'])){
echo ' echo '
<h4>'.tr('Pagamento').'</h4> <h4>'.tr('Pagamento').'</h4>
<p>'.tr('La fattura importata presenta _NUM_ rate 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'),
]).':</p> ]).':</p>
<ul>'; <ol>';
// Scadenze di pagamento // Scadenze di pagamento
foreach ($metodi as $metodo) { foreach ($metodi as $metodo) {
@ -59,11 +74,12 @@ if (!empty($fattura_pa->getBody()['DatiPagamento'])){
echo ' echo '
<li>'; <li>';
//nodo opzionale per il blocco DatiPagamento //DataScadenzaPagamento è un nodo opzionale per il blocco DatiPagamento
if (!empty($metodo['DataScadenzaPagamento'])){ if (!empty($metodo['DataScadenzaPagamento'])){
echo Translator::dateToLocale($metodo['DataScadenzaPagamento']).' '; echo Translator::dateToLocale($metodo['DataScadenzaPagamento']).' ';
} }
echo Translator::numberToLocale($metodo['ImportoPagamento']).' &euro; ';
echo '('.((!empty($metodo['ModalitaPagamento'])) ? database()->fetchOne('SELECT descrizione FROM fe_modalita_pagamento WHERE codice = '.prepare($metodo['ModalitaPagamento']))['descrizione'] : '' ).')'; echo '('.((!empty($metodo['ModalitaPagamento'])) ? database()->fetchOne('SELECT descrizione FROM fe_modalita_pagamento WHERE codice = '.prepare($metodo['ModalitaPagamento']))['descrizione'] : '' ).')';
@ -72,7 +88,7 @@ if (!empty($fattura_pa->getBody()['DatiPagamento'])){
} }
echo ' echo '
</ul>'; </ol>';
} }

View File

@ -300,11 +300,13 @@ class FatturaElettronica
$dati_generali = $this->getBody()['DatiGenerali']['DatiGeneraliDocumento']; $dati_generali = $this->getBody()['DatiGenerali']['DatiGeneraliDocumento'];
$data = $dati_generali['Data']; $data = $dati_generali['Data'];
$tipo = $dati_generali['TipoDocumento'];
$numero_esterno = $dati_generali['Numero']; $numero_esterno = $dati_generali['Numero'];
$progressivo_invio = $this->getHeader()['DatiTrasmissione']['ProgressivoInvio']; $progressivo_invio = $this->getHeader()['DatiTrasmissione']['ProgressivoInvio'];
$descrizione_tipo = empty($this->getBody()['DatiGenerali']['DatiTrasporto']) ? 'Fattura immediata di acquisto' : 'Fattura accompagnatoria di acquisto'; //$descrizione_tipo = empty($this->getBody()['DatiGenerali']['DatiTrasporto']) ? 'Fattura immediata di acquisto' : 'Fattura accompagnatoria di acquisto';
$tipo = TipoFattura::where('descrizione', $descrizione_tipo)->first(); //$tipo = TipoFattura::where('descrizione', $descrizione_tipo)->first();
$fattura = Fattura::build($anagrafica, $tipo, $data, $id_sezionale); $fattura = Fattura::build($anagrafica, $tipo, $data, $id_sezionale);
$this->fattura = $fattura; $this->fattura = $fattura;