如何在POS Receipt中添加新字段/如何继承一个js文件
How to add new fields to POS Receipt / How to inherit a js file
我想在 POS 中添加新字段 Receipt.I 想通过继承自定义中的 js 文件来实现 module.I 不懂 js 所以不知道如何继承 it.In odoo 的文件 point of sale > static > src > js > pos.js
model: 'res.company',
fields: [ 'currency_id', 'email', 'website', 'company_registry', 'vat', 'name', 'phone', 'partner_id' , 'country_id', 'tax_calculation_rounding_method'],
ids: function(self){ return [self.user.company_id[0]]; },
loaded: function(self,companies){ self.company = companies[0]; },
我编辑了字段并添加了我的必填字段说 street2
它即将出现 Pos Receipt
我尝试继承 js 文件,但它不起作用。
这是我的代码
var _super = module.PosModel.prototype;
module.PosModel = module.PosModel.extend({
initialize: function (session, attributes) {
_super.initialize.apply(this, arguments);
this.models.push({
model: 'res.company',
fields: ['street2'],
})
return this;
},
});
我还创建了一个xml文件来显示js文件的路径。
xml
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<data>
<template id="assets" inherit_id="point_of_sale.assets">
<xpath expr="." position="inside">
<script type="text/javascript" src="/xn_pos_vat_enhancement_v11/static/src/js/pos_receipt_fields.js"></script>
</xpath>
</template>
</data>
</odoo>
Odoo 版本:11(社区)
我是通过以下方式完成的:
odoo.define('xn_pos_vat_enhancement_v11.pos_receipt_fields', function (require) {
var models = require('point_of_sale.models');
var core = require('web.core');
var _t = core._t;
var session = require('web.session');
var rpc = require('web.rpc');
var _super_PosModel = models.PosModel.prototype;
models.PosModel = models.PosModel.extend({
get_model: function (_name) {
var _index = this.models.map(function (e) {
return e.model;
}).indexOf(_name);
if (_index > -1) {
return this.models[_index];
}
return false;
},
initialize: function (session, attributes) {
var self = this;
var company_model = this.get_model('res.company');
company_model.fields.push('street','street2','state_id');
_super_PosModel.initialize.apply(this, arguments);
},
get_config: function () {
return this.config;
},
});
});
其中 xn_pos_vat_enhancement_v11
是我的模块名称,pos_receipt_fields
是我的文件名。
我不知道解释整个代码,如果有人可以我会接受他们的回答。
我想在 POS 中添加新字段 Receipt.I 想通过继承自定义中的 js 文件来实现 module.I 不懂 js 所以不知道如何继承 it.In odoo 的文件 point of sale > static > src > js > pos.js
model: 'res.company',
fields: [ 'currency_id', 'email', 'website', 'company_registry', 'vat', 'name', 'phone', 'partner_id' , 'country_id', 'tax_calculation_rounding_method'],
ids: function(self){ return [self.user.company_id[0]]; },
loaded: function(self,companies){ self.company = companies[0]; },
我编辑了字段并添加了我的必填字段说 street2
它即将出现 Pos Receipt
我尝试继承 js 文件,但它不起作用。
这是我的代码
var _super = module.PosModel.prototype;
module.PosModel = module.PosModel.extend({
initialize: function (session, attributes) {
_super.initialize.apply(this, arguments);
this.models.push({
model: 'res.company',
fields: ['street2'],
})
return this;
},
});
我还创建了一个xml文件来显示js文件的路径。
xml
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<data>
<template id="assets" inherit_id="point_of_sale.assets">
<xpath expr="." position="inside">
<script type="text/javascript" src="/xn_pos_vat_enhancement_v11/static/src/js/pos_receipt_fields.js"></script>
</xpath>
</template>
</data>
</odoo>
Odoo 版本:11(社区)
我是通过以下方式完成的:
odoo.define('xn_pos_vat_enhancement_v11.pos_receipt_fields', function (require) {
var models = require('point_of_sale.models');
var core = require('web.core');
var _t = core._t;
var session = require('web.session');
var rpc = require('web.rpc');
var _super_PosModel = models.PosModel.prototype;
models.PosModel = models.PosModel.extend({
get_model: function (_name) {
var _index = this.models.map(function (e) {
return e.model;
}).indexOf(_name);
if (_index > -1) {
return this.models[_index];
}
return false;
},
initialize: function (session, attributes) {
var self = this;
var company_model = this.get_model('res.company');
company_model.fields.push('street','street2','state_id');
_super_PosModel.initialize.apply(this, arguments);
},
get_config: function () {
return this.config;
},
});
});
其中 xn_pos_vat_enhancement_v11
是我的模块名称,pos_receipt_fields
是我的文件名。
我不知道解释整个代码,如果有人可以我会接受他们的回答。