2017-07-09 3 views
1

私のカスタムモジュール用のレポートとメールテンプレートを作成しました。両方とも独立して働いています。私は、電子メールテンプレートは、エラーを取得してレポートを添付しようとした場合:レポート付きのメールテンプレート

email_template.xml

<record id="email_template_edi_project" model="mail.template"> 
     <field name="name">Project Quotation - Send by Email</field> 
     <field name="email_from">${(object.user_id.email and '%s &lt;%s&gt;' % (object.user_id.name, object.user_id.email) or '')|safe}</field> 
     <!-- <field name="subject">${object.company_id.name} ${object.state in ('draft', 'sent') and 'Quotation' or 'Order'} (Ref ${object.name or 'n/a' })</field> --> 
     <field name="subject">Request for Project: ${object.name or 'n/a' }</field> 
     <field name="partner_to">${object.partner_id.id}</field> 
     <field name="model_id" ref="project_quotation.model_project_quotation"/> 
     <field name="auto_delete" eval="True"/> 
     <field name="report_template" ref="project_quotation.report_rfp"/> 
     <field name="report_name">${(object.name or '').replace('/','_')}${object.state == 'draft' and '_draft' or ''}</field> 
     <field name="lang">${object.partner_id.lang}</field> 
     <field name="body_html"><![CDATA[]></field> 

report_template:ここ

ParseError: "insert or update on table "mail_template" violates foreign key constraint "mail_template_report_template_fkey" DETAIL: Key (report_template)=(317) is not present in table "ir_act_report_xml".

は私のコードです。 xml

<report 
id="project_quotation" 
model="project.quotation" 
string="Project Quotation" 
report_type="qweb-pdf" 
name="mymodule.report_rfp" 
file="mymodule.report_rfp" 
menu="True"/> 

<template id="report_rfp"> 
<t t-call="report.html_container"> 
    <t t-foreach="docs" t-as="o"> 
     <t t-call="report.external_layout"> 
      <div class="page"> 
       <h2>Report title</h2> 
       <p>This object's name is <span t-field="o.name"/></p> 
      </div> 
     </t> 
    </t> 
</t> 

どうすればこの問題を解決できますか?

+0

私は同じ問題に直面しています、運は何ですか? –

答えて

0

あなたのメールテンプレートで間違ったレポート参照が使用されています。

メールテンプレートでこのラインを使用してみてください:

<field name="report_template" ref="project_quotation.project_quotation"/> 

より一般的な、公共の例では、例えば追加することです株式ピッキング操作のための電子メールテンプレートへの配送伝票:出荷伝票の

  1. IDは、そのためのレポートテンプレートrefがstock.action_report_delivery
  2. 機種IDがstock.model_stock_picking
  3. あるだろう
  4. here見えます

    <record id="stock_picking_template_email" model="mail.template"> 
        <field name="name">Delivery Slip E-Mail Template</field> 
        <field name="email_from">${object.company_id and object.company_id.email or ''}</field> 
        <field name="subject">Delivery Slip ${object.name}</field> 
        <field name="partner_to">${object.partner_id.id}</field> 
        <field name="lang">${object.lang}</field> 
        <field name="model_id" ref="stock.model_stock_picking"/> 
        <field name="report_template" ref="stock.action_report_delivery"/> 
        <field name="report_name">Delivery Slip ${object.name}</field> 
        <field name="auto_delete" eval="True"/> 
        <field name="body_html"> 
        <![CDATA[ 
         ... 
        ]]> 
        </field> 
    </record> 
    

だから、レコードエントリはこのようなものになるだろう

多くの助けになったもう1つの素晴らしい電子メールテンプレートのチュートリアルはhereです。

関連する問題