#jquery #xml #odoo-13 #point-of-sale
#jquery #xml #odoo-13 #точка продажи
Вопрос:
Я хочу показать код продукта по умолчанию в pos-квитанции. Могу ли я наследовать или редактировать в models.js или от других ? Спасибо.
export_for_printing: function(){
return {
...
default_code: this.get_default_code(),
};
},
get_default_code: function(){
return this.product.default_code;
},
Комментарии:
1. в статическом / src / XML-файле, где находится шаблон квитанции, в точке продажи есть шаблон jquery. вам нужно расширить его и добавить свой пользовательский код, который будет указан в квитанции.
2. @Dipen Shah , я расширил шаблон: получение заказа и добавил <t t-esc=’line.default_code’ /> ; для добавления полей из модели product.product или product.template ; Я должен добавить его в models.js ?
Ответ №1:
Пересмотрите решение:
Чтобы получить доступ к другому полю продукта, вам необходимо выполнить настройку в шаблоне JS
amp; XML
.
JS-код:
odoo.define('ypour_app.your app', function (require) {
"use strict";
var models = require('point_of_sale.models');
var OrderlineSuper = models.Orderline;
models.Orderline = models.Orderline.extend({
export_for_printing : function() {
var data = OrderlineSuper.prototype.export_for_printing.call(this);
// this.get_product() => you can have here all the product data [barcode/default_code/ etc.]
data.product_default_code = this.get_product().default_code;
return data;
}
});
});
XML-код:
<t t-extend="OrderReceipt">
<t t-jquery="t[t-foreach*='receipt.orderlines']" t-operation="append">
<b>Default Code </b>: <t t-esc="line.product_default_code"/>
</t>
</t>
Комментарии:
1. Я получил сообщение об ошибке: не удается прочитать свойство ‘default_code’ неопределенного
2. <t t-jquery= «.orderlines» t-operation=’replace’> <t t-foreach=’receipt.orderlines’ t-as=’line’> …. <t t-if=’!simple’> <t t-esc=’строка.product_id.default_code’ />
3. Попробуйте это: <t t-esc=»line.get_product().default_code»/>
4. Ошибка типа: dict.line.get_product не является функцией
5. @Ing я отредактировал ответ. вы можете протестировать код для своей ссылки.