33 lines
1.1 KiB
Python
33 lines
1.1 KiB
Python
from odoo import models, fields
|
||
|
||
|
||
class AccountMove(models.Model):
|
||
_name = "account.move"
|
||
_inherit = ["account.move", "directive.mixin"]
|
||
|
||
|
||
def _directive_generation_spec(self):
|
||
return [
|
||
{
|
||
"event": "on_write",
|
||
"key": "am_audit_trigger",
|
||
"field": "state",
|
||
"from": "draft",
|
||
"to": "posted",
|
||
"use_record_template_group": True,
|
||
"mode": "create_once",
|
||
# Генерируем только для входящих инвойсов от поставщиков
|
||
"domain": [("move_type", "=", "in_invoice")],
|
||
}
|
||
]
|
||
|
||
def action_audit_response(self, payload: dict):
|
||
"""
|
||
Вызывается агентом-аудитором.
|
||
"""
|
||
for move in self:
|
||
move.message_post(
|
||
body=f"Audit Bot: Обнаружен риск, 30/100."
|
||
f"Директива #{payload.get('directive_id')} завершена с предупреждением."
|
||
)
|