Ticket #1933 (closed バグ指摘: 修正済)
多数商品を購入した受注で納品書が壊れる
| Reported by: | AMUAMU | Owned by: | Ringo |
|---|---|---|---|
| Priority: | 中 | Milestone: | EC-CUBE2.12.3 |
| Component: | 管理画面 | Version: | 2.12.2 |
| Keywords: | PDF 納品書 | Cc: | |
| 修正済み: | yes |
Description
開発コミュニティにて、Aichiさん、Ringoさんからご報告ありました。
http://xoops.ec-cube.net/modules/newbb/viewtopic.php?topic_id=11300&forum=9&post_id=52671
多数商品を購入されたお客様の納品書をPDFからプリント出力を行うとA41枚に収まらない場合、 2枚目以降は表の各項目ごとに1枚ずつプリント出力してしまう。
表の座標・ページ送りに問題がある模様。
Note: See
TracTickets for help on using
tickets.

以下の $y = $this->y; $this->y =$y; で、2頁後のCell毎で改頁される理由は、下記の通り。 故、 1)該当コードは削除が必要と判断します。 2)該当コードの意図の調査を継続中。。。 data/class/helper/SC_Helper_FPDI.php function FancyTable(...) { forearch (...) { $y = $this->y; $this->Cell(...); ←「function _beginpage(...)」での「$this->y = $this->tMargin;」が foreach (...) { $this->y =$y; ← ここで無効化されため一旦改頁すると「Cell」の実行毎に「AddPage(...)」される。 } } } ↓ function Cell(...) { parent::Cell(...); } ↓ data/module/fpdf/fpdf.php function Cell(...) { if($this->y+$h>$this->PageBreakTrigger...) { $this->AddPage(...); } } ↓ function AddPage(...) { $this->_beginpahe(...); } ↓ function _beginpage(...) { $this->y = $this->tMargin; } var_dump($this->tMargin); → int(20)