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

Hi, I tried to put the employee_id from hr.payslip model in the account_analytic_line in a new field called employee_test.

This is my code


# -*- coding: utf-8 -*-

from openerp import models, fields, api, osv

from openerp.http import request

from openerp import SUPERUSER_ID

class account_analytic_line(models.Model):

_inherit = ['account.analytic.line']

employee_id = fields.Char('test')

employee_test = fields.Integer(compute="employee")

@api.multi

def employee(self, ref):

cr, uid, context, pool = request.cr, request.uid, request.context,

objpayslip = self.pool.get('hr.payslip')

result = objpayslip.search_read(cr, SUPERUSER_ID, [('number', '=', ref)], [])

print result

return result.id


But I get error.

How can I fix this?

I tried this with the self.pool method too.


I have in 'account.analytic.line' a ref field, in 'hr.payslip' I have the number field.

The inside of these two fields is the same. I need to filter that and give the employee_id from 'hr.payslip' to the model 'account.analytic.line' model.

How can I make that work?


Ảnh đại diện
Huỷ bỏ

Sorry, Pls use the api as per the function.

eg:

@api.one

Tác giả

with your function you have write down I get this error:

TypeError: search() takes at least 4 arguments (2 given)

Tác giả

with my code I get this:

cr, uid, context, pool = request.cr, request.uid, request.context,

ValueError: need more than 3 values to unpack

Câu trả lời hay nhất

Hi wizardz

can you show me the error message.


Hi wizardz:

can you try this .

def employee(self):

     objpayslip = self.pool.get('hr.payslip')

     if self.ref:

         result = objpayslip.search([('number', '=', self.ref)]) # i hope it should return one record   

       for record in objpayslip.browse(result):         

            return record.id

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

only 1 argument given. is the error.

I need to get the ref from 'account.analytic.line' and then look at 'hr.payslip' - number to get the employee_id there. Then I need to put the employee_id in a new field in 'account.analytic.line'

Tác giả

I tried youre code, I get this error:

TypeError: search() takes at least 4 arguments (2 given)

Bài viết liên quan Trả lời Lượt xem Hoạt động
1
thg 9 16
4120
1
thg 8 25
1022
1
thg 7 25
1099
0
thg 5 25
992
1
thg 4 25
2162