Я разработал новый отчет для account.invoice в odoo 12, но когда я собираюсь его распечатать, он дает мне такое предупреждение в ветке 12.0:
Неправильный шаблон отчета "Название шаблона", обратитесь к администратору.
Невозможно разделить файл для сохранения как вложения, поскольку шаблон отчета не содержит атрибутов data-oe-model и data-oe-id в div с именем класса article.
В главной ветке вместо data-oe-model указано data-model, data-id вместо data-oe-id и имя класса page вместо имени класса article
Если кто-то столкнулся с такой же проблемой и нашел решение, дайте мне знать.
Спасибо





Решил с помощью друга:
В вашем external_layout вы должны определить «t-att-data-oe-model» и «t-att-data-oe-id». Добавь это:
<div class = "article o_report_layout_standard" t-att-data-oe-model = "o and o._name" t-att-data-oe-id = "o and o.id">
<t t-call = "web.address_layout"/>
<t t-raw = "0"/>
</div>
Ранее этот фрагмент кода (v11) был таким:
<div class = "article o_report_layout_standard">
<t t-raw = "0" />
</div>
Надеюсь, это решит вашу проблему. Это изменение связано с тем, что отчет теперь доступен для редактирования в версии 12 с помощью приложения Studio.
Где найти этот "external_layout"? Благодарность!
<t t-call = "web.external_layout"> </t> этим вы можете вызвать external_layout
Да, вам нужно изменить external_layout, в моем случае это был собственный макет, и я решил его, используя приведенный ниже XML
<template id = "custom_layout">
<!-- Multicompany -->
<div class = "article o_report_layout_standard" t-att-data-oe-model = "doc and doc._name" t-att-data-oe-id = "doc and doc.id">
<t t-if = "doc and 'company_id' in doc" >
<t t-set = "company" t-value = "doc.company_id"/>
<t t-set = "customer" t-value = "doc.partner_id"/>
</t>
<t t-call = "custom_sale_report_v12.custom_layout_header"/>
<t t-raw = "0"/>
<t t-call = "ce_sale_report_v12.custom_layout_footer"/>
</div>
</template>
Эта ошибка может произойти, если нет report_type = "qweb-html" для report_type = "qweb-pdf". Для решения этой проблемы нужно было как ... примерно так:
<report
id = "report_invoice_html"
model = "MY_MODEL_NAME"
string = "Invoice HTML"
name = "MODULE.report_invoice_view"
file = "MODULE.report_invoice"
report_type = "qweb-html" />
<report
id = "report_invoice_pdf"
model = "MY_MODEL_NAME"
string = "Invoice PDF"
name = "MODULE.report_invoice_view"
file = "MODULE.report_invoice"
report_type = "qweb-pdf" />
Если вы посмотрите на исходный код Odoo на ir_actions_report.py, вы увидите оператор сравнения set (res_ids)! = Set (html_ids), если HTML-шаблон не существует, он возвращает True, а затем вызывает ошибку
У меня такая же ошибка. У меня есть модуль отчетов, который работает с v9 до v11 (принятый вместе с новыми версиями). Но в Odoo v12, когда я пытаюсь распечатать счет-фактуру, он выдает следующую ошибку: «Шаблон отчета« Счета-фактуры »неверен, обратитесь к своему администратору. Невозможно разделить файл для сохранения как вложения, потому что шаблон отчета не содержит данных атрибутов. -model 'и' data-oe-id 'в div с именем класса' article '». Снимок экрана: imgur.com/a/PLBwVVJ