Hello,
This is my function:
@api.depends('xidentification')
def _concat_nit(self):
# Executing only for Document Type 31 (NIT)
if self.doctype is 31: # <--------------- THIS IS LINE 147
# First check if entered value is valid
self._check_ident()
self._check_ident_num()
# Instead of showing "False" we put en empty string
if self.xidentification is False:
self.xidentification = ''
self.formatedNit = ''
# Formatting the NIT: xx.xxx.xxx-x
s = str(self.xidentification)[::-1]
newnit = '.'.join(s[i:i+3] for i in range(0, len(s), 3))
newnit = newnit[::-1]
nitList = [
newnit,
# Calling the NIT Function which creates the Verification Code:
self._check_dv(str(self.xidentification))
]
formatedNitList = []
for item in nitList:
if item is not '':
formatedNitList.append(item)
self.formatedNit = '-' .join(formatedNitList)
# Saving Verification digit in a proper field
self.dv = nitList[1]
But I get the following error:
File "/home/travis/build/OCA/l10n-colombia/l10n_co_res_partner/models/l10n_co_res_partner.py", line 147, in _concat_nit
ValueError: Expected singleton: res.partner(3, 7, 17, 32, 22, 21, 6, 18, 16, 14, 19, 20, 13, 11, 29, 35, 28, 8, 23, 24, 34, 25, 9, 26, 27, 39, 38, 15, 33, 37, 43, 5, 4, 42, 10, 30, 31, 12, 36, 1, 40, 41)
if self.doctype is 31:
File "/home/travis/odoo-9.0/openerp/fields.py", line 819, in __get__
record.ensure_one()
File "/home/travis/odoo-9.0/openerp/models.py", line 5403, in ensure_one
raise ValueError("Expected singleton: %s" % self)
I have no clue why I get this error? Actually the function works in the interface, but Travis is complaining: https://travis-ci.org/OCA/l10n-colombia/jobs/139356438#L645
Any Ideas on how to fix this issue?