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

Hello, When creating a filter in the client, how can I indicate in the domain to filter on the stock moves before (the date of today - 10 days) for example? I tried different expressions but that didn't work. Thanks.

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

Now, I'd like to use this filter in a campaign segment. When I click on the "synchronize" button, I get an error "NameError: name 'context_today' is not defined". I don't understand why does this work only in sale order line view. Do you have any idea?

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

The model stock.move uses a timestamp value for field date. The following domain should return all moves where the date is earlier than today - 10 days:

[('date','<=', ((context_today()-datetime.timedelta(days=10)).strftime('%Y-%m-%d')))]

I assume, that you use the domain in a window action. If you want to use it in a view, you should use &lt;= instead of <=.

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

Thank you very much, that worked.

+1 for this good answer As said Francesco, in a view you need to escape the % using %%

Hello, you used the context_today () like domain in the model and it works perfectly, but I try to do it with a datetime field and shows me an error message.

The code I use is

'agenda_id': fields.many2one ('delphos.citamedica.agenda', 'Agenda', required = True, domain = "[('doctor_id', '=', doctor_id), ('date', '> =', ((context_today ()). strftime ('% Y-% m-% d% H:% m:% S'))), ('date_deadline', '<=', ((context_today ()). strftime ('% Y-% m-% d% H:% m:% S')))] "),

The error message says: Uncaught Error: ValueError: No known conversion for% H

That could be my mistake?

Tác giả

probably there should not be a space between "%" and "H"?

Thank you very much for sharing this solution. It has helped me very much.

How great it is that the documentation says almost nothing about this.

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

Try this:

[('date', '&gt;=', (context_today() - datetime.timedelta(10)).strftime('%%Y-%%m-%%d') )]
Ảnh đại diện
Huỷ bỏ
Tác giả

Unfortunately, that doesn't work.

If you share the error we can help you. Why this code doesn't work?

Tác giả

There's no error, it's a filter I'm creating in a view, when I use it I don't get my lines filtered. This is probably because filters in the views differ from the other filters. Anyway, thanks for your answer.

+1 for the format for views

It worked fine with just one %.

[('date', '&gt;=', (context_today() - datetime.timedelta(10)).strftime('%Y-%m-%d') )]

Tác giả Câu trả lời hay nhất

The only expression that works is:

[('move_ids.date', '=' , (time.strftime('%Y-%m-%d'))]

I don't know how to integrate delay in it.

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

Thanks for the update. it works :). For your question you can find in search view for crm.lead examples for delays. Hope this is not too late. Cheers!

Tác giả

Thanks, but I didn't find the example you've mentioned in the crm.lead search view. Can you give the line number, please?

Hi, In view "crm.lead.report.select" first 3 or 4 lines are filter buttons which are using domain filters in views for current year, month or last month.

Bài viết liên quan Trả lời Lượt xem Hoạt động
5
thg 9 20
12851
1
thg 9 16
56
0
thg 3 15
4865
1
thg 3 15
5336
2
thg 3 15
7579