Přejít na obsah
Menu
You need to be registered to interact with the community.
This question has been flagged
3 Odpovědi
3480 Zobrazení
I am trying to execute this python code to avoid repeating a task in my odoo and the error is not known

if record.name:
task = env ['project.task'].search([['name', '=', record.name]])

if task:
for e in task:
if e.id != record.id:
raise Warning ('La tarea esta creada')


Avatar
Zrušit
Nejlepší odpověď
Try this way

if record.name:
task = env ['project.task'].search([('name', '=', record.name),('id','!=',record.id)])    

    if task:
        raise Warning ('La tarea esta creada')


Avatar
Zrušit
Nejlepší odpověď

It works fine for me. Of course, you need to respect the indentation rules of Python. 

if record.name:
task = env ['project.task'].search([['name', '=', record.name]])

if task:
for e in task:
if e.id != record.id:
raise Warning ('La tarea esta creada')

Hope this helps you. 

Avatar
Zrušit
Autor Nejlepší odpověď
it returns this error when I try to run it

ValueError: : "'NoneType' object has no attribute 'name'" while evaluating "if record.name:\n task = env ['project.task'].search([['task.name', '=', record.name]])\n\nif task:\n for e in task:\n if e.id != record.id:\n raise Warning ('La tarea esta creada')"


Avatar
Zrušit

I'm testing it in V13, On Premise. The behavior is:
- Create a task with a name. (e.g. : "x") --> OK
- Create another task with the same name ("x") --> Shows the message "La tarea esta creada" and it doesn't allow saving the record.
Tested from both kamban and list view of tasks.

Related Posts Odpovědi Zobrazení Aktivita
0
kvě 21
4332
0
říj 24
1086
0
úno 24
1690
1
pro 22
2163
2
čvc 22
5398