Сообщить о проблеме в odoo 12

Я разработал новый отчет для 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

Если кто-то столкнулся с такой же проблемой и нашел решение, дайте мне знать.

Спасибо

У меня такая же ошибка. У меня есть модуль отчетов, который работает с v9 до v11 (принятый вместе с новыми версиями). Но в Odoo v12, когда я пытаюсь распечатать счет-фактуру, он выдает следующую ошибку: «Шаблон отчета« Счета-фактуры »неверен, обратитесь к своему администратору. Невозможно разделить файл для сохранения как вложения, потому что шаблон отчета не содержит данных атрибутов. -model 'и' data-oe-id 'в div с именем класса' article '». Снимок экрана: imgur.com/a/PLBwVVJ

Tanzil Khan 18.10.2018 06:11
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
2
1
3 477
3

Ответы 3

Решил с помощью друга:

В вашем 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"? Благодарность!

uTILLIty 09.09.2019 19:27

<t t-call = "web.external_layout"> </t> этим вы можете вызвать external_layout

Tanzil Khan 11.09.2019 13:45

Да, вам нужно изменить 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, а затем вызывает ошибку

Другие вопросы по теме