質問 > 管理機能 > 出荷CSVで「税込み価格」を出力したい |
管理機能
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
Ishikawa81 |
投稿日時: 2020/4/24 9:40
対応状況: −−−
|
新米 登録日: 2020/4/24 居住地: 投稿: 7 |
出荷CSVで「税込み価格」を出力したい [EC-CUBE]EC-CUBE]4.0.3
お世話になります。 出荷CSVにて、「価格」項目を税込み価格で出力する方法を教えていただきたいです。 よろしくお願いします。 [EC-CUBE] 4.0.3 新規 [レンタルサーバ] CPI [OS] win10 CentOs7 [PHP] 7.1 [データベース] MySQL5.6 |
468 |
投稿日時: 2020/4/24 11:57
対応状況: −−−
|
神 登録日: 2008/10/26 居住地: 投稿: 3217 |
Re: 出荷CSVで「税込み価格」を出力したい 「価格」の箇所ですが、
データベース上でdtb_order_itemテーブルのpriceカラムを対象に出力していると思います。 同じdtb_order_itemテーブルに消費税を計算したtaxというカラムが存在しており、 price + taxを計算して出力する事で税込金額をCSV出力できそうですが デフォルトの仕様では、1カラムのみしか指定できず途中で計算を行うには /src/Eccube/Controller/Admin/Order/OrderController.php function exportCsv()にカスタマイズを加える形になるかと思います。 ちょうど、CSVの列生成のループの foreach ($Csvs as $Csv) { ~ } の間にローカルフックもあるみたいですので 独自プラグインによるロジックの挿入も可能かと思います。
|
Ishikawa81 |
投稿日時: 2020/4/24 12:30
対応状況: −−−
|
新米 登録日: 2020/4/24 居住地: 投稿: 7 |
Re: 出荷CSVで「税込み価格」を出力したい 返信いただき、ありがとうございます。
解釈としては、 /src/Eccube/Controller/Admin/Order/OrderController.php の中の foreach ($Csvs as $Csv) { ~ } にて、price + taxの計算式が入るようなイメージなのでしょうか? 不慣れなもので、見当違いをしているのであれば申し訳ございません。 |
468 |
投稿日時: 2020/4/24 13:31
対応状況: −−−
|
神 登録日: 2008/10/26 居住地: 投稿: 3217 |
Re: 出荷CSVで「税込み価格」を出力したい はい。
イメージは間違いないかと思います。 $ExportCsvRow->setData(***); がCSVの列に値をセットしているメソッドになります。 デフォルトのロジックでは $ExportCsvRow->setData($csvService->getData($Csv, $Order)); のように$csvService->getData()を利用していますが ここはdtb_csvテーブルで定義されたCSV出力項目(entity_name, field_name)を元に$Orderエンティティから指定したデータを取り出しています。 今回はここに計算式を組み込みますので $OrderItem->getPrice() + $OrderItem->getTax() を行う形になるかと思います。 また、今処理されているカラムの判定は if ($Csv->getDispName() == '価格') { } で判定できるのではないかと思います。 あと、ここのループは受注CSVと配送CSVで共通化されていると思いますので $csvTypeIdの値を判定する事で受注/配送の判断は出来るかと思います。 $csvTypeId == CsvType::CSV_TYPE_SHIPPING だと配送CSVの処理として実行中となります。
|
Ishikawa81 |
投稿日時: 2020/4/24 14:32
対応状況: −−−
|
新米 登録日: 2020/4/24 居住地: 投稿: 7 |
Re: 出荷CSVで「税込み価格」を出力したい ありがとうございます!
foreach ($Csvs as $Csv) { ~ } にて、 if ($Csv->getDispName() == '価格') { $ExportCsvRow->setData($OrderItem->getPrice() + $OrderItem->getTax()); } の記述により、無事「税込み価格」の表示にすることができました。 |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |