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?
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
customer_detail_report.xml
Not defined in manifest file.Template id in
customer_detail_report.xml
is wrong.