'; // Fornitore $fornitore = $fattura_pa->getHeader()['CedentePrestatore']['DatiAnagrafici']; $ragione_sociale = $fornitore['Anagrafica']['Denominazione'] ?: $fornitore['Anagrafica']['Nome'].' '.$fornitore['Anagrafica']['Cognome']; $codice_fiscale = $fornitore['CodiceFiscale']; $partita_iva = $fornitore['IdFiscaleIVA']['IdCodice']; $sede = $fattura_pa->getHeader()['CedentePrestatore']['Sede']; $cap = $sede['CAP']; $citta = $sede['Comune']; $provincia = $sede['Provincia']; // Dati generali $dati_generali = $fattura_pa->getBody()['DatiGenerali']['DatiGeneraliDocumento']; $descrizione_documento = database()->fetchOne('SELECT CONCAT("(", codice, ") ", descrizione) AS descrizione FROM fe_tipi_documento WHERE codice = '.prepare($dati_generali['TipoDocumento'])); echo '

'. $ragione_sociale.'
'.(!empty($codice_fiscale) ? (tr('Codice Fiscale').': '.$codice_fiscale.'
') : '').' '.(!empty($partita_iva) ? (tr('Partita IVA').': '.$partita_iva.'
') : '').' '.$cap.' '.$citta.' ('.$provincia.')

'.$dati_generali['Numero'].'
'.database()->fetchOne('SELECT CONCAT("(", codice, ") ", descrizione) AS descrizione FROM fe_tipi_documento WHERE codice = '.prepare($dati_generali['TipoDocumento']))['descrizione'].'
'.Translator::dateToLocale($dati_generali['Data']).'
'.$dati_generali['Divisa'].'

'; // Tipo del documento $query = 'SELECT id, CONCAT (descrizione, IF((codice_tipo_documento_fe IS NULL), \'\', CONCAT( \' (\', codice_tipo_documento_fe, \')\' ) )) as descrizione FROM co_tipidocumento WHERE dir = \'uscita\''; if (database()->fetchNum('SELECT id FROM co_tipidocumento WHERE codice_tipo_documento_fe = '.prepare($dati_generali['TipoDocumento']))) { $query .= ' AND codice_tipo_documento_fe = '.prepare($dati_generali['TipoDocumento']); } echo '
{[ "type": "select", "label": "'.tr('Tipo fattura').'", "name": "id_tipo", "required": 1, "values": "query='.$query.'" ]}
'; // Sezionale echo '
{[ "type": "select", "label": "'.tr('Sezionale').'", "name": "id_segment", "required": 1, "values": "query=SELECT id, name AS descrizione FROM zz_segments WHERE id_module='.$id_module.' ORDER BY name", "value": "'.$_SESSION['module_'.$id_module]['id_segment'].'" ]}
'; // Blocco DatiPagamento è valorizzato (opzionale) $pagamenti = $fattura_pa->getBody()['DatiPagamento']; if (!empty($pagamenti)) { $metodi = $pagamenti['DettaglioPagamento']; $metodi = isset($metodi[0]) ? $metodi : [$metodi]; echo '

'.tr('Pagamento').'

'.tr('La fattura importata presenta _NUM_ rat_E_ di pagamento con le seguenti scadenze', [ '_NUM_' => count($metodi), '_E_' => ((count($metodi) > 1) ? 'e' : 'a'), ]).':

    '; // Scadenze di pagamento foreach ($metodi as $metodo) { echo '
  1. '; //DataScadenzaPagamento è un nodo opzionale per il blocco DatiPagamento if (!empty($metodo['DataScadenzaPagamento'])) { echo Translator::dateToLocale($metodo['DataScadenzaPagamento']).' '; } $descrizione = !empty($metodo['ModalitaPagamento']) ? database()->fetchOne('SELECT descrizione FROM fe_modalita_pagamento WHERE codice = '.prepare($metodo['ModalitaPagamento']))['descrizione'] : ''; echo Translator::numberToLocale($metodo['ImportoPagamento']).' € ('.$descrizione.')
  2. '; } echo '
'; } // prc '.($pagamenti['CondizioniPagamento'] == 'TP01' ? '!' : '').'= 100 AND $query = 'SELECT id, CONCAT (descrizione, IF((codice_modalita_pagamento_fe IS NULL), \"\", CONCAT( \" (\", codice_modalita_pagamento_fe, \")\" ) )) as descrizione FROM co_pagamenti'; if (!empty($codice_modalita_pagamento)) { $query .= ' WHERE codice_modalita_pagamento_fe = '.prepare($codice_modalita_pagamento); } $query .= ' GROUP BY descrizione ORDER BY descrizione ASC'; echo ' {[ "type": "select", "label": "'.tr('Pagamento').'", "name": "pagamento", "required": 1, "values": "query='.$query.'" ]}'; // Righe $righe = $fattura_pa->getRighe(); if (!empty($righe)) { echo '

'.tr('Righe').'

'; foreach ($righe as $key => $riga) { $query = 'SELECT id, IF(codice IS NULL, descrizione, CONCAT(codice, " - ", descrizione)) AS descrizione FROM co_iva WHERE percentuale = '.prepare($riga['AliquotaIVA']); if (!empty($riga['Natura'])) { $query .= ' AND codice_natura_fe = '.prepare($riga['Natura']); } $query .= ' ORDER BY descrizione ASC'; echo ' '; } echo '
'.tr('Descrizione').' '.tr('Q.tà').' '.tr('Prezzo unitario').' '.tr('Iva associata').'* '.tr('Conto').'* '.tr('Articolo').'
'.$riga['Descrizione'].' '.Translator::numberToLocale($riga['Quantita']).' '.$riga['UnitaMisura'].' '.Translator::numberToLocale($riga['PrezzoUnitario']).' € {[ "type": "select", "name": "iva['.$key.']", "values": "query='.str_replace('"', '\"', $query).'", "required": 1 ]} {[ "type": "select", "name": "conto['.$key.']", "ajax-source": "conti-acquisti", "required": 1 ]} {[ "type": "select", "name": "articoli['.$key.']", "ajax-source": "articoli", "class": "", "icon-after": "add|'.Modules::get('Articoli')['id'].'" ]}
'; echo ' '; } else { echo '

'.tr('Non ci sono righe nella fattura').'.

'; } echo '
'; echo ' ';