Skip to Content
Menu
This question has been flagged

I created a function that does the following job: when changing the sales person field inside sale.order model under 'other info' tab, it will automatically change the sales person field inside the invoices (account.move) in the 'other info' tab also. Here is my function:


class SaleOrder(models.Model):
_inherit = "account.move"

@api.onchange
('user_id')
def _custom_onchange_user_id(self):
moves = self.env['sale.order'].browse(self.invoice_ids.ids)
moves.sudo().write({'invoice_user_id': self.user_id.id})

The first step is done, but the 2nd step is that I have about 100 invoices that have a salesperson different than the one found in the sales order and I want to change them fastly. So, I created a server action and upon selecting them all I will change the sales person field to the same one found inside the sales order. Here is the code:




model="ir.actions.server" id="action_change_sales_person">
name="name">Adjust Sales Person Field
name="type">ir.actions.server
name="model_id" ref="account.model_account_move"/>
name="binding_model_id" ref="account.model_account_move"/>
name="state">code
name="binding_view_types">form,list
name="code">
for record in records:
record._custom_onchange_user_id()





Now pressing on the action button I am getting an error, can anyone help me adjust this code? Thanks

Avatar
Discard

please update the question with error message

Best Answer
 for record in self:
record._custom_onchange_user_id()

You have to make loop on self

Because you will get records in self:

records doesn't contain anything

Avatar
Discard
Related Posts Replies Views Activity
0
Mar 22
3444
0
Nov 21
4318
0
Aug 21
2395
2
Oct 15
4835
1
Jul 24
1604