Miglioria template di stampa
This commit is contained in:
parent
1809d33d6a
commit
d255fc8517
|
@ -48,7 +48,7 @@ $id_anagrafica = $documento_finale->idanagrafica;
|
||||||
echo '
|
echo '
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-12">
|
<div class="col-md-12">
|
||||||
{[ "type": "select", "label": "'.tr('Ddt').'", "name": "id_documento", "values": "query=SELECT `dt_ddt`.`id`, CONCAT(IF(`numero_esterno` != \'\', `numero_esterno`, `numero`), \' del \', DATE_FORMAT(`data`, \'%d-%m-%Y\')) AS descrizione FROM `dt_ddt` INNER JOIN `dt_statiddt` ON `dt_ddt`.`idstatoddt` = `dt_statiddt`.`id` LEFT JOIN `dt_statiddt_lang` ON (`dt_statiddt`.`id` = `dt_statiddt_lang`.`id_record` AND `dt_statiddt_lang`.`id_lang` = '.prepare(Models\Locale::getDefault()->id).') INNER JOIN `dt_tipiddt` ON `dt_ddt`.`idtipoddt` = `dt_tipiddt`.`id` INNER JOIN `dt_righe_ddt` ON `dt_ddt`.`id` = `dt_righe_ddt`.`idddt` WHERE `dt_statiddt_lang`.`title` IN(\'Evaso\', \'Parzialmente evaso\', \'Parzialmente fatturato\') AND `dt_tipiddt`.`dir`='.prepare($dir == 'entrata' ? 'uscita' : 'entrata').' AND (`dt_righe_ddt`.`qta` - `dt_righe_ddt`.`qta_evasa`) > 0 ORDER BY `data` DESC, `numero` DESC" ]}
|
{[ "type": "select", "label": "'.tr('Ddt').'", "name": "id_documento", "values": "query=SELECT `dt_ddt`.`id`, CONCAT(IF(`numero_esterno` != \'\', `numero_esterno`, `numero`), \' del \', DATE_FORMAT(`data`, \'%d-%m-%Y\')) AS descrizione FROM `dt_ddt` INNER JOIN `dt_statiddt` ON `dt_ddt`.`idstatoddt` = `dt_statiddt`.`id` LEFT JOIN `dt_statiddt_lang` ON (`dt_statiddt`.`id` = `dt_statiddt_lang`.`id_record` AND `dt_statiddt_lang`.`id_lang` = '.prepare(Models\Locale::getDefault()->id).') INNER JOIN `dt_tipiddt` ON `dt_ddt`.`idtipoddt` = `dt_tipiddt`.`id` INNER JOIN `dt_righe_ddt` ON `dt_ddt`.`id` = `dt_righe_ddt`.`idddt` WHERE `dt_statiddt_lang`.`title` IN(\'Evaso\', \'Parzialmente evaso\', \'Parzialmente fatturato\') AND `dt_tipiddt`.`dir`='.prepare($dir == 'entrata' ? 'uscita' : 'entrata').' AND (`dt_righe_ddt`.`qta` - `dt_righe_ddt`.`qta_evasa`) > 0 GROUP BY dt_ddt.id ORDER BY `data` DESC, `numero` DESC " ]}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
|
@ -207,11 +207,11 @@ if ($dir == 'entrata') {
|
||||||
</div>';
|
</div>';
|
||||||
} else {
|
} else {
|
||||||
echo '
|
echo '
|
||||||
<div class="col-md-4">
|
<div class="col-md-3">
|
||||||
{[ "type": "select", "label": "'.tr('Partenza merce').'", "name": "idsede_partenza", "ajax-source": "sedi", "select-options": {"idanagrafica": '.$record['idanagrafica'].'}, "value": "$idsede_partenza$", "help": "'.tr('Sedi del mittente').'", "icon-after": "add|'.$id_modulo_anagrafiche.'|id_plugin='.$id_plugin_sedi.'&id_parent='.$record['idanagrafica'].'||'.(intval($block_edit) ? 'disabled' : '').'" ]}
|
{[ "type": "select", "label": "'.tr('Partenza merce').'", "name": "idsede_partenza", "ajax-source": "sedi", "select-options": {"idanagrafica": '.$record['idanagrafica'].'}, "value": "$idsede_partenza$", "help": "'.tr('Sedi del mittente').'", "icon-after": "add|'.$id_modulo_anagrafiche.'|id_plugin='.$id_plugin_sedi.'&id_parent='.$record['idanagrafica'].'||'.(intval($block_edit) ? 'disabled' : '').'" ]}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="col-md-4">
|
<div class="col-md-3">
|
||||||
{[ "type": "select", "label": "'.tr('Destinazione merce').'", "name": "idsede_destinazione", "ajax-source": "sedi_azienda", "value": "$idsede_destinazione$", "help": "'.tr("Sedi di arrivo dell'azienda").'" ]}
|
{[ "type": "select", "label": "'.tr('Destinazione merce').'", "name": "idsede_destinazione", "ajax-source": "sedi_azienda", "value": "$idsede_destinazione$", "help": "'.tr("Sedi di arrivo dell'azienda").'" ]}
|
||||||
</div>';
|
</div>';
|
||||||
}
|
}
|
||||||
|
|
|
@ -40,71 +40,87 @@ if ($has_image) {
|
||||||
$autofill = new Util\Autofill($columns);
|
$autofill = new Util\Autofill($columns);
|
||||||
$autofill->setRows(20, 10);
|
$autofill->setRows(20, 10);
|
||||||
|
|
||||||
echo '
|
|
||||||
<div class="row">
|
|
||||||
<div class="col-xs-6">
|
|
||||||
<div class="text-center" style="height:5mm;">
|
|
||||||
<b>'.tr('Contratto num. _NUM_ del _DATE_', [
|
|
||||||
'_NUM_' => $documento['numero'],
|
|
||||||
'_DATE_' => Translator::dateToLocale($documento['data_bozza']),
|
|
||||||
], ['upper' => true]).'</b>
|
|
||||||
</div>
|
|
||||||
<br>';
|
|
||||||
|
|
||||||
// Elenco impianti
|
// Elenco impianti
|
||||||
$impianti = $dbo->fetchArray('SELECT nome, matricola FROM my_impianti WHERE id IN (SELECT my_impianti_contratti.idimpianto FROM my_impianti_contratti WHERE idcontratto = '.prepare($documento['id']).')');
|
$impianti = $dbo->fetchArray('SELECT nome, matricola FROM my_impianti WHERE id IN (SELECT my_impianti_contratti.idimpianto FROM my_impianti_contratti WHERE idcontratto = '.prepare($documento['id']).')');
|
||||||
if (!empty($impianti)) {
|
|
||||||
$list = [];
|
|
||||||
foreach ($impianti as $impianto) {
|
|
||||||
$list[] = $impianto['nome']." <span style='color:#777;'>(".$impianto['matricola'].')</span>';
|
|
||||||
}
|
|
||||||
|
|
||||||
echo '
|
|
||||||
<br>
|
|
||||||
<p class="small-bold text-muted">'.tr('Impianti', [], ['upper' => true]).'</p>
|
|
||||||
<p><small>'.implode(', ', $list).'</small></p>';
|
|
||||||
}
|
|
||||||
|
|
||||||
echo '
|
echo '
|
||||||
|
<div class="col-xs-5">
|
||||||
|
<div class="text-center" style="height:5mm;">
|
||||||
|
<b>CONTRATTO</b>
|
||||||
</div>
|
</div>
|
||||||
|
<br>
|
||||||
|
|
||||||
<div class="col-xs-6">
|
<table class="table text-center">
|
||||||
<table class="table border-bottom">
|
<tr>
|
||||||
<tr>
|
<td valign="top" class="border-bottom border-top">
|
||||||
<td colspan=2 style="height:16mm;">
|
<p class="small-bold text-muted">'.tr('Nr. documento', [], ['upper' => true]).'</p>
|
||||||
<p class="small-bold text-muted ">'.tr('Spett.le', [], ['upper' => true]).'</p>
|
<p>'.$documento['numero'].'</p>
|
||||||
<p>$c_ragionesociale$</p>
|
</td>
|
||||||
<p>$c_indirizzo$</p>
|
|
||||||
<p>$c_citta_full$</p>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
|
|
||||||
<tr>
|
<td class="border-bottom border-top">
|
||||||
<td class="border-bottom">
|
<p class="small-bold text-muted">'.tr('Data documento', [], ['upper' => true]).'</p>
|
||||||
<p class="small-bold text-muted">'.tr('Partita IVA', [], ['upper' => true]).'</p>
|
<p>'.Translator::dateToLocale($documento['data_bozza']).'</p>
|
||||||
</td>
|
</td>
|
||||||
<td class="border-bottom text-right">
|
|
||||||
<small>$c_piva$</small>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
|
|
||||||
<tr>
|
<td class="border-bottom border-top">
|
||||||
<td class="border-bottom">
|
<p class="small-bold text-muted">'.tr('Foglio', [], ['upper' => true]).'</p>
|
||||||
<p class="small-bold text-muted">'.tr('Codice fiscale', [], ['upper' => true]).'</p>
|
<p> {PAGENO}/{nb} </p>
|
||||||
</td>
|
</td>
|
||||||
<td class="border-bottom text-right">
|
</tr>';
|
||||||
<small>$c_codicefiscale$</small>
|
if (!empty($impianti)) {
|
||||||
</td>
|
$list = [];
|
||||||
</tr>';
|
foreach ($impianti as $impianto) {
|
||||||
|
$list[] = $impianto['nome']." <span style='color:#777;'>(".$impianto['matricola'].')</span>';
|
||||||
|
}
|
||||||
|
|
||||||
|
echo '
|
||||||
|
<br>
|
||||||
|
<p class="small-bold text-muted">'.tr('Impianti', [], ['upper' => true]).'</p>
|
||||||
|
<p><small>'.implode(', ', $list).'</small></p>';
|
||||||
|
}
|
||||||
|
echo'
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="col-xs-6 pull-right">
|
||||||
|
<table class="table border-bottom">
|
||||||
|
<tr>
|
||||||
|
<td colspan=2 style="height:16mm;">
|
||||||
|
<p class="small-bold text-muted ">'.tr('Spett.le', [], ['upper' => true]).'</p>
|
||||||
|
<p>$c_ragionesociale$</p>
|
||||||
|
<p>$c_indirizzo$</p>
|
||||||
|
<p>$c_citta_full$</p>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td class="border-bottom">
|
||||||
|
<p class="small-bold text-muted">'.tr('Partita IVA', [], ['upper' => true]).'</p>
|
||||||
|
</td>
|
||||||
|
<td class="border-bottom text-right">
|
||||||
|
<small>$c_piva$</small>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td class="border-bottom">
|
||||||
|
<p class="small-bold text-muted">'.tr('Codice fiscale', [], ['upper' => true]).'</p>
|
||||||
|
</td>
|
||||||
|
<td class="border-bottom text-right">
|
||||||
|
<small>$c_codicefiscale$</small>
|
||||||
|
</td>
|
||||||
|
</tr>';
|
||||||
|
|
||||||
if (!empty($destinazione)) {
|
if (!empty($destinazione)) {
|
||||||
echo '
|
echo '
|
||||||
<tr>
|
<tr>
|
||||||
<td colspan=2 style="height:16mm;">
|
<td class="border-bottom">
|
||||||
<p class="small-bold text-muted">'.tr('Destinazione diversa', [], ['upper' => true]).'</p>
|
<p class="small-bold text-muted">'.tr('Destinazione diversa', [], ['upper' => true]).'</p>
|
||||||
<small>'.$destinazione.'</small>
|
</td>
|
||||||
</td>
|
<td class="border-bottom text-right">
|
||||||
</tr>';
|
<small>'.$destinazione.'</small>
|
||||||
|
</td>
|
||||||
|
</tr>';
|
||||||
}
|
}
|
||||||
echo '
|
echo '
|
||||||
</table>
|
</table>
|
||||||
|
@ -387,7 +403,7 @@ if (($options['pricing'] && !isset($options['hide-total'])) || $options['show-on
|
||||||
// SCONTO IN FATTURA
|
// SCONTO IN FATTURA
|
||||||
echo '
|
echo '
|
||||||
<tr>
|
<tr>
|
||||||
<td colspan="'.($options['show-only-total'] ? 2 : 5).'" class="text-right border-top">
|
<td colspan="'.($options['show-only-total'] ? 2 : 5).'" class="text-right">
|
||||||
<b>'.tr('Sconto in fattura', [], ['upper' => true]).':</b>
|
<b>'.tr('Sconto in fattura', [], ['upper' => true]).':</b>
|
||||||
</td>
|
</td>
|
||||||
<th colspan="'.($options['show-only-total'] ? (($has_image) ? 2 : 1) : (($has_image) ? 3 : 2)).'" class="text-right">
|
<th colspan="'.($options['show-only-total'] ? (($has_image) ? 2 : 1) : (($has_image) ? 3 : 2)).'" class="text-right">
|
||||||
|
@ -398,7 +414,7 @@ if (($options['pricing'] && !isset($options['hide-total'])) || $options['show-on
|
||||||
// NETTO A PAGARE
|
// NETTO A PAGARE
|
||||||
echo '
|
echo '
|
||||||
<tr>
|
<tr>
|
||||||
<td colspan="'.($options['show-only-total'] ? 2 : 5).'" class="text-right border-top">
|
<td colspan="'.($options['show-only-total'] ? 2 : 5).'" class="text-right">
|
||||||
<b>'.tr('Netto a pagare', [], ['upper' => true]).':</b>
|
<b>'.tr('Netto a pagare', [], ['upper' => true]).':</b>
|
||||||
</td>
|
</td>
|
||||||
<th colspan="'.($options['show-only-total'] ? (($has_image) ? 2 : 1) : (($has_image) ? 3 : 2)).'" class="text-right">
|
<th colspan="'.($options['show-only-total'] ? (($has_image) ? 2 : 1) : (($has_image) ? 3 : 2)).'" class="text-right">
|
||||||
|
|
|
@ -19,4 +19,5 @@
|
||||||
|
|
||||||
return [
|
return [
|
||||||
'footer-height' => 35,
|
'footer-height' => 35,
|
||||||
|
'font-size' => 8.5,
|
||||||
];
|
];
|
||||||
|
|
|
@ -23,7 +23,7 @@ $prezzi_ivati = setting('Utilizza prezzi di vendita comprensivi di IVA');
|
||||||
|
|
||||||
// Creazione righe fantasma
|
// Creazione righe fantasma
|
||||||
$autofill = new Util\Autofill($options['pricing'] ? 6 : 3);
|
$autofill = new Util\Autofill($options['pricing'] ? 6 : 3);
|
||||||
$rows_per_page = $rows_per_page ?: 16;
|
$rows_per_page = $rows_per_page ?: 18;
|
||||||
if (!empty($options['last-page-footer'])) {
|
if (!empty($options['last-page-footer'])) {
|
||||||
$rows_per_page += 10;
|
$rows_per_page += 10;
|
||||||
}
|
}
|
||||||
|
@ -31,7 +31,7 @@ $autofill->setRows($rows_per_page);
|
||||||
|
|
||||||
// Intestazione tabella per righe
|
// Intestazione tabella per righe
|
||||||
echo "
|
echo "
|
||||||
<table class='table table-striped table-bordered' id='contents'>
|
<table class='table table-striped border-bottom' id='contents'>
|
||||||
<thead>
|
<thead>
|
||||||
<tr>
|
<tr>
|
||||||
<th class='text-center' style='width:5%'>".tr('#', [], ['upper' => true])."</th>
|
<th class='text-center' style='width:5%'>".tr('#', [], ['upper' => true])."</th>
|
||||||
|
|
|
@ -17,7 +17,7 @@
|
||||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
if (!$is_last_page) {
|
if (!empty($options['last-page-footer']) && !$is_last_page) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -35,18 +35,18 @@ $peso_lordo = $documento->peso ?: $documento->peso_calcolato;
|
||||||
|
|
||||||
// TABELLA PRINCIPALE
|
// TABELLA PRINCIPALE
|
||||||
echo '
|
echo '
|
||||||
<table class="table-bordered">';
|
<table class="table table-striped table-bordered">';
|
||||||
|
|
||||||
if ($options['pricing']) {
|
if ($options['pricing']) {
|
||||||
// Riga 1
|
// Riga 1
|
||||||
echo "
|
echo "
|
||||||
<tr>
|
<tr>
|
||||||
<td rowspan='10'>
|
<td rowspan='10'>
|
||||||
<p class='small-bold'>".tr('Note', [], ['upper' => true]).'</p>
|
<p class='small-bold text-muted'>".tr('Note', [], ['upper' => true]).'</p>
|
||||||
<p>'.nl2br((string) $documento['note'])."</p>
|
<p>'.nl2br((string) $documento['note'])."</p>
|
||||||
</td>
|
</td>
|
||||||
<td style='width:33mm;'>
|
<td style='width:33mm;'>
|
||||||
<p class='small-bold'>".tr('Totale imponibile', [], ['upper' => true]).'</p>
|
<p class='small-bold text-muted'>".tr('Totale imponibile', [], ['upper' => true]).'</p>
|
||||||
</td>
|
</td>
|
||||||
</tr>';
|
</tr>';
|
||||||
|
|
||||||
|
@ -62,7 +62,7 @@ if ($options['pricing']) {
|
||||||
echo "
|
echo "
|
||||||
<tr>
|
<tr>
|
||||||
<td style='width:33mm;'>
|
<td style='width:33mm;'>
|
||||||
<p class='small-bold'>".tr('Totale IVA', [], ['upper' => true])."</p>
|
<p class='small-bold text-muted'>".tr('Totale IVA', [], ['upper' => true])."</p>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
|
@ -76,7 +76,7 @@ if ($options['pricing']) {
|
||||||
echo "
|
echo "
|
||||||
<tr>
|
<tr>
|
||||||
<td>
|
<td>
|
||||||
<p class='small-bold'>".tr('Totale documento', [], ['upper' => true])."</p>
|
<p class='small-bold text-muted'>".tr('Totale documento', [], ['upper' => true])."</p>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
|
@ -91,7 +91,7 @@ if ($options['pricing']) {
|
||||||
echo "
|
echo "
|
||||||
<tr>
|
<tr>
|
||||||
<td>
|
<td>
|
||||||
<p class='small-bold'>".tr('Sconto in fattura', [], ['upper' => true])."</p>
|
<p class='small-bold text-muted'>".tr('Sconto in fattura', [], ['upper' => true])."</p>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
|
@ -105,7 +105,7 @@ if ($options['pricing']) {
|
||||||
echo "
|
echo "
|
||||||
<tr>
|
<tr>
|
||||||
<td>
|
<td>
|
||||||
<p class='small-bold'>".tr('Netto a pagare', [], ['upper' => true])."</p>
|
<p class='small-bold text-muted'>".tr('Netto a pagare', [], ['upper' => true])."</p>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
|
@ -120,7 +120,7 @@ if ($options['pricing']) {
|
||||||
echo "
|
echo "
|
||||||
<tr>
|
<tr>
|
||||||
<td style='height:40mm;'>
|
<td style='height:40mm;'>
|
||||||
<p class='small-bold'>".tr('Note', [], ['upper' => true]).'</p>
|
<p class='small-bold text-muted'>".tr('Note', [], ['upper' => true]).'</p>
|
||||||
'.nl2br((string) $documento['note']).'
|
'.nl2br((string) $documento['note']).'
|
||||||
</td>
|
</td>
|
||||||
</tr>';
|
</tr>';
|
||||||
|
@ -131,25 +131,25 @@ echo '
|
||||||
|
|
||||||
// Informazioni aggiuntive
|
// Informazioni aggiuntive
|
||||||
echo '
|
echo '
|
||||||
<table class="table-bordered">
|
<table class="table table-striped border-bottom">
|
||||||
<tr>
|
<tr>
|
||||||
<th class="small" class style="width:25%;">
|
<th class="small-bold text-muted" class style="width:25%;">
|
||||||
'.tr('Aspetto beni', [], ['upper' => true]).'
|
'.tr('Aspetto beni', [], ['upper' => true]).'
|
||||||
</th>
|
</th>
|
||||||
|
|
||||||
<th class="small" class style="width:20%">
|
<th class="small-bold text-muted" class style="width:20%">
|
||||||
'.tr('Num. colli', [], ['upper' => true]).'
|
'.tr('Num. colli', [], ['upper' => true]).'
|
||||||
</th>
|
</th>
|
||||||
|
|
||||||
<th class="small" class style="width:20%">
|
<th class="small-bold text-muted" class style="width:20%">
|
||||||
'.tr('Data ora trasporto', [], ['upper' => true]).'
|
'.tr('Data ora trasporto', [], ['upper' => true]).'
|
||||||
</th>
|
</th>
|
||||||
|
|
||||||
<th class="small" style="width:30%">
|
<th class="small-bold text-muted" style="width:30%">
|
||||||
'.tr('Causale trasporto', [], ['upper' => true]).'
|
'.tr('Causale trasporto', [], ['upper' => true]).'
|
||||||
</th>
|
</th>
|
||||||
|
|
||||||
<th class="small" style="width:25%">
|
<th class="small-bold text-muted" style="width:25%">
|
||||||
'.tr('Porto', [], ['upper' => true]).'
|
'.tr('Porto', [], ['upper' => true]).'
|
||||||
</th>
|
</th>
|
||||||
</tr>
|
</tr>
|
||||||
|
@ -177,19 +177,19 @@ echo '
|
||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
<tr>
|
<tr>
|
||||||
<th class="small">
|
<th class="small-bold text-muted">
|
||||||
'.tr('Peso lordo', [], ['upper' => true]).'
|
'.tr('Peso lordo', [], ['upper' => true]).'
|
||||||
</th>
|
</th>
|
||||||
|
|
||||||
<th class="small">
|
<th class="small-bold text-muted">
|
||||||
'.tr('Volume', [], ['upper' => true]).'
|
'.tr('Volume', [], ['upper' => true]).'
|
||||||
</th>
|
</th>
|
||||||
|
|
||||||
<th class="small">
|
<th class="small-bold text-muted">
|
||||||
'.tr('Vettore', [], ['upper' => true]).'
|
'.tr('Vettore', [], ['upper' => true]).'
|
||||||
</th>
|
</th>
|
||||||
|
|
||||||
<th class="small" colspan="2">
|
<th class="small-bold text-muted" colspan="2">
|
||||||
'.tr('Tipo di spedizione', [], ['upper' => true]).'
|
'.tr('Tipo di spedizione', [], ['upper' => true]).'
|
||||||
</th>
|
</th>
|
||||||
</tr>
|
</tr>
|
||||||
|
@ -218,15 +218,15 @@ if ($documento->direzione == 'entrata') {
|
||||||
echo '
|
echo '
|
||||||
<table class="table-bordered">
|
<table class="table-bordered">
|
||||||
<tr>
|
<tr>
|
||||||
<th class="small" style="width:33%">
|
<th class="small-bold text-muted" style="width:33%">
|
||||||
'.tr('Firma conducente', [], ['upper' => true]).'
|
'.tr('Firma conducente', [], ['upper' => true]).'
|
||||||
</th>
|
</th>
|
||||||
|
|
||||||
<th class="small" style="width:33%">
|
<th class="small-bold text-muted" style="width:33%">
|
||||||
'.tr('Firma vettore', [], ['upper' => true]).'
|
'.tr('Firma vettore', [], ['upper' => true]).'
|
||||||
</th>
|
</th>
|
||||||
|
|
||||||
<th class="small" style="width:33%">
|
<th class="small-bold text-muted" style="width:33%">
|
||||||
'.tr('Firma destinatario', [], ['upper' => true]).'
|
'.tr('Firma destinatario', [], ['upper' => true]).'
|
||||||
</th>
|
</th>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
|
@ -17,87 +17,114 @@
|
||||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
if ($options['hide-header']) {
|
||||||
|
echo '
|
||||||
|
<!-- Intestazione vuota fornitore -->
|
||||||
|
<div class="row" style="height:111px;">
|
||||||
|
<div class="col-xs-6">
|
||||||
|
</div>
|
||||||
|
<div class="col-xs-6 text-right">
|
||||||
|
</div>
|
||||||
|
</div>';
|
||||||
|
} else {
|
||||||
|
echo '
|
||||||
|
<!-- Intestazione fornitore -->
|
||||||
|
$default_header$';
|
||||||
|
}
|
||||||
|
|
||||||
echo '
|
echo '
|
||||||
<!-- Intestazione fornitore -->
|
|
||||||
$default_header$
|
|
||||||
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<!-- Dati Ddt -->
|
<!-- Dati Ordine -->
|
||||||
<div class="col-xs-6">
|
<div class="col-xs-5">
|
||||||
<div class="text-center" style="height:5mm;">
|
<div class="text-center" style="height:5mm;">
|
||||||
<b>'.tr('DDT').'</b>
|
<b>$tipo_doc$</b>
|
||||||
</div>
|
</div>
|
||||||
|
<br>
|
||||||
|
|
||||||
<table class="table">
|
<table class="table">
|
||||||
<tr>
|
<tr>
|
||||||
<td valign="top" class="border-full text-center">
|
<td valign="top" class="border-bottom border-top text-center">
|
||||||
<p class="small-bold">'.tr('Nr. documento', [], ['upper' => true]).'</p>
|
<p class="small-bold text-muted">'.tr('Nr. documento', [], ['upper' => true]).'</p>
|
||||||
<p>$numero$</p>
|
<p>$numero$</p>
|
||||||
</td>
|
</td>
|
||||||
|
|
||||||
<td class="border-right border-bottom border-top text-center">
|
<td class="border-bottom border-top text-center">
|
||||||
<p class="small-bold">'.tr('Data documento', [], ['upper' => true]).'</p>
|
<p class="small-bold text-muted">'.tr('Data documento', [], ['upper' => true]).'</p>
|
||||||
<p>$data$</p>
|
<p>$data$</p>
|
||||||
</td>
|
</td>
|
||||||
|
|
||||||
<td class="border-right border-bottom border-top text-center">
|
<td class="border-bottom border-top center text-center">
|
||||||
<p class="small-bold">'.tr('_TYPE_', ['_TYPE_' => $documento->direzione == 'uscita' ? 'Fornitore' : 'Cliente'], ['upper' => true]).'</p>
|
<p class="small-bold text-muted">'.tr('Foglio', [], ['upper' => true]).'</p>
|
||||||
<p>$c_codice$</p>
|
|
||||||
</td>
|
|
||||||
|
|
||||||
<td class="border-right border-bottom border-top center text-center">
|
|
||||||
<p class="small-bold">'.tr('Foglio', [], ['upper' => true]).'</p>
|
|
||||||
<p>{PAGENO}/{nb}</p>
|
<p>{PAGENO}/{nb}</p>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
<tr>
|
|
||||||
<td colspan="4" style="height:11mm;">
|
|
||||||
<p class="small-bold">'.tr('Pagamento', [], ['upper' => true]).'</p>
|
|
||||||
<p>$pagamento$</p>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
|
|
||||||
<tr>
|
|
||||||
<td colspan="2">
|
|
||||||
<p class="small-bold">'.tr('Partita IVA', [], ['upper' => true]).'</p>
|
|
||||||
<small>$c_piva$</small>
|
|
||||||
</td>
|
|
||||||
<td colspan="2">
|
|
||||||
<p class="small-bold">'.tr('Codice fiscale', [], ['upper' => true]).'</p>
|
|
||||||
<small>$c_codicefiscale$</small>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="col-xs-6" style="margin-left: 10px">
|
<!-- Dati Cliente/Fornitore -->
|
||||||
<table class="table" style="width:100%;margin-top:5mm;">
|
<div class="col-xs-6 pull-right">
|
||||||
|
<table class="table border-bottom" >
|
||||||
<tr>
|
<tr>
|
||||||
<td class="border-full" style="height:20mm;">
|
<td colspan=2>
|
||||||
<p class="small-bold">'.tr('Spett.le', [], ['upper' => true]).'</p>
|
<p class="small-bold text-muted">'.tr('Spett.le', [], ['upper' => true]).'</p>
|
||||||
<p>$c_ragionesociale$</p>
|
<p>$c_ragionesociale$</p>
|
||||||
<p>$c_indirizzo$<br>$c_citta_full$</p>
|
<p>$c_indirizzo$<br> $c_citta_full$</p>
|
||||||
|
<p>$c_telefono$ $c_cellulare$</p>';
|
||||||
|
if (empty($destinazione)) {
|
||||||
|
echo '
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<p class="small-bold text-muted">'.tr('Codice destinatario', [], ['upper' => true]).'</p>
|
||||||
|
</td>
|
||||||
|
<td class="text-right">
|
||||||
|
<small>'.$c_codice_destinatario.'</small>
|
||||||
|
</td>
|
||||||
|
</tr>';
|
||||||
|
}
|
||||||
|
echo '
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<p class="small-bold text-muted">'.tr('Partita IVA', [], ['upper' => true]).'</p>
|
||||||
|
</td>
|
||||||
|
<td class="text-right">
|
||||||
|
<small>$c_piva$</small>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td >
|
||||||
|
<p class="small-bold text-muted">'.tr('Codice fiscale', [], ['upper' => true]).'</p>
|
||||||
|
</td>
|
||||||
|
<td class="text-right">
|
||||||
|
<small>$c_codicefiscale$</small>
|
||||||
</td>
|
</td>
|
||||||
</tr>';
|
</tr>';
|
||||||
|
|
||||||
if (!empty($destinazione)) {
|
if (!empty($destinazione)) {
|
||||||
echo '
|
echo '
|
||||||
<tr>
|
<tr>
|
||||||
<td class="border-full" style="height:16mm;">
|
<td class="border-bottom">
|
||||||
<p class="small-bold">'.tr('Destinazione diversa', [], ['upper' => true]).'</p>
|
<p class="small-bold text-muted">'.tr('Destinazione diversa', [], ['upper' => true]).'</p>
|
||||||
<small>$c_destinazione$</small>
|
</td>
|
||||||
|
<td class="border-bottom text-right">
|
||||||
|
<p><small>'.$destinazione.'</small></p>
|
||||||
</td>
|
</td>
|
||||||
</tr>';
|
</tr>';
|
||||||
}
|
if ($codice_destinatario) {
|
||||||
if (!empty($partenza)) {
|
echo'
|
||||||
echo '
|
|
||||||
<tr>
|
<tr>
|
||||||
<td class="border-full" style="height:16mm;">
|
<td>
|
||||||
<p class="small-bold">'.tr('Partenza merce', [], ['upper' => true]).'</p>
|
<p class="small-bold text-muted">'.tr('Codice destinatario', [], ['upper' => true]).'</p>
|
||||||
<small>$c_partenza$</small>
|
</td>
|
||||||
|
<td class="text-right">
|
||||||
|
<small>'.$codice_destinatario.'</small>
|
||||||
</td>
|
</td>
|
||||||
</tr>';
|
</tr>';
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
echo '
|
echo '
|
||||||
|
|
|
@ -33,10 +33,10 @@ $id_sede = $record['idsede_partenza'];
|
||||||
$id_azienda = setting('Azienda predefinita');
|
$id_azienda = setting('Azienda predefinita');
|
||||||
|
|
||||||
$pagamento = Pagamento::find($documento['idpagamento']);
|
$pagamento = Pagamento::find($documento['idpagamento']);
|
||||||
$causale = $dbo->fetchOne('SELECT * FROM `dt_causalet` LEFT JOIN `dt_causalet_lang` ON (`dt_causalet`.`id` = `dt_causalet_lang`.`id_record` AND `dt_causalet_lang`.`id_lang` ='.prepare(Models\Locale::getDefault()->id).') WHERE `dt_causalet`.`id` = '.prepare($documento['idcausalet']));
|
$causale = $dbo->fetchOne('SELECT `dt_causalet`.*, `dt_causalet_lang`.`title` as descrizione FROM `dt_causalet` LEFT JOIN `dt_causalet_lang` ON (`dt_causalet`.`id` = `dt_causalet_lang`.`id_record` AND `dt_causalet_lang`.`id_lang` ='.prepare(Models\Locale::getDefault()->id).') WHERE `dt_causalet`.`id` = '.prepare($documento['idcausalet']));
|
||||||
$porto = $dbo->fetchOne('SELECT * FROM `dt_porto` LEFT JOIN `dt_porto_lang` ON (`dt_porto`.`id` = `dt_porto_lang`.`id_record` AND `dt_porto_lang`.`id_lang` ='.prepare(Models\Locale::getDefault()->id).') WHERE `dt_porto`.`id` = '.prepare($documento['idporto']));
|
$porto = $dbo->fetchOne('SELECT `dt_porto`.*, `dt_porto_lang`.`title` as descrizione FROM `dt_porto` LEFT JOIN `dt_porto_lang` ON (`dt_porto`.`id` = `dt_porto_lang`.`id_record` AND `dt_porto_lang`.`id_lang` ='.prepare(Models\Locale::getDefault()->id).') WHERE `dt_porto`.`id` = '.prepare($documento['idporto']));
|
||||||
$aspetto_beni = $dbo->fetchOne('SELECT * FROM `dt_aspettobeni` LEFT JOIN `dt_aspettobeni_lang` ON (`dt_aspettobeni`.`id`=`dt_aspettobeni_lang`.`id_record` AND `dt_aspettobeni_lang`.`id_lang`='.prepare(Models\Locale::getDefault()->id).') WHERE `dt_aspettobeni`.`id` = '.prepare($documento['idaspettobeni']));
|
$aspetto_beni = $dbo->fetchOne('SELECT `dt_aspettobeni`.*, `dt_aspettobeni_lang`.`title` as descrizione FROM `dt_aspettobeni` LEFT JOIN `dt_aspettobeni_lang` ON (`dt_aspettobeni`.`id`=`dt_aspettobeni_lang`.`id_record` AND `dt_aspettobeni_lang`.`id_lang`='.prepare(Models\Locale::getDefault()->id).') WHERE `dt_aspettobeni`.`id` = '.prepare($documento['idaspettobeni']));
|
||||||
$spedizione = $dbo->fetchOne('SELECT * FROM `dt_spedizione` LEFT JOIN `dt_spedizione_lang` ON (`dt_spedizione`.`id`=`dt_spedizione_lang`.`id_record` AND `dt_spedizione_lang`.`id_lang`='.prepare(Models\Locale::getDefault()->id).') WHERE `dt_spedizione`.`id` = '.prepare($documento['idspedizione']));
|
$spedizione = $dbo->fetchOne('SELECT `dt_spedizione`.*, `dt_spedizione_lang`.`title` as descrizione FROM `dt_spedizione` LEFT JOIN `dt_spedizione_lang` ON (`dt_spedizione`.`id`=`dt_spedizione_lang`.`id_record` AND `dt_spedizione_lang`.`id_lang`='.prepare(Models\Locale::getDefault()->id).') WHERE `dt_spedizione`.`id` = '.prepare($documento['idspedizione']));
|
||||||
|
|
||||||
$vettore = $dbo->fetchOne('SELECT ragione_sociale FROM an_anagrafiche WHERE idanagrafica = '.prepare($documento['idvettore']));
|
$vettore = $dbo->fetchOne('SELECT ragione_sociale FROM an_anagrafiche WHERE idanagrafica = '.prepare($documento['idvettore']));
|
||||||
|
|
||||||
|
@ -127,7 +127,7 @@ $custom = [
|
||||||
'tipo_doc' => $tipo_doc,
|
'tipo_doc' => $tipo_doc,
|
||||||
'numero' => $numero,
|
'numero' => $numero,
|
||||||
'data' => Translator::dateToLocale($documento['data']),
|
'data' => Translator::dateToLocale($documento['data']),
|
||||||
'pagamento' => $pagamento->getTranslation('title'),
|
'pagamento' => $pagamento ? $pagamento->getTranslation('title') : '',
|
||||||
'c_destinazione' => $destinazione,
|
'c_destinazione' => $destinazione,
|
||||||
'c_partenza' => $partenza,
|
'c_partenza' => $partenza,
|
||||||
'aspettobeni' => $aspetto_beni['descrizione'],
|
'aspettobeni' => $aspetto_beni['descrizione'],
|
||||||
|
|
|
@ -0,0 +1,24 @@
|
||||||
|
<?php
|
||||||
|
/*
|
||||||
|
* OpenSTAManager: il software gestionale open source per l'assistenza tecnica e la fatturazione
|
||||||
|
* Copyright (C) DevCode s.r.l.
|
||||||
|
*
|
||||||
|
* This program is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation, either version 3 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
$settings = [
|
||||||
|
'font-size' => 8.5,
|
||||||
|
];
|
||||||
|
|
||||||
|
return $settings;
|
|
@ -174,7 +174,7 @@ if (!empty($v_iva)) {
|
||||||
<p class="small-bold text-muted">'.tr('IBAN').'</p>
|
<p class="small-bold text-muted">'.tr('IBAN').'</p>
|
||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
<p>$codiceiban$</p>
|
<p><small>$codiceiban$</small></p>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
|
@ -182,7 +182,7 @@ if (!empty($v_iva)) {
|
||||||
<p class="small-bold text-muted">'.tr('BIC').'</p>
|
<p class="small-bold text-muted">'.tr('BIC').'</p>
|
||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
<p>$bic$</p>
|
<p><small>$bic$</small></p>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>';
|
</table>';
|
||||||
|
|
|
@ -36,7 +36,7 @@ echo '
|
||||||
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<!-- Dati Fattura -->
|
<!-- Dati Fattura -->
|
||||||
<div class="col-xs-6">
|
<div class="col-xs-5">
|
||||||
<div class="text-center" style="height:5mm;">
|
<div class="text-center" style="height:5mm;">
|
||||||
<b>$tipo_doc$</b>
|
<b>$tipo_doc$</b>
|
||||||
</div>
|
</div>
|
||||||
|
@ -59,21 +59,26 @@ echo '
|
||||||
<p>{PAGENO}/{nb}</p>
|
<p>{PAGENO}/{nb}</p>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
|
|
||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="col-xs-6" style="margin-left: 10px">
|
<div class="col-xs-6 pull-right">
|
||||||
<table class="table border-bottom" >
|
<table class="table border-bottom" >
|
||||||
<tr>
|
<tr>
|
||||||
<td colspan=2 '.(!$fattura_accompagnatoria ? ' style="height:20mm;"' : '').'>
|
<td colspan=2>
|
||||||
<p class="small-bold text-muted">'.tr('Spett.le', [], ['upper' => true]).'</p>
|
<p class="small-bold text-muted">'.tr('Spett.le', [], ['upper' => true]).'</p>
|
||||||
<p>$c_ragionesociale$</p>
|
<p>$c_ragionesociale$</p>
|
||||||
<p>'.(!empty($c_indirizzo) ? $c_indirizzo : '').(!empty($c_citta_full) ? '<br>'.$c_citta_full : '').'</p>';
|
<p>'.(!empty($c_indirizzo) ? $c_indirizzo : '').(!empty($c_citta_full) ? '<br>'.$c_citta_full : '').'</p>';
|
||||||
if (empty($destinazione)) {
|
if (empty($destinazione)) {
|
||||||
echo '
|
echo '
|
||||||
<small>'.(!empty($c_codice_destinatario) ? tr('Cod.Fatturazione').': '.$c_codice_destinatario : '').'</small>';
|
<tr>
|
||||||
|
<td>
|
||||||
|
<p class="small-bold text-muted">'.tr('Codice destinatario', [], ['upper' => true]).'</p>
|
||||||
|
</td>
|
||||||
|
<td class="text-right">
|
||||||
|
<small>'.$c_codice_destinatario.'</small>
|
||||||
|
</td>
|
||||||
|
</tr>';
|
||||||
}
|
}
|
||||||
echo '
|
echo '
|
||||||
</td>
|
</td>
|
||||||
|
@ -100,12 +105,24 @@ echo '
|
||||||
if (!empty($destinazione)) {
|
if (!empty($destinazione)) {
|
||||||
echo '
|
echo '
|
||||||
<tr>
|
<tr>
|
||||||
<td colspan=2 class="border-full" style="height:16mm;">
|
<td class="border-bottom">
|
||||||
<p class="small-bold text-muted">'.tr('Destinazione diversa', [], ['upper' => true]).'</p>
|
<p class="small-bold text-muted">'.tr('Destinazione diversa', [], ['upper' => true]).'</p>
|
||||||
|
</td>
|
||||||
|
<td class="border-bottom text-right">
|
||||||
<p><small>$c_destinazione$</small></p>
|
<p><small>$c_destinazione$</small></p>
|
||||||
<p><small>'.(!empty($c_codice_destinatario) ? tr('Cod.Fatturazione').': '.$c_codice_destinatario : '').'</small></p>
|
|
||||||
</td>
|
</td>
|
||||||
</tr>';
|
</tr>';
|
||||||
|
if ($codice_destinatario) {
|
||||||
|
echo'
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<p class="small-bold text-muted">'.tr('Codice destinatario', [], ['upper' => true]).'</p>
|
||||||
|
</td>
|
||||||
|
<td class="text-right">
|
||||||
|
<small>'.$codice_destinatario.'</small>
|
||||||
|
</td>
|
||||||
|
</tr>';
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
echo '
|
echo '
|
||||||
|
|
|
@ -42,7 +42,8 @@ $record = $dbo->fetchOne('SELECT
|
||||||
`vettore`.`ragione_sociale` AS vettore,
|
`vettore`.`ragione_sociale` AS vettore,
|
||||||
`co_banche`.`id` AS id_banca,
|
`co_banche`.`id` AS id_banca,
|
||||||
`zz_segments`.`is_fiscale` AS is_fiscale,
|
`zz_segments`.`is_fiscale` AS is_fiscale,
|
||||||
`an_anagrafiche`.`tipo` AS tipo_cliente
|
`an_anagrafiche`.`tipo` AS tipo_cliente,
|
||||||
|
`an_anagrafiche`.`codice_destinatario` as codice_destinatario
|
||||||
FROM
|
FROM
|
||||||
`co_documenti`
|
`co_documenti`
|
||||||
INNER JOIN `an_anagrafiche` ON `an_anagrafiche`.`idanagrafica`=`co_documenti`.`idanagrafica`
|
INNER JOIN `an_anagrafiche` ON `an_anagrafiche`.`idanagrafica`=`co_documenti`.`idanagrafica`
|
||||||
|
@ -93,7 +94,7 @@ if (empty($record['is_fiscale'])) {
|
||||||
// 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)
|
||||||
$destinazione = '';
|
$destinazione = '';
|
||||||
if (!empty($record['idsede_destinazione'])) {
|
if (!empty($record['idsede_destinazione'])) {
|
||||||
$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`, `id_nazione` FROM `an_sedi` WHERE `idanagrafica`='.prepare($id_cliente).' AND id='.prepare($record['idsede_destinazione']));
|
$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`, `id_nazione`, `codice_destinatario` FROM `an_sedi` WHERE `idanagrafica`='.prepare($id_cliente).' AND id='.prepare($record['idsede_destinazione']));
|
||||||
|
|
||||||
if (!empty($rsd[0]['nomesede'])) {
|
if (!empty($rsd[0]['nomesede'])) {
|
||||||
$destinazione .= $rsd[0]['nomesede'].'<br/>';
|
$destinazione .= $rsd[0]['nomesede'].'<br/>';
|
||||||
|
@ -119,6 +120,9 @@ if (!empty($record['idsede_destinazione'])) {
|
||||||
$destinazione .= ' - '.$nazione->getTranslation('title');
|
$destinazione .= ' - '.$nazione->getTranslation('title');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (!empty($rsd[0]['codice_destinatario'])) {
|
||||||
|
$codice_destinatario = $rsd[0]['codice_destinatario'];
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Sostituzioni specifiche
|
// Sostituzioni specifiche
|
||||||
|
|
|
@ -66,7 +66,7 @@ $autofill->setRows(20, 10);
|
||||||
|
|
||||||
// Intestazione tabella per righe
|
// Intestazione tabella per righe
|
||||||
echo "
|
echo "
|
||||||
<table class='table table-striped' id='contents'>
|
<table class='table table-striped border-bottom' id='contents'>
|
||||||
<thead>
|
<thead>
|
||||||
<tr>
|
<tr>
|
||||||
<th class='text-center text-muted' style='width:4%'>".tr('#', [], ['upper' => true]).'</th>';
|
<th class='text-center text-muted' style='width:4%'>".tr('#', [], ['upper' => true]).'</th>';
|
||||||
|
@ -388,7 +388,7 @@ if ($options['pricing']) {
|
||||||
// NETTO A PAGARE
|
// NETTO A PAGARE
|
||||||
echo '
|
echo '
|
||||||
<tr>
|
<tr>
|
||||||
<td colspan="'.$colspan.'" class="text-right border-top">
|
<td colspan="'.$colspan.'" class="text-right text-muted">
|
||||||
<b>'.tr('Netto a pagare', [], ['upper' => true]).':</b>
|
<b>'.tr('Netto a pagare', [], ['upper' => true]).':</b>
|
||||||
</td>
|
</td>
|
||||||
<th colspan="2" class="text-right">
|
<th colspan="2" class="text-right">
|
||||||
|
@ -411,3 +411,4 @@ if (!empty($documento['note'])) {
|
||||||
<p class="small-bold text-muted">'.tr('Note', [], ['upper' => true]).':</p>
|
<p class="small-bold text-muted">'.tr('Note', [], ['upper' => true]).':</p>
|
||||||
<p>'.nl2br((string) $documento['note']).'</p>';
|
<p>'.nl2br((string) $documento['note']).'</p>';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -17,58 +17,116 @@
|
||||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
if ($options['hide-header']) {
|
||||||
|
echo '
|
||||||
|
<!-- Intestazione vuota fornitore -->
|
||||||
|
<div class="row" style="height:111px;">
|
||||||
|
<div class="col-xs-6">
|
||||||
|
</div>
|
||||||
|
<div class="col-xs-6 text-right">
|
||||||
|
</div>
|
||||||
|
</div>';
|
||||||
|
} else {
|
||||||
|
echo '
|
||||||
|
<!-- Intestazione fornitore -->
|
||||||
|
$default_header$';
|
||||||
|
}
|
||||||
|
|
||||||
echo '
|
echo '
|
||||||
$default_header$
|
|
||||||
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
|
|
||||||
<!-- Dati Ordine -->
|
<!-- Dati Ordine -->
|
||||||
<div class="col-xs-6">
|
<div class="col-xs-5">
|
||||||
<div class="text-center" style="height:5mm;">
|
<div class="text-center" style="height:5mm;">
|
||||||
<b>$tipo_doc$</b>
|
<b>$tipo_doc$</b>
|
||||||
</div>
|
</div>
|
||||||
<br>
|
<br>
|
||||||
|
|
||||||
<table class="table">
|
<table class="table">
|
||||||
<tr>
|
<tr>
|
||||||
<td valign="top" class="border-bottom border-top text-center">
|
<td valign="top" class="border-bottom border-top text-center">
|
||||||
<p class="small-bold text-muted">'.tr('Nr. documento', [], ['upper' => true]).'</p>
|
<p class="small-bold text-muted">'.tr('Nr. documento', [], ['upper' => true]).'</p>
|
||||||
<p>$numero$</p>
|
<p>$numero$</p>
|
||||||
</td>
|
</td>
|
||||||
|
|
||||||
<td class="border-bottom border-top text-center">
|
<td class="border-bottom border-top text-center">
|
||||||
<p class="small-bold text-muted">'.tr('Data documento', [], ['upper' => true]).'</p>
|
<p class="small-bold text-muted">'.tr('Data documento', [], ['upper' => true]).'</p>
|
||||||
<p>$data$</p>
|
<p>$data$</p>
|
||||||
</td>
|
</td>
|
||||||
|
|
||||||
<td class="border-bottom border-top center text-center">
|
<td class="border-bottom border-top center text-center">
|
||||||
<p class="small-bold text-muted">'.tr('Foglio', [], ['upper' => true]).'</p>
|
<p class="small-bold text-muted">'.tr('Foglio', [], ['upper' => true]).'</p>
|
||||||
<p>{PAGENO}/{nb}</p>
|
<p>{PAGENO}/{nb}</p>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- Dati Cliente/Fornitore -->
|
<!-- Dati Cliente/Fornitore -->
|
||||||
<div class="col-xs-6" style="margin-left: 10px">
|
<div class="col-xs-6 pull-right">
|
||||||
<table class="table border-bottom" >
|
<table class="table border-bottom" >
|
||||||
<tr>
|
<tr>
|
||||||
<td colspan="2" style="height:20mm;">
|
<td colspan=2>
|
||||||
<p class="small-bold text-muted">'.tr('Spett.le', [], ['upper' => true]).'</p>
|
<p class="small-bold text-muted">'.tr('Spett.le', [], ['upper' => true]).'</p>
|
||||||
<p>$c_ragionesociale$</p>
|
<p>$c_ragionesociale$</p>
|
||||||
<p>$c_indirizzo$<br> $c_citta_full$</p>
|
<p>$c_indirizzo$<br> $c_citta_full$</p>
|
||||||
<p>$c_telefono$ $c_cellulare$</p>
|
<p>$c_telefono$ $c_cellulare$</p>';
|
||||||
|
if (empty($destinazione)) {
|
||||||
|
echo '
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<p class="small-bold text-muted">'.tr('Codice destinatario', [], ['upper' => true]).'</p>
|
||||||
|
</td>
|
||||||
|
<td class="text-right">
|
||||||
|
<small>'.$c_codice_destinatario.'</small>
|
||||||
</td>
|
</td>
|
||||||
</tr>';
|
</tr>';
|
||||||
|
}
|
||||||
|
echo '
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<p class="small-bold text-muted">'.tr('Partita IVA', [], ['upper' => true]).'</p>
|
||||||
|
</td>
|
||||||
|
<td class="text-right">
|
||||||
|
<small>$c_piva$</small>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td >
|
||||||
|
<p class="small-bold text-muted">'.tr('Codice fiscale', [], ['upper' => true]).'</p>
|
||||||
|
</td>
|
||||||
|
<td class="text-right">
|
||||||
|
<small>$c_codicefiscale$</small>
|
||||||
|
</td>
|
||||||
|
</tr>';
|
||||||
|
|
||||||
if (!empty($destinazione)) {
|
if (!empty($destinazione)) {
|
||||||
echo '
|
echo '
|
||||||
<tr>
|
<tr>
|
||||||
<td colspan=2 class="border-full" style="height:16mm;">
|
<td class="border-bottom">
|
||||||
<p class="small-bold text-muted">'.tr('Destinazione diversa', [], ['upper' => true]).'</p>
|
<p class="small-bold text-muted">'.tr('Destinazione diversa', [], ['upper' => true]).'</p>
|
||||||
'.$destinazione.'
|
</td>
|
||||||
</td>
|
<td class="border-bottom text-right">
|
||||||
</tr>';
|
<p><small>'.$destinazione.'</small></p>
|
||||||
|
</td>
|
||||||
|
</tr>';
|
||||||
|
if ($codice_destinatario) {
|
||||||
|
echo'
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<p class="small-bold text-muted">'.tr('Codice destinatario', [], ['upper' => true]).'</p>
|
||||||
|
</td>
|
||||||
|
<td class="text-right">
|
||||||
|
<small>'.$codice_destinatario.'</small>
|
||||||
|
</td>
|
||||||
|
</tr>';
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
echo '
|
echo '
|
||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -32,7 +32,7 @@ $id_cliente = $documento['idanagrafica'];
|
||||||
// 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)
|
||||||
$destinazione = '';
|
$destinazione = '';
|
||||||
if (!empty($documento->idsede)) {
|
if (!empty($documento->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, id_nazione FROM an_sedi WHERE idanagrafica='.prepare($id_cliente).' AND id='.prepare($documento->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, id_nazione, codice_destinatario FROM an_sedi WHERE idanagrafica='.prepare($id_cliente).' AND id='.prepare($documento->idsede));
|
||||||
|
|
||||||
if (!empty($rsd[0]['nomesede'])) {
|
if (!empty($rsd[0]['nomesede'])) {
|
||||||
$destinazione .= $rsd[0]['nomesede'].'<br/>';
|
$destinazione .= $rsd[0]['nomesede'].'<br/>';
|
||||||
|
@ -58,6 +58,9 @@ if (!empty($documento->idsede)) {
|
||||||
$destinazione .= ' - '.$nazione->getTranslation('title');
|
$destinazione .= ' - '.$nazione->getTranslation('title');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (!empty($rsd[0]['codice_destinatario'])) {
|
||||||
|
$codice_destinatario = $rsd[0]['codice_destinatario'];
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$numero = !empty($documento['numero_esterno']) ? $documento['numero_esterno'] : $documento['numero'];
|
$numero = !empty($documento['numero_esterno']) ? $documento['numero_esterno'] : $documento['numero'];
|
||||||
|
|
|
@ -18,7 +18,7 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
$settings = [
|
$settings = [
|
||||||
'font-size' => 8,
|
'font-size' => 8.5,
|
||||||
];
|
];
|
||||||
|
|
||||||
return $settings;
|
return $settings;
|
||||||
|
|
|
@ -68,20 +68,44 @@ $autofill = new Util\Autofill($columns);
|
||||||
$autofill->setRows(20, 10);
|
$autofill->setRows(20, 10);
|
||||||
|
|
||||||
echo '
|
echo '
|
||||||
<div class="row">
|
<div class="col-xs-5">
|
||||||
<div class="col-xs-6">
|
<div class="text-center" style="height:5mm;">
|
||||||
<div class="text-center" style="height:5mm;">
|
<b>PREVENTIVO</b>
|
||||||
<b>'.tr('Preventivo num. _NUM_ del _DATE_', [
|
|
||||||
'_NUM_' => $documento['numero'].(count($documento->revisioni) > 1 ? ' '.tr('rev.').' '.$documento->numero_revision : ''),
|
|
||||||
'_DATE_' => Translator::dateToLocale($documento['data_bozza']),
|
|
||||||
], ['upper' => true]).'</b>
|
|
||||||
</div>
|
|
||||||
<br>
|
|
||||||
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
<br>
|
||||||
|
|
||||||
<div class="col-xs-6">
|
<table class="table text-center">
|
||||||
|
<tr>
|
||||||
|
<td valign="top" class="border-bottom border-top">
|
||||||
|
<p class="small-bold text-muted">'.tr('Nr. documento', [], ['upper' => true]).'</p>
|
||||||
|
<p>'.$documento['numero'].'</p>
|
||||||
|
</td>
|
||||||
|
|
||||||
|
<td class="border-bottom border-top">
|
||||||
|
<p class="small-bold text-muted">'.tr('Data documento', [], ['upper' => true]).'</p>
|
||||||
|
<p>'.Translator::dateToLocale($documento['data_bozza']).'</p>
|
||||||
|
</td>
|
||||||
|
|
||||||
|
<td class="border-bottom border-top">
|
||||||
|
<p class="small-bold text-muted">'.tr('Foglio', [], ['upper' => true]).'</p>
|
||||||
|
<p> {PAGENO}/{nb} </p>
|
||||||
|
</td>
|
||||||
|
</tr>';
|
||||||
|
if (!empty($impianti)) {
|
||||||
|
$list = [];
|
||||||
|
foreach ($impianti as $impianto) {
|
||||||
|
$list[] = $impianto['nome']." <span style='color:#777;'>(".$impianto['matricola'].')</span>';
|
||||||
|
}
|
||||||
|
|
||||||
|
echo '
|
||||||
|
<br>
|
||||||
|
<p class="small-bold text-muted">'.tr('Impianti', [], ['upper' => true]).'</p>
|
||||||
|
<p><small>'.implode(', ', $list).'</small></p>';
|
||||||
|
}
|
||||||
|
echo'
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
<div class="col-xs-6 pull-right">
|
||||||
<table class="table border-bottom">
|
<table class="table border-bottom">
|
||||||
<tr>
|
<tr>
|
||||||
<td colspan=2 style="height:16mm;">
|
<td colspan=2 style="height:16mm;">
|
||||||
|
@ -110,16 +134,19 @@ echo '
|
||||||
</td>
|
</td>
|
||||||
</tr>';
|
</tr>';
|
||||||
|
|
||||||
if (!empty($destinazione)) {
|
|
||||||
echo '
|
if (!empty($destinazione)) {
|
||||||
|
echo '
|
||||||
<tr>
|
<tr>
|
||||||
<td colspan=2 class="border-full" style="height:16mm;">
|
<td class="border-bottom">
|
||||||
<p class="small-bold text-muted">'.tr('Destinazione diversa', [], ['upper' => true]).'</p>
|
<p class="small-bold text-muted">'.tr('Destinazione diversa', [], ['upper' => true]).'</p>
|
||||||
|
</td>
|
||||||
|
<td class="border-bottom text-right">
|
||||||
<small>'.$destinazione.'</small>
|
<small>'.$destinazione.'</small>
|
||||||
</td>
|
</td>
|
||||||
</tr>';
|
</tr>';
|
||||||
}
|
}
|
||||||
echo '
|
echo '
|
||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
</div>';
|
</div>';
|
||||||
|
@ -133,7 +160,7 @@ if (!empty($documento['descrizione'])) {
|
||||||
|
|
||||||
// Intestazione tabella per righe
|
// Intestazione tabella per righe
|
||||||
echo "
|
echo "
|
||||||
<table class='table table-striped table-bordered' id='contents'>
|
<table class='table table-striped border-bottom' id='contents'>
|
||||||
<thead>
|
<thead>
|
||||||
<tr>
|
<tr>
|
||||||
<th class='text-center' width='35' >#</th>";
|
<th class='text-center' width='35' >#</th>";
|
||||||
|
@ -455,7 +482,7 @@ echo '
|
||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
<tr>
|
<tr>
|
||||||
<td class="text-muted small-bold border-bottom" style="width:25%">
|
<td class="text-muted small-bold text-muted border-bottom" style="width:25%">
|
||||||
'.tr('Pagamento', [], ['upper' => true]).'
|
'.tr('Pagamento', [], ['upper' => true]).'
|
||||||
</td>
|
</td>
|
||||||
|
|
||||||
|
@ -465,7 +492,7 @@ echo '
|
||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
<tr>
|
<tr>
|
||||||
<td class="text-muted border-bottom small-bold">
|
<td class="text-muted border-bottom small-bold text-muted">
|
||||||
'.tr('Validità offerta', [], ['upper' => true]).'
|
'.tr('Validità offerta', [], ['upper' => true]).'
|
||||||
</td>
|
</td>
|
||||||
|
|
||||||
|
@ -488,7 +515,7 @@ echo '
|
||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
<tr>
|
<tr>
|
||||||
<td class="text-muted border-bottom small-bold">
|
<td class="text-muted border-bottom small-bold text-muted">
|
||||||
'.tr('Tempi consegna', [], ['upper' => true]).'
|
'.tr('Tempi consegna', [], ['upper' => true]).'
|
||||||
</td>
|
</td>
|
||||||
|
|
||||||
|
@ -498,7 +525,7 @@ echo '
|
||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
<tr>
|
<tr>
|
||||||
<td class="text-muted border-bottom small-bold">
|
<td class="text-muted border-bottom small-bold text-muted">
|
||||||
'.tr('Esclusioni', [], ['upper' => true]).'
|
'.tr('Esclusioni', [], ['upper' => true]).'
|
||||||
</td>
|
</td>
|
||||||
|
|
||||||
|
@ -508,7 +535,7 @@ echo '
|
||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
<tr>
|
<tr>
|
||||||
<td class="text-muted border-bottom small-bold">
|
<td class="text-muted border-bottom small-bold text-muted">
|
||||||
'.tr('Garanzia', [], ['upper' => true]).'
|
'.tr('Garanzia', [], ['upper' => true]).'
|
||||||
</td>
|
</td>
|
||||||
|
|
||||||
|
@ -523,13 +550,13 @@ echo '
|
||||||
if ($banca) {
|
if ($banca) {
|
||||||
echo '
|
echo '
|
||||||
<tr>
|
<tr>
|
||||||
<td class="text-muted border-bottom small-bold"></td>
|
<td class="text-muted border-bottom small-bold text-muted"></td>
|
||||||
<td class="border-bottom">
|
<td class="border-bottom">
|
||||||
<p><small>'.$banca['nome'].'</small></p>
|
<p><small>'.$banca['nome'].'</small></p>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td class="text-muted border-bottom small-bold">
|
<td class="text-muted border-bottom small-bold text-muted">
|
||||||
'.tr('IBAN', [], ['upper' => true]).'
|
'.tr('IBAN', [], ['upper' => true]).'
|
||||||
</td>
|
</td>
|
||||||
<td class="border-bottom">
|
<td class="border-bottom">
|
||||||
|
@ -537,7 +564,7 @@ if ($banca) {
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td class="text-muted border-bottom small-bold">
|
<td class="text-muted border-bottom small-bold text-muted">
|
||||||
'.tr('BIC', [], ['upper' => true]).'
|
'.tr('BIC', [], ['upper' => true]).'
|
||||||
</td>
|
</td>
|
||||||
<td class="border-bottom">
|
<td class="border-bottom">
|
||||||
|
|
|
@ -19,4 +19,5 @@
|
||||||
|
|
||||||
return [
|
return [
|
||||||
'footer-height' => 35,
|
'footer-height' => 35,
|
||||||
|
'font-size' => 8.5,
|
||||||
];
|
];
|
||||||
|
|
Loading…
Reference in New Issue