Bismillah,
Assalamu'alaikum Warohmatullah Wabarokatuh,
Pada kesempatan kali ini saya akan berbagi sedikit tips terkait customize odoo 14, yaitu cara memberikan context pada self ketika overiding dalam suatu function.
Untuk memberikan context dalam sebuah proses di odoo banyak caranya, seperti memberikan context ketika return function, memberikan context di button pada file xml, memberikan context saat memanggil function di python. Tapi di postingan kali ini saya akan memberikan context ketika overiding suatu function dengan menempelkannya langsung di self.
Contoh kasus yang saya lakukan, adalah ketika validate dokumen transfer (stock.picking) tanggal yang tersimpan di data jurnal (account.move) bukan dari tanggal eksekusi (effective date), tapi dari tanggal di field lain, disini saya gunakan field schedule date.
Berikut script-nya :
class stock_picking(models.Model):
_inherit = 'stock.picking'
def _action_done(self):
for rec in self:
date = rec.scheduled_date + timedelta(hours=7)
if rec.invoice_id:
date = rec.invoice_id.invoice_date
self = self.with_context(force_period_date=date)
return super(stock_picking, self)._action_done()
Terima kasih, semoga bermanfaat.
Kahfi
Wassalamu'alaikum Warohmatullah Wabarokatuh