Hello All ,
I have a function(below) which returns a integer , and i want to return this integer to a field.function however i keep getting a error:
Error:TypeError: 'int' object is not iterable
def _get_invoice_company(self, cr, uid, ids,args, field_name , context=None):
period_obj3 = self.pool.get('product.template')
invoice = {}
for auto1 in period_obj3.browse(cr, uid, ids, context=context):
prod_temp_id = auto1.id
cr.execute("SELECT aaa.invcompany_id FROM product_template pt INNER JOIN product_product pp on pp.product_tmpl_id = pt.id INNER JOIN account_analytic_invoice_line aal on aal.product_id = pp.id inner join account_analytic_account aaa on aaa.id = aal.analytic_account_id inner join res_company f on f.id = aaa.invcompany_id WHERE pp.product_tmpl_id = %d" %(prod_temp_id) )
res = cr.fetchone()
invoice = res[0]
return invoice
_columns = {
'cm_property_ids': fields.one2many('cm.property', 'product_template_id', 'Products') ,
'invoice_company':fields.function(_get_invoice_company , type='integer' , method=True , string='Invoice Company'),
}
How can i solve this error and get my function to display a value on field ?