跳至内容
菜单
此问题已终结
1 回复
4655 查看
I try to write to Chatter Box, but I have the below error:
ValueError: Posting a message should be done on a business document. Use message_notify to send a notification to an user.

My code:
@api.onchange("my_field")
def write_to_chatter(self):
​body = "My Message!"
   self.message_post(body=body, subtype='my_subtype')

Sources:

Add Message To Chatter From Code in Odoo

Cybrosys || How To Post A Message To Chatter In Odoo 16


形象
丢弃
编写者 最佳答案

Solved:

I used the write() method, I post a log note when the user saves their data.
def write(self, vals):
        if 'name' in vals:
            new_value = vals['name']
            old_value = self.name.id
            if new_value != old_value:
                message_body = _("%(user)s changed the Name to %(user_name)s",
                                 user=self.env.user.name,
                                 user_name=self.env['my.module'].search(domain=[('id', '=', new_value)]).name)
                self.message_post(body=message_body, message_type='notification')
        res = super().write(vals)
        return res
形象
丢弃
相关帖文 回复 查看 活动
1
7月 23
3629
4
6月 25
8877
2
10月 24
7761
2
9月 24
5201
2
3月 24
3383