Buongiorno a tutti,
sono nuovo del forum e in generale della programmazione di moduli ODOO.
Ho cominciato da poco a sviluppare piccole modifiche ai moduli, e ho ancora molti dubbi su come sia giusto procedere in certi aspetti.
In particolare vi scrivo per avere chiarimenti sul significato del decoratore api.multi: che differenza c'è fra un metodo "normale" e uno multi? Entrambi dovrebbe operare un recordset che in generale può avere da 0 a molti recordo (non singleton)... quindi quando si usa uno e quando l'altro??
Vi pongo la questione perché mi è sorto il problema sviluppando questa classe:
class AccountJournal(models.Model):
    _inherit = "account.journal"
   _goodType = ("sale", "purchase")
    
    good = fields.Boolean(compute='_isGood')
    
    @api.one
    @api.depends("type")
    def _isGood(self):
        self.good = self.isGOOD()
    
    def isGOOD(self):
        for journal in self:
            if journal.type not in self._goodTypes:
                return False
            
        return True
Se definisco
@api.multi
def isGOOD(self):
        for journal in self:
            if journal.type not in self._goodTypes:
                return False
            
        return True
Invece in recordset contiene sempre tutti i record... Perchè?
Grazie
mb