콘텐츠로 건너뛰기
메뉴
커뮤니티에 참여하려면 회원 가입을 하시기 바랍니다.
신고된 질문입니다
2 답글
7820 화면

Hi, i want to add new field on product to show it on pos receipt in odoo v14, any help please

아바타
취소
베스트 답변

Hi,
First add the field by inheriting 'product.product' model.

class Product(models.Model):
    _inherit = 'product.product'
    new_field = fields.Char()

Then write Javascript function to add this new field to PoS model.

odoo.define('module_name.NewField', function(require){
    'use strict';
    var models = require('point_of_sale.models');
    var _super_product = models.PosModel.prototype;
    models.PosModel = models.PosModel.extend({
        initialize: function(session, attributes){
            var self = this;
            models.load_fields('product.product', ['new_field']);
            _super_product.initialize.apply(this, arguments);
        }
    });
});
Now we can pass this field to the receipt.

odoo.define('module_name.receipt', function(require){
    "use strict";
    var models = require('point_of_sale.models');
    models.load_fields('product.product', 'product_grade_id');
    var _super_orderline = models.Orderline.prototype;
    models.Orderline = models.Orderline.extend({
        export_for_printing: function(){
            var line = _super_orderline.export_for_printing.apply(this, arguments);
            line.new_field = this.get_product().new_field;
            return line;
        }
    });
});
Now you can inherit the OrderReceipt template to add the new field

https://ibb.co/3Yb3StF

Regards

아바타
취소
작성자

Thanks...solved :)

베스트 답변
First add the field by inheriting 'product.product' model.

this code is in which file? 

Then write Javascript function to add this new field to PoS model.

this code is into models.js file?

Sorry but i'm a newby. 

아바타
취소
관련 게시물 답글 화면 활동
0
11월 23
2095
1
8월 23
3032
0
5월 23
2851
0
12월 22
2619
0
10월 22
3836