Skip to Content
Меню
Вам необхідно зареєструватися, щоб взаємодіяти зі спільнотою.
Це запитання позначене
2 Відповіді
3310 Переглядів

Hello everybody!!

Please who knows why do i get this error: TypeError: get_inputs() takes at least 8 arguments (7 given).

Here is my python and my xml.

Python:

def on_change_bill_id(self, cr, uid, ids, partner_id, invoice_mode, context=None):

print ('------------------------Facturations on change--------------------') 

print ('partner =' )

print partner_id

print invoice_mode

res = {'value':{'bill_ids': self.get_inputs(cr, uid, ids, partner_id, invoice_mode, context=context),

'invoice_line': self.get_inputs2(cr, uid, ids, partner_id, invoice_mode, context=context),

}

}

print ('-------------------Onchange-----------------------')

return res


XML:

<field name="date_end" on_change="on_change_bill_id(partner_id, invoice_mode)"/> 

Thanks a lot in advance

Аватар
Відмінити

post your get_inputs method also... looks like it expects one more argument, also state the class

Автор

Hey!!!! I was asking you. If there is a problem say yes if no say No

sry .. been out on meeting... from here both methods looks fine, number of args seems ok fro both methods, is it possible that you have methods with same name in some other class and you are calling it ? check that.. if that is not the case.. i have no clue what else could be wrong..

Автор Найкраща відповідь

Here is the get_inputs:


def get_inputs2(self, cr, uid,ids, partner_id, invoice_mode, context=None):

res = {}

ret = []

if partner_id == False:

raise except_orm(

_('Error!'),

_("Please, select a partner for your invoice.")

)

if invoice_mode == False:

raise except_orm(

_('Error!'),

_("Please, select the invoice mode for your invoice.")

github_url = '##################################################'

res = "-"

buffer = StringIO()

c = pycurl.Curl()

c.setopt(pycurl.URL, github_url)

c.setopt(pycurl.HTTPHEADER, ['X-Postmark-Server-Token: API_TOKEN_HERE','Accept: application/json'])

c.setopt(c.WRITEFUNCTION, buffer.write)

c.perform()

c.close()

body = buffer.getvalue()

print (body)

resp = json.loads(body)

print (resp)

if resp['result'] != 'ok' :

print 'Error : (' + resp['error_code'] +')' + resp['error']

else :

for r in resp['bill'] :

inputs = {

'product_id' : 1,

'price_unit' : 50,

'quantity' : r['quaantity'],

'account_id' : 19,

'uos_id' : r['unit'], 

}

ret.append(inputs)

print ret

return ret

#########################################"


def get_inputs(self, cr, uid,ids, partner_id, invoice_mode, context=None):

res = {}

ret = []

github_url = '######################################'

res = "-"

buffer = StringIO()

c = pycurl.Curl()

c.setopt(pycurl.URL, github_url)

c.setopt(pycurl.HTTPHEADER, ['X-Postmark-Server-Token: API_TOKEN_HERE','Accept: application/json'])

c.setopt(c.WRITEFUNCTION, buffer.write)

c.perform()

c.close()

body = buffer.getvalue()

print (body)

resp = json.loads(body)

print (resp)

if resp['result'] != 'ok' :

print 'Error : (' + resp['error_code'] +')' + resp['error']

else :

for r in resp['bill'] :

inputs = {

'service_id' : r['service_id'],

'name' : r['name'],

'unit' : r['unit'],

}

ret.append(inputs)

print ret

return ret

Аватар
Відмінити
Автор

I think there is no problem. No??!!!

Автор

I gave you both: get_inputs and get_inputs2

Related Posts Відповіді Переглядів Дія
0
бер. 25
1155
0
січ. 25
3200
1
серп. 23
14468
change password Вирішено
1
серп. 23
13153
1
лип. 23
10158