Merge pull request #19729 from fmarcet/13.0

Fix: correctly display the products of a warehouse in the pdf
This commit is contained in:
Laurent Destailleur 2022-01-07 10:45:10 +01:00 committed by GitHub
commit f2beaf5eae
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -1,5 +1,6 @@
<?php <?php
/* Copyright (C) 2017 Laurent Destailleur <eldy@stocks.sourceforge.net> /* Copyright (C) 2017 Laurent Destailleur <eldy@stocks.sourceforge.net>
* Copyright (C) 2022 Ferran Marcet <fmarcet@2byte.es>
* *
* This program is free software; you can redistribute it and/or modify * 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 * it under the terms of the GNU General Public License as published by
@ -289,7 +290,7 @@ class pdf_standard extends ModelePDFStock
$pdf->MultiCell(0, 3, ''); // Set interline to 3 $pdf->MultiCell(0, 3, ''); // Set interline to 3
$pdf->SetTextColor(0, 0, 0); $pdf->SetTextColor(0, 0, 0);
$tab_top = 80 + $top_shift; $tab_top = 65 + $top_shift;
$tab_top_newpage = (empty($conf->global->MAIN_PDF_DONOTREPEAT_HEAD) ? 42 + $top_shift : 10); $tab_top_newpage = (empty($conf->global->MAIN_PDF_DONOTREPEAT_HEAD) ? 42 + $top_shift : 10);
$tab_height = 130; $tab_height = 130;
@ -323,7 +324,7 @@ class pdf_standard extends ModelePDFStock
$i = 0; $i = 0;
$nblines = $num; $nblines = $num;
$this->tabTitleHeight = 0; $this->tabTitleHeight = 10;
$nexY = $tab_top + $this->tabTitleHeight; $nexY = $tab_top + $this->tabTitleHeight;
for ($i = 0; $i < $nblines; $i++) for ($i = 0; $i < $nblines; $i++)
@ -362,7 +363,8 @@ class pdf_standard extends ModelePDFStock
$showpricebeforepagebreak = 1; $showpricebeforepagebreak = 1;
$pdf->startTransaction(); $pdf->startTransaction();
pdf_writelinedesc($pdf, $object, $i, $outputlangs, $this->posxtva - $curX, 3, $curX, $curY, $hideref, $hidedesc); $pdf->writeHTMLCell($this->wref, 3, $curX, $curY, $outputlangs->convToOutputCharset($objp->ref), 0, 1, false, true, 'J', true);
//pdf_writelinedesc($pdf, $object, $i, $outputlangs, $this->posxtva - $curX, 3, $curX, $curY, $hideref, $hidedesc);
$pageposafter = $pdf->getPage(); $pageposafter = $pdf->getPage();
if ($pageposafter > $pageposbefore) // There is a pagebreak if ($pageposafter > $pageposbefore) // There is a pagebreak
{ {
@ -370,7 +372,8 @@ class pdf_standard extends ModelePDFStock
$pageposafter = $pageposbefore; $pageposafter = $pageposbefore;
//print $pageposafter.'-'.$pageposbefore;exit; //print $pageposafter.'-'.$pageposbefore;exit;
$pdf->setPageOrientation('', 1, $heightforfooter); // The only function to edit the bottom margin of current page to set it. $pdf->setPageOrientation('', 1, $heightforfooter); // The only function to edit the bottom margin of current page to set it.
pdf_writelinedesc($pdf, $object, $i, $outputlangs, $this->posxtva - $curX, 4, $curX, $curY, $hideref, $hidedesc); $pdf->writeHTMLCell($this->wref, 4, $curX, $curY, $outputlangs->convToOutputCharset($objp->ref), 0, 1, false, true, 'J', true);
//pdf_writelinedesc($pdf, $object, $i, $outputlangs, $this->posxtva - $curX, 4, $curX, $curY, $hideref, $hidedesc);
$pageposafter = $pdf->getPage(); $pageposafter = $pdf->getPage();
$posyafter = $pdf->GetY(); $posyafter = $pdf->GetY();
if ($posyafter > ($this->page_hauteur - ($heightforfooter + $heightforfreetext + $heightforinfotot))) // There is no space left for total+free text if ($posyafter > ($this->page_hauteur - ($heightforfooter + $heightforfreetext + $heightforinfotot))) // There is no space left for total+free text
@ -418,8 +421,8 @@ class pdf_standard extends ModelePDFStock
$productstatic->status_batch = $objp->tobatch; $productstatic->status_batch = $objp->tobatch;
// Ref. // Ref.
$pdf->SetXY($this->posxdesc, $curY); //$pdf->SetXY($this->posxdesc, $curY);
$pdf->MultiCell($this->wref, 3, $productstatic->ref, 0, 'L'); //$pdf->MultiCell($this->wref, 3, $productstatic->ref, 0, 'L');
// Label // Label
$pdf->SetXY($this->posxlabel + 0.8, $curY); $pdf->SetXY($this->posxlabel + 0.8, $curY);
@ -506,7 +509,7 @@ class pdf_standard extends ModelePDFStock
/** /**
* Footer table * Footer table
*/ */
$nexY = $pdf->GetY(); //$nexY = $pdf->GetY();
$nexY += 2; $nexY += 2;
$curY = $nexY; $curY = $nexY;
@ -572,11 +575,11 @@ class pdf_standard extends ModelePDFStock
$height_note = 0; $height_note = 0;
} }
$iniY = $tab_top + 7; /*$iniY = $tab_top + 7;
$curY = $tab_top + 7; $curY = $tab_top + 7;
$nexY = $tab_top + 7; $nexY = $tab_top + 7;
$tab_top = $tab_top_newpage + 25 + $top_shift; $tab_top = $tab_top_newpage + 25 + $top_shift;*/
// Show square // Show square
if ($pagenb == 1) if ($pagenb == 1)
@ -732,10 +735,12 @@ class pdf_standard extends ModelePDFStock
$pdf->MultiCell($this->page_largeur - $this->marge_droite - $this->postotalht, 2, $outputlangs->transnoentities("EstimatedStockValueSellShort"), '', 'R'); $pdf->MultiCell($this->page_largeur - $this->marge_droite - $this->postotalht, 2, $outputlangs->transnoentities("EstimatedStockValueSellShort"), '', 'R');
} }
$pdf->SetDrawColor(200, 200, 200); if (empty($hidetop)) {
$pdf->SetLineStyle(array('dash'=>'0', 'color'=>array(200, 200, 200))); $pdf->SetDrawColor(200, 200, 200);
$pdf->line($this->marge_gauche, $tab_top + 11, $this->page_largeur - $this->marge_droite, $tab_top + 11); $pdf->SetLineStyle(array('dash' => '0', 'color' => array(200, 200, 200)));
$pdf->SetLineStyle(array('dash'=>0)); $pdf->line($this->marge_gauche, $tab_top + 10, $this->page_largeur - $this->marge_droite, $tab_top + 10);
$pdf->SetLineStyle(array('dash' => 0));
}
} }
// phpcs:disable PEAR.NamingConventions.ValidFunctionName.PublicUnderscore // phpcs:disable PEAR.NamingConventions.ValidFunctionName.PublicUnderscore