تخطي للذهاب إلى المحتوى
القائمة
لقد تم الإبلاغ عن هذا السؤال

When I create a filter, for example, for contacts with more than 10 sales orders, Odoo filters out all 99 of my contacts (seee image), even if only one contact has more than 10 sales orders.



How to correct this and create filters based on the number of sales orders?

Thanks

Ricardo

الصورة الرمزية
إهمال
أفضل إجابة

Hi, Ricardo!
Odoo, by default, does not allow filtering directly by aggregated fields, with that, Odoo ends up applying the filter to all contacts, without considering the actual number of orders associated with each of them.

The suggestion would be to create a custom field that counts and stores the number of sales orders related to the contact:

from odoo import models, fields, api

class ResPartner(models.Model):
    _inherit = 'res.partner'

    # Computed field that counts the associated sales orders
    new_sales_order_count = fields.Integer(
        string='Número de Pedidos de Vendas',
        compute='_compute_sales_order_count'
    )

    @api.depends('sale_order_ids')
    def _compute_sales_order_count(self):
        for partner in self:
            partner.new_sales_order_count = len(partner.sale_order_ids)


الصورة الرمزية
إهمال
الكاتب

obrigado Renata!what if my question tag is wrong and it should be 18SaaS, i.e. only with Studio available for customisation?
thanks
BR
Ricardo

المنشورات ذات الصلة الردود أدوات العرض النشاط
2
أغسطس 25
2046
0
أبريل 25
895
0
مايو 25
825
0
يناير 25
1212
1
فبراير 24
1383