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

i have a compute field and function :

account_info = fields.Integer(compute='_credit_debit_info', string='# Credits and Debits')

@api.multi
def _credit_debit_info(self):
print "...Self...",self.ids
print "...context..",self.env.context.get('active_id')
print "...context..", self.env.context
for partner in self:
if partner.with_context(active_id=True):
PartnerInfo = self.env['account.move.line'].with_context(active_test=False).search([('partner_id', '=', partner.id),
('account_id', 'in', (partner.property_account_receivable_id.id, partner.property_account_payable_id.id))])
for acco in PartnerInfo:
cre = sum(acco.mapped('credit'))
debit = sum(acco.mapped('debit'))
partner.account_info = cre - debit

When i click on res.partner list view or kanban view, the current record id's data should get calculated and display in smart button, am facing probelm in getting current ID.


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

Hi Supreeth , 


@api.multi

this method decorator is used to work with a list of id ,
while printing  self.id  you will get a list of ids 


use  @api.one  decorator  to work with a single record ,

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

self.ids you get the current records
[2,5]
then you must walk them through a for
for rid in self:
     var = rid.id
     var2 = rid.name

I hope I've helped

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

try self.id

it is your current record id 

Ảnh đại diện
Huỷ bỏ
Tác giả

thanks, i have tried this.. iam not able to get current ID? i printed and value and tried

Bài viết liên quan Trả lời Lượt xem Hoạt động
7
thg 12 23
20207
1
thg 11 17
5563
2
thg 8 25
2644
1
thg 7 25
1027
1
thg 8 25
1151