請求書の金額設定について

435 views
Skip to first unread message

okano

unread,
Oct 19, 2011, 6:53:48 AM10/19/11
to vtigerCRM.jp (vtiger CRM日本語版)
はじめまして。なんとかインストールに成功したのですが、請求書を印刷する際、金額の小数点以下を表示させたくないのですがやり方がわかりません。
ご教示いただけるとありがたいです。

Masanori Tamura

unread,
Oct 19, 2011, 10:06:11 PM10/19/11
to vtigerCRM.jp (vtiger CRM日本語版)
こんにちは、okanoさん

ご利用のVtigerのバージョンはいくつですか?
5.1?それとも、5.2 ですか?

PDF出力まわりは、number_formatを利用して小数点第二位まで出力するように
ベタ書きされてるみたいで、ソースいじらないとダメっぽいですね。

number_format($final_details["hdnSubTotal"],2,'.',',');

ちなみに、5.1だとinclude/InventoryPDF.phpにPDF出力の記載があるので、
ここら辺を修正すると。出力される値を変更できますよ。


==================
NHB-Lab
田村 真憲

HP:http://www.nhb-lab.info/
==================

okano

unread,
Oct 20, 2011, 1:53:35 AM10/20/11
to vtigerCRM.jp (vtiger CRM日本語版)
ご回答ありがとうございます。Vtigerのバージョンは5.1です。

こちらのページを参考に(中国語ですが)
http://www.xzer.com/opensource/vtiger/113.html
include/InventoryPDF.phpの732行目と734行目を
$unit_price[$i] = number_format($associated_products[$i]['unitPrice'.
$i],0,'.',',');
$list_price[$i] = number_format($associated_products[$i]['listPrice'.
$i],0,'.',',');
と変更してみたのですがうまくいかなかったので質問させていただきました。

Masanori Tamura

unread,
Oct 20, 2011, 3:25:16 AM10/20/11
to vtigerCRM.jp (vtiger CRM日本語版)
732行目のそれは、function get_so_pdfなので、受注のPDF出力処理です。
ですから、請求書に変更は反映されません。

というわけで、請求書の場合は、function get_invoice_pdf()の中に記載されているので
その関数内で、変更を加える必要があります。
行数でいうと、16行目から287行目の間

参考)
get_invoice_pdf ⇒ 請求書
get_po_pdf ⇒ 購買発注
get_so_pdf ⇒ 受注
get_quote_pdf ⇒ 見積り

変更を加える必要があるのは、number_formatを行っている箇所で、2を0に変更する必要があります。
例)
【変更前】
$price_subtotal = number_format($final_details["hdnSubTotal"],
2,'.',',');

【変更後】
$price_subtotal = number_format($final_details["hdnSubTotal"],
0,'.',',');

ざっと見た感じ、下記のような感じで対応しているので上記を踏まえ2を0に変更する。
後は、トライアンドエラーすれば解決するかと思います。
※行数は目安です。

101行目 支払い合計
$price_subtotal = number_format($final_details["hdnSubTotal"],
2,'.',',');
119行目 調整
$price_adjustment = number_format($final_details["adjustment"],
2,'.',',');
121行目 総合計
$price_total = number_format($final_details["grandTotal"],
2,'.',',');
178行目 価格
$list_price[$i] =
number_format($associated_products[$i]['listPrice'.$i],2,'.',',');
190行目 合計
$prod_total[$i] = number_format($producttotal,
2,'.',',');

okano

unread,
Oct 22, 2011, 6:04:44 AM10/22/11
to vtigerCRM.jp (vtiger CRM日本語版)
ありがとうございました。おかげさまで請求書の金額の小数点表示をなくせました。
\vtigercrm-5.1.0\apache\htdocs\vtigerCRM\modules\Invoice\pdf_templates
\header.php
をいじって郵便番号・都道府県・市区町村という順番に変えることもできたのでようやく日本的な請求書に近づきました。
あとはなぜか2頁の請求書(外国では標準なのでしょうか?)を1頁にして担当者印や検印を押す欄が作れれば実際に使用できそうです。
zohoのようにテンプレートを選択して修正できる機能とかあると便利ですね。

Masanori Tamura

unread,
Oct 24, 2011, 6:27:26 AM10/24/11
to vtigerCRM.jp (vtiger CRM日本語版)
問題解決できて、よかったです。

VtigerのPDFのテンプレート編集は、UIから行いたいですよね。
どうしても、コードを編集しないとPDFの編集ができないのは敷居が高すぎるな~と私も思ってます。
ただし、TCPDFの知識があれば、PDFの編集は可能なので、
ソースが公開されているVtigerの恩恵を受けてがんばってみるのも、それはそれでありかなとも思ってます。
Reply all
Reply to author
Forward
0 new messages