Overslaan naar inhoud
Menu
Je moet geregistreerd zijn om te kunnen communiceren met de community.
Deze vraag is gerapporteerd
2 Antwoorden
1904 Weergaven

I need to make different sequence name if maintenance_team_id = 1 or 2, etc

Here is my sequence code in bold. For now my sequence is applied to all maintenance_team_id

But i want to make different sequence based on each of maintenance_team_id


@api.model_create_multi
def create(self, vals_list):
for vals in vals_list:
vals['name'] = self.env['ir.sequence'].next_by_code(
'maintenance_id_1') or _("New")
# context: no_log, because subtype already handle this
maintenance_requests = super().create(vals_list)
for request in maintenance_requests:
if request.owner_user_id or request.user_id:
request._add_followers()
if request.equipment_id and not request.maintenance_team_id:
request.maintenance_team_id = request.equipment_id.maintenance_team_id
if request.close_date and not request.stage_id.done:
request.close_date = False
if not request.close_date and request.stage_id.done:
request.close_date = fields.Datetime.now()
maintenance_requests.activity_update()
return maintenance_requests


Avatar
Annuleer
Beste antwoord

Hey Ricky, 
You can try below code , 
 
for vals in vals_list: 
​maintenance_team_id = vals.get('maintenance_team_id', False) 

​​if maintenance_team_id: 
​​# Define a naming convention based on maintenance_team_id

​sequence_code = f'maintenance_id_{maintenance_team_id}'
​# Use the sequence based on the maintenance_team_id

​vals['name'] = ​  self.env['ir.sequence'].next_by_code(sequence_code) or _("New") 

​else: 
​# Handle the case when maintenance_team_id is not present

​vals['name'] = _("New")

Avatar
Annuleer
Beste antwoord

Hello Ricky,

In that case you can check the conditions and based on that you can execute the sequence.

For Eg. you can try like.


for vals in vals_list:
    if 'maintenance_team_id' in vals and vals['maintenance_team_id'] ==1"
        vals['name'] = self.env['ir.sequence'].next_by_code('maintenance_id_1') or _("New")
    else:
    vals['name'] = self.env['ir.sequence'].next_by_code('maintenance_id_2') or _("New"
Avatar
Annuleer
Gerelateerde posts Antwoorden Weergaven Activiteit
0
aug. 25
267
4
mei 25
2785
2
mei 25
6209
1
mrt. 25
1848
4
mrt. 25
4778