diff --git a/htdocs/core/modules/rapport/pdf_paiement.class.php b/htdocs/core/modules/rapport/pdf_paiement.class.php index b7aea75836f..c0b7b098eda 100644 --- a/htdocs/core/modules/rapport/pdf_paiement.class.php +++ b/htdocs/core/modules/rapport/pdf_paiement.class.php @@ -60,8 +60,8 @@ class pdf_paiement $this->tab_top = 30; $this->line_height = 5; - $this->line_per_page = 25; - $this->tab_height = 230; //$this->line_height * $this->line_per_page; + $this->line_per_page = 46; + $this->tab_height = 250; //$this->line_height * $this->line_per_page; $this->posxdate=$this->marge_gauche+2; $this->posxpaymenttype=42; @@ -145,6 +145,17 @@ class pdf_paiement $num=0; $lines=array(); + // count number of ligne of payement + $sql = "SELECT p.rowid as prowid"; + $sql.= " FROM ".MAIN_DB_PREFIX."paiement as p"; + $sql.= " WHERE p.datep BETWEEN '".$this->db->idate(dol_get_first_day($year,$month))."' AND '".$this->db->idate(dol_get_last_day($year,$month))."'"; + $result = $this->db->query($sql); + if ($result) + { + $numpaiement = $this->db->num_rows($result); + } + + // number of bill $sql = "SELECT p.datep as dp, f.facnumber"; //$sql .= ", c.libelle as paiement_type, p.num_paiement"; $sql.= ", c.code as paiement_code, p.num_paiement"; @@ -201,9 +212,9 @@ class pdf_paiement dol_print_error($this->db); } - $pages = intval($num / $this->line_per_page); + $pages = intval(($num + $numpaiement) / $this->line_per_page); - if (($lines % $this->line_per_page)>0) + if ((($num + $numpaiement) % $this->line_per_page)>0) { $pages++; } @@ -231,7 +242,7 @@ class pdf_paiement // New page $pdf->AddPage(); $pagenb++; - $this->_pagehead($pdf, $pages, 1, $outputlangs); + $this->_pagehead($pdf, $pagenb, 1, $outputlangs); $pdf->SetFont('','', 9); $pdf->MultiCell(0, 3, ''); // Set interline to 3 $pdf->SetTextColor(0,0,0); @@ -292,8 +303,8 @@ class pdf_paiement $pdf->SetXY($this->posxdate, 16); $pdf->MultiCell(80, 2, $outputlangs->transnoentities("DateBuild")." : ".dol_print_date(time(),"day",false,$outputlangs,true), 0, 'L'); - $pdf->SetXY($this->posxdate, 22); - $pdf->MultiCell(80, 2, $outputlangs->transnoentities("Page")." : ".$page, 0, 'L'); + $pdf->SetXY($this->posxdate+100, 16); + $pdf->MultiCell(80, 2, $outputlangs->transnoentities("Page")." : ".$page, 0, 'R'); // Title line @@ -348,9 +359,17 @@ class pdf_paiement for ($j = 0 ; $j < $numlines ; $j++) { $i = $j; + if ($yp > $this->tab_height -5) + { + $page++; + $pdf->AddPage(); + $this->_pagehead($pdf, $page, 0, $outputlangs); + $pdf->SetFont('','', $default_font_size - 1); + $yp = 0; + } if ($oldprowid <> $lines[$j][7]) { - if ($yp > 200) + if ($yp > $this->tab_height -10) { $page++; $pdf->AddPage();