EC-CUBEのデフォルトでは納品書という帳票しかないので
今回は新たに「受注明細書」という帳票を追加する方法をメモ

ファイルの作成と前準備

まず、帳票を追加するにあたって
/ec/data/class/の中のSC_Fpdf.phpをコピーして
「SC_Fpdf_Order.php」のような好きな名前に変更し保存します。

さらに
/ec/data/Smarty/templates/admin/pdf/
の中のnouhinsyo1.pdfもコピーして名前を「order.pdf」などに変更しアップします。

以上で前準備は完了!
次にそれぞれのファイルを修正していきます。

LC_Page_Admin_Order_Pdf.phpの修正

まず、
/ec/data/class/pages/admin/order/の中にある
LC_Page_Admin_Order_Pdf.phpを開き
下記の修正・追加をしていきます。

require_once CLASS_EX_REALDIR . 'page_extends/admin/LC_Page_Admin_Ex.php';
require_once CLASS_REALDIR . 'SC_Fpdf.php';

部分に

require_once CLASS_EX_REALDIR . 'page_extends/admin/LC_Page_Admin_Ex.php';
require_once CLASS_REALDIR . 'SC_Fpdf.php';
require_once CLASS_REALDIR . 'SC_Fpdf_Order.php';

のように
require_once CLASS_REALDIR . ‘先ほど作成したファイル名.php‘;
を追加します。

次に

function init() {
    parent::init();
    $this->tpl_mainpage = 'order/pdf_input.tpl';
    $this->tpl_subnavi = 'order/subnavi.tpl';
    $this->tpl_mainno = 'order'; 
    $this->tpl_subno = 'pdf';
    $this->tpl_subtitle = '帳票出力';

    $this->SHORTTEXT_MAX = STEXT_LEN;
    $this->MIDDLETEXT_MAX = MTEXT_LEN;
    $this->LONGTEXT_MAX = LTEXT_LEN;

    $this->arrType[0]  = "納品書";

    $this->arrDownload[0] = "ブラウザに開く";
    $this->arrDownload[1] = "ファイルに保存";
}

という部分に

function init() {
    parent::init();
    $this->tpl_mainpage = 'order/pdf_input.tpl';
    $this->tpl_subnavi = 'order/subnavi.tpl';
    $this->tpl_mainno = 'order'; 
    $this->tpl_subno = 'pdf';
    $this->tpl_subtitle = '帳票出力';

    $this->SHORTTEXT_MAX = STEXT_LEN;
    $this->MIDDLETEXT_MAX = MTEXT_LEN;
    $this->LONGTEXT_MAX = LTEXT_LEN;

    $this->arrType[0]  = "納品書";
    $this->arrType[1]  = "受注明細書";

    $this->arrDownload[0] = "ブラウザに開く";
    $this->arrDownload[1] = "ファイルに保存";
}

のように

$this->arrType[1]  = "受注明細書";

を追加します。

次に、

function createPdf(&$objFormParam){

        $arrErr = $this->lfCheckError($objFormParam);
        $arrRet = $objFormParam->getHashArray();

        $this->arrForm = $arrRet;
        // エラー入力なし

        ・・・・以下省略・・・・
}

の部分を

function createPdf(&$objFormParam){

        $arrErr = $this->lfCheckError($objFormParam);
        $arrRet = $objFormParam->getHashArray();
		 
        $this->arrForm = $arrRet;
        // エラー入力なし
	//納品書の発行の場合
        if($arrRet['type'] == 0) {
			$objFpdf = new SC_Fpdf($arrRet['download'], $arrRet['title']);
			foreach ($arrRet['order_id'] AS $key => $val) {
				$arrPdfData = $arrRet;
				$arrPdfData['order_id'] = $val;
				$objFpdf->setData($arrPdfData);
			}
				$objFpdf->createPdf();
				return true;
			}
			
			//受注明細書の発行の場合
			elseif($arrRet['type'] == 1) {
				$objFpdf = new SC_Fpdf_Order($arrRet['download'], $arrRet['title']);
				foreach ($arrRet['order_id'] AS $key => $val) {
					$arrPdfData = $arrRet;
					$arrPdfData['order_id'] = $val;
					$objFpdf->setData($arrPdfData);
				}
				$objFpdf->createPdf();
				return true;
			
        }else{
            return $arrErr;
        }
}

と修正します。
LC_Page_Admin_Order_Pdf.phpの修正は上記まででも一応動きますが、
今回は帳票出力の際に帳票のタイトルが
自動でお買上げ明細書(帳票のタイトル名)
という形になるように

$arrForm['title'] = "お買上げ明細書(納品書)";

という部分を

$arrForm['title'] = "お買上げ明細書";

に変更し、

$arrRet['title'] = $arrRet['title'] .' (' . $this->arrType[$arrRet['type']] .')';

という一行を

function createPdf(&$objFormParam){

        $arrErr = $this->lfCheckError($objFormParam);
        $arrRet = $objFormParam->getHashArray();
		
	$arrRet['title'] = $arrRet['title'] .' (' . $this->arrType[$arrRet['type']] .')';

のように上記の部分あたりに追加しすれば、
帳票で納品書を選べば
・お買上げ明細書(納品書)
受注明細書を選べば
・お買上げ明細書(受注明細書)
のようにタイトルが変わるようになります。
以上でLC_Page_Admin_Order_Pdf.phpの修正は完了なので保存してアップします。

SC_Fpdf_Order.phpの修正

次に、前項で作成したSC_Fpdf_Order.phpの修正をします。
まず、

require(DATA_REALDIR . 'module/fpdf/fpdf.php');
require(DATA_REALDIR . 'module/fpdf/japanese.php');

という部分を

require_once(DATA_REALDIR . 'module/fpdf/japanese.php');

のように一行を削除し、requireをrequire_onceに変更します。

次に、

class SC_Fpdf_Order {
    function SC_Fpdf_Order($download, $title, $tpl_pdf = 'order1.pdf') {

のように
SC_Fpdfとなっていた部分をすべて
SC_Fpdf_Orderという新しい名前に変更します。
また$tpl_pdf = ‘order.pdf’の部分も
前項で作成したorder.pdfに変更します。

以上で完了です。
あとは保存しアップすればOK

これでとりあえず帳票の出力画面に

のように「受注明細書」という項目が追加され
PDFのタイトル部分も
EC-CUBE 帳票の追加
のように自動で「お買上げ明細書(受注明細書)」と表示されるようになります。

参考サイト

EC-CUBE帳票の種類を追加する
上記のサイト様を参考にさせて頂きました。