Bỏ qua để đến Nội dung
Menu
Câu hỏi này đã bị gắn cờ
2 Trả lời
172 Lượt xem

Hi, 

I am now on Odoo CE V17 and I want to adapt in a sustainable way the Invoice PDF layout. For the sake of the details these are the changes that I want to make:

  • I want to show the units with an integer precision (for this one I already found a solution in the precision for Units)
  • I want to hide the Units name. So instead of "12.000 Units" it should be displayed only "12"
  • I need the last column to show the values including tax, so the column "Amount" should display line.price_total​ instead of line.price_subtotal


At this moment I have done these changes directly in the report_invoice_document​ but Odoo is warning me:

Be aware that editing the architecture of a standard view is not advised, since the changes will be overwritten during future module updates.

We recommend applying modifications to standard views through inherited views or customization with Odoo Studio.


My "google-foo" is not helping with how this can be done. I would like to add that I do not want to make a separate module and if possible I would like to achieve this in using the Odoo interface (... if possible).

Next step is to modify the offer template as also there I need at least the Amount to show the price with tax included...


I would appreciate any tips that can bring me in the right direction.


Thank you all!


BR,

Vlad

Ảnh đại diện
Huỷ bỏ
Tác giả Câu trả lời hay nhất

Thanks. It seems I need to have a look into creating modules, as, it seems I understood the concept wrong. In my mind I need to create a new module when I want to have new functionality. It seems I need to build them (at least a bare minimum) when I want to extend stuff.


sorry, I looked into developing/extending odoo, but as this is not my main job, knowledge fades away.


Thanks for giving me the direction! I will report back with the progress.

Ảnh đại diện
Huỷ bỏ
Câu trả lời hay nhất

Firstly, since you've mentioned Community Edition - Odoo Studio is a feature available to Enterprise instances only. So, unfortunately, 'We recommend applying modifications to standard views through inherited views or customization with Odoo Studio' does not apply to your setup.

Secondly, a sustainable way should always equal a module development - no matter what version or edition.

About 'any tips that can bring me in the right direction' - you don't need much to extend a report.

A folder with this structure should be sufficient for the beginning:

<company_name>_account_report/
-- __manifest__.py
-- __init__.py
-- views/
-- -- report_invoice.xml

__manifest__.py needs to specify the path to the report extension (views/report_invoice.xml) and a dependency on the Invoice module as 'depends': ['account']

__init__.py can remain completely empty

views/report_invoice.xml will be something like

<?xml version="1.0" encoding="UTF-8" ?>
<odoo>
    <template id="report_invoice_document" inherit_id="account.report_invoice_document">
<xpath expr="..." position="...">...</xpath>
</template>
</odoo>


Now, for the detailed content of the manifest-file you can refer to literally any module in your addons directory as every module needs one. https://github.com/odoo/odoo/blob/18.0/addons/crm_sms/__manifest__.py is a really trimmed down example.

Concept of inheriting reports/templates can be seen for example in the l10n_cz module, which extends exactly the report you're looking for: https://github.com/odoo/odoo/blob/18.0/addons/l10n_cz/views/report_invoice.xml#L3


To successfully build or change a PDF report you will however have to invest your time into the documentation, chapters such as https://www.odoo.com/documentation/17.0/developer/tutorials/pdf_reports.html should bring you on the right track. Some knowledge about what XPath is and how it works and interacts with existing templates will be required as well: https://developer.mozilla.org/en-US/docs/Web/XML/XPath

Ảnh đại diện
Huỷ bỏ
Bài viết liên quan Trả lời Lượt xem Hoạt động
2
thg 6 25
757
1
thg 5 25
770
2
thg 5 25
696
0
thg 4 25
553
0
thg 4 25
641