Přejít na obsah
Menu
You need to be registered to interact with the community.
This question has been flagged
1 Odpovědět
1179 Zobrazení

How do I display the order date on the receipts screen at the point of sales on Odoo 17, here is the pos_receipt_extend module

Avatar
Zrušit
Nejlepší odpověď

Hi,

The provided code is used to customize the Point of Sale module's receipt header to include the order date.


JS:


/** @odoo-module */


import { patch } from "@web/core/utils/patch";

import { Order } from "@point_of_sale/app/store/models";


patch(Order.prototype, {

export_for_printing() {

const result = super.export_for_printing(...arguments);

result.headerData = {

...this.pos.getReceiptHeaderData(),

date_order: this.date_order,

}

return result;

},

})


The code overrides the export_for_printing method of the Order to include the date_order field in the receipt header data.


XML:

<?xml version="1.0" encoding="UTF-8"?>
<templates id="template" xml:space="preserve">
    <t t-name="CustomReceiptHeader.ReceiptHeader"
       t-inherit="point_of_sale.ReceiptHeader" t-inherit-mode="extension">
            <xpath expr="//div[hasclass('cashier')]" position="after">
                <div class="pos-receipt-contact">
                    <t t-esc="this.props.data.date_order"/>
                </div>
            </xpath>
        </t>
</templates>

Inherit the 'point_of_sale.ReceiptHeader' template and add date_order wherever you want using xpath.

The JS and XML files should be included in the manifest file

"assets": {
        "point_of_sale._assets_pos": [
            "path_to_js_file",
            "path_to_xml_file"
        ]
}



Hope it helps

Avatar
Zrušit
Related Posts Odpovědi Zobrazení Aktivita
2
led 23
3049
1
kvě 18
4487
2
kvě 17
3433
4
lis 16
4628
3
kvě 16
8168