gpt4 book ai didi

javascript - 如何使用 Odoo JS 在 Many2One 字段上应用域过滤器?

转载 作者:太空宇宙 更新时间:2023-11-03 16:50:47 27 4
gpt4 key购买 nike

目前,我正在从事POS 定制工作。我已经完成了几乎但陷入了这个问题。

Py 文件:

class prescription(osv.osv):

_name = 'res.prescriptions'

_columns={

'prescription_id':fields.many2one('res.partner',"customer"),

}

class prescription_res_partner(osv.osv):

_inherit = 'res.partner'

_columns = {

'prescriptions_ids': fields.one2many('res.prescriptions','prescription_id','Prescriptions'),

}

我想做的是,当用户在 POS 中选择客户,并点击处方按钮时,它只显示与特定选定客户相关的处方。目前,它显示所有处方,因为我无法正确设置过滤器域。还有......

我尝试使用JS中的.query().filter()来解决我的问题。但出现一些错误,而如果我输入静态partner_id,那么它将显示给定静态partner_id的处方。我想为充满活力的合作伙伴解决这个问题。它只显示选定合作伙伴的处方...!!!

在 JS 文件中:

var def = new $.Deferred();

console.log("deffffffffffffff", def);

var fields = _.find(this.models,function(model){ return model.model === 'res.prescriptions'; });

new instance.web.Model('res.prescriptions')

.query(fields)

.filter([['prescription_id', '=', 51]]) // Here i pass static partner_id instead of this i want to pass dynamic partner_id

.limit(1000)

.all()

.then(function(prescriptions){

if (self.render_list_prescription(prescriptions)) { // Render selected partner's Prescription

def.resolve();

} else {

def.reject();

}

}, function(err,event){ event.preventDefault(); def.reject(); });

return def;

我花了将近 3 天的时间来解决这个问题,但未能交付。请帮我解决这个问题。再次非常感谢您的帮助..!!!

最佳答案

您可以尝试在如下字段中使用域:

_columns = {

'prescriptions_ids': fields.one2many('res.prescriptions','prescription_id','Prescriptions', domain="[('prescription_id', '=', 51)]"),
}

将 51 更改为相关的其他列

关于javascript - 如何使用 Odoo JS 在 Many2One 字段上应用域过滤器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35862367/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com