콘텐츠로 건너뛰기
메뉴
커뮤니티에 참여하려면 회원 가입을 하시기 바랍니다.
신고된 질문입니다
2 답글
3446 화면

I need to activate a checkbox that is in my sales model, but I would need it to be when the user presses a button when creating a credit note for the sales order that was made, I currently have the box made and it works "manual" way.

아바타
취소
작성자

thanks Pandya, I was checking it but I found a syntax error

order_id = self.env['sale.order']search([('id', '=', 1)])
^^^^^^
SyntaxError: invalid syntax - - -
What do you mean by domain application? how could i solve this? 

Sorry, I'm a new in this.

베스트 답변

Hello, 

You need to use the search or browse method. 

First of all you need to find the record id and after need to update. 

For eg. 

In Sales Order one boolean field and we need to mark active when invoice created. 

In that case first of all we need to search the record. 

I'm assuming that there is one field is Many2One and it's related to 'sale.order' and field name is sale_order_id.

def action_post(self):
res =super().action_post()
order_id = self.env['sale.order']search([('id', '=', self.sale_order_id.id)])
order_id.valid = true
return res

Thanks.



아바타
취소
베스트 답변

Suppose you have inherited a sale.order object and added a "Valid" field as below,

class SaleOrder(models.Model):   
    _inherit = 'sale.order'    
    valid = fields.Boolean("Valid")

Now you need to inherit the action_post() method (CONFIRM button) of the account.move object and add code to activate the checkbox of the sale order object.

class CreaditNote(models.Model):
_inherit = 'account.move'

def action_post(self):
res =super().action_post()
order_id = self.env['sale.order']search([('id', '=', 1)]) # Apply domain as per requirement.
order_id.valid = true
return res

In this case on click of confirm button on the credit note it will activate the checkbox on the sale order where id = 1 

아바타
취소
관련 게시물 답글 화면 활동
3
10월 22
6141
1
4월 22
18212
1
5월 25
912
2
11월 24
2142
4
2월 24
12274