← Back
Editing: ricevutepdf.php
<?php require_once ("conn.php"); require_once ("funct.php"); require_once ("testacoda.php"); $id = $_REQUEST['id']; $query = new doQuery (); $arIva = array (0=>'2000-01-01', 20=>'2011-12-31', 21=>'2013-09-30', 22=>'2100-01-01'); $sql = "SELECT `fatture`.*, date_format(`data`, '%d-%m-%Y') AS `data2`, `esenzioni`.`testo` FROM `fatture`, `esenzioni` WHERE `fatture`.`id` = '".$id."' AND `tipo` = `esenzioni`.`id`"; $row = $query->freeQuery ($sql, 0); $id = $row[0]->id; $id_cliente = $row[0]->id_cliente; $numero = $row[0]->numero; $impon = $row[0]->imponibile; $data = $row[0]->data; $data2 = $row[0]->data2; $tipo = $row[0]->tipo; $conto = $row[0]->conto; $testoEs = $row[0]->testo; foreach ($arIva as $al=>$dt) { if ($data > $dtOl && $data <= $dt) $alIva = $al; $dtOl = $dt; } # apertura pdf require_once ("fpdf.php"); $oy = 20; # offset y $distx=7; $disty=15; $pdf=new FPDF ('P','pt','A4'); $pdf->AddPage (); # testata #$pdf->image ("images/smartmedia2000.jpg", 48, $oy+3); $pdf->SetFont ('Arial', '', 9); $pdf->SetXY (60, 60); $pdf->MultiCell (0, 11, 'Fabrizio Felici via T. Mommsen, 7 00179 Roma c.f. FLCFRZ72L30E202E nato a Grosseto, 30/07/1972',0,'L'); # cliente $row = $query->freeQuery ("SELECT * FROM `clienti` WHERE `id`='$id_cliente'", 0); $nomecli = explode("@", $row[0]->denominazione); $indircli = explode("-", $row[0]->indirizzo); $pdf->SetXY (350, 70); $pdf->SetFont('Arial', '', 10); $mitt.= "Egr. / Spett.le \n"; for ($c1=0; $c1<count($nomecli); $c1++) $mitt.= $nomecli[$c1]."\n"; for ($c2=0; $c2<count($indircli); $c2++) $mitt.= $indircli[$c2]."\n"; if ($row[0]->codfisc) $mitt.= "c.f. ".$row[0]->codfisc."\n"; if ($row[0]->partiva) $mitt.= "p.iva ".$row[0]->partiva; $pdf->MultiCell (0, 12, $mitt); $pdf->SetXY (45, 180); $pdf->SetFont('Times', 'B', 15); $pdf->Cell (0, 20, 'Ricevuta prestazione occasionale', 0, 2); $pdf->SetFont('Times', '', 13); $pdf->SetXY (45, 246); $pdf->Cell (0, 18, 'Nota n. '.$numero.' del '.$data2, 0, 2); # dati prestazione $righe = $query->freeQuery ("SELECT `prestazioni`.* FROM `prestazioni` WHERE `id_fattura`='$id'", 0); $importo = $c = 0; $xc=522; # variabile di allienamento dell'importo 0.00 foreach ($righe as $i=>$row) { $descriz.= $row->descrizione; #$pdf->text (aligndx ($row->importo, $xc, $distx), $oy+300+$disty*$c, "{$row->importo}"); $netto = addzero ($row->importo, 2); $ritacc = addzero ($netto*$ritaccP/100, 2); $lordo = addzero ($netto+$ritacc, 2); $c++; } $prestaz = "Il sottoscritto Fabrizio Felici dichiara di ricevere la somma lorda di Euro ".$lordo.", \nper ".$descriz.". Al suddetto importo lordo va detratta la ritenuta d'acconto (20%) pari a Euro ".$ritacc." \nper un corrispettivo netto pagato pari a Euro ".$netto; $pdf->MultiCell (0, 15, $prestaz); # testata e riquadri tabella $pdf->setFillColor (240); $pdf->rect (45, 356, 445, 18, 'FD'); $pdf->rect (490, 356, 60, 18, 'FD'); $pdf->rect (45, 356, 445, 140, 'D'); $pdf->rect (490, 356, 60, 140, 'D'); $pdf->setFillColor (0); # descrizione conteggi $pdf->SetXY (45, 356); $pdf->Cell (445, 18, 'Riepilogo', 'R', 0); $pdf->Cell (60, 18, 'Euro', 0, 1, 'C'); $pdf->SetXY (45, 376); $pdf->MultiCell (445, 18,"Corrispettivo Lordo Ritenuta d'acconto 20% Importo Netto a pagare", 0, 'L'); $pdf->SetXY (100, 376); $pdf->MultiCell (445, 18, $lordo."\n".$ritacc."\n".$netto, 0, 'R'); # consuntivo /* if ($tipo > 1) { #$testi = array ('TOTALE complessivo'); $postesti = array (350); $numeri = array ($impon); $yc=510; $c=0; for ($c=0; $c<5; $c++) { if ($c>3) $pdf->SetFont('Times', 'B', 14); $pdf->text ($postesti[$c], $oy+$yc+$disty*$c, $testi[$c]); $pdf->text (aligndx ($numeri[$c], $xc, $distx), $oy+$yc+$disty*$c, $numeri[$c]); } } else { # descrizioni $testi = array ('imponibile I.V.A.', 'I.V.A. '.$alIva.'%', 'TOTALE complessivo'); $postesti = array (385, 420, 350); # valori numerici $numeri = array ($impon, addzero($impon*$alIva/100), addzero($impon*(100+$alIva)/100)); $yc=510; $c=0; for ($c=0; $c<5; $c++) { if ($c>3) $pdf->SetFont('Times', 'B', 14); $pdf->text($postesti[$c], $oy+$yc+$disty*$c, $testi[$c]); $pdf->text(aligndx($numeri[$c], $xc, $distx), $oy+$yc+$disty*$c, $numeri[$c]); } } */ # dichiara $pdf->SetXY (250, 480); $pdf->SetFont ('Times', 'B', 10); $pdf->Cell (540, 60, "DICHIARA INOLTRE", 0, 2); $pdf->SetXY (50, 520); $pdf->SetFont ('Times', '', 10); $dichiaraz = "sotto la propria responsabilita': -> che la prestazione resa ha carattere del tutto occasionale, non svolgendo il sottoscritto prestazione di lavoro autonomo con carattere di abitualita'; -> di non avere fruito nell’anno ai fini contributivi, della franchigia di Euro 5000 prevista dall'art. 44 del D.L. 30 settembre 2003, n. 269; -> di non essere soggetto al regime Iva a norma dell'ex art. 5, comma 2, D.P.R. 633/72."; $pdf->MultiCell (540, 13, $dichiaraz); # coda, data e firma $pdf->SetXY (50, 640); $pdf->SetFont ('Times', 'B', 10); #$pdf->Cell (540, 60, $testoEs, 0, 2); $pdf->SetFont('Times', 'B', 12); switch ($conto) { case "bcc": $banca = "Prego vogliate saldare tramite accredito su conto corrente bancario n. 315557 presso Banca TeMa, Grosseto intestato a Fabrizio Felici, cod. IBAN IT77T0885114301000000315557.\n"; break; case "ing": $banca = "Prego vogliate saldare tramite accredito su conto corrente bancario n. 0169819 presso ING Direct intestato a Fabrizio Felici, cod. IBAN IT53T0347501605CC0010169819.\n"; break; case "web": $banca = "Prego vogliate saldare tramite accredito su conto corrente bancario n. 00111772 presso Webank it intestato a Fabrizio Felici, cod. IBAN IT23U0503401753000000111772.\n"; break; } ; #$banca.= "Nel solo caso in cui si sia preventivamente concordato per il saldo tramite assegno, lo stesso dovra' essere univocamente intestato a Fabrizio Felici."; #$pdf->MultiCell (540, 15, $banca); $pdf->text(100, 650, 'Roma, '.$data2); $pdf->text(400, 700, 'Ing. Fabrizio Felici'); # output su file $pdf->Output ('Ricevuta_SM2000_'.str_replace("/","",$numero).'.pdf', 'I'); //$pdf->Output ('/home/www/fatture/pdf/Fattura_'.str_replace("/","",$numero).'.pdf', 'F'); $pdf->Close (); # funzione per allineare i numeri a destra function aligndx ($num, $posx, $dist) { if ($num<10) return $posx; else if ($num<100) return $posx-$dist; else if ($num<1000) return $posx-$dist*2; else if ($num<10000) return $posx-$dist*3; else return $posx-$dist*4; } ?>
Save File
Cancel