将自定义模块中的字段导入Odoo(V9)POS模块

时间:2016-04-18 13:38:05

标签: javascript odoo-9

我在Odoo中编写了一个自定义模块,现在我想将自定义模块中的一些字段值导入到POS小部件中。

假设我有一个名为' discount'在模块' customer.discount'。

如何将自定义模块中的字段值加载到POS的窗口小部件中? 这是我到目前为止的.js代码。有什么指针吗?备注:这是针对新的Odoo API(V9)。

odoo.define('pos_product_available.PosModel', function(require){
"use strict";


    var models = require('point_of_sale.models');
    var _super_posmodel = models.PosModel.prototype;
    models.PosModel = models.PosModel.extend({
        initialize: function (session, attributes) {
            var partner_model = _.find(this.models, function(model){ return model.model === 'product.product'; });
            partner_model.fields.push('qty_available');
            var customer_model = _.find(this.models, function(model){return
                this.models.push({
                      model: 'customer.discount',
                      fields: ['discount_price','percentage'],
                })
            }),
            return _super_posmodel.initialize.call(this, session, attributes);
        },
    })
})

2 个答案:

答案 0 :(得分:0)

使用覆盖pos

的load_loaded
models.load_loaded = function() {    
  model:  'my.model',  
  fields: ['id','name','image'],
  domain: null,
  loaded: function(self, params){
    // your code
}  }

答案 1 :(得分:0)

odoo.pos_custom = function(instance){
module = instance.point_of_sale;
function pos_customer_discount(instance,module){
    var models = module.PosModel.prototype.models;
    models.model.push({ 
        model:  'customer.discount',
        fields: ['discount_price','percentage'],
        loaded: function(self,customer_discount){self.customer_discount = customer_discount[0]; },
});
}