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

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

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

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

Ảnh đại diện
Huỷ bỏ
Bài viết liên quan Trả lời Lượt xem Hoạt động
2
thg 1 23
3103
1
thg 5 18
4533
2
thg 5 17
3472
4
thg 11 16
4681
3
thg 5 16
8221