Bỏ qua để đến Nội dung
Menu
Câu hỏi này đã bị gắn cờ
1 Trả lời
2659 Lượt xem

Hi,

I try to create a simple automated action which verifies the existing name and email upon contact creation.

The code 1 :

---

name_count = env['res.partner'].search_count([('name', '=ilike', record.name)])

if name_count :
  raise Warning('Ce Nom+Prénom \''+str(record.name)+'\' existe déjà : '+str(name_count))
else :
  name_count = 0
  raise Warning('Name found : '+str(name_count))

---

Raises correctly 'Name found: 0' when I create a contact with unique name.

But a small change commenting the last line of the code makes the first Warning to raise with name_count equal to 1.

What could be the issue with the code that makes it working in such a weird way ?

Ảnh đại diện
Huỷ bỏ
Tác giả Câu trả lời hay nhất

Finally, I've found a way to make it working, by assuming that the name_count is always >=1.

So, the code which works is the following (with some message improvement in French):

name_count = env['res.partner'].search_count([('name', '=ilike', record.name)])
if name_count > 1 :
raise Warning('Ce Nom+Prénom \''+str(record.name)+'\' existe déjà ('+str(name_count-1)+' fois)')


Ảnh đại diện
Huỷ bỏ
Bài viết liên quan Trả lời Lượt xem Hoạt động
1
thg 11 23
2090
2
thg 12 23
5676
1
thg 11 22
2566
1
thg 8 22
2630
2
thg 1 22
5772