Overslaan naar inhoud
Menu
Je moet geregistreerd zijn om te kunnen communiceren met de community.
Deze vraag is gerapporteerd
1 Beantwoorden
1081 Weergaven

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
Annuleer
Beste antwoord

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
Annuleer
Gerelateerde posts Antwoorden Weergaven Activiteit
2
jan. 23
2915
1
mei 18
4370
2
mei 17
3342
4
nov. 16
4546
3
mei 16
7832