تخطي للذهاب إلى المحتوى
القائمة
لقد تم الإبلاغ عن هذا السؤال
1 الرد
3784 أدوات العرض

I need to assign a sequence default_code to created products depending on their categories using an Automated Action.

 

My problem is that I can't access the categ_id. Does anyone know how to solve this problem?

 

Example:


code: 

if not record.default_code:
  if record.categ_id
== 1:
    record.write({
      'default_code':
env ['ir.sequence'].next_by_code('cat1')
    })
  else:
    record.write({
      'default_code':
env ['ir.sequence'].next_by_code('cat2')
    })
 

log:

 

2022-09-08 16:14:27,094 4 WARNING odoo-categories-test-5807939 odoo.models: unsupported operand type(s) for "==": 'product.category()' == '1' (None:15)


الصورة الرمزية
إهمال
أفضل إجابة

Hi Christian Cabral, 

Your code is right, Just need to change the category comparison code for category id instead of category record set.

Just like this: 

code: 

if not record.default_code:
if record.categ_id.id == 1:
record.write({
'default_code': env ['ir.sequence'].next_by_code('cat1')
})
else:
record.write({
'default_code':env ['ir.sequence'].next_by_code('cat2')
})

Hope it will help you. 

Please Vote Up.
Thanks

الصورة الرمزية
إهمال
المنشورات ذات الصلة الردود أدوات العرض النشاط
0
مارس 22
2063
1
نوفمبر 23
2085
0
نوفمبر 23
1204
2
ديسمبر 23
5661
1
مارس 23
9163