Bỏ qua để đến Nội dung
Menu
Câu hỏi này đã bị gắn cờ
3 Trả lời
21916 Lượt xem

Hi again,

I need do a filter in a selection field, this is the code:

'wpartner_id': fields.related('incidencia_id', 'partner_id', type="many2one", relation="res.partner", string="Cliente", store=False),
'presupuesto': fields.many2one('sale.order', 'Presupuesto', ondelete='cascade', domain=[('partner_id', '=', wpartner_id)]),

This return this error:

'presupuesto': fields.many2one('sale.order', 'Presupuesto', ondelete='cascade', domain=[('partner_id', '=', wpartner_id)]),
NameError: name 'wpartner_id' is not defined

I need some help to solve it, please

Thanks

Ảnh đại diện
Huỷ bỏ
Câu trả lời hay nhất

Hi Francisco Martínez,

Replace

domain=[('partner_id', '=', wpartner_id)]

with

domain="[('partner_id', '=', wpartner_id)]"

Try Following,

'presupuesto': fields.many2one('sale.order', 'Presupuesto', ondelete='cascade', domain="[('partner_id', '=', wpartner_id)]"),

or put this domain in 'presupuesto' field of xml file

<field name="presupuesto"  domain="[('partner_id', '=', wpartner_id)]"/>

Hope it work for you.

Ảnh đại diện
Huỷ bỏ
Tác giả

With quotes returns no errors, but neither returns any data. Quotation marks are used only on the view.

Tác giả

now, i apply the domain at the view, and it works fine! so only in existents records when wpartner_id is filled. how can i get wpartner_id default value? for new records.

Tác giả

<field name="wpartner_id" readonly="1" invisible="true"/> <field name="presupuesto" domain="[('partner_id','=',wpartner_id)]" on_change="onchange_presupuesto(presupuesto)"/>

Hi Francisco, If your problem is solved, then please mark this answer as solved. thanks

Solution for view worked for me but at class field level it didn't work....Thanks for solution

Câu trả lời hay nhất

You can not filter a domain with respect to a non-stored field.

Change the definition of wpartner_id to:

'wpartner_id': fields.related('incidencia_id', 'partner_id', type="many2one", relation="res.partner", string="Cliente", store=True),
Ảnh đại diện
Huỷ bỏ
Tác giả Câu trả lời hay nhất

thanks for your reply,

Doesn't works with this change.

returned the same error:

'presupuesto': fields.many2one('sale.order', 'Presupuesto', ondelete='cascade', domain=[('partner_id', '=', wpartner_id)]),
NameError: name 'wpartner_id' is not defined

Thx.

Ảnh đại diện
Huỷ bỏ

I recommend making this a comment to my answer, not a new answer. Anyway, are you having this error when starting the server or when opening a view?

Tác giả

Thx, I get this error when starting the server. (Web Client OpenERP 7)

Tác giả

now, i apply the domain at the view, and it works fine! so only in existents records when wpartner_id is filled. how can i get wpartner_id default value? for new records.

Tác giả

<field name="wpartner_id" readonly="1" invisible="true"/> <field name="presupuesto" domain="[('partner_id','=',wpartner_id)]" on_change="onchange_presupuesto(presupuesto)"/>

Bài viết liên quan Trả lời Lượt xem Hoạt động
3
thg 12 19
8619
naked domain set up Đã xử lý
3
thg 7 25
4144
0
thg 5 25
836
2
thg 3 24
2065
0
thg 1 23
1690