請求書印刷レイアウトの追加方法とサーバーエラーについて。
Odoo v8を導入に向けてカスタマイズしています。
請求書印刷レイアウトをクライアント毎に使い分ける必要があり、印刷ボタンの配下にオリジナルのレイアウトを追加し選択できるようにしたいと考えています。
下記手順で選択項目の追加はできたのですが、印刷を実行すると、Internal Server Errorが出ます。作成、変更した手順を記しますので、不十分な点や、他に確認すべき項目などあればお教えいただければ幸いです。
手順
1.技術>アクション>レポートで 「請求書」 から複製「テスト」を作成。(名称、Template name編集)
2.Qwebビュー(translate用)の複製を作成。(名称、t-name、t-raw編集)
3.外部ID作成(完全ID編集、レコードIDとモデル名を上記Qwebと紐付け)
4.Qwebビュー(document)の複製を作成(名称、t-name編集)
5.外部ID作成(完全ID編集、レコードIDとモデル名を上記Qwebと紐付け)
6.アクション結合「invoices」から複製を作成。(名称編集、アクション参照でレポートのレコードIDに紐付け)
以上です。
どういうわけか追加した印刷項目だけでなく、もとの「印刷」>「請求書」もInternal Server Errorが出るようになりました。
この変更前に念のためバックアップしておいたデータベースのレポートやQwebと見比べて、レコードIDや名称に間違いがないかは確認しているのですが、単純な写し間違いはなさそうです。アクション結合をした際に、どこか他に書き換えられた項目でもあるのでしょうか?
アドバイスいただければ幸いです。
参考動画
https://www.youtube.com/watch?v=b4QXCsw_LVg&list=PL3Dn875qS86BHd-Bml_YN9OGNwr-TCpSo
具体的な原因はわからないのですが、Odooのログファイルは見れますか?ログが見られれば原因特定できるかと思います。
ログファイル出力先は、インストールの仕方にもよりますが、標準的なやり方でしたら /var/log/odoo/odoo-server.log にあるのではないかと思います。
また、ご記述の手順(Odooの画面でレコード追加)でもレポート作成できるとは思いますが、メンテナンスの観点より、可能であればモジュール作成することをおすすめします。
昨日は有難うございました。 さて、Odooのログファイルの抜粋です。
2016-03-23 23:53:27,221 26672 INFO database-2 werkzeug: 192.168.24.xxx - - [23/Mar/2016 23:53:27] "POST /web/dataset/call_kw/account.tax/name_get HTTP/1.1" 200 -
2016-03-23 23:53:27,224 26672 INFO database-2 werkzeug: 192.168.24.xxx - - [23/Mar/2016 23:53:27] "POST /web/dataset/call_kw/account.tax/name_get HTTP/1.1" 200 -
2016-03-23 23:53:29,033 26672 INFO database-2 werkzeug: 192.168.24.xxx - - [23/Mar/2016 23:53:29] "POST /web/action/load HTTP/1.1" 200 -
2016-03-23 23:53:29,077 26672 INFO database-2 werkzeug: 192.168.24.xxx - - [23/Mar/2016 23:53:29] "POST /report/check_wkhtmltopdf HTTP/1.1" 200 -
2016-03-23 23:53:29,455 26672 INFO database-2 werkzeug: 192.168.24.xxx - - [23/Mar/2016 23:53:29] "GET /report/html/account.report_invoice/1 HTTP/1.1" 500 -
2016-03-23 23:53:29,632 26672 ERROR database-2 werkzeug: Error on request:
Traceback (most recent call last):
File "/volume1/@appstore/PythonModule/usr/lib/python2.7/site-packages/werkzeug/serving.py", line 180, in run_wsgi
execute(self.server.app)
File "/volume1/@appstore/PythonModule/usr/lib/python2.7/site-packages/werkzeug/serving.py", line 168, in execute
application_iter = app(environ, start_response)
File "/volume1/@appstore/Odoo8/usr/lib/python2.7/site-packages/openerp/service/server.py", line 280, in app
return self.app(e, s)
File "/volume1/@appstore/Odoo8/usr/lib/python2.7/site-packages/openerp/service/wsgi_server.py", line 216, in application
return application_unproxied(environ, start_response)
File "/volume1/@appstore/Odoo8/usr/lib/python2.7/site-packages/openerp/service/wsgi_server.py", line 202, in application_unproxied
~中略~
File "/volume1/@appstore/Odoo8/usr/lib/python2.7/site-packages/openerp/addons/base/ir/ir_qweb.py", line 247, in render
return self.render_node(self.get_template(id_or_xml_id, qwebcontext), qwebcontext)
File "/volume1/@appstore/Odoo8/usr/lib/python2.7/site-packages/openerp/addons/base/ir/ir_qweb.py", line 284, in render_node
result = self.render_element(element, template_attributes, generated_attributes, qwebcontext)
File "/volume1/@appstore/Odoo8/usr/lib/python2.7/site-packages/openerp/addons/base/ir/ir_qweb.py", line 305, in render_element
g_inner.append(self.render_node(current_node, qwebcontext))
File "/volume1/@appstore/Odoo8/usr/lib/python2.7/site-packages/openerp/addons/base/ir/ir_qweb.py", line 284, in render_node
result = self.render_element(element, template_attributes, generated_attributes, qwebcontext)
File "/volume1/@appstore/Odoo8/usr/lib/python2.7/site-packages/openerp/addons/base/ir/ir_qweb.py", line 305, in render_element
g_inner.append(self.render_node(current_node, qwebcontext))
File "/volume1/@appstore/Odoo8/usr/lib/python2.7/site-packages/openerp/addons/base/ir/ir_qweb.py", line 284, in render_node
result = self.render_element(element, template_attributes, generated_attributes, qwebcontext)
File "/volume1/@appstore/Odoo8/usr/lib/python2.7/site-packages/openerp/addons/base/ir/ir_qweb.py", line 305, in render_element
g_inner.append(self.render_node(current_node, qwebcontext))
File "/volume1/@appstore/Odoo8/usr/lib/python2.7/site-packages/openerp/addons/base/ir/ir_qweb.py", line 284, in render_node
result = self.render_element(element, template_attributes, generated_attributes, qwebcontext)
File "/volume1/@appstore/Odoo8/usr/lib/python2.7/site-packages/openerp/addons/base/ir/ir_qweb.py", line 310, in render_element
raise_qweb_exception(message="Could not render element %r" % element.tag, node=element, template=template)
File "/volume1/@appstore/Odoo8/usr/lib/python2.7/site-packages/openerp/addons/base/ir/ir_qweb.py", line 305, in render_element
g_inner.append(self.render_node(current_node, qwebcontext))
File "/volume1/@appstore/Odoo8/usr/lib/python2.7/site-packages/openerp/addons/base/ir/ir_qweb.py", line 282, in render_node
result = self._render_tag[t_render](self, element, template_attributes, generated_attributes, qwebcontext)
File "/volume1/@appstore/Odoo8/usr/lib/python2.7/site-packages/openerp/addons/base/ir/ir_qweb.py", line 450, in render_tag_field
column = record._all_columns[field_name].column
QWebException: "partner_shipping_id" while evaluating
"translate_doc(doc_id, doc_model, 'partner_id.lang', 'account.report_invoice_document')"
以上です。やはりQwebビュー(翻訳)に何か問題があるのでしょうか。エラーが出るQwebのアーキテクチャを追記します。
・Qwebビュー(report_invoice)のアーキテクチャ
<?xml version="1.0"?>
<t t-name="account.report_invoice">
<t t-call="report.html_container">
<t t-foreach="doc_ids" t-as="doc_id">
<t t-raw="translate_doc(doc_id, doc_model, 'partner_id.lang', 'account.report_invoice_document')"/>
</t>
</t>
</t>
・ちなみに下が追加登録したQwebビュー(test_report)のアーキテクチャです。
<?xml version="1.0"?>
<t t-name="account.test_report">
<t t-call="report.html_container">
<t t-foreach="doc_ids" t-as="doc_id">
<t t-raw="translate_doc(doc_id, doc_model, 'partner_id.lang', 'account.test_report_document')"/>
</t>
</t>
</t>
回答をどうぞ!
問題解決につながる実際的な回答をお願いします。質問や既出の回答に対して補足が意見がある場合は、コメントツールをご利用ください。一つの質問に対し複数回の回答はできませんが、自分の回答はいつでも修正が可能です。また、質問/回答の評価にご協力ください!
まだわからないのですが、試しに顧客の言語を英語にしてみるとエラーが出なくなったりしないでしょうか?