Fix stampa fatture pro forma
This commit is contained in:
parent
8ab723cb1c
commit
ec5c52a636
|
@ -100,8 +100,8 @@ foreach ($righe as $r) {
|
||||||
}
|
}
|
||||||
|
|
||||||
// Aggiunta dei riferimenti ai documenti
|
// Aggiunta dei riferimenti ai documenti
|
||||||
if (!empty($records[0]['ref_documento'])) {
|
if (!empty($record['ref_documento'])) {
|
||||||
$data = $dbo->fetchArray("SELECT IF(numero_esterno != '', numero_esterno, numero) AS numero, data FROM co_documenti WHERE id = ".prepare($records[0]['ref_documento']));
|
$data = $dbo->fetchArray("SELECT IF(numero_esterno != '', numero_esterno, numero) AS numero, data FROM co_documenti WHERE id = ".prepare($record['ref_documento']));
|
||||||
|
|
||||||
$text = tr('Rif. fattura _NUM_ del _DATE_', [
|
$text = tr('Rif. fattura _NUM_ del _DATE_', [
|
||||||
'_NUM_' => $data[0]['numero'],
|
'_NUM_' => $data[0]['numero'],
|
||||||
|
@ -116,7 +116,7 @@ foreach ($righe as $r) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$ref = doc_references($r, $records[0]['dir'], ['iddocumento']);
|
$ref = doc_references($r, $record['dir'], ['iddocumento']);
|
||||||
|
|
||||||
if (!empty($ref)) {
|
if (!empty($ref)) {
|
||||||
echo '
|
echo '
|
||||||
|
@ -236,25 +236,25 @@ echo '
|
||||||
<table class="table">';
|
<table class="table">';
|
||||||
echo '
|
echo '
|
||||||
<tr>';
|
<tr>';
|
||||||
if (abs($records[0]['bollo']) > 0) {
|
if (abs($record['bollo']) > 0) {
|
||||||
echo '
|
echo '
|
||||||
<td width="85%">';
|
<td width="85%">';
|
||||||
} else {
|
} else {
|
||||||
echo '
|
echo '
|
||||||
<td width="100%">';
|
<td width="100%">';
|
||||||
}
|
}
|
||||||
if (!empty($records[0]['note'])) {
|
if (!empty($record['note'])) {
|
||||||
echo '
|
echo '
|
||||||
<p class="small-bold">'.tr('Note', [], ['upper' => true]).':</p>
|
<p class="small-bold">'.tr('Note', [], ['upper' => true]).':</p>
|
||||||
<p>'.nl2br($records[0]['note']).'</p>';
|
<p>'.nl2br($record['note']).'</p>';
|
||||||
}
|
}
|
||||||
echo '
|
echo '
|
||||||
</td>';
|
</td>';
|
||||||
if (abs($records[0]['bollo']) > 0) {
|
if (abs($record['bollo']) > 0) {
|
||||||
echo '
|
echo '
|
||||||
<td width="15%" align="right">';
|
<td width="15%" align="right">';
|
||||||
}
|
}
|
||||||
if (abs($records[0]['bollo']) > 0) {
|
if (abs($record['bollo']) > 0) {
|
||||||
echo '
|
echo '
|
||||||
<table style="width: 20mm; font-size: 50%; text-align: center" class="table-bordered">
|
<table style="width: 20mm; font-size: 50%; text-align: center" class="table-bordered">
|
||||||
<tr>
|
<tr>
|
||||||
|
@ -265,7 +265,7 @@ if (abs($records[0]['bollo']) > 0) {
|
||||||
</tr>
|
</tr>
|
||||||
</table>';
|
</table>';
|
||||||
}
|
}
|
||||||
if (abs($records[0]['bollo']) > 0) {
|
if (abs($record['bollo']) > 0) {
|
||||||
echo '
|
echo '
|
||||||
</td>';
|
</td>';
|
||||||
}
|
}
|
||||||
|
@ -282,18 +282,18 @@ $iva = sum(array_column($righe, 'iva'));
|
||||||
|
|
||||||
$imponibile_scontato = sum($imponibile, -$sconto);
|
$imponibile_scontato = sum($imponibile, -$sconto);
|
||||||
|
|
||||||
$totale_iva = sum($iva, $records[0]['iva_rivalsainps']);
|
$totale_iva = sum($iva, $record['iva_rivalsainps']);
|
||||||
|
|
||||||
$totale = sum([
|
$totale = sum([
|
||||||
$imponibile_scontato,
|
$imponibile_scontato,
|
||||||
$records[0]['rivalsainps'],
|
$record['rivalsainps'],
|
||||||
$totale_iva,
|
$totale_iva,
|
||||||
]);
|
]);
|
||||||
|
|
||||||
$netto_a_pagare = sum([
|
$netto_a_pagare = sum([
|
||||||
$totale,
|
$totale,
|
||||||
$records[0]['bollo'],
|
$record['bollo'],
|
||||||
-$records[0]['ritenutaacconto'],
|
-$record['ritenutaacconto'],
|
||||||
]);
|
]);
|
||||||
|
|
||||||
$imponibile = abs($imponibile);
|
$imponibile = abs($imponibile);
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
echo "
|
echo "
|
||||||
<table class='table-bordered'>
|
<table class='table-bordered'>
|
||||||
<tr>
|
<tr>
|
||||||
<td colspan=".(!empty($sconto) ? 5 : 3)." class='cell-padded' style='height:".($records[0]['ritenutaacconto'] != 0 ? 20 : 30)."mm'>";
|
<td colspan=".(!empty($sconto) ? 5 : 3)." class='cell-padded' style='height:".($record['ritenutaacconto'] != 0 ? 20 : 30)."mm'>";
|
||||||
|
|
||||||
// Tabella (scadenze + iva)
|
// Tabella (scadenze + iva)
|
||||||
echo "
|
echo "
|
||||||
|
@ -158,15 +158,15 @@ echo "
|
||||||
</tr>';
|
</tr>';
|
||||||
|
|
||||||
// Aggiunta della marca da bollo al totale
|
// Aggiunta della marca da bollo al totale
|
||||||
$totale = sum($totale, $records[0]['bollo']);
|
$totale = sum($totale, $record['bollo']);
|
||||||
|
|
||||||
// Rivalsa INPS
|
// Rivalsa INPS
|
||||||
if (!empty($records[0]['rivalsainps'])) {
|
if (!empty($record['rivalsainps'])) {
|
||||||
$rs2 = $dbo->fetchArray('SELECT percentuale FROM co_rivalsainps WHERE id=(SELECT idrivalsainps FROM co_righe_documenti WHERE iddocumento='.prepare($id_record).' AND idrivalsainps!=0 LIMIT 0,1)');
|
$rs2 = $dbo->fetchArray('SELECT percentuale FROM co_rivalsainps WHERE id=(SELECT idrivalsainps FROM co_righe_documenti WHERE iddocumento='.prepare($id_record).' AND idrivalsainps!=0 LIMIT 0,1)');
|
||||||
|
|
||||||
$first_colspan = 3;
|
$first_colspan = 3;
|
||||||
$second_colspan = 2;
|
$second_colspan = 2;
|
||||||
if (abs($records[0]['bollo']) > 0) {
|
if (abs($record['bollo']) > 0) {
|
||||||
--$first_colspan;
|
--$first_colspan;
|
||||||
}
|
}
|
||||||
if (empty($sconto)) {
|
if (empty($sconto)) {
|
||||||
|
@ -182,7 +182,7 @@ if (!empty($records[0]['rivalsainps'])) {
|
||||||
], ['upper' => true]).'
|
], ['upper' => true]).'
|
||||||
</th>';
|
</th>';
|
||||||
|
|
||||||
if (abs($records[0]['bollo']) > 0) {
|
if (abs($record['bollo']) > 0) {
|
||||||
echo '
|
echo '
|
||||||
|
|
||||||
<th class="text-center small" colspan="1">
|
<th class="text-center small" colspan="1">
|
||||||
|
@ -199,14 +199,14 @@ if (!empty($records[0]['rivalsainps'])) {
|
||||||
|
|
||||||
<tr>
|
<tr>
|
||||||
<td class="cell-padded text-center" colspan="'.$first_colspan.'">
|
<td class="cell-padded text-center" colspan="'.$first_colspan.'">
|
||||||
'.Translator::numberToLocale($records[0]['rivalsainps']).' €
|
'.Translator::numberToLocale($record['rivalsainps']).' €
|
||||||
</td>';
|
</td>';
|
||||||
|
|
||||||
if (abs($records[0]['bollo']) > 0) {
|
if (abs($record['bollo']) > 0) {
|
||||||
echo '
|
echo '
|
||||||
|
|
||||||
<td class="cell-padded text-center" colspan="1">
|
<td class="cell-padded text-center" colspan="1">
|
||||||
'.Translator::numberToLocale($records[0]['bollo']).' €
|
'.Translator::numberToLocale($record['bollo']).' €
|
||||||
</td>';
|
</td>';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -219,12 +219,12 @@ if (!empty($records[0]['rivalsainps'])) {
|
||||||
}
|
}
|
||||||
|
|
||||||
// Ritenuta d'acconto
|
// Ritenuta d'acconto
|
||||||
if ($records[0]['ritenutaacconto'] != 0) {
|
if ($record['ritenutaacconto'] != 0) {
|
||||||
$rs2 = $dbo->fetchArray('SELECT percentuale FROM co_ritenutaacconto WHERE id=(SELECT idritenutaacconto FROM co_righe_documenti WHERE iddocumento='.prepare($id_record).' AND idritenutaacconto!=0 LIMIT 0,1)');
|
$rs2 = $dbo->fetchArray('SELECT percentuale FROM co_ritenutaacconto WHERE id=(SELECT idritenutaacconto FROM co_righe_documenti WHERE iddocumento='.prepare($id_record).' AND idritenutaacconto!=0 LIMIT 0,1)');
|
||||||
|
|
||||||
$first_colspan = 3;
|
$first_colspan = 3;
|
||||||
$second_colspan = 2;
|
$second_colspan = 2;
|
||||||
if (empty($records[0]['rivalsainps']) && abs($records[0]['bollo']) > 0) {
|
if (empty($record['rivalsainps']) && abs($record['bollo']) > 0) {
|
||||||
--$first_colspan;
|
--$first_colspan;
|
||||||
}
|
}
|
||||||
if (empty($sconto)) {
|
if (empty($sconto)) {
|
||||||
|
@ -240,7 +240,7 @@ if ($records[0]['ritenutaacconto'] != 0) {
|
||||||
], ['upper' => true]).'
|
], ['upper' => true]).'
|
||||||
</th>';
|
</th>';
|
||||||
|
|
||||||
if (empty($records[0]['rivalsainps']) && abs($records[0]['bollo']) > 0) {
|
if (empty($record['rivalsainps']) && abs($record['bollo']) > 0) {
|
||||||
echo '
|
echo '
|
||||||
|
|
||||||
<th class="text-center small" colspan="1">
|
<th class="text-center small" colspan="1">
|
||||||
|
@ -256,26 +256,26 @@ if ($records[0]['ritenutaacconto'] != 0) {
|
||||||
|
|
||||||
<tr>
|
<tr>
|
||||||
<td class="cell-padded text-center" colspan="'.$first_colspan.'">
|
<td class="cell-padded text-center" colspan="'.$first_colspan.'">
|
||||||
'.Translator::numberToLocale($records[0]['ritenutaacconto']).' €
|
'.Translator::numberToLocale($record['ritenutaacconto']).' €
|
||||||
</td>';
|
</td>';
|
||||||
|
|
||||||
if (empty($records[0]['rivalsainps']) && abs($records[0]['bollo']) > 0) {
|
if (empty($record['rivalsainps']) && abs($record['bollo']) > 0) {
|
||||||
echo '
|
echo '
|
||||||
|
|
||||||
<td class="cell-padded text-center" colspan="1">
|
<td class="cell-padded text-center" colspan="1">
|
||||||
'.Translator::numberToLocale($records[0]['bollo']).' €
|
'.Translator::numberToLocale($record['bollo']).' €
|
||||||
</td>';
|
</td>';
|
||||||
}
|
}
|
||||||
|
|
||||||
echo '
|
echo '
|
||||||
|
|
||||||
<td class="cell-padded text-center" colspan="'.$second_colspan.'">
|
<td class="cell-padded text-center" colspan="'.$second_colspan.'">
|
||||||
'.Translator::numberToLocale($totale - $records[0]['ritenutaacconto']).' €
|
'.Translator::numberToLocale($totale - $record['ritenutaacconto']).' €
|
||||||
</td>
|
</td>
|
||||||
</tr>';
|
</tr>';
|
||||||
}
|
}
|
||||||
|
|
||||||
if (empty($records[0]['ritenutaacconto']) && empty($records[0]['rivalsainps']) && abs($records[0]['bollo']) > 0) {
|
if (empty($record['ritenutaacconto']) && empty($record['rivalsainps']) && abs($record['bollo']) > 0) {
|
||||||
$first_colspan = 3;
|
$first_colspan = 3;
|
||||||
$second_colspan = 2;
|
$second_colspan = 2;
|
||||||
if (empty($sconto)) {
|
if (empty($sconto)) {
|
||||||
|
@ -295,11 +295,11 @@ if (empty($records[0]['ritenutaacconto']) && empty($records[0]['rivalsainps']) &
|
||||||
|
|
||||||
<tr>
|
<tr>
|
||||||
<td class="cell-padded text-center" colspan="'.$first_colspan.'">
|
<td class="cell-padded text-center" colspan="'.$first_colspan.'">
|
||||||
'.Translator::numberToLocale($records[0]['bollo']).' €
|
'.Translator::numberToLocale($record['bollo']).' €
|
||||||
</td>
|
</td>
|
||||||
|
|
||||||
<td class="cell-padded text-center" colspan="'.$second_colspan.'">
|
<td class="cell-padded text-center" colspan="'.$second_colspan.'">
|
||||||
'.Translator::numberToLocale($totale - $records[0]['ritenutaacconto']).' €
|
'.Translator::numberToLocale($totale - $record['ritenutaacconto']).' €
|
||||||
</td>
|
</td>
|
||||||
</tr>';
|
</tr>';
|
||||||
}
|
}
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
include_once __DIR__.'/../../core.php';
|
include_once __DIR__.'/../../core.php';
|
||||||
|
|
||||||
// Lettura info fattura
|
// Lettura info fattura
|
||||||
$records = $dbo->fetchArray('SELECT *,
|
$record = $dbo->fetchOne('SELECT *,
|
||||||
(SELECT descrizione FROM co_statidocumento WHERE id=idstatodocumento) AS stato_doc,
|
(SELECT descrizione FROM co_statidocumento WHERE id=idstatodocumento) AS stato_doc,
|
||||||
(SELECT descrizione FROM co_tipidocumento WHERE id=idtipodocumento) AS tipo_doc,
|
(SELECT descrizione FROM co_tipidocumento WHERE id=idtipodocumento) AS tipo_doc,
|
||||||
(SELECT descrizione FROM co_pagamenti WHERE id=idpagamento) AS tipo_pagamento,
|
(SELECT descrizione FROM co_pagamenti WHERE id=idpagamento) AS tipo_pagamento,
|
||||||
|
@ -16,36 +16,37 @@ $records = $dbo->fetchArray('SELECT *,
|
||||||
(SELECT id FROM co_banche WHERE id=idbanca) AS id_banca,
|
(SELECT id FROM co_banche WHERE id=idbanca) AS id_banca,
|
||||||
(SELECT nome FROM co_banche WHERE id=idbanca) AS nome_banca,
|
(SELECT nome FROM co_banche WHERE id=idbanca) AS nome_banca,
|
||||||
(SELECT iban FROM co_banche WHERE id=idbanca) AS iban_banca,
|
(SELECT iban FROM co_banche WHERE id=idbanca) AS iban_banca,
|
||||||
(SELECT bic FROM co_banche WHERE id=idbanca) AS bic_banca
|
(SELECT bic FROM co_banche WHERE id=idbanca) AS bic_banca,
|
||||||
|
(SELECT is_fiscale FROM zz_segments WHERE id = id_segment) AS is_fiscale
|
||||||
FROM co_documenti WHERE id='.prepare($id_record));
|
FROM co_documenti WHERE id='.prepare($id_record));
|
||||||
|
|
||||||
$records[0]['rivalsainps'] = floatval($records[0]['rivalsainps']);
|
$record['rivalsainps'] = floatval($record['rivalsainps']);
|
||||||
$records[0]['ritenutaacconto'] = floatval($records[0]['ritenutaacconto']);
|
$record['ritenutaacconto'] = floatval($record['ritenutaacconto']);
|
||||||
$records[0]['bollo'] = floatval($records[0]['bollo']);
|
$record['bollo'] = floatval($record['bollo']);
|
||||||
|
|
||||||
$nome_banca = $records[0]['nome_banca'];
|
$nome_banca = $record['nome_banca'];
|
||||||
$iban_banca = $records[0]['iban_banca'];
|
$iban_banca = $record['iban_banca'];
|
||||||
$bic_banca = $records[0]['bic_banca'];
|
$bic_banca = $record['bic_banca'];
|
||||||
|
|
||||||
$module_name = ($records[0]['dir'] == 'entrata') ? 'Fatture di vendita' : 'Fatture di acquisto';
|
$module_name = ($record['dir'] == 'entrata') ? 'Fatture di vendita' : 'Fatture di acquisto';
|
||||||
|
|
||||||
$id_cliente = $records[0]['idanagrafica'];
|
$id_cliente = $record['idanagrafica'];
|
||||||
$id_sede = $records[0]['idsede'];
|
$id_sede = $record['idsede'];
|
||||||
|
|
||||||
$tipo_doc = $records[0]['tipo_doc'];
|
$tipo_doc = $record['tipo_doc'];
|
||||||
if ($records[0]['stato_doc'] != 'Bozza') {
|
$numero = !empty($record['numero_esterno']) ? $record['numero_esterno'] : $record['numero'];
|
||||||
$numero = !empty($records[0]['numero_esterno']) ? $records[0]['numero_esterno'] : $records[0]['numero'];
|
|
||||||
} else {
|
// Caso particolare per le fatture pro forma
|
||||||
|
if (empty($record['is_fiscale'])) {
|
||||||
$tipo_doc = tr('Fattura pro forma');
|
$tipo_doc = tr('Fattura pro forma');
|
||||||
$numero = 'PRO-'.$records[0]['numero'];
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Fix per le fattura accompagnatorie
|
// Fix per le fattura accompagnatorie
|
||||||
$fattura_accompagnatoria = ($records[0]['tipo_doc'] == 'Fattura accompagnatoria di vendita');
|
$fattura_accompagnatoria = ($record['tipo_doc'] == 'Fattura accompagnatoria di vendita');
|
||||||
$tipo_doc = ($fattura_accompagnatoria) ? 'Fattura accompagnatoria di vendita' : $tipo_doc;
|
$tipo_doc = ($fattura_accompagnatoria) ? 'Fattura accompagnatoria di vendita' : $tipo_doc;
|
||||||
|
|
||||||
// Leggo i dati della destinazione (se 0=sede legale, se!=altra sede da leggere da tabella an_sedi)
|
// Leggo i dati della destinazione (se 0=sede legale, se!=altra sede da leggere da tabella an_sedi)
|
||||||
$rsd = $dbo->fetchArray('SELECT (SELECT codice FROM an_anagrafiche WHERE idanagrafica=an_sedi.idanagrafica) AS codice, (SELECT ragione_sociale FROM an_anagrafiche WHERE idanagrafica=an_sedi.idanagrafica) AS ragione_sociale, nomesede, indirizzo, indirizzo2, cap, citta, provincia, piva, codice_fiscale FROM an_sedi WHERE idanagrafica='.prepare($id_cliente).(!empty($records[0]['idsede']) ? ' AND id='.prepare($records[0]['idsede']) : ''));
|
$rsd = $dbo->fetchArray('SELECT (SELECT codice FROM an_anagrafiche WHERE idanagrafica=an_sedi.idanagrafica) AS codice, (SELECT ragione_sociale FROM an_anagrafiche WHERE idanagrafica=an_sedi.idanagrafica) AS ragione_sociale, nomesede, indirizzo, indirizzo2, cap, citta, provincia, piva, codice_fiscale FROM an_sedi WHERE idanagrafica='.prepare($id_cliente).(!empty($record['idsede']) ? ' AND id='.prepare($record['idsede']) : ''));
|
||||||
|
|
||||||
$destinazione = '';
|
$destinazione = '';
|
||||||
if (!empty($rsd[0]['nomesede'])) {
|
if (!empty($rsd[0]['nomesede'])) {
|
||||||
|
@ -73,15 +74,15 @@ $id_sede = 0;
|
||||||
$custom = [
|
$custom = [
|
||||||
'tipo_doc' => Stringy\Stringy::create($tipo_doc)->toUpperCase(),
|
'tipo_doc' => Stringy\Stringy::create($tipo_doc)->toUpperCase(),
|
||||||
'numero_doc' => $numero,
|
'numero_doc' => $numero,
|
||||||
'data' => Translator::dateToLocale($records[0]['data']),
|
'data' => Translator::dateToLocale($record['data']),
|
||||||
'pagamento' => $records[0]['tipo_pagamento'],
|
'pagamento' => $record['tipo_pagamento'],
|
||||||
'c_destinazione' => $destinazione,
|
'c_destinazione' => $destinazione,
|
||||||
'aspettobeni' => $records[0]['aspettobeni'],
|
'aspettobeni' => $record['aspettobeni'],
|
||||||
'causalet' => $records[0]['causalet'],
|
'causalet' => $record['causalet'],
|
||||||
'porto' => $records[0]['porto'],
|
'porto' => $record['porto'],
|
||||||
'n_colli' => !empty($records[0]['n_colli']) ? $records[0]['n_colli'] : '',
|
'n_colli' => !empty($record['n_colli']) ? $record['n_colli'] : '',
|
||||||
'spedizione' => $records[0]['spedizione'],
|
'spedizione' => $record['spedizione'],
|
||||||
'vettore' => $records[0]['vettore'],
|
'vettore' => $record['vettore'],
|
||||||
'appoggiobancario' => $nome_banca,
|
'appoggiobancario' => $nome_banca,
|
||||||
'codiceiban' => $iban_banca,
|
'codiceiban' => $iban_banca,
|
||||||
'bic' => $bic_banca,
|
'bic' => $bic_banca,
|
||||||
|
|
Loading…
Reference in New Issue