跳至内容
菜单
此问题已终结

Hello everyone, I am trying to add a custom button in POS, but it is not working, even when I do the same thing I see in forums or videos. Odoo doesn't show anything in the view or in the log. 


I even see this in forums for the manifest:


‘assets’: {'point_of_sale. _assets_pos': [...]}


but it doesn't work for me, it gives me an error. It only doesn't give an error if I do it like this: 


‘assets’: {‘point_of_sale.assets’: [...]}


but it still doesn't show the button.



I need the button to appear next to the button labeled “Cliente”. Can someone explain to me what's going on?

形象
丢弃
最佳答案

To add a custom button in Odoo POS, ensure you follow these steps:



  Check your module's manifest file to ensure the assets are correctly defined as ‘point_of_sale.assets’.

  Verify that your JavaScript file is correctly included in the assets and that it contains the logic to add the button.

  Ensure your JavaScript code is correctly targeting the POS view and that there are no syntax errors preventing execution.


If you’d like to explore this further for your use case, you’re welcome to connect with us at Pragmatic Techsoft.

形象
丢弃
最佳答案

Hi,


Please take a look at the following for adding a button in the pos screen.


* https://www.cybrosys.com/blog/how-to-add-a-custom-button-in-odoo-17-pos-screen


* https://www.cybrosys.com/blog/how-to-add-a-custom-button-in-odoo-18-pos-screen#:~:text=Odoo's%20POS%20system%20utilizes%20XML,structure%20of%20your%20custom%20button.


* https://www.cybrosys.com/blog/how-to-create-modify-component-control-buttons-in-pos-odoo-18


Solved forum

* https://www.odoo.com/es/forum/ayuda-1/how-to-add-button-in-paymentscreen-payment-ui-267143


Hope it helps

形象
丢弃
编写者

I try, but its not work. this is my code

manifest:

{
'name': "Fiscal POS (Dominican Republic)",
'summary':
"""
This module adds NCF invoicing functionalities to the POS.
""",
'license': 'LGPL-3',
'website': "https://github.com/odoo-dominicana",
'category': 'Localization',
'version': '18.0.0.0.3',
'depends': [
'base',
'point_of_sale',
'l10n_do_accounting',
],
'data': [
],
'assets': {
'point_of_sale.assets': [
'l10n_do_pos/static/src/**/*',
'l10n_do_pos/static/src/**/*',
],
},
'installable': True,
}

payment_screen_extend.xml:

<?xml version="1.0" encoding="UTF-8"?>
<templates id="template" xml:space="preserve">
<t t-name="l10n_do_pos.PaymentScreenButtons" t-inherit="point_of_sale.PaymentScreenButtons" t-inherit-mode="extension">
<xpath expr="//div[hasclass('ppayment-buttons')]" position="inside">
<button class="btn btn-light btn-lg d-flex justify-content-between align-items-baseline w-100 w-md-50 lh-lg" t-on-click="onClickTest">
<span>
<i class="fa fa-file-text-o me-2"></i>Test Button
</span>
</button>
</xpath>
</t>
</templates>

payment_screen_extend.js:

/** @odoo-module **/
import { patch } from "@web/core/utils/patch";
import { PaymentScreen } from "@point_of_sale/app/screens/payment_screen/payment_screen";

patch(PaymentScreen.prototype, {
async onClickTest() {
console.log("Clicked Test Button");
},
});

I can't see the problem.

相关帖文 回复 查看 活动
3
10月 21
7374
2
3月 20
7340
2
5月 18
7401
8
5月 24
19638
1
4月 17
4434