Ticket #1933 (closed バグ指摘: 修正済)

Opened 8 years ago

Last modified 8 years ago

多数商品を購入した受注で納品書が壊れる

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枚ずつプリント出力してしまう。

表の座標・ページ送りに問題がある模様。

Change History

comment:1 Changed 8 years ago by Ringo

以下の
$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)

comment:2 Changed 8 years ago by Ringo

  • Owner changed from somebody to Ringo

comment:3 Changed 8 years ago by Ringo

  • Status changed from new to assigned

comment:4 Changed 8 years ago by Ringo

2)該当コードの意図の調査を継続中。。。

→意図は不明、、、

としても、いづれにしても「1)該当コードは削除が必要と判断します。」

の結果として、 コミットします。 r22051

comment:5 Changed 8 years ago by Ringo

  • 修正済み set

comment:6 Changed 8 years ago by kim

  • Status changed from assigned to closed
  • Resolution set to 修正済

Ringo様 修正ありがとうございました。 確認いたしました。

Note: See TracTickets for help on using tickets.