Skip ke Konten
Menu
Pertanyaan ini telah diberikan tanda
1 Balas
1134 Tampilan

Dear Odoo Community,


I'm seeking assistance in upgrading a custom Point of Sale (POS) module from Odoo 16 to Odoo 18.  This module introduces several customizations to the POS interface, primarily focusing on displaying product quantities and enhancing the user experience.  Due to the substantial changes in the POS architecture between Odoo 16 and 18, a direct upgrade isn't feasible.


Here's a brief overview of the module and the challenges I'm facing:


**Module Functionality:**


This module customizes the Odoo 16 POS by:


* Displaying product quantities on the product screen.

* Adding a "Clear All" button to clear the entire order.

* Adding a "Clear Line" button to remove individual order lines.

* Modifying the order receipt.

* Customizing the Partner Details Edit and Partner List screens.


**Key Files and Structure (Odoo 16):**


The module's structure in Odoo 16 is as follows:


* **Manifest:**  (Included in the original post) Defines the module's dependencies, assets, and other metadata.

* **Views:** `views/product_view.xml` - Extends the product form view to potentially add fields related to quantity display (though the primary logic is likely in the JS).

* **Assets:**  The `assets` section in the manifest includes:

    * CSS: `pos_custom/static/src/css/*` - Custom CSS for styling.

    * JavaScript: `pos_custom/static/src/js/*` -  JS files handling the core logic for quantity display, button functionality, receipt modification, and partner screen customizations.  Specifically:

        * `clear_button.js`

        * `clear_order_line.js`

        * `OrderReceipt.js`

        * `PartnerDetailsEdit.js`

        * `ProductItem.js` (Likely the most crucial for quantity display)

    * XML Templates: `pos_custom/static/src/xml/*` - QWeb templates used to override and extend existing POS components.  These templates correspond to the JS files and modify the UI elements.  Examples:

        * `clear_button.xml`

        * `clear_order_line.xml`

        * `OrderReceipt.xml`

        * `ProductItem.xml`

        * `PartnerDetailsEdit.xml`

        * `PartnerListScreen.xml`


**Challenges with Odoo 18 Upgrade:**


Odoo 18 has undergone significant changes in its POS architecture.  Many of the classes, methods, and templates used in Odoo 16's POS have been refactored or replaced.  This means that the existing JavaScript and XML code will likely be incompatible with Odoo 18.  Specifically, I anticipate issues with:


* **Product Display:** The way products and their information (including quantities) are rendered and managed in the POS screen has likely changed.  `ProductItem.js` and `ProductItem.xml` will need to be rewritten.

* **UI Component Changes:** The structure and names of UI components (buttons, screens, etc.) might be different, requiring updates to the XML templates and corresponding JavaScript files.

* **Backend API Changes:**  If the module interacts with the backend (e.g., to fetch product quantities), the API endpoints and data structures might have been modified.

* **General POS Architecture:** The overall structure of the POS application and the way custom modules are integrated could be different.


**Request for Assistance:**


I would greatly appreciate any guidance or resources that could help me upgrade this module.  Specifically, I'm looking for information on:


* **Key changes in Odoo 18's POS architecture.**

* **Migration guides or best practices for upgrading POS customizations.**

* **Examples of how to achieve similar functionality in Odoo 18's POS.**

* **Any potential compatibility layers or tools that might simplify the upgrade process.**

Avatar
Buang
Jawaban Terbai

Dear Laxmi Kamtam,

 

Thank you for reaching out to the community regarding the upgrade of your custom POS module from Odoo 16 to Odoo 18.

We understand that your current module introduces valuable customizations—such as displaying product quantities, 

adding order control buttons, modifying receipts, and customizing partner views—by extending POS UI components through JavaScript and XML templates.

Given the significant architectural changes in Odoo 18, especially in the POS frontend framework, 

a direct migration isn’t possible. Key components such as product rendering, UI screen structure,

and integration methods have been refactored, requiring a full technical review and adaptation of the existing custom codebase.

 

Our Proposed Approach:

Code Review – Analyze your current Odoo 16 POS customizations in detail.

Compatibility Analysis – Map features to their Odoo 18 equivalents using the updated POS framework.

Custom Code Refactoring – Rewrite JS and XML templates to align with Odoo 18's modern architecture.

Testing & Validation – Ensure all custom features function correctly in the upgraded POS.

 

We appreciate the opportunity to work with you on this migration and are confident in delivering a smooth and robust transition to Odoo 18.

If you have any questions or need further assistance, feel free to reach out.


Thanks & Regards,

Email:  odoo@aktivsoftware.com           

Skype: kalpeshmaheshwari

Avatar
Buang