fetchArray($q);
if ($rs[0]['dir'] == 'entrata') {
$module_name = 'Fatture di vendita';
} else {
$module_name = 'Fatture di acquisto';
}
$additional_where[$module_name] = str_replace('|idanagrafica|', "'".$user['idanagrafica']."'", $additional_where[$module_name]);
// Lettura info fattura
$q = 'SELECT *, (SELECT descrizione FROM co_tipidocumento WHERE id=idtipodocumento) AS tipo_doc, (SELECT descrizione FROM co_pagamenti WHERE id=idpagamento) AS tipo_pagamento, (SELECT dir FROM co_tipidocumento WHERE id=idtipodocumento) AS dir FROM co_documenti WHERE id="'.$iddocumento.'" '.$additional_where[$module_name];
$rs = $dbo->fetchArray($q);
$numero_doc = $rs[0]['numero'];
$idcliente = $rs[0]['idanagrafica'];
(!empty($rs[0]['numero_esterno'])) ? $numero = $rs[0]['numero_esterno'] : $numero = $rs[0]['numero'];
// carica report html
$report = file_get_contents($docroot.'/templates/fatture_accompagnatorie/fattura.html');
$body = file_get_contents($docroot.'/templates/fatture_accompagnatorie/fattura_body.html');
if (!($idcliente == $user['idanagrafica'] || Auth::admin())) {
die('Non hai i permessi per questa stampa!');
}
include_once $docroot.'/templates/pdfgen_variables.php';
// Leggo i dati della destinazione (se 0=sede legale, se!=altra sede da leggere da tabella an_sedi)
$destinazione = '';
if ($rs[0]['idsede'] == 0) {
$queryd = "SELECT ragione_sociale, indirizzo, indirizzo2, cap, citta, provincia, piva, codice_fiscale FROM an_anagrafiche WHERE idanagrafica='".$idcliente."'";
$rsd = $dbo->fetchArray($queryd);
if ($rsd[0]['ragione_sociale'] != '') {
$destinazione .= $rsd[0]['ragione_sociale']."
\n";
}
if ($rsd[0]['indirizzo'] != '') {
$destinazione .= $rsd[0]['indirizzo']."
\n";
}
if ($rsd[0]['indirizzo2'] != '') {
$destinazione .= $rsd[0]['indirizzo2']."
\n";
}
if ($rsd[0]['cap'] != '') {
$destinazione .= $rsd[0]['cap'].' ';
}
if ($rsd[0]['citta'] != '') {
$destinazione .= $rsd[0]['citta'];
}
if ($rsd[0]['provincia'] != '') {
$destinazione .= ' ('.$rsd[0]['provincia'].")
\n";
}
if ($rsd[0]['piva'] != '') {
$destinazione .= 'P.IVA: '.$rsd[0]['piva']."
\n";
}
if ($rsd[0]['piva'] == '') {
$destinazione .= 'C.F.: '.$rsd[0]['codice_fiscale']."
\n";
}
} else {
$queryd = "SELECT (SELECT ragione_sociale FROM an_anagrafiche WHERE idanagrafica=an_sedi.idanagrafica) AS ragione_sociale, indirizzo, indirizzo2, cap, citta, provincia, piva, codice_fiscale FROM an_sedi WHERE idanagrafica='".$idcliente."' AND id='".$rs[0]['idsede']."'";
$rsd = $dbo->fetchArray($queryd);
if ($rsd[0]['ragione_sociale'] != '') {
$destinazione .= $rsd[0]['ragione_sociale']."
\n";
}
if ($rsd[0]['indirizzo'] != '') {
$destinazione .= $rsd[0]['indirizzo']."
\n";
}
if ($rsd[0]['indirizzo2'] != '') {
$destinazione .= $rsd[0]['indirizzo2']."
\n";
}
if ($rsd[0]['cap'] != '') {
$destinazione .= $rsd[0]['cap'].' ';
}
if ($rsd[0]['citta'] != '') {
$destinazione .= $rsd[0]['citta'];
}
if ($rsd[0]['provincia'] != '') {
$destinazione .= ' ('.$rsd[0]['provincia'].")
\n";
}
if ($rsd[0]['piva'] != '') {
$destinazione .= 'P.IVA: '.$rsd[0]['piva']."
\n";
}
if ($rsd[0]['codice_fiscale'] != '') {
$destinazione .= 'C.F.: '.$rsd[0]['codice_fiscale']."
\n";
}
}
$body = str_replace('$c_destinazione$', $destinazione, $body);
// Dati generici fattura
if ($rs[0]['buono_ordine'] != '') {
$width = '165';
} else {
$width = '228';
}
$body .= "
".$rs[0]['tipo_doc']." num. $numero | \n";
$body .= "Data: ".Translator::dateToLocale($rs[0]['data'])." | \n";
$body .= "Pagamento: ".$rs[0]['tipo_pagamento']." | \n";
if ($rs[0]['buono_ordine']) {
$body .= "Buono d'ordine: ".$rs[0]['buono_ordine']." | \n";
}
$body .= "
Descrizione | \n"; $body .= "Q.tà | \n"; $body .= "u.m. | \n"; $body .= "Costo unitario | \n"; $body .= "Iva | \n"; $body .= "Imponibile |
---|---|---|---|---|---|
\n"; $body .= nl2br($rsr[$i]['descrizione'])."\n"; $body .= " | \n"; $qta = $rsr[$i]['qta']; ($qta == 0) ? $qta = '-' : $qta = Translator::numberToLocale($qta, 2); $body .= "\n"; $body .= $qta; $body .= " | \n"; ($qta == 0) ? $um = '-' : $um = $rsr[$i]['um']; $body .= "\n"; $body .= $um; $body .= " | \n"; // costo unitario $subtotale = $rsr[$i]['subtotale'] / $rsr[$i]['qta']; ($subtotale == 0) ? $subtotale = '-' : $subtotale = Translator::numberToLocale($subtotale, 2).' €'; $body .= "\n"; $body .= $subtotale."\n"; $body .= " | \n"; $body .= "\n";
$iva = $rsr[$i]['iva'];
$body .= ' '.Translator::numberToLocale($iva, 2)." € ".$rsr[$i]['desc_iva']."\n"; $body .= " | \n";
$body .= "\n";
$subtot = $rsr[$i]['subtotale'];
$body .= Translator::numberToLocale($subtot, 2)." €\n";
if ($rsr[$i]['sconto'] > 0) {
$body .= " \n- sconto ".Translator::numberToLocale($rsr[$i]['sconto'], 2)." €\n"; } $body .= " |
\n"; $body .= nl2br($rsr[$i]['descrizione'])."\n"; $body .= " | \n"; $body .= "\n"; $body .= "1\n"; $body .= " | \n"; $body .= "\n"; $body .= '-'; $body .= " | \n"; $body .= "\n"; $body .= "-\n"; $body .= " | \n"; // Iva $body .= "\n";
$iva = $rsr[$i]['iva'];
$body .= ' '.Translator::numberToLocale($iva, 2)." € ".$rsr[$i]['desc_iva']."\n"; $body .= " | \n";
// Imponibile
$body .= "\n";
$subtot = $rsr[$i]['subtotale'];
$body .= Translator::numberToLocale($subtot, 2)." €\n";
if ($rsr[$i]['sconto'] > 0) {
$body .= " \n- sconto ".Translator::numberToLocale($rsr[$i]['sconto'], 2)." €\n"; } $body .= " |
\n"; $body .= nl2br($rsr[$i]['descrizione'])."\n"; $body .= " | \n"; $body .= "\n"; $body .= "1\n"; $body .= " | \n"; $body .= "\n"; $body .= '-'; $body .= " | \n"; $body .= "\n"; $body .= "-\n"; $body .= " | \n"; // Iva $body .= "\n";
$iva = $rsr[$i]['iva'];
$body .= ' '.Translator::numberToLocale($iva, 2)." € ".$rsr[$i]['desc_iva']."\n"; $body .= " | \n";
// Imponibile
$body .= "\n";
$subtot = $rsr[$i]['subtotale'];
$body .= Translator::numberToLocale($subtot, 2)." €\n";
if ($rsr[$i]['sconto'] > 0) {
$body .= " \n- sconto ".Translator::numberToLocale($rsr[$i]['sconto'], 2)." €\n"; } $body .= " |
\n";
// Immagine articolo
$f = pathinfo($rsr[$i]['immagine01']);
$img = $docroot.'/modules/magazzino/articoli/images/'.$f['filename'].'_thumb100.'.$f['extension'];
if (file_exists($img)) {
$body .= '\n";
}
$body .= nl2br($rsr[$i]['descrizione']);
// Aggiunta riferimento a ordine
if (!empty($rsr[$i]['idordine'])) {
$rso = $dbo->fetchArray('SELECT numero, numero_esterno, data FROM or_ordini WHERE id="'.$rsr[$i]['idordine'].'"');
($rso[0]['numero_esterno'] != '') ? $numero = $rso[0]['numero_esterno'] : $numero = $rso[0]['numero'];
$body .= ' Rif. ordine '.$numero.' del '.Translator::dateToLocale($rso[0]['data']).''; } // Aggiunta riferimento a ddt elseif (!empty($rsr[$i]['idddt'])) { $rso = $dbo->fetchArray('SELECT numero, numero_esterno, data FROM dt_ddt WHERE id="'.$rsr[$i]['idddt'].'"'); ($rso[0]['numero_esterno'] != '') ? $numero = $rso[0]['numero_esterno'] : $numero = $rso[0]['numero']; $body .= ' Rif. ddt '.$numero.' del '.Translator::dateToLocale($rso[0]['data']).''; } $body .= " | \n";
$body .= "\n"; $body .= Translator::numberToLocale($rsr[$i]['qta'], 2); $body .= " | \n"; $body .= "\n"; $body .= $rsr[$i]['um']; $body .= " | \n"; // costo unitario $body .= "\n"; $body .= Translator::numberToLocale($rsr[$i]['subtotale'] / $rsr[$i]['sumqta'], 2)." €\n"; $body .= " | \n"; $body .= "\n";
$iva = $rsr[$i]['iva'];
$body .= ' '.Translator::numberToLocale($iva, 2)." € ".$rsr[$i]['desc_iva']."\n"; $body .= " | \n";
$body .= "\n";
$subtot = $rsr[$i]['subtotale'];
$body .= Translator::numberToLocale($subtot, 2)." €\n";
if ($rsr[$i]['sconto'] > 0) {
$body .= " \n- sconto ".Translator::numberToLocale($rsr[$i]['sconto'], 2)." €\n"; } $body .= " |
\n";
$body .= nl2br($rsr[$i]['descrizione']);
// Aggiunta riferimento a ordine
if (!empty($rsr[$i]['idordine'])) {
$rso = $dbo->fetchArray('SELECT numero, numero_esterno, data FROM or_ordini WHERE id="'.$rsr[$i]['idordine'].'"');
($rso[0]['numero_esterno'] != '') ? $numero = $rso[0]['numero_esterno'] : $numero = $rso[0]['numero'];
$body .= ' Rif. ordine num.'.$numero.' del '.Translator::dateToLocale($rso[0]['data']).''; } // Aggiunta riferimento a ddt elseif (!empty($rsr[$i]['idddt'])) { $rso = $dbo->fetchArray('SELECT numero, numero_esterno, data FROM dt_ddt WHERE id="'.$rsr[$i]['idddt'].'"'); ($rso[0]['numero_esterno'] != '') ? $numero = $rso[0]['numero_esterno'] : $numero = $rso[0]['numero']; $body .= ' Rif. ddt num.'.$numero.' del '.Translator::dateToLocale($rso[0]['data']).''; } $body .= " | \n";
$body .= "\n"; $body .= Translator::numberToLocale($rsr[$i]['qta'], 2)."\n"; $body .= " | \n"; $body .= "\n"; $body .= $rsr[$i]['um']."\n"; $body .= " | \n"; $body .= "\n"; $body .= Translator::numberToLocale($rsr[$i]['subtotale'] / $rsr[$i]['qta'], 2)." €\n"; $body .= " | \n"; // Iva $body .= "\n";
$iva = $rsr[$i]['iva'];
$body .= ' '.Translator::numberToLocale($iva, 2)." € ".$rsr[$i]['desc_iva']."\n"; $body .= " | \n";
// Imponibile
$body .= "\n";
$subtot = $rsr[$i]['subtotale'];
$body .= Translator::numberToLocale($subtot, 2)." €\n";
if ($rsr[$i]['sconto'] > 0) {
$body .= " \n- sconto ".Translator::numberToLocale($rsr[$i]['sconto'], 2)." €\n"; } $body .= " |
\n"; $body .= 'Subtot.:'; $body .= " | \n"; // Imponibile $body .= "\n"; $totale_documento = $imponibile_documento; $body .= Translator::numberToLocale($totale_documento, 2)." €\n"; $body .= " | ||||
\n"; $body .= 'Sconto:'; $body .= " | \n"; // Sconto $body .= "\n"; $body .= Translator::numberToLocale($sconto, 2)." €\n"; $body .= ' | ||||
\n"; $body .= 'Totale scontato:'; $body .= " | \n"; // Sconto $body .= "\n"; $totale_documento -= $sconto; $body .= Translator::numberToLocale($totale_documento, 2)." €\n"; $body .= " | ||||
\n"; $body .= 'Rivalsa INPS:'; $body .= " | \n"; // Rivalsa INPS $body .= "\n"; $body .= Translator::numberToLocale($rs[0]['rivalsainps'], 2)." €\n"; $body .= " | ||||
\n"; $body .= 'Iva:'; $body .= " | \n"; // Iva $body .= "\n"; $body .= Translator::numberToLocale($totale_iva, 2)." €\n"; $body .= " | ||||
\n"; $body .= 'Totale documento:'; $body .= " | \n"; $body .= "\n"; $body .= ''.Translator::numberToLocale($totale_documento, 2)." €\n"; $body .= " | ||||
\n"; $body .= 'Marca da bollo:'; $body .= " | \n"; // Marca da bollo $body .= "\n"; $marca_da_bollo = str_replace(',', '.', $rs[0]['bollo']); $body .= Translator::numberToLocale($marca_da_bollo, 2).' €'; $body .= " | ||||
\n"; $body .= "Ritenuta d'acconto:"; $body .= " | \n"; // Ritenuta d'acconto $body .= "\n"; $body .= Translator::numberToLocale($rs[0]['ritenutaacconto'], 2).' €'; $body .= " | ||||
\n"; $body .= 'Netto a pagare:'; $body .= " | \n"; $body .= "\n"; $body .= ''.Translator::numberToLocale($netto_a_pagare, 2)." €\n"; $body .= " |
'.nl2br($rs[0]['note'])."
\n"; if ($rs[0]['vettore'] != '') { $vettore = ' ('.$rs[0]['vettore'].')'; } else { $vettore = ''; } // Dati footer ddt $footer = "Colli: ".$rs[0]['n_colli']." | \n";
$footer .= "Aspetto beni: ".$rs[0]['aspettobeni']." | \n";
$footer .= "Causale trasporto: ".$rs[0]['causalet']." | \n";
$footer .= "Porto: ".$rs[0]['porto']." |
Tipo di spedizione: ".$rs[0]['spedizione'].$vettore." | \n";
$footer .= "Conducente: ______________________ | \n";
$footer .= "Destinatario: ______________________ |