Contoh code ketika ada field yang dibutuhkan untuk generate sequence. Dalam hal ini adalah site.
sequence_code = 'ktc.{}.maintenance.request.site{}'.format(x_type, site_id.id)
seq = self.env['ir.sequence'].search([('code', '=', sequence_code)], limit=1)
# If a sequence for this site does not yet exist, create one.
if not seq:
seq = self.env['ir.sequence'].create({
'name': 'Maintenance Request Sequence for Site {}'.format(site_id.name),
'code': sequence_code,
'padding': 4,
'prefix': '%(y)s%(month)s-',
'company_id': False,
'use_date_range': True,
'range_reset': 'monthly',
})
return 'WO-{}-{}-'.format(x_type, site_id.name.upper()) + seq._next()Dalam kode ini, sequence akan tergenerate berdasarkan type dan site_id.
Sebagai fitur tambahan, kita dapat menggunakan addons sequence_reset_period yang berguna untuk meng-automate periode reset sequence. Namun, tanpa menggunakan ini kita tetap bisa melakukan reset manual secara langsung.