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'];
// Lettura righe documento
$q2 = "SELECT * FROM co_righe_documenti INNER JOIN co_documenti ON co_righe_documenti.iddocumento=co_documenti.id WHERE iddocumento='$iddocumento' ".$additional_where[$module_name];
$righe = $dbo->fetchArray($q2);
// carica report html
$report = file_get_contents($docroot.'/templates/fatture/fattura.html');
$body = file_get_contents($docroot.'/templates/fatture/fattura_body.html');
include_once $docroot.'/templates/pdfgen_variables.php';
if (empty($rs[0]['idsede'])) {
$body = str_replace('$riferimentosede$', '', $body);
} else {
$q3 = "SELECT * FROM an_sedi WHERE id='".$rs[0]['idsede']."'";
$sede = $dbo->fetchArray($q3);
$riferimentosede = '
Rif. sede cliente:
'.$sede[0]['nomesede'].'
'.$sede[0]['indirizzo'].'
'.$sede[0]['cap'].' '.$sede[0]['citta'].' ('.$sede[0]['provincia'].')';
$body = str_replace('$riferimentosede$', $riferimentosede, $body);
}
// Dati generici fattura
if ($rs[0]['buono_ordine'] != '') {
$width = '165';
} else {
$width = '228';
}
$body .= "
".$rs[0]['tipo_doc']." no $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]['qta'], 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 no'.$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 no'.$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"; $report_name = 'fattura_'.$numero_doc.'.pdf';