Odoo Custom Report - External ID not found

680 views Asked by At

I am creating a custom report in Inventory (stock) module for which I have created a pop up view (window) for selection then after clicking a submit button, a python function is called. The problem is I am getting an internal server error stating

Value Error: External ID not found in the system: stock.customer_detail_report

Here is stock_report_views.xml file:

<odoo>
<data>
<report
            string="Customer Report"
            id="action_customer_detail_report"
            model="customer.detail"
            name="stock.customer_detail_report"
            file="stock.customer_detail_report"
            report_type="qweb-pdf"
            print_report_name="Customer_Detail"
        />
    </data>
</odoo>

Here is the model customer_detail.py

class CustomerDetail(models.TransientModel):
    _name = 'customer.detail'
    _description = 'Customer Detail'    

    customer_vendor = fields.Many2one('res.partner', 
                        string="Customer/Vendor", help="List of Customer and Vendors")
    PO = fields.Integer('purchase.order', related="id")
    
    def open_table(self):
        self.ensure_one()
        return self.env.ref('action_customer_detail_report').report_action(self)

Here is the pop up view (window) customer_detail.xml:

<?xml version="1.0" encoding="utf-8"?>
<odoo>
    <record id="view_customer_detail" model="ir.ui.view">
        <field name="name">Customer Details</field>
        <field name="model">customer.detail</field>
        <field name="arch" type="xml">
            <form string="Choose your date">
                <group>
                    <group>
                        <field name="customer_vendor" />
                    </group>
                </group>
                <footer>
                    <button name="open_table" string="Retrieve the Customer Details" type="object" class="btn-primary"/>
                    <button string="Cancel" class="btn-secondary" special="cancel" />
                </footer>
            </form>
        </field>
    </record>
    <record id="action_customer_detail" model="ir.actions.act_window">
        <field name="name">Customer Detail</field>
        <field name="res_model">customer.detail</field>
        <field name="view_type">form</field>
        <field name="view_mode">form</field>
        <field name="view_id" ref="view_customer_detail"/>
        <field name="target">new</field>
    </record>
    <menuitem id="menu_customer_detail" name="Customer Detail" parent="stock.menu_warehouse_report" sequence="100" action="action_customer_detail_report"/>
</odoo>

And here is the final view customer_detail_report.xml:

<?xml version="1.0" encoding="utf-8" ?>
<odoo>
    <template id="action_customer_detail_report">

            <t t-call="web.basic_layout">
              <div class="page" style="padding-top:-10%;">
                   <div class="col-xs-4" style="padding:1;">
                      <h1>This is a test</h1>
                   </div>
              </div>
            </t>
    </template>
</odoo>

Here is the manifest file:

{
    'name': 'Inventory',
    'version': '1.1',
    'summary': 'Manage your stock and logistics activities',
    'description': "",
    'website': 'https://www.odoo.com/page/warehouse',
    'depends': ['product', 'barcodes'], 
    'category': 'Warehouse',
    'sequence': 13,
    'demo': [
        'data/stock_demo_pre.xml',
        'data/procurement_demo.xml',
        'data/stock_demo.xml',
        'data/stock_orderpoint_demo.xml',
        'data/stock_demo2.xml',
        'data/stock_location_demo_cpu1.xml',
        'data/stock_location_demo_cpu3.xml',
    ],
    'data': [
        'security/stock_security.xml',
        'security/ir.model.access.csv',
        'views/stock_menu_views.xml',
        'data/stock_traceability_report_data.xml',
        'data/procurement_data.xml',

        'report/report_stock_forecast.xml',
        'report/stock_report_views.xml',
        'report/report_package_barcode.xml',
        'report/report_lot_barcode.xml',
        'report/report_location_barcode.xml',
        'report/report_stockpicking_operations.xml',
        'report/report_deliveryslip.xml',
        'report/report_stockinventory.xml',
        'report/report_stock_rule.xml',
        'report/transfer_printlabel_report.xml',

        'wizard/stock_change_product_qty_views.xml',
        'wizard/stock_picking_return_views.xml',
        'wizard/stock_scheduler_compute_views.xml',
        'wizard/stock_immediate_transfer_views.xml',
        'wizard/stock_backorder_confirmation_views.xml',
        'wizard/stock_overprocessed_transfer_views.xml',
        'wizard/stock_quantity_history.xml',
        'wizard/customer_detail.xml',
        'wizard/stock_rules_report_views.xml',
        'wizard/stock_warn_insufficient_qty_views.xml',
        'wizard/product_replenish_views.xml',
        'wizard/stock_track_confirmation_views.xml',
        'wizard/stock_package_destination_views.xml',
        'wizard/transfer_printlabel_view.xml',

        'views/res_partner_views.xml',
        'views/product_strategy_views.xml',
        'views/stock_production_lot_views.xml',
        'views/stock_picking_views.xml',
        'views/stock_scrap_views.xml',
        'views/stock_inventory_views.xml',
        'views/stock_quant_views.xml',
        'views/stock_location_views.xml',
        'views/stock_warehouse_views.xml',
        'views/stock_move_line_views.xml',
        'views/stock_move_views.xml',
        'views/product_views.xml',
        'views/res_config_settings_views.xml',
        'views/report_stock_traceability.xml',
        'views/stock_template.xml',
        'views/stock_rule_views.xml',
        'views/stock_package_level_views.xml',        
        'views/product_sequence_views.xml',

        'data/default_barcode_patterns.xml',
        'data/stock_data.xml',
        'data/stock_sequence_data.xml',
    ],
    'qweb': [
        'static/src/xml/stock_traceability_report_backend.xml',
    ],
    'installable': True,
    'application': True,
    'auto_install': False,
    'pre_init_hook': 'pre_init_hook',
    'post_init_hook': '_create_warehouse',
    'uninstall_hook': 'uninstall_hook',
}

Any idea why am I not able to link the report and not getting the popup window and final report view?

1

There are 1 answers

0
Vishnu VaNnErI On

Looks like you are directly adding customization in stock module. I suggest you to make a custom module for proper implementation.

However, listing error I found in above code

  1. customer_detail_report.xml Not defined in manifest file.

  2. Template id in customer_detail_report.xml is wrong.

        <template id="customer_detail_report">
            <t t-call="web.basic_layout">
                  <div class="page" style="padding-top:-10%;">
                       <div class="col-xs-4" style="padding:1;">
                          <h1>This is a test</h1>
                       </div>
                  </div>
                </t>
        </template>