跳至内容
菜单
此问题已终结
3 回复
174 查看

To preface this, I am a Odoo newbie. I saw from a previous post on a previous version of Odoo that I can set parameters into the approval step of the send button to restrict a quotation from being send by an employee if the credit limit of the customer has been exceeded.

I've followed the step by step guide but it does not work. The error was "Domain is invalid. Please correct it". Please if anyone knows what is the issue, do let me know. Thank you.

I am using Odoo v19 on the web if that provides any context.


The code that I entered was [("partner_credit_warning", "=", False)] in the filter parameter of the add approval step for the send button. Sorry I can't add images as I do not have enough Karma points.

形象
丢弃
编写者

I'm not sure if I have done something wrong. I still can't add the code in the approval filter.


I added a checkbox field

Under "more" settings, I check the "Readonly" and "Stored" boxes.

For properties, I added partner_credit_warning as a dependency and copied the code into compute


partner_credit_warning_bool = fields.Boolean(

    compute="_compute_partner_credit_warning_bool",

    store=True

)


@api.depends('partner_credit_warning')

def _compute_partner_credit_warning_bool(self):

    for rec in self:

        rec.partner_credit_warning_bool = bool(rec.partner_credit_warning)


Was I suppose to add other type of fields? Or was there something wrong in my inputs?

编写者 最佳答案

Ok I managed to get the partner_credit_warning to work. But then the manager doesn't receive a TO-DO to approve or reject the quotation from being sent. 

形象
丢弃
最佳答案

There may be a simpler solution here with Studio.  You can make the button invisible if  partner_credit_warning is set:

Note that the button is already invisible if the status is Sales Order, so you need to add a second condition - with "any" rather than "all":


形象
丢弃
最佳答案

Hi,


The partner_credit_warning field in sale.order is a compute field with no store. So when odoo tries to translate this into SQL, it can't find a column for partner_credit_warning, and fails with “Domain is invalid.”


Solution: Add a field to sale.order :

partner_credit_warning_bool = fields.Boolean(

    compute="_compute_partner_credit_warning_bool",

    store=True

)


@api.depends('partner_credit_warning')

def _compute_partner_credit_warning_bool(self):

    for rec in self:

        rec.partner_credit_warning_bool = bool(rec.partner_credit_warning)

Change domain: [("partner_credit_warning_bool", "=", False)]


Hope it helps

形象
丢弃
相关帖文 回复 查看 活动
2
8月 25
809
1
3月 24
2253
0
11月 22
3155
0
7月 21
3960
2
11月 20
2695